Skip to content

Commit fa7b392

Browse files
committed
Update asap7 to rev 28
Include SLVT Drop 4x Based on work by joennlae Signed-off-by: Matt Liberty <[email protected]>
1 parent 96da59e commit fa7b392

File tree

138 files changed

+17110
-10957731
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

138 files changed

+17110
-10957731
lines changed

flow/platforms/asap7/config.mk

Lines changed: 119 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -5,37 +5,37 @@ export PROCESS = 7
55

66
#Library Setup variable
77
export TECH_LEF = $(PLATFORM_DIR)/lef/asap7_tech_1x_201209.lef
8-
export SC_LEF = $(PLATFORM_DIR)/lef/asap7sc7p5t_27_R_1x_201211.lef
8+
export SC_LEF = $(PLATFORM_DIR)/lef/asap7sc7p5t_28_R_1x_220121a.lef
99

10-
export GDS_FILES = $(PLATFORM_DIR)/gds/asap7sc7p5t_27_R_1x_201211.gds \
10+
export GDS_FILES = $(PLATFORM_DIR)/gds/asap7sc7p5t_28_R_220121a.gds \
1111
$(ADDITIONAL_GDS)
1212

13-
export BC_LIB_FILES = $(PLATFORM_DIR)/lib/asap7sc7p5t_AO_RVT_FF_nldm_201020.lib \
14-
$(PLATFORM_DIR)/lib/asap7sc7p5t_INVBUF_RVT_FF_nldm_201020.lib \
15-
$(PLATFORM_DIR)/lib/asap7sc7p5t_OA_RVT_FF_nldm_201020.lib \
16-
$(PLATFORM_DIR)/lib/asap7sc7p5t_SIMPLE_RVT_FF_nldm_201020.lib \
17-
$(PLATFORM_DIR)/lib/asap7sc7p5t_SEQ_RVT_FF_nldm_201020.lib \
13+
export BC_LIB_FILES = $(PLATFORM_DIR)/lib/asap7sc7p5t_AO_RVT_FF_nldm_211120.lib.gz \
14+
$(PLATFORM_DIR)/lib/asap7sc7p5t_INVBUF_RVT_FF_nldm_220122.lib.gz \
15+
$(PLATFORM_DIR)/lib/asap7sc7p5t_OA_RVT_FF_nldm_211120.lib.gz \
16+
$(PLATFORM_DIR)/lib/asap7sc7p5t_SIMPLE_RVT_FF_nldm_211120.lib.gz \
17+
$(PLATFORM_DIR)/lib/asap7sc7p5t_SEQ_RVT_FF_nldm_220123.lib \
1818
$(ADDITIONAL_LIBS)
1919

20-
export BC_DFF_LIB_FILE = $(PLATFORM_DIR)/lib/asap7sc7p5t_SEQ_RVT_FF_nldm_201020.lib
20+
export BC_DFF_LIB_FILE = $(PLATFORM_DIR)/lib/asap7sc7p5t_SEQ_RVT_FF_nldm_220123.lib
2121

22-
export WC_LIB_FILES = $(PLATFORM_DIR)/lib/asap7sc7p5t_AO_RVT_SS_nldm_201020.lib \
23-
$(PLATFORM_DIR)/lib/asap7sc7p5t_INVBUF_RVT_SS_nldm_201020.lib \
24-
$(PLATFORM_DIR)/lib/asap7sc7p5t_OA_RVT_SS_nldm_201020.lib \
25-
$(PLATFORM_DIR)/lib/asap7sc7p5t_SEQ_RVT_SS_nldm_201020.lib \
26-
$(PLATFORM_DIR)/lib/asap7sc7p5t_SIMPLE_RVT_SS_nldm_201020.lib \
22+
export WC_LIB_FILES = $(PLATFORM_DIR)/lib/asap7sc7p5t_AO_RVT_SS_nldm_211120.lib.gz \
23+
$(PLATFORM_DIR)/lib/asap7sc7p5t_INVBUF_RVT_SS_nldm_220122.lib.gz \
24+
$(PLATFORM_DIR)/lib/asap7sc7p5t_OA_RVT_SS_nldm_211120.lib.gz \
25+
$(PLATFORM_DIR)/lib/asap7sc7p5t_SEQ_RVT_SS_nldm_220123.lib \
26+
$(PLATFORM_DIR)/lib/asap7sc7p5t_SIMPLE_RVT_SS_nldm_211120.lib.gz \
2727
$(ADDITIONAL_LIBS)
2828

