Chip Tapeout Design Flow¶
The contents here describe recommended procedures/requirements/guidelines that should be followed for taping out a chip.
Major Milestones¶
The major milestones for each project may differ slightly based on the goals of the tapeout, but the following list should be a basis to start from.
Architecture Design Review¶
- Choose architecture to address design needs/goals
- Provide high-level system simulation results to indicate goals are achievable
- Generate system and block-level specifications
- Document architecture, assumptions, and requirements
Schematic/RTL Design Review¶
This should happen for each block in the system. This milestone will not have been reached until every block (or an encapsulating block) in the chip passes a design review.
- Generate schematics or RTL to implement block-level specifications
- Simulation results show required performance or functionality is being met
- Document design including decisions, assumptions and key results
Post Layout Design Review¶
All requirements for the the Schematic/RTL review should be repeated for the layout design. Additionally, the following requirements should be met.
- Generate LVS/DRC clean layout
- Review of any special layout requirements (metalization, matching, power, signal access)
- Confirmation that the design meets timing and edge rate requirements
Top Level Verification¶
Once the entire chip design has been constructed (even if only as models), a suite of regression tests should begin being developed. These tests should continually be revised/improved and run as the design progresses.
Design Reviews¶
The guideline for things to review for each block can be found in the digital (Digital_Design_Review) and analog (Analog_Design_Review) design sections.
Final Tapeout Checklist¶
Clocks¶
- Manual/visual inspection of clock networks on synthesized clocks
- Are clocks shielded from/against other sensitive lines?
- Check to make sure that all supplies for any clock buffers are present when you need a clock –> simulate power up and check that clocks are present.
- Check fan-out of any custom clock networks
Resets¶
- Check loading/timing/dependencies of all asynchronous resets
Interfaces¶
- Have all interfaces between blocks & outside of the chip been simulated?
- At the chip level, there should at least be behavioral level simulations of all interfaces
- Check timing between custom and synthesized blocks
- Check the supply voltages at each interface. If they have different supply voltages, make sure there are appropriate level shifting circuits.
Power Supplies¶
Simulate ramping of power supplies
- Check reset timings
- Check for leakage currents (floating inputs)
- Check for clocks
- Check for latch-up
Run DC simulation of entire chip
- Check bias points, leakage currents
Check the amount and location of decap on each supply rail
Layout¶
Check DRC
- All required DRC rules should pass
- Any waived DRC rules should be marked in a DRC waiver list and noted as to why the DRC rule is waived
Check LVS
- Pin labels at the top should be on pads/bumps
- LVS should pass with NO virtual connections
- All components that you care about should be LVS’d (e.g. if you have an inductor, or some other custom device, you should LVS it!)
- Look for any floating guard rings (sealring is okay)
Check Metal Integrity
- Check that any high current nets (power, ground, high power inputs/outputs) have maximally connected metal. You can use a Via_Finder and Via_Insertion tool for this purpose.
- Check the resistivity of any critical nets that must carry high current using a resistance visualization tool (e.g. R3D, P2P, etc...)
I/O and ESD¶
- Are all outputs sized to drive the anticipated board/output load?
- Are all inputs designed to handle the expected voltage ranges?
- Do all inputs have some kind of weak pull-up/down to insure their state?
- Is there an ESD path for all I/Os? (See ESD_Guidelines)
Final Tapeout Procedure¶
After checking all of the pre-tapeout checklist items we are ready to send the final GDS to the foundry.
- Stream out the layout design to GDS. If there are additional non-silicon layers (e.g. RDL), make sure to alter the layermap file to remove these layers (since the gds layers that they map to may collide with internal foundry layers).
- Stream in the output GDS into a new library and DO NOT include any reference libraries during the stream in.
- Run LVS using the streamed-in library layout and the schematic we had for the top level chip.
- Run DRC on the streamed-in library layout. The errors should match, or be similar (depending on the type of errors).
- Tab the revision control database
- Freeze/disable access to the revision control database
- Freeze/check-in the versions of any dependencies (cad/ versions, tools)
- Tar and zip the gds database
- Run a checksum on the *.tar.gz file
- Send the database to the foundry
- Add Info to project module about tool versions used during tapeout