-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathsky130.yml
103 lines (87 loc) · 3.32 KB
/
sky130.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
# Technology Setup
# Technology used is Sky130
vlsi.core.technology: hammer.technology.sky130
technology.sky130:
sky130A: "/home/ff/eecs151/fa24/pdk/sky130A"
sram22_sky130_macros: "/home/ff/eecs151/fa24/sky130_srams/sram22_sky130_macros"
sky130_cds: "/home/ff/eecs151/fa24/pdk/sky130_release_0.0.4"
sky130_scl: "/home/ff/eecs151/fa24/pdk/sky130_scl_9T_0.0.5"
stdcell_library: "sky130_scl"
# for sky130_scl
technology.core.stackup: "sky130_scl"
# technology.core.stackup: "sky130_fd_sc_hd"
vlsi.technology.placement_site: "CoreSite"
vlsi.technology.routing_layers: [2, 5]
vlsi.core.max_threads: 4
# General Hammer Inputs
vlsi.inputs.supplies.VDD: "1.8 V"
# Hammer will auto-generate a CPF for simple power designs; see hammer/src/hammer-vlsi/defaults.yml for more info
vlsi.inputs.power_spec_mode: "auto"
vlsi.inputs.power_spec_type: "cpf"
vlsi.inputs.supplies.power: [
{name: "VDD", voltage: "1.8" , pins: ["vcc", "vdd", "VDD"]}
]
vlsi.inputs.supplies.ground: [
{name: "VSS", pins: ["vss", "VSS"]}
]
# Specify the setup and hold corners for Sky130
vlsi.inputs.mmmc_corners: [
{name: "ss_100C_1v60", type: "setup", voltage: "1.60 V", temp: "100 C"},
{name: "ff_n40C_1v95", type: "hold", voltage: "1.95 V", temp: "-40 C"}
]
# SRAM Compiler compiler options
vlsi.core.sram_generator_tool: "hammer.technology.sky130.sram_compiler"
# Specify this since we are not using macrocompiler
vlsi.inputs.sram_parameters: "/home/ff/eecs151/fa24/hammer/hammer/technology/sky130/sram-cache.json"
vlsi.inputs.sram_parameters_meta: ["transclude", "json2list"]
# Tool options. Replace with your tool plugin of choice.
# Genus options
vlsi.core.synthesis_tool: "hammer.synthesis.genus"
synthesis.genus.version: "221"
synthesis.genus.genus_bin: "/share/instsww/cadence/DDI221/GENUS221/bin/genus"
# Innovus options
vlsi.core.par_tool: "hammer.par.innovus"
par.innovus.version: "221"
par.innovus.innovus_bin: "/share/instsww/cadence/DDI221/INNOVUS221/bin/innovus"
par.innovus.design_flow_effort: "standard"
par.inputs.gds_merge: true
# Calibre options
vlsi.core.drc_tool: "hammer.drc.calibre"
vlsi.core.lvs_tool: "hammer.lvs.calibre"
drc.calibre.calibre_drc_bin: "/share/instsww/mgc/CALIBRE/bin/calibre"
drc.calibre.calibredrv_bin: "/share/instsww/mgc/CALIBRE/bin/calibredrv"
drc.calibre.MGC_HOME: "/shared/instsww/mgc"
lvs.calibre.calibre_lvs_bin: "/share/instsww/mgc/CALIBRE/bin/calibre"
lvs.calibre.calibredrv_bin: "/share/instsww/mgc/CALIBRE/bin/calibredrv"
lvs.calibre.v2lvs_bin: "/share/instsww/mgc/CALIBRE/bin/v2lvs"
lvs.calibre.MGC_HOME: "/shared/instsww/mgc"
# VCS options
vlsi.core.sim_tool: "hammer.sim.vcs"
sim.vcs.version: "P-2019.06"
# Voltus options
vlsi.core.power_tool: "hammer.power.voltus"
power.voltus.version: "221"
power.voltus.voltus_bin: "/share/instsww/cadence/SSV221/bin/voltus"
# Generate Make include to aid in flow
vlsi.core.build_system: make
# Power Straps
par.power_straps_mode: generate
par.generate_power_straps_method: by_tracks
par.blockage_spacing: 2.0
par.blockage_spacing_top_layer: met3
par.generate_power_straps_options:
by_tracks:
strap_layers:
- met2
- met3
- met4
- met5
blockage_spacing_met2: 4.0
track_width: 6
track_width_met5: 2
track_spacing: 1
track_start: 10
track_start_met5: 1
power_utilization: 0.2
power_utilization_met2: 0.05
power_utilization_met5: 0.5