29-
export WC_DFF_LIB_FILE = $(PLATFORM_DIR)/lib/asap7sc7p5t_SEQ_RVT_SS_nldm_201020.lib
29+
export WC_DFF_LIB_FILE = $(PLATFORM_DIR)/lib/asap7sc7p5t_SEQ_RVT_SS_nldm_220123.lib
3030

31-
export TC_LIB_FILES = $(PLATFORM_DIR)/lib/asap7sc7p5t_AO_RVT_TT_nldm_201020.lib \
32-
$(PLATFORM_DIR)/lib/asap7sc7p5t_INVBUF_RVT_TT_nldm_201020.lib \
33-
$(PLATFORM_DIR)/lib/asap7sc7p5t_OA_RVT_TT_nldm_201020.lib \
34-
$(PLATFORM_DIR)/lib/asap7sc7p5t_SEQ_RVT_TT_nldm_201020.lib \
35-
$(PLATFORM_DIR)/lib/asap7sc7p5t_SIMPLE_RVT_TT_nldm_201020.lib \
31+
export TC_LIB_FILES = $(PLATFORM_DIR)/lib/asap7sc7p5t_AO_RVT_TT_nldm_211120.lib.gz \
32+
$(PLATFORM_DIR)/lib/asap7sc7p5t_INVBUF_RVT_TT_nldm_220122.lib.gz \
33+
$(PLATFORM_DIR)/lib/asap7sc7p5t_OA_RVT_TT_nldm_211120.lib.gz \
34+
$(PLATFORM_DIR)/lib/asap7sc7p5t_SEQ_RVT_TT_nldm_220123.lib \
35+
$(PLATFORM_DIR)/lib/asap7sc7p5t_SIMPLE_RVT_TT_nldm_211120.lib.gz \
3636
$(ADDITIONAL_LIBS)
3737

38-
export TC_DFF_LIB_FILE = $(PLATFORM_DIR)/lib/asap7sc7p5t_SEQ_RVT_TT_nldm_201020.lib
38+
export TC_DFF_LIB_FILE = $(PLATFORM_DIR)/lib/asap7sc7p5t_SEQ_RVT_TT_nldm_220123.lib
3939

4040
export BC_TEMPERATURE = 25C
4141
export TC_TEMPERATURE = 0C
@@ -49,14 +49,12 @@ export WC_VOLTAGE = 0.63
4949
# Specify at least one filler cell if none
5050
export DONT_USE_CELLS = *x1p*_ASAP7* *xp*_ASAP7*
5151
export DONT_USE_CELLS += SDF* ICG* DFFH*
52+
#export DONT_USE_CELLS += SDF* DFFH*
5253

5354
# Yosys mapping files
54-
# Blackbox - list all standard cells and cells yosys should treat as blackboxes
55-
export BLACKBOX_V_FILE = $(PLATFORM_DIR)/yoSys/asap7sc7p5t.blackbox.v
56-
export LATCH_MAP_FILE = $(PLATFORM_DIR)/yoSys/cells_latch.v
57-
export CLKGATE_MAP_FILE = $(PLATFORM_DIR)/yoSys/cells_clkgate.v
58-
export ADDER_MAP_FILE ?= $(PLATFORM_DIR)/yoSys/cells_adders.v
59-
export BLACKBOX_MAP_TCL = $(PLATFORM_DIR)/yoSys/blackbox_map.tcl
55+
export LATCH_MAP_FILE = $(PLATFORM_DIR)/yoSys/cells_latch_R.v
56+
export CLKGATE_MAP_FILE = $(PLATFORM_DIR)/yoSys/cells_clkgate_R.v
57+
export ADDER_MAP_FILE ?= $(PLATFORM_DIR)/yoSys/cells_adders_R.v
6058

6159
# Set yosys-abc clock period to first "clk_period" value or "-period" value found in sdc file
6260
export ABC_CLOCK_PERIOD_IN_PS ?= $(shell sed -nr "s/^set\s+clk_period\s+(\S+).*|.*-period\s+(\S+).*/\1\2/p" $(SDC_FILE) | head -1 | awk '{print $$1}')
@@ -101,16 +99,18 @@ export TAPCELL_TCL = $(PLATFORM_DIR)/openRoad/tapcell.tcl
10199
# TritonCTS options
102100
export CTS_BUF_CELL ?= BUFx4_ASAP7_75t_R
103101

