-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathconfig.yaml
More file actions
145 lines (145 loc) · 3.86 KB
/
config.yaml
File metadata and controls
145 lines (145 loc) · 3.86 KB
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
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
# This can be set to a floating-point number for repeatable results, or "random"
# for a new randomized run. I could have different random configuration for the different random
# functions, but it's good enough to just have a global setting.
random_seed_value: 0.0
itf:
file: freepdk3_rctyp.itf
units: um
units:
distance: um
capacitance: ff
resistance: ohms
time: ps
# This is the distance from the bottom of the lowest layer of metal to the bulk silicon and nwells.
feol_thickness: 0.200
standard_cells:
- name: BUFX12
# 7 track
height: 0.315
# 15*CPPs
width: 0.675
pins:
- name: A
type: signal
direction: input
location: left
- name: Y
type: signal
direction: output
location: right
- name: VDD
type: power
location: top
- name: VSS
type: ground
location: bottom
spice_netlist_file: BUFX12.spi
unateness: positive
- name: DCAPX32
height: 0.315
width: 1.755
pins:
- name: VDD
type: power
location: top
- name: VSS
type: ground
location: bottom
spice_netlist_file: DCAPX32.spi
# Pad location points
ploc:
pitch: 10
staggered: true
offset_from_origin:
x: 5
y: 5
visualizer_render_diameter: 1
visualizer:
initial_visible_objects: ["Dcap Cells", Cells, M0, V0, M1]
spice_netlist:
scaling:
resistance: 1.0
capacitance: 1.0
cell_chains:
cell: BUFX12
interconnect:
resistance: 200
capacitance: 100
number_pi_segments: 2
end_of_chain_load:
resistance: 200
capacitance: 500
chain_input_stimulus:
period: 500
# From 0% to 100%
transition_time:
nominal: 100
sigma: 5
floor: 20
ceiling: 200
initial_delay:
nominal: 100
sigma: 10
floor: 0
ceiling: 1000
max_instance_count_per_chain: 5
ir_drop_measurement:
averaging_window:
# % of input transition
start: 10
# % of output transition
end: 75
user_defined_lines:
- ".include \"spice_models.sp\""
- ".tran 5p 2000p"
standard_cell_placement:
# 7 tracks
row_height: 0.315
# 1 CPP
site_width: 0.045
min_space:
x: 4.0
y: 0.0
# Set the range to 0.0 to disable staggered start points
# If random=false, then alternate between 0.0 offset and the value of range offset
stagger_row_start:
range: 5.0
random: true
dcap_cells:
enabled: true
cell: DCAPX32
max_density_pct: 50
pg_nets:
power:
name: "VDD"
voltage: 0.825
ground:
name: "VSS"
grid:
# If the ITF file does not specify min spacing for VIAs. Set the min-space to
# be the length of a via edge * via_min_space_factor
via_min_space_factor: 1.5
size:
rows: 50
sites: 500
# The width and pitch are in terms of WMIN, and SMIN.
# For example, if width=1.0, then the actual width in distance units is 1.0 * WMIN.
# For example, if pitch=1.0, then the actual pitch in distance units is 1.0 * WMIN+SMIN.
# The lowest layer in the ITF file is implicitly:
# horizontal, type=grid, width=2.0, pitch=standard_cells.height
# Layers alternate between horizontal and vertical moving up from the lowest layer.
layer_usage:
RDL: {type: grid, width: 1.0, pitch: 1.0}
M13: {type: grid, width: 1.0, pitch: 1.0}
M12: {type: staple, width: 1.0, pitch: 1.0}
M11: {type: staple, width: 1.0, pitch: 1.0}
M10: {type: staple, width: 1.0, pitch: 1.0}
M9: {type: staple, width: 1.0, pitch: 1.0}
M8: {type: grid, width: 1.0, pitch: 5.0}
M7: {type: grid, width: 1.0, pitch: 5.0}
M6: {type: staple, width: 1.0, pitch: 1.0}
M5: {type: staple, width: 1.0, pitch: 1.0}
M4: {type: staple, width: 1.0, pitch: 1.0}
M3: {type: staple, width: 1.0, pitch: 1.0}
M2: {type: grid, width: 1.0, pitch: 5.0}
M1: {type: grid, width: 1.0, pitch: 5.0}