The final ASIC for our simple example design |
Objective
In this design, we shall be developing a BCD to seven segment decoder for a 16-bit word. In the process, you will be familiarized with basic necessary to transform a system level or gate level digital design into an IC layout in preparation for actual fabrication.
Tools used:
- Tanner EDA tool
Background
The figure, above shows a BCD to Seven
Segment Decoder which can display (0 to 9) for various combinations of inputs
b3 to b0. Based on the truth table for such a logic, we develop a
circuit corresponding to the above truth table is shown below. This corresponds
to a single BCD word only.
A gate schematic for a single BCD word |
We are developing a 16-bit word circuit. The block diagram below represents the final schematic.
Schematic Drawing
For the
schematic preparation following steps were taken:
i)
S-Edit v12.1 was
opened from Tanner EDA software. (see here for tutorial)
ii)
The design name was
given. (File->New Design-> Design Name)
iii)
The cell was clicked
from main menu. (Cell->Newview).
iv)
“scmos.tanner” was
used as the library for standards cells and the schematic was drawn.
SPICE simulation (to verify):
After which the schematic was exported in T-SPICE (see here for tutorial) to
observe the output.
i)
This file was then
exported to T-SPICE (File->Export->Export SPICE).
ii)
Then a netlist was
generated.
iii)
For the purpose of
simulation, the file ml2_20.md was included and then we observed the waveforms
in W-Edit. ( ml2_20.md defines the level and pmos, nmos of devices etc)
iv) A PSPICE code was added in the netlist
generated by schematic and timing diagrams generated to verify.
Layout generation for the designed chip
Once, the circuit was verified, time is for the layout generation. For the layout
generation, the Standard Cell Place and Route (SPR) approach available in
Tanner tools was used. The full custom layout approach could have been used
(given its higher transistor density for proper design) but that would have
been too tedious (especially noting 480 transistors in the designed circuit).
For the Tanner
software, SPR approach is taken by first having (or creating) the library of
standard cell frames. With these in hand and creating the desired schematic in
the S-Edit, the schematic has to be exported as .tpr file (tanner place and route file ) into the L-Edit where an
automatic (standard) place and route could be done. The process is summarized
by the figure below:
SPR process in Tanner software |
Procedures taken -
i)
In S-Edit, the drawn
and verified circuit schematic was selected using,
S-Edit > Edit > Select All
ii) Then, new property was added
to the schematic as TPR.OUTPUT which is not written to the netlist, instead is used
to instruct S-Edit in exporting the module as a pad or as a regular cell in a
TPR-format.
View->Properties->Add
properties-> Name = TPR.OUTPUT
iii) Since the S-Edit considers the module a pad only
with the property value of CP. So, the pads were assigned “CP” as values for
TPR.OUTPUT property and the gates “C”.
iv) Then the “.tpr” file
was exported using File->Export->Export
TPR
v) In the L-Edit, new
layout file was created using the TDB file, lights.tdb.
File->New->Layout->Copy TDB setup
file->...\lights.tdb.
vi) The feature size was
chosen with the Lamba as 1 Lambda = 1.0 Micron.
vii) Then, the layout was
generated by
L-Edit
>Tools>SPR>Place and Route>Setup> Netlist file> filename.tpr
> Initialize setup>Run.
The options within SPR>Place and Route>
“Padframe generation” and “Pad route” have to be selected to generate layout
with the frame. And these have to be deselected to generate layout without the
frame. Note various layouts include areas for PMOS, , NMOS, and so on.
The SPR summary file for the case with the frame indicated
following interesting points-
Core size in Lambda :
698.00 x 1187.00
Core area (Lambda^2) : 828526.00
Frame size in Lambda :
2464.00 x 2644.00
With the lambda being chosen as 1 micron, the
chip frame size was 6514816 micron2. This was when the placement
optimization factor of 1.00 was used.
Pin-out for the
designed chip
The designed chip has 46 Pins with
16 input pins, 28 output pins, and single pins for VDD and VGnd.
The process of determining the pin layout are discussed below:
Procedure used in determining the
pins for input/outputs:
A]
Pin Layout for the single BCD to seven segment decoder:
Initially,
the Pin Layout for a single BCD to seven segment decoder was determined, the
main objective being to gain confidence that the process works (since 4-bit
word is easier to work than 16-bit).
Following steps
were followed:
- In S-Edit v12.1, system names for Input and Output pads were found out as:
- Clicking View > Properties > System>Name>PadName
- By clicking “Tools>SPR Setup>Padframe Setup…>Layout” : From this list, the proper input/output signals were mapped onto the pin.
Pin Layout
for the Single BCD to seven segment decoder (with frame)
|
Note this is not our final circuit, we are looking for a 16-bit. Here we repeat same thing as discussed above. And our final pin layout is:
Our final ASIC - Pin Layout for 16 bit word to seven segment decoder (with frame) |
And that completes our example of the ASIC design.
(Had this been an FPGA design, the entire exercise would have been covered by few lines of HDL code).
Note - there were several layouts files that were generated. Had this been a real exercise, those files would be shipped to fab labs for production.
see FPGA vs ASIC Design |
No comments:
Post a Comment