104-
export CTS_BUF_DISTANCE = 60
102+
export CTS_BUF_DISTANCE ?= 60
105103

106104
# Fill cells used in fill cell insertion
107105
export FILL_CELLS = "FILLERxp5_ASAP7_75t_R"
108106

107+
export TAP_CELL_NAME = TAPCELL_ASAP7_75t_R
109108

110109
export SET_RC_TCL = $(PLATFORM_DIR)/setRC.tcl
111110

112111
# Route options
113112
export MIN_ROUTING_LAYER = M2
113+
#export MIN_CLOCK_ROUTING_LAYER = M4
114114
export MAX_ROUTING_LAYER = M7
115115

116116
# KLayout technology file
@@ -120,40 +120,107 @@ export KLAYOUT_TECH_FILE = $(PLATFORM_DIR)/KLayout/asap7.lyt
120120
export RCX_RULES = $(PLATFORM_DIR)/rcx_patterns.rules
121121

122122
# XS - defining function for selecting different timing library set
123-
# XS - defining function for 4x sizing
124-
ifdef ($(ASAP7_USE4X))
125-
export 4X = 1
126-
export TECH_LEF = $(PLATFORM_DIR)/lef/asap7_tech_4x_201209.lef
127-
export SC_LEF = $(PLATFORM_DIR)/lef/asap7sc7p5t_27_R_4x_201211.lef
128-
export GDS_FILES = $(PLATFORM_DIR)/gds/asap7sc7p5t_27_R_4x_201211.gds
129-
endif
130123

131124
# XS - defining function for using LVT
132-
ifdef ($(ASAP7_USELVT))
125+
ifeq ($(ASAP7_USELVT), 1)
133126
export TIEHI_CELL_AND_PORT = TIEHIx1_ASAP7_75t_L H
134127
export TIELO_CELL_AND_PORT = TIELOx1_ASAP7_75t_L L
135128

136129
export MIN_BUF_CELL_AND_PORTS = BUFx2_ASAP7_75t_L A Y
137130

138131
export HOLD_BUF_CELL = BUFx2_ASAP7_75t_L
139132

