asic synthesis and backend
TRANSCRIPT
![Page 1: ASIC Synthesis and Backend](https://reader033.vdocuments.us/reader033/viewer/2022051405/58a0522c1a28abdb378b96d4/html5/thumbnails/1.jpg)
Getting to Work with OpenPiton
Jonathan Balkind, Michael McKeown, Yaosheng Fu, Tri Nguyen,
Yanqi Zhou, Alexey Lavrov, Mohammad Shahrad, Adi Fuchs,
Samuel Payne, Xiaohua Liang, Matthew Matl, David Wentzlaff
Princeton University
OpenPit
http://openpiton.org
![Page 2: ASIC Synthesis and Backend](https://reader033.vdocuments.us/reader033/viewer/2022051405/58a0522c1a28abdb378b96d4/html5/thumbnails/2.jpg)
ASIC SYNTHESIS AND BACKEND
2
![Page 3: ASIC Synthesis and Backend](https://reader033.vdocuments.us/reader033/viewer/2022051405/58a0522c1a28abdb378b96d4/html5/thumbnails/3.jpg)
Whats in the Box?
• Synthesis– Synopsys Design Compiler
• Static timing analysis (STA)– Synopsys Primetime
• Formal equivalence checking (RVS)– Synopsys Formality
• Place and route (PAR)– Synopsys IC Compiler
• Layout versus schematic (LVS)– Mentor Graphics Calibre
• Design rule checking (DRC)– Mentor Graphics Calibre
• Coming soon: Gate-level simulation
3
![Page 4: ASIC Synthesis and Backend](https://reader033.vdocuments.us/reader033/viewer/2022051405/58a0522c1a28abdb378b96d4/html5/thumbnails/4.jpg)
Why is it Useful?
• Research studies
– Architecture, EDA, and other HW research
• ASIC tapeout
• Education
4
![Page 5: ASIC Synthesis and Backend](https://reader033.vdocuments.us/reader033/viewer/2022051405/58a0522c1a28abdb378b96d4/html5/thumbnails/5.jpg)
Piton ASIC
• 25 tiles
• IBM 32nm SOI
• 36 mm2 (6mm x 6mm)
• 1 GHz Target Frequency
5
• Tested working in silicon!
![Page 6: ASIC Synthesis and Backend](https://reader033.vdocuments.us/reader033/viewer/2022051405/58a0522c1a28abdb378b96d4/html5/thumbnails/6.jpg)
Synthesis and Backend Flow
6
![Page 7: ASIC Synthesis and Backend](https://reader033.vdocuments.us/reader033/viewer/2022051405/58a0522c1a28abdb378b96d4/html5/thumbnails/7.jpg)
What do you need?
• OpenPiton
• Synopsys License– Tools and Reference Methodology (RM)
• Mentor Graphics License– Calibre (for LVS and DRC only)
• Standard cell library and process development kit
7
![Page 8: ASIC Synthesis and Backend](https://reader033.vdocuments.us/reader033/viewer/2022051405/58a0522c1a28abdb378b96d4/html5/thumbnails/8.jpg)
Getting Started
• Download Synopsys-RM
• Patch Synopsys-RM
• Familiarize with directory structure and scripts
• Port to process technology
• Running the flow
8
![Page 9: ASIC Synthesis and Backend](https://reader033.vdocuments.us/reader033/viewer/2022051405/58a0522c1a28abdb378b96d4/html5/thumbnails/9.jpg)
Download Synopsys-RM
• Synopsys Solvnet
• See OpenPitonSynthesis and Backend Manual
– Specify version
– Specify settings
• Broader support
9
![Page 10: ASIC Synthesis and Backend](https://reader033.vdocuments.us/reader033/viewer/2022051405/58a0522c1a28abdb378b96d4/html5/thumbnails/10.jpg)
Patching Synopsys-RM
10
![Page 11: ASIC Synthesis and Backend](https://reader033.vdocuments.us/reader033/viewer/2022051405/58a0522c1a28abdb378b96d4/html5/thumbnails/11.jpg)
Patching Synopsys-RM
10
![Page 12: ASIC Synthesis and Backend](https://reader033.vdocuments.us/reader033/viewer/2022051405/58a0522c1a28abdb378b96d4/html5/thumbnails/12.jpg)
Patching Synopsys-RM
11
![Page 13: ASIC Synthesis and Backend](https://reader033.vdocuments.us/reader033/viewer/2022051405/58a0522c1a28abdb378b96d4/html5/thumbnails/13.jpg)
Patching Synopsys-RM
11
![Page 14: ASIC Synthesis and Backend](https://reader033.vdocuments.us/reader033/viewer/2022051405/58a0522c1a28abdb378b96d4/html5/thumbnails/14.jpg)
Patching Synopsys-RM
11
![Page 15: ASIC Synthesis and Backend](https://reader033.vdocuments.us/reader033/viewer/2022051405/58a0522c1a28abdb378b96d4/html5/thumbnails/15.jpg)
Patching Synopsys-RM
11
![Page 16: ASIC Synthesis and Backend](https://reader033.vdocuments.us/reader033/viewer/2022051405/58a0522c1a28abdb378b96d4/html5/thumbnails/16.jpg)
Directory Structure and Scripts
• All scripts written in Tcl
• Two primary locations
– Module generic scripts
– Module specific scripts
12
![Page 17: ASIC Synthesis and Backend](https://reader033.vdocuments.us/reader033/viewer/2022051405/58a0522c1a28abdb378b96d4/html5/thumbnails/17.jpg)
Directory Structure and Scripts
• All scripts written in Tcl
• Two primary locations
– Module generic scripts
– Module specific scripts
12
![Page 18: ASIC Synthesis and Backend](https://reader033.vdocuments.us/reader033/viewer/2022051405/58a0522c1a28abdb378b96d4/html5/thumbnails/18.jpg)
Directory Structure and Scripts
• All scripts written in Tcl
• Two primary locations
– Module generic scripts
– Module specific scripts
12
![Page 19: ASIC Synthesis and Backend](https://reader033.vdocuments.us/reader033/viewer/2022051405/58a0522c1a28abdb378b96d4/html5/thumbnails/19.jpg)
Directory Structure and Scripts
• All scripts written in Tcl
• Two primary locations
– Module generic scripts
– Module specific scripts
12
![Page 20: ASIC Synthesis and Backend](https://reader033.vdocuments.us/reader033/viewer/2022051405/58a0522c1a28abdb378b96d4/html5/thumbnails/20.jpg)
Directory Structure and Scripts
• All scripts written in Tcl
• Two primary locations
– Module generic scripts
– Module specific scripts
12
![Page 21: ASIC Synthesis and Backend](https://reader033.vdocuments.us/reader033/viewer/2022051405/58a0522c1a28abdb378b96d4/html5/thumbnails/21.jpg)
Directory Structure and Scripts
• All scripts written in Tcl
• Two primary locations
– Module generic scripts
– Module specific scripts
12
![Page 22: ASIC Synthesis and Backend](https://reader033.vdocuments.us/reader033/viewer/2022051405/58a0522c1a28abdb378b96d4/html5/thumbnails/22.jpg)
Porting to a Process Technology
• ${PITON_ROOT}/piton/tools/synopsys/script/common/env_setup.tcl
• ${PITON_ROOT}/piton/tools/synopsys/script/common/process_setup.tcl
• ${PITON_ROOT}/piton/tools/calibre/script/common/calibre_ env
13
![Page 23: ASIC Synthesis and Backend](https://reader033.vdocuments.us/reader033/viewer/2022051405/58a0522c1a28abdb378b96d4/html5/thumbnails/23.jpg)
Porting to a Process Technology
• ${PITON_ROOT}/piton/tools/synopsys/script/common/env_setup.tcl
• ${PITON_ROOT}/piton/tools/synopsys/script/common/process_setup.tcl
• ${PITON_ROOT}/piton/tools/calibre/script/common/calibre_ env
13
![Page 24: ASIC Synthesis and Backend](https://reader033.vdocuments.us/reader033/viewer/2022051405/58a0522c1a28abdb378b96d4/html5/thumbnails/24.jpg)
Porting to a Process Technology
• ${PITON_ROOT}/piton/tools/synopsys/script/common/env_setup.tcl
• ${PITON_ROOT}/piton/tools/synopsys/script/common/process_setup.tcl
• ${PITON_ROOT}/piton/tools/calibre/script/common/calibre_ env
13
![Page 25: ASIC Synthesis and Backend](https://reader033.vdocuments.us/reader033/viewer/2022051405/58a0522c1a28abdb378b96d4/html5/thumbnails/25.jpg)
Porting to a Process Technology
• ${PITON_ROOT}/piton/tools/synopsys/script/common/env_setup.tcl
• ${PITON_ROOT}/piton/tools/synopsys/script/common/process_setup.tcl
• ${PITON_ROOT}/piton/tools/calibre/script/common/calibre_ env
13
![Page 26: ASIC Synthesis and Backend](https://reader033.vdocuments.us/reader033/viewer/2022051405/58a0522c1a28abdb378b96d4/html5/thumbnails/26.jpg)
Porting to a Process Technology
• ${PITON_ROOT}/piton/tools/synopsys/script/common/env_setup.tcl
• ${PITON_ROOT}/piton/tools/synopsys/script/common/process_setup.tcl
• ${PITON_ROOT}/piton/tools/calibre/script/common/calibre_ env
13
![Page 27: ASIC Synthesis and Backend](https://reader033.vdocuments.us/reader033/viewer/2022051405/58a0522c1a28abdb378b96d4/html5/thumbnails/27.jpg)
Porting to a Process Technology
• ${PITON_ROOT}/piton/tools/synopsys/script/common/env_setup.tcl
• ${PITON_ROOT}/piton/tools/synopsys/script/common/process_setup.tcl
• ${PITON_ROOT}/piton/tools/calibre/script/common/calibre_ env
13
![Page 28: ASIC Synthesis and Backend](https://reader033.vdocuments.us/reader033/viewer/2022051405/58a0522c1a28abdb378b96d4/html5/thumbnails/28.jpg)
Porting to a Process Technology
• ${PITON_ROOT}/piton/tools/synopsys/script/common/env_setup.tcl
• ${PITON_ROOT}/piton/tools/synopsys/script/common/process_setup.tcl
• ${PITON_ROOT}/piton/tools/calibre/script/common/calibre_ env
13
![Page 29: ASIC Synthesis and Backend](https://reader033.vdocuments.us/reader033/viewer/2022051405/58a0522c1a28abdb378b96d4/html5/thumbnails/29.jpg)
Porting to a Process Technology
• ${PITON_ROOT}/piton/tools/synopsys/script/common/env_setup.tcl
• ${PITON_ROOT}/piton/tools/synopsys/script/common/process_setup.tcl
• ${PITON_ROOT}/piton/tools/calibre/script/common/calibre_ env
13
![Page 30: ASIC Synthesis and Backend](https://reader033.vdocuments.us/reader033/viewer/2022051405/58a0522c1a28abdb378b96d4/html5/thumbnails/30.jpg)
Porting to a Process Technology
14
![Page 31: ASIC Synthesis and Backend](https://reader033.vdocuments.us/reader033/viewer/2022051405/58a0522c1a28abdb378b96d4/html5/thumbnails/31.jpg)
Porting to a Process Technology
14
![Page 32: ASIC Synthesis and Backend](https://reader033.vdocuments.us/reader033/viewer/2022051405/58a0522c1a28abdb378b96d4/html5/thumbnails/32.jpg)
Porting to a Process Technology
14
![Page 33: ASIC Synthesis and Backend](https://reader033.vdocuments.us/reader033/viewer/2022051405/58a0522c1a28abdb378b96d4/html5/thumbnails/33.jpg)
Porting to a Process Technology
• Module specific scripts suggested for review:
– module_setup.tcl
– floorplan.tcl
– <design_name>.constraints.tcl
15
![Page 34: ASIC Synthesis and Backend](https://reader033.vdocuments.us/reader033/viewer/2022051405/58a0522c1a28abdb378b96d4/html5/thumbnails/34.jpg)
Running the Flow
16
• ${PITON_ROOT}/piton/tools/synopsys/block.list
![Page 35: ASIC Synthesis and Backend](https://reader033.vdocuments.us/reader033/viewer/2022051405/58a0522c1a28abdb378b96d4/html5/thumbnails/35.jpg)
Running the Flow
16
• ${PITON_ROOT}/piton/tools/synopsys/block.list
![Page 36: ASIC Synthesis and Backend](https://reader033.vdocuments.us/reader033/viewer/2022051405/58a0522c1a28abdb378b96d4/html5/thumbnails/36.jpg)
Launch Flow
17
![Page 37: ASIC Synthesis and Backend](https://reader033.vdocuments.us/reader033/viewer/2022051405/58a0522c1a28abdb378b96d4/html5/thumbnails/37.jpg)
Launch Flow
17
![Page 38: ASIC Synthesis and Backend](https://reader033.vdocuments.us/reader033/viewer/2022051405/58a0522c1a28abdb378b96d4/html5/thumbnails/38.jpg)
Launch Flow
17
![Page 39: ASIC Synthesis and Backend](https://reader033.vdocuments.us/reader033/viewer/2022051405/58a0522c1a28abdb378b96d4/html5/thumbnails/39.jpg)
Launch Flow
17
![Page 40: ASIC Synthesis and Backend](https://reader033.vdocuments.us/reader033/viewer/2022051405/58a0522c1a28abdb378b96d4/html5/thumbnails/40.jpg)
Launch Flow
17
![Page 41: ASIC Synthesis and Backend](https://reader033.vdocuments.us/reader033/viewer/2022051405/58a0522c1a28abdb378b96d4/html5/thumbnails/41.jpg)
Flow Runtimes
18
![Page 42: ASIC Synthesis and Backend](https://reader033.vdocuments.us/reader033/viewer/2022051405/58a0522c1a28abdb378b96d4/html5/thumbnails/42.jpg)
Flow Reports
19
![Page 43: ASIC Synthesis and Backend](https://reader033.vdocuments.us/reader033/viewer/2022051405/58a0522c1a28abdb378b96d4/html5/thumbnails/43.jpg)
Flow Outputs
20
![Page 44: ASIC Synthesis and Backend](https://reader033.vdocuments.us/reader033/viewer/2022051405/58a0522c1a28abdb378b96d4/html5/thumbnails/44.jpg)
Flow Outputs
20
![Page 45: ASIC Synthesis and Backend](https://reader033.vdocuments.us/reader033/viewer/2022051405/58a0522c1a28abdb378b96d4/html5/thumbnails/45.jpg)
Flow Outputs
20
![Page 46: ASIC Synthesis and Backend](https://reader033.vdocuments.us/reader033/viewer/2022051405/58a0522c1a28abdb378b96d4/html5/thumbnails/46.jpg)
Flow Outputs
20
![Page 47: ASIC Synthesis and Backend](https://reader033.vdocuments.us/reader033/viewer/2022051405/58a0522c1a28abdb378b96d4/html5/thumbnails/47.jpg)
Flow Outputs
21
![Page 48: ASIC Synthesis and Backend](https://reader033.vdocuments.us/reader033/viewer/2022051405/58a0522c1a28abdb378b96d4/html5/thumbnails/48.jpg)
Flow Outputs
21
![Page 49: ASIC Synthesis and Backend](https://reader033.vdocuments.us/reader033/viewer/2022051405/58a0522c1a28abdb378b96d4/html5/thumbnails/49.jpg)
Flow Outputs
21
![Page 50: ASIC Synthesis and Backend](https://reader033.vdocuments.us/reader033/viewer/2022051405/58a0522c1a28abdb378b96d4/html5/thumbnails/50.jpg)
Flow Outputs
21
![Page 51: ASIC Synthesis and Backend](https://reader033.vdocuments.us/reader033/viewer/2022051405/58a0522c1a28abdb378b96d4/html5/thumbnails/51.jpg)
Flow Outputs
21
![Page 52: ASIC Synthesis and Backend](https://reader033.vdocuments.us/reader033/viewer/2022051405/58a0522c1a28abdb378b96d4/html5/thumbnails/52.jpg)
Flow Outputs
21
![Page 53: ASIC Synthesis and Backend](https://reader033.vdocuments.us/reader033/viewer/2022051405/58a0522c1a28abdb378b96d4/html5/thumbnails/53.jpg)
Flow Outputs
21
![Page 54: ASIC Synthesis and Backend](https://reader033.vdocuments.us/reader033/viewer/2022051405/58a0522c1a28abdb378b96d4/html5/thumbnails/54.jpg)
Flow Outputs
21
![Page 55: ASIC Synthesis and Backend](https://reader033.vdocuments.us/reader033/viewer/2022051405/58a0522c1a28abdb378b96d4/html5/thumbnails/55.jpg)
Opening the Design
22
![Page 56: ASIC Synthesis and Backend](https://reader033.vdocuments.us/reader033/viewer/2022051405/58a0522c1a28abdb378b96d4/html5/thumbnails/56.jpg)
Opening the Design
22
![Page 57: ASIC Synthesis and Backend](https://reader033.vdocuments.us/reader033/viewer/2022051405/58a0522c1a28abdb378b96d4/html5/thumbnails/57.jpg)
Opening the Design
22
![Page 58: ASIC Synthesis and Backend](https://reader033.vdocuments.us/reader033/viewer/2022051405/58a0522c1a28abdb378b96d4/html5/thumbnails/58.jpg)
Opening the Design
22
![Page 59: ASIC Synthesis and Backend](https://reader033.vdocuments.us/reader033/viewer/2022051405/58a0522c1a28abdb378b96d4/html5/thumbnails/59.jpg)
Opening the Design
23
![Page 60: ASIC Synthesis and Backend](https://reader033.vdocuments.us/reader033/viewer/2022051405/58a0522c1a28abdb378b96d4/html5/thumbnails/60.jpg)
Opening the Design
24
![Page 61: ASIC Synthesis and Backend](https://reader033.vdocuments.us/reader033/viewer/2022051405/58a0522c1a28abdb378b96d4/html5/thumbnails/61.jpg)
Opening the Design
25
![Page 62: ASIC Synthesis and Backend](https://reader033.vdocuments.us/reader033/viewer/2022051405/58a0522c1a28abdb378b96d4/html5/thumbnails/62.jpg)
Opening the Design
26
![Page 63: ASIC Synthesis and Backend](https://reader033.vdocuments.us/reader033/viewer/2022051405/58a0522c1a28abdb378b96d4/html5/thumbnails/63.jpg)
Opening the Design
26
![Page 64: ASIC Synthesis and Backend](https://reader033.vdocuments.us/reader033/viewer/2022051405/58a0522c1a28abdb378b96d4/html5/thumbnails/64.jpg)
Opening the Design
27