blob: 30cdf044b495a499d059a6196fab2e6362b2f3ff [file] [log] [blame] [edit]
|logo|
SCS8MS Release Notes
Revision 0.0.2
December 27, 2019
**NOTICE**
This document contains confidential information that is proprietary to SkyWater Technology. No part of its contents may be used, copied, disclosed or conveyed to any party in any manner whatsoever without prior written permission from SkyWater.
Table of Contents
=================
`Table of Contents 1 <#table-of-contents>`__
`Table of Figures 2 <#_Toc518558093>`__
`Table of Tables 2 <#_Toc518558094>`__
`1 Revision History 3 <#_Toc518558095>`__
`2 Reference Documents 4 <#_Toc417288790>`__
`3 V0.0.1 Updates and Known Limitations (2019/03/28) 5 <#v0.0.1-updates-and-known-limitations-20190328>`__
`3.1 Supported Tool Versions 5 <#supported-tool-versions>`__
`3.2 V0.0.1 Bug List 5 <#v0.0.1-bug-list>`__
`3.3 V0.0.1 Known Limitations 6 <#v0.0.1-known-limitations>`__
`4 V0.0.0 Updates and Known Limitations (2018/03/30) 7 <#v0.0.0-updates-and-known-limitations-20180330>`__
`4.1 Supported Tool Versions 7 <#supported-tool-versions-1>`__
`4.2 V0.0.0 Bug List 7 <#v0.0.0-bug-list>`__
`4.3 V0.0.0 Known Limitations 8 <#v0.0.0-known-limitations>`__
`5 Overview 9 <#overview>`__
`5.1 IP Version Numbering 9 <#ip-version-numbering>`__
`5.2 IP Directory Structure 10 <#ip-directory-structure>`__
`6 IP Installation 11 <#ip-installation>`__
`7 IP Usage 12 <#ip-usage>`__
`8 Digital PDK 13 <#digital-pdk>`__
`8.1 Synthesis 13 <#synthesis>`__
`8.1.1 Requirements 13 <#requirements>`__
`8.1.2 Execution 13 <#execution>`__
`8.2 Simulation 13 <#simulation>`__
`8.2.1 Requirements 13 <#requirements-1>`__
`8.2.2 Execution 13 <#execution-1>`__
`8.3 Place and Route 14 <#place-and-route>`__
`8.3.1 Requirements 14 <#requirements-2>`__
`8.3.2 Execution 14 <#execution-2>`__
`8.3.3 Innovus Addenda 14 <#innovus-addenda>`__
`8.3.4 Future Plans 14 <#future-plans>`__
`8.4 DRC 15 <#drc>`__
`8.4.1 Requirements 15 <#requirements-3>`__
`8.4.2 Calibre DRC Rundecks 15 <#calibre-drc-rundecks>`__
`8.4.3 Execution 15 <#execution-3>`__
`8.5 LVS 16 <#lvs>`__
`8.5.1 Requirements 16 <#requirements-4>`__
`8.5.2 Generate Spice Netlist 16 <#generate-spice-netlist>`__
`8.5.3 Execution 16 <#execution-4>`__
Table of Figures
================
No table of figures entries found.
Table of Tables
===============
`Table 1: Supported tool versions for SCS8MS V0.0.1 5 <#_Toc518558087>`__
`Table 2: Bugs addressed in V0.0.1 5 <#_Toc518556596>`__
`Table 1: Supported tool versions for SCS8MS V0.0.0 7 <#_Ref500277360>`__
`Table 2: Bugs addressed in V0.0.0 7 <#_Ref509560110>`__
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 | Annotatate possible NPC.2 drc violation, schematic symbol snap to grid |
+--------------+------------+----------------+------------------------------------------------------------------------+
| 0.0.2 | 2019/12/27 | SW PDK team | Document cleanupheader, 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 (2019/03/28)
=================================================
The V0.0.1 SCS8MS release is the latest alpha release of the SkyWater S130 (“S8”) technology SCS8MS 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 SCS8MS V0.0.0 IP was developed and tested with the tools listed in Table 1.
Table 1: Supported tool versions for SCS8MS 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 : Bugs addressed in V0.0.1
+---------+---------------+--------------------------------------------+
| **Bug** | **Component** | **Summary** |
+=========+===============+============================================+
| 1175 | DRC | NPC.2 DRC Violation |
+---------+---------------+--------------------------------------------+
| n/a | Schematic | Snap schematic symbols to 0.0625 snap grid |
+---------+---------------+--------------------------------------------+
V0.0.1 Known Limitations
------------------------
The following is a list of known issues with the V0.0.1 IP:
Its 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 (2018/03/30)
=================================================
The V0.0.0 SCS8MS release is the initial alpha release of the SkyWater S130 (“S8”) technology SCS8MS 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 SCS8MS V0.0.0 IP was developed and tested with the tools listed in Table 1.
Table 1: Supported tool versions for SCS8MS 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 S130:
- 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** |
+=========+===============+==================================+
| 855 | Libraries | Confirm scs8ms digital libraries |
+---------+---------------+----------------------------------+
V0.0.0 Known Limitations
------------------------
The following is a list of known issues with the V0.0.0 IP:
- In our testcase a single npc.2 DRC violation appeared. This violation refers to a notch between polygons of npc (95.20) inside standard cells that abut. This problem is being investigated. A simple fix at this time is to move the offending cells to new locations.
**scs8ms_dfrtp_1** cell is on the right.
**scs8ms_or4_1** cell is on the left.
|image2|
Overview
========
The SkyWater SCS8MS Release Notes contain information regarding the low voltage high speed standard cells available from SkyWater for this technology and its known limitations.
IP Usage
========
The SCS8MS IP contains a variation of standard cells that utilize low voltage high speed logic blocks in the SKY130 technology.
The scs8_ms library contains two OA libraries, including a techLib reference library. The only library the designer will need to use for these standard cells is scs8ms. The remaining libraries are necessary as references to this one only.
A list of these standard cells is not available in V0.0.1. For additional information, please contact SkyWater Technology.
Digital PDK
===========
1. .. rubric:: Synthesis
:name: synthesis
1. .. rubric:: Requirements
:name: requirements
- Liberty file: $SW_IP_HOME/scs8ms/lib/scs8ms_ss_1.60v_100C.lib
- Tech lef: $SW_IP_HOME/tech/lef/s8phirs-10r.tlef
- Standard Cell LEF: $SW_IP_HOME/scs8ms/scs8ms.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/scs8ms/verilog/*.v
.. _execution-1:
Execution
~~~~~~~~~
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/scs8ms/lib/*.lib
- Tech lef: $SW_IP_HOME/tech/lef/s8phirs-10r.tlef
- Standard Cell LEF: $SW_IP_HOME/scs8ms/lef/scs8ms.lef
- Standard Cell GDS: $SW_IP_HOME/scs8ms/gds/scs8ms.gds
- GDS Layer Map: $SW_IP_HOME/scs8ms/tech/s8_innovus.layermap
- Metal Fill Rules: Next Release
4. .. 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
5. .. rubric:: Innovus Addenda
:name: innovus-addenda
- This tcl can be used to add tap cells:
- *source $PDK_HOME/scs8ms/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/scs8ms/gds/scs8ms.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/scs8ms/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 be 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/scs8ms/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/scs8ms/cdl/scs8ms.cdl -s $SW_IP_HOME/scs8ms/cdl/scs8ms.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/scs8ms/cdl/scs8ms.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
.. |image2| image:: ./media/image4.png
:width: 5.92437in
:height: 3.91667in