| |logo| |
| |
| SCS8LP Release Notes |
| Revision 0.0.2 |
| December 27, 2019 |
| |
| |
| Table of Contents |
| ================= |
| |
| Table of Figures |
| ================ |
| |
| Table of Tables |
| =============== |
| |
| Revision History |
| ================ |
| |
| +--------------+------------+----------------+---------------------------------------------------------------------------------------+ |
| | **Revision** | **Date** | **Author** | **Change Description** | |
| +--------------+------------+----------------+---------------------------------------------------------------------------------------+ |
| | 0.0.0 | 2018/05/15 | Anthony Ducimo | Initial IP release | |
| +--------------+------------+----------------+---------------------------------------------------------------------------------------+ |
| | 0.0.1 | 2019/03/28 | SW PDK team | Annotate possible NPC.2 drc violation, snap schematic symbol pins to 0.0625 snap grid | |
| +--------------+------------+----------------+---------------------------------------------------------------------------------------+ |
| | 0.0.2 | 2019/12/27 | SW PDK team | Document cleanup—header, footer, title page | |
| +--------------+------------+----------------+---------------------------------------------------------------------------------------+ |
| |
| Reference Documents |
| =================== |
| |
| +---------+------------------+------------------------------------+ |
| | **No.** | **Date/Version** | **Title** | |
| +=========+==================+====================================+ |
| | 1. | V1.0.1 | sw_s8_pdk_Release_Notes_V1.0.1.pdf | |
| +---------+------------------+------------------------------------+ |
| |
| V0.0.1 Updates and Known Limitations |
| ==================================== |
| |
| The V0.0.1 SCS8LP release is the latest alpha release of the SkyWater S130 (“S8”) technology SCS8LP IP. This release has been tested on a limited set of IP and contains known issues. Any known limitations with the IP are documented in the Release Notes (i.e. this document). |
| |
| Supported Tool Versions |
| ----------------------- |
| |
| The SCS8LP V0.0.1 IP was developed and tested with the tools listed in Table 1. |
| |
| Table 1: Supported tool versions for SCS8LP V0.0.1 |
| |
| +------------------+--------------+ |
| | **Tool** | **Version** | |
| +==================+==============+ |
| | Cadence Genus | 17.20-p003_1 | |
| +------------------+--------------+ |
| | Cadence Xcelium | 17.10-s003 | |
| +------------------+--------------+ |
| | Cadence Innovus | 18.12 | |
| +------------------+--------------+ |
| | Cadence Spectre | 17.10.160 | |
| +------------------+--------------+ |
| | Cadence Virtuoso | ic617.715 | |
| +------------------+--------------+ |
| | Mentor Calibre | 2017.2_37.39 | |
| +------------------+--------------+ |
| |
| The following tools are not supported yet for S130: |
| |
| - Synopsys HSPICE |
| |
| - Electromigration |
| |
| - Reliability / Device aging models |
| |
| V0.0.1 Bug List |
| --------------- |
| |
| Bug tracking software is used to track tasks related to IP development. The term “bug” refers to a tracked item, and does not necessarily indicate a problem that is being fixed. |
| |
| Table 2 lists the bugs that were addressed in this IP release. |
| |
| Table 2: Bugs addressed in V0.0.1 |
| |
| +---------+---------------+---------------------+ |
| | **Bug** | **Component** | **Summary** | |
| +=========+===============+=====================+ |
| | 1175 | DRC | NPC.2 DRC Violation | |
| +---------+---------------+---------------------+ |
| |
| V0.0.2 Known Limitations |
| ------------------------ |
| |
| The following is a list of known issues with the V0.0.2 IP: |
| |
| It’s possible that one or more NPC.2 drc violations can occur (see drawing below.) When the extent of the abutment of npc layers between two cells differs too greatly a notch can occur. This can be fixed by moving or replacing one of the cells. |
| |
| This error can be prevented by making changes to the way that cells are placed by the EDA tools. This placement-postprocessing scripting fix has not been implemented at this time. |
| |
| NPC.2: 0.27 min. spacing/notch of npc: |
| |
| |
| |
| |
| |
| |81 prBOunduy_ceII npc_dr avng rve| |
| |
| |
| |
| |
| |
| scs8ms_dfrtp_1 on the right |
| |
| scs8ms_or4_1 on the left |
| |
| V0.0.0 Updates and Known Limitations |
| ==================================== |
| |
| The V0.0.0 SCS8LP release is the initial alpha release of the SkyWater S130 (“S8”) technology SCS8LP IP. This release has been tested on a limited set of IP and contains known issues. Any known limitations with the IP are documented in the Release Notes (i.e. this document). |
| |
| .. _supported-tool-versions-1: |
| |
| Supported Tool Versions |
| ----------------------- |
| |
| The SCS8LP V0.0.0 IP was developed and tested with the tools listed in Table 1. |
| |
| Table 1: Supported tool versions for SCS8LP V0.0.0 |
| |
| +------------------+--------------+ |
| | **Tool** | **Version** | |
| +==================+==============+ |
| | Cadence Genus | 17.20-p003_1 | |
| +------------------+--------------+ |
| | Cadence Xcelium | 17.10-s003 | |
| +------------------+--------------+ |
| | Cadence Innovus | 17.1 | |
| +------------------+--------------+ |
| | Cadence Spectre | 17.10.160 | |
| +------------------+--------------+ |
| | Cadence Virtuoso | ic617.715 | |
| +------------------+--------------+ |
| | Mentor Calibre | 2017.2_37.39 | |
| +------------------+--------------+ |
| |
| The following tools are not supported yet for S8: |
| |
| - Synopsys HSPICE |
| |
| - Electromigration |
| |
| - Reliability / Device aging models |
| |
| V0.0.0 Bug List |
| --------------- |
| |
| Bug tracking software is used to track tasks related to IP development. The term “bug” refers to a tracked item, and does not necessarily indicate a problem that is being fixed. |
| |
| Table 2 lists the bugs that were addressed in this IP release. |
| |
| Table 2: Bugs addressed in V0.0.0 |
| |
| +---------+---------------+----------------------------------+ |
| | **Bug** | **Component** | **Summary** | |
| +=========+===============+==================================+ |
| | 1119 | Libraries | Confirm scs8lp digital libraries | |
| +---------+---------------+----------------------------------+ |
| |
| V0.0.0 Known Limitations |
| ------------------------ |
| |
| There are no known issues with the V0.0.0 LP standard cell IP. |
| |
| Overview |
| ======== |
| |
| The SkyWater SCS8LP Release Notes contain information regarding the low power standard cells available from SkyWater for this technology and its known limitations. |
| |
| Digital PDK |
| =========== |
| |
| 1. .. rubric:: Synthesis |
| :name: synthesis |
| |
| 1. .. rubric:: Requirements |
| :name: requirements |
| |
| - Liberty file: $SW_IP_HOME/scs8lp/lib/scs8lp_ss_1.60v_100C.lib |
| |
| - Tech lef: $SW_IP_HOME/tech/lef/s8phirs-10r.tlef |
| |
| - Standard Cell LEF: $SW_IP_HOME/scs8lp/scs8lp.lef |
| |
| 2. .. rubric:: Execution |
| :name: execution |
| |
| The simple “sv_interfaces” design example was used as the RTL base. Genus synthesized a netlist. The netlist was visually inspected to see what types of standard-cells were included; netlist included DFF, NAND, XNOR, etc. No effort was spent analyzing performance, power, or area (PPA) nor whether the SDC was consumed correctly. Intent was just to verify that a structured netlist was generated. Numerous reports were generated during the synthesis process (area, gates, check_design, etc). A quick inspection of the report files was done just to see that no gross errors were present due to input-file consumption. |
| |
| Simulation |
| ---------- |
| |
| .. _requirements-1: |
| |
| Requirements |
| ~~~~~~~~~~~~ |
| |
| - Standard Cell Verilog Models: $SW_IP_HOME/scs8lp/verilog/*.v |
| |
| 3. .. rubric:: Execution |
| :name: execution-1 |
| |
| The simulation was run with both the RTL and the netlist instantiated in the testbench side-by-side. Visual inspection of the waveforms of the two modules revealed that they appeared the same. Whereas the netlist is consumed as gates by the simulator, no effort for SDF-annotated simulation was expended. |
| |
| Place and Route |
| --------------- |
| |
| .. _requirements-2: |
| |
| Requirements |
| ~~~~~~~~~~~~ |
| |
| - Liberty files: $SW_IP_HOME/scs8lp/lib/*.lib |
| |
| - Tech lef: $SW_IP_HOME/tech/lef/s8phirs-10r.tlef |
| |
| - Standard Cell LEF: $SW_IP_HOME/scs8lp/lef/scs8lp.lef |
| |
| - Standard Cell GDS: $SW_IP_HOME/scs8lp/gds/scs8lp.gds |
| |
| - GDS Layer Map: $SW_IP_HOME/scs8lp/tech/s8_innovus.layermap |
| |
| - Metal Fill Rules: Next Release |
| |
| 5. .. rubric:: Execution |
| :name: execution-2 |
| |
| The synthesized netlist was read into Innovus. The following steps were performed: |
| |
| - Floorplanning |
| |
| - Power Routing |
| |
| - Global Routing and Initial Timing |
| |
| - Clock Tree Insertion |
| |
| - Detail Routing |
| |
| - Metal Fill Insertion |
| |
| - Timing Analysis |
| |
| - DRC and LVS Verification |
| |
| 6. .. rubric:: Innovus Addenda |
| :name: innovus-addenda |
| |
| - This tcl can be used to add tap cells: |
| |
| - *source $PDK_HOME/scs8lp/scripts/add_taps.tcl* |
| |
| - This tcl can be used to stream out gds: |
| |
| - *write_stream <gds file> -map_file $SW_IP_HOME/tech/s8_innovus.layermap -lib_name DesignLib -unit 1000 -mode ALL -merge $SW_IP_HOME/scs8lp/gds/scs8lp.gds* |
| |
| - To write out a netlist for Calibre LVS: |
| |
| - *write_netlist <netlist for lvs> -phys -exclude_leaf_cells* |
| |
| - To create a pin text file for Calibre LVS: |
| |
| - *source $PDK_HOME/scs8lp/scripts/lvstext.tcl* |
| |
| Future Plans |
| ~~~~~~~~~~~~ |
| |
| Support is planned for a future release for the following items: |
| |
| - Cadence Voltus power integrity tools |
| |
| - Innovus OA-based flow: the current flow is LEF-based. |
| |
| - * |
| * |
| |
| DRC |
| --- |
| |
| .. _requirements-3: |
| |
| Requirements |
| ~~~~~~~~~~~~ |
| |
| - Calibre Rundecks: $PDK_HOME/DRC/Calibre/*Rules\* |
| |
| **Calibre** DRC Rundecks |
| ~~~~~~~~~~~~~~~~~~~~~~~~ |
| |
| Five Calibre rundecks are available: |
| |
| 1. drcRules: General DRC rundeck |
| |
| 2. softRules: ERC rundeck |
| |
| 3. stressRules: Sealring checks |
| |
| 4. latchupRules: Latch-up and antenna checks |
| |
| 5. fillRules: Metal fill rundeck is being developed |
| |
| A clean run for the top 4 rundecks is required for every design. |
| |
| The metal fill deck is for timing purposes and can be loaded into Quantus; the final metal fill will be added at tapeout. |
| |
| There is an additional rundeck called cldrcRules. |
| |
| This rundeck converts all layers to a version ready for tapeout. It also adds in the final metal fill. This rundeck will usually be used at the Foundry only as part of final tapeout process. |
| |
| .. _execution-3: |
| |
| **Execution** |
| ~~~~~~~~~~~~~ |
| |
| Calibre DRC can be run from within Calibre DESIGNRev: |
| |
| 1. Load the GDS written out from Innovus. |
| |
| 2. Launch “Verification -> Run nmDRC”. |
| |
| 3. At “Rules -> DRC Rules File” enter “$PDK_HOME/DRC/Calibre/<rundeck_name>”. |
| |
| 4. At “Rules -> DRC Run Directory” enter the local directory name with the title of the rundeck, i.e. “<local path>/drc” or “<local path>/stress”. |
| |
| 5. At “Inputs” press “Export from layout viewer”. |
| |
| 6. Click “Run DRC”. |
| |
| LVS |
| --- |
| |
| .. _requirements-4: |
| |
| Requirements |
| ~~~~~~~~~~~~ |
| |
| - Calibre Rundeck: $PDK_HOME/LVS/Calibre/lvsRules |
| |
| **Generate** Spice Netlist |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~ |
| |
| One of the Innovus Addenda (shown above) explained how to write out a netlist for Calibre LVS. Below are the steps needed to convert this netlist to spice. |
| |
| 1. FILLER cells must be removed from the verilog. This awk script can be used: |
| |
| *awk -f $SW_IP_HOME/scs8lp/scripts/remove_FILLERS.k <netlist with fillers> > <netlist without fillers>* |
| |
| 2. The netlist can next be converted to spice with this script: |
| |
| *v2lvs -v <verilog without fillers> -lsp $SW_IP_HOME/scs8lp/cdl/scs8lp.cdl -s $SW_IP_HOME/scs8lp/cdl/scs8lp.cdl -o <spice for LVS>* |
| |
| .. _execution-4: |
| |
| Execution |
| ~~~~~~~~~ |
| |
| Calibre LVS can be run from within Calibre DESIGNRev: |
| |
| 1. Load the GDS that was written out from Innovus. |
| |
| 2. Launch “Verification -> Run nmLVS”. |
| |
| 3. At “Rules -> LVS Rules File” enter “$PDK_HOME/DRC/Calibre/lvsRules”. |
| |
| 4. At “Rules -> LVS Run Directory” enter “<local path>/lvs”. |
| |
| 5. At “Inputs” in the “Layout” tab: |
| |
| a. Press “Export from layout viewer”. |
| |
| b. Enter the “Top Cell” name. |
| |
| 6. At “Inputs” in the “Netlist” tab enter the “Spice Files:” with the spice for LVS that was created above. |
| |
| 7. At “Input” in the “H-Cells” tab press “Use H-Cells file” and enter “$SW_IP_HOME/scs8lp/cdl/scs8lp.hcell” |
| |
| 8. At the top press “Setup -> LVS Options”. |
| |
| 9. At “LVS Options” in the “Include” tab in the top white space enter the path to the pin text file that was created in the Innovus Addenda. |
| |
| Click “Run LVS”. |
| |
| .. |logo| image:: ./media/image1.png |
| :width: 3.5in |
| :height: 1.04455in |
| .. |81 prBOunduy_ceII npc_dr avng rve| image:: ./media/image3.png |
| :width: 6.97in |
| :height: 4.60039in |