Difference between revisions of "CMOS Digital Design"
From Applied Optics Wiki
(created a Digital IC design flow page) |
m (minor edit) |
||
Line 29: | Line 29: | ||
#### Specify a width to length ratio. Aim for a utilization of 1. A good starting value is 0.8 | #### Specify a width to length ratio. Aim for a utilization of 1. A good starting value is 0.8 | ||
### Power | ### Power | ||
+ | #### Add a ring around your core | ||
#### '''Power''' >> '''Power Planning''' >> '''Add ring''' | #### '''Power''' >> '''Power Planning''' >> '''Add ring''' | ||
#### The power rings we want are gnd! and vdd!. | #### The power rings we want are gnd! and vdd!. | ||
Line 40: | Line 41: | ||
#### Save design | #### Save design | ||
### Edit pins | ### Edit pins | ||
− | #### Edit >> Pin editor | + | #### Click '''Edit''' >> '''Pin editor''' on the menubar |
#### This allows you to determine the layout of the pins. You can specify which side of the silicon block to put pins, spacing, metal layer etc. | #### This allows you to determine the layout of the pins. You can specify which side of the silicon block to put pins, spacing, metal layer etc. | ||
#### Click apply after each edit to save and update positions | #### Click apply after each edit to save and update positions | ||
Line 65: | Line 66: | ||
#### Save as filename.gds | #### Save as filename.gds | ||
## Layout into Cadence | ## Layout into Cadence | ||
− | ### | + | ### Start Cadence |
− | ### | + | ### From the IFCB choose '''File''' >> '''Import''' >> '''Stream''' |
Revision as of 17:36, 19 November 2013
This is a quick flow for digital IC design flow.
Please borrow the MSC/STFC Introduction to Digital IC Design Flows from Roger Light (x13233).
Platform: Cadence/Incisive/RTL Compiler/AMS C35
- VHDL to RTL
- Write and test your VHDL code. You can do this with Xilinx or in any text editor. If you use a text editor you can simulate your code using NCLab.
- Create a folder for the RTL compiler
- Copy the relevant vhdl/verilog files into the folder
- Run rc at command prompt in the folder. This will generate a subfolder that RC uses to keep track of your design
- At the rc prompt point to the correct process library setting attributes with: set_attribute library /eee/vlsi/DesignKits/AMS/v4.00/liberty/c35_3.3V/c35_CORELIB.lib
- Read in your hdl using read_hdl -vhdl filename.vhd
- To actually make sense of the design structure, elaborate your design. This converts the VHDL to an in-memory netlist. Type elaborate
- Verify the design with check_design -all
- View the resulting RTL schematic by typing gui_show, then gui_raise to move GUI window above. Use gui_sync to keep prompt and GUI window synchronised.
- You can now synthesize your vhdl to a netlist that uses cells from your chosen library. Run synthesize. Run it 3 times to optimise
- Write your netlist to hdl as write_hdl > output.v
- Exit rc by typing rc.
- RTL to layout
- Run ams_encounter -tech c35b4 (generates required library files)
- Run encounter at the command prompt. This starts encounter for layout planning, power planning
- Choose File >> Import Design >> Load >> c35b4_std.conf
- Choose the veriloga file you've just exported
- Specify top or choose auto
- Save the design
- Now you can go through these steps to layout
- Floorplanning
- Floorplan >> Specify Floorplan
- Specify a width to length ratio. Aim for a utilization of 1. A good starting value is 0.8
- Power
- Add a ring around your core
- Power >> Power Planning >> Add ring
- The power rings we want are gnd! and vdd!.
- Click ... to choose nets (pulled from netlist)
- Specify layers and width/spacing
- Add stripes to connect the rings and distribute the power more evenly
- Save design
- Place end capacitors
- First place end-caps. These are fill cells that act as power decoupling/bypass capacitors.
- Do Place >> Physical Cell >> End Cap (R/L)
- Save design
- Edit pins
- Click Edit >> Pin editor on the menubar
- This allows you to determine the layout of the pins. You can specify which side of the silicon block to put pins, spacing, metal layer etc.
- Click apply after each edit to save and update positions
- Save the design
- Place design
- Place >> Place >> Standard Cell
- This places your design in the floorplan
- Switch to Physical View (on top right of tooolbar) to view the design
- Save the design
- Save SDF/SDC data
- Do Timing >> Extract RC
- Specify a filename and save to file.
- Route Power
- Choose Route >> Special Route
- This connects the power supply to your cells
- Route design
- Click Route >> Nano Route >>> Route
- It is a good idea to specify which metal layers should be used. We usually use Metals 1 to 3 with the C35 process. Specify this in the Routing Control, bottom:top layers section
- Save design
- Export the design
- The layout is complete now, and you can export it to GDS2.
- Click File>>Save>>GDS/Oasis
- Make sure to load gds.map
- Save as filename.gds
- Floorplanning
- Layout into Cadence
- Start Cadence
- From the IFCB choose File >> Import >> Stream