140-
export BC_LIB_FILES = $(PLATFORM_DIR)/lib/asap7sc7p5t_AO_LVT_FF_nldm_201020.lib \
141-
$(PLATFORM_DIR)/lib/asap7sc7p5t_INVBUF_LVT_FF_nldm_201020.lib \
142-
$(PLATFORM_DIR)/lib/asap7sc7p5t_OA_LVT_FF_nldm_201020.lib \
143-
$(PLATFORM_DIR)/lib/asap7sc7p5t_SIMPLE_LVT_FF_nldm_201020.lib \
144-
$(PLATFORM_DIR)/lib/asap7sc7p5t_SEQ_LVT_FF_nldm_201020.lib
145-
146-
export WC_LIB_FILES = $(PLATFORM_DIR)/lib/asap7sc7p5t_AO_LVT_SS_nldm_201020.lib \
147-
$(PLATFORM_DIR)/lib/asap7sc7p5t_INVBUF_LVT_SS_nldm_201020.lib \
148-
$(PLATFORM_DIR)/lib/asap7sc7p5t_OA_LVT_SS_nldm_201020.lib \
149-
$(PLATFORM_DIR)/lib/asap7sc7p5t_SEQ_LVT_SS_nldm_201020.lib \
150-
$(PLATFORM_DIR)/lib/asap7sc7p5t_SIMPLE_LVT_SS_nldm_201020.lib
151-
152-
export TC_LIB_FILES = $(PLATFORM_DIR)/lib/asap7sc7p5t_AO_LVT_TT_nldm_201020.lib \
153-
$(PLATFORM_DIR)/lib/asap7sc7p5t_INVBUF_LVT_TT_nldm_201020.lib \
154-
$(PLATFORM_DIR)/lib/asap7sc7p5t_OA_LVT_TT_nldm_201020.lib \
155-
$(PLATFORM_DIR)/lib/asap7sc7p5t_SEQ_LVT_TT_nldm_201020.lib \
156-
$(PLATFORM_DIR)/lib/asap7sc7p5t_SIMPLE_LVT_TT_nldm_201020.lib
133+
export ABC_DRIVER_CELL = BUFx2_ASAP7_75t_L
134+
135+
export CTS_BUF_CELL = BUFx4_ASAP7_75t_L
136+
137+
export FILL_CELLS = "FILLERxp5_ASAP7_75t_L"
138+
139+
export TAP_CELL_NAME = TAPCELL_ASAP7_75t_L
140+
141+
export GDS_FILES = $(PLATFORM_DIR)/gds/asap7sc7p5t_28_L_220121a.gds \
142+
$(ADDITIONAL_GDS)
143+
144+
export SC_LEF = $(PLATFORM_DIR)/lef/asap7sc7p5t_28_L_1x_220121a.lef
145+
146+
export LATCH_MAP_FILE = $(PLATFORM_DIR)/yoSys/cells_latch_L.v
147+
export CLKGATE_MAP_FILE = $(PLATFORM_DIR)/yoSys/cells_clkgate_L.v
148+
export ADDER_MAP_FILE ?= $(PLATFORM_DIR)/yoSys/cells_adders_L.v
149+
150+
export BC_DFF_LIB_FILE = $(PLATFORM_DIR)/lib/asap7sc7p5t_SEQ_LVT_FF_nldm_220123.lib
151+
152+
export BC_LIB_FILES = $(PLATFORM_DIR)/lib/asap7sc7p5t_AO_LVT_FF_nldm_211120.lib.gz \
153+
$(PLATFORM_DIR)/lib/asap7sc7p5t_INVBUF_LVT_FF_nldm_220122.lib.gz \
154+
$(PLATFORM_DIR)/lib/asap7sc7p5t_OA_LVT_FF_nldm_211120.lib.gz \
155+
$(PLATFORM_DIR)/lib/asap7sc7p5t_SIMPLE_LVT_FF_nldm_211120.lib.gz \
156+
$(PLATFORM_DIR)/lib/asap7sc7p5t_SEQ_LVT_FF_nldm_220123.lib
157+
158+
export WC_DFF_LIB_FILE = $(PLATFORM_DIR)/lib/asap7sc7p5t_SEQ_LVT_SS_nldm_220123.lib
159+
160+
export WC_LIB_FILES = $(PLATFORM_DIR)/lib/asap7sc7p5t_AO_LVT_SS_nldm_211120.lib.gz \
161+
$(PLATFORM_DIR)/lib/asap7sc7p5t_INVBUF_LVT_SS_nldm_220122.lib.gz \
162+
$(PLATFORM_DIR)/lib/asap7sc7p5t_OA_LVT_SS_nldm_211120.lib.gz \
163+
$(PLATFORM_DIR)/lib/asap7sc7p5t_SEQ_LVT_SS_nldm_220123.lib \
164+
$(PLATFORM_DIR)/lib/asap7sc7p5t_SIMPLE_LVT_SS_nldm_211120.lib.gz
165+
166+
export TC_DFF_LIB_FILE = $(PLATFORM_DIR)/lib/asap7sc7p5t_SEQ_LVT_TT_nldm_220123.lib
167+
168+
export TC_LIB_FILES = $(PLATFORM_DIR)/lib/asap7sc7p5t_AO_LVT_TT_nldm_211120.lib.gz \
169+
$(PLATFORM_DIR)/lib/asap7sc7p5t_INVBUF_LVT_TT_nldm_220122.lib.gz \
170+
$(PLATFORM_DIR)/lib/asap7sc7p5t_OA_LVT_TT_nldm_211120.lib.gz \
171+
$(PLATFORM_DIR)/lib/asap7sc7p5t_SEQ_LVT_TT_nldm_220123.lib \
172+
$(PLATFORM_DIR)/lib/asap7sc7p5t_SIMPLE_LVT_TT_nldm_211120.lib.gz
173+
174+
endif
175+
176+
ifeq ($(ASAP7_USESLVT), 1)
177+
export TIEHI_CELL_AND_PORT = TIEHIx1_ASAP7_75t_SL H
178+
export TIELO_CELL_AND_PORT = TIELOx1_ASAP7_75t_SL L
179+
180+
export MIN_BUF_CELL_AND_PORTS = BUFx2_ASAP7_75t_SL A Y
181+
182+
export HOLD_BUF_CELL = BUFx2_ASAP7_75t_SL
183+
184+
export ABC_DRIVER_CELL = BUFx2_ASAP7_75t_SL
185+
186+
export CTS_BUF_CELL = BUFx4_ASAP7_75t_SL
187+
188+
export FILL_CELLS = "FILLERxp5_ASAP7_75t_SL"
189+
190+
export TAP_CELL_NAME = TAPCELL_ASAP7_75t_SL
191+
192+
export GDS_FILES = $(PLATFORM_DIR)/gds/asap7sc7p5t_28_SL_220121a.gds \
193+
$(ADDITIONAL_GDS)
194+
195+
export SC_LEF = $(PLATFORM_DIR)/lef/asap7sc7p5t_28_SL_1x_220121a.lef
196+
197+
export LATCH_MAP_FILE = $(PLATFORM_DIR)/yoSys/cells_latch_SL.v
198+
export CLKGATE_MAP_FILE = $(PLATFORM_DIR)/yoSys/cells_clkgate_SL.v
199+
export ADDER_MAP_FILE ?= $(PLATFORM_DIR)/yoSys/cells_adders_SL.v
200+
201+
export BC_DFF_LIB_FILE = $(PLATFORM_DIR)/lib/asap7sc7p5t_SEQ_SLVT_FF_nldm_220123.lib
202+
203+
export BC_LIB_FILES = $(PLATFORM_DIR)/lib/asap7sc7p5t_AO_SLVT_FF_nldm_211120.lib.gz \
204+
$(PLATFORM_DIR)/lib/asap7sc7p5t_INVBUF_SLVT_FF_nldm_220122.lib.gz \
205+
$(PLATFORM_DIR)/lib/asap7sc7p5t_OA_SLVT_FF_nldm_211120.lib.gz \
206+
$(PLATFORM_DIR)/lib/asap7sc7p5t_SIMPLE_SLVT_FF_nldm_211120.lib.gz \
207+
$(PLATFORM_DIR)/lib/asap7sc7p5t_SEQ_SLVT_FF_nldm_220123.lib
208+
209+
export WC_DFF_LIB_FILE = $(PLATFORM_DIR)/lib/asap7sc7p5t_SEQ_SLVT_SS_nldm_220123.lib
210+
211+
export WC_LIB_FILES = $(PLATFORM_DIR)/lib/asap7sc7p5t_AO_SLVT_SS_nldm_211120.lib.gz \
212+
$(PLATFORM_DIR)/lib/asap7sc7p5t_INVBUF_SLVT_SS_nldm_220122.lib.gz \
213+
$(PLATFORM_DIR)/lib/asap7sc7p5t_OA_SLVT_SS_nldm_211120.lib.gz \
214+
$(PLATFORM_DIR)/lib/asap7sc7p5t_SEQ_SLVT_SS_nldm_220123.lib \
215+
$(PLATFORM_DIR)/lib/asap7sc7p5t_SIMPLE_SLVT_SS_nldm_211120.lib.gz
216+
217+
export TC_DFF_LIB_FILE = $(PLATFORM_DIR)/lib/asap7sc7p5t_SEQ_SLVT_TT_nldm_220123.lib
218+
219+
export TC_LIB_FILES = $(PLATFORM_DIR)/lib/asap7sc7p5t_AO_SLVT_TT_nldm_211120.lib.gz \
220+
$(PLATFORM_DIR)/lib/asap7sc7p5t_INVBUF_SLVT_TT_nldm_220122.lib.gz \
221+
$(PLATFORM_DIR)/lib/asap7sc7p5t_OA_SLVT_TT_nldm_211120.lib.gz \
222+
$(PLATFORM_DIR)/lib/asap7sc7p5t_SEQ_SLVT_TT_nldm_220123.lib \
223+
$(PLATFORM_DIR)/lib/asap7sc7p5t_SIMPLE_SLVT_TT_nldm_211120.lib.gz
157224

158225
endif
159226

-1.94 MB
Binary file not shown.
-1.94 MB
Binary file not shown.
1.96 MB
Binary file not shown.
1.95 MB
Binary file not shown.
1.96 MB
Binary file not shown.
1.96 MB
Binary file not shown.

0 commit comments

Comments
 (0)