blob: 1498604de8056048361163555784f836b208dd03 [file] [log] [blame]
Ahmed Ghazyd4ec2f02021-04-05 18:32:10 +02001# SPDX-FileCopyrightText: 2020 Efabless Corporation
2#
3# Licensed under the Apache License, Version 2.0 (the "License");
4# you may not use this file except in compliance with the License.
5# You may obtain a copy of the License at
6#
7# http://www.apache.org/licenses/LICENSE-2.0
8#
9# Unless required by applicable law or agreed to in writing, software
10# distributed under the License is distributed on an "AS IS" BASIS,
11# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12# See the License for the specific language governing permissions and
13# limitations under the License.
14# SPDX-License-Identifier: Apache-2.0
15
16# Base Configurations. Don't Touch
17# section begin
18set script_dir [file dirname [file normalize [info script]]]
19
20source $script_dir/../../caravel/openlane/user_project_wrapper_empty/fixed_wrapper_cfgs.tcl
21
22set ::env(DESIGN_NAME) user_project_wrapper
23#section end
24
25# User Configurations
26
27## Source Verilog Files
28set ::env(VERILOG_FILES) "\
manarabdelatye542bdf2021-04-20 11:15:40 +020029 $script_dir/../../caravel/verilog/rtl/defines.v \
mrg0d14b0b2021-06-17 11:22:43 -070030 $script_dir/../../verilog/rtl/openram_testchip.v \
AmoghLonkarcf608e22021-06-07 15:31:05 -070031 $script_dir/../../verilog/rtl/user_project_wrapper.v "
Ahmed Ghazyd4ec2f02021-04-05 18:32:10 +020032
33## Clock configurations
mrg0d14b0b2021-06-17 11:22:43 -070034set ::env(CLOCK_PORT) {io_in\[17\]}
35set ::env(CLOCK_NET) "CONTROL_LOGIC.clk"
36set ::env(RESET_PORT) {io_in\[15\] wb_rst_i}
Ahmed Ghazyd4ec2f02021-04-05 18:32:10 +020037
mrg0d14b0b2021-06-17 11:22:43 -070038set ::env(CLOCK_PERIOD) "30"
mrg81880702021-06-16 20:34:50 -070039set ::env(BASE_SDC_FILE) "$script_dir/user_project_wrapper.sdc"
Ahmed Ghazyd4ec2f02021-04-05 18:32:10 +020040
41## Internal Macros
42### Macro Placement
43set ::env(MACRO_PLACEMENT_CFG) $script_dir/macro.cfg
44
45### Black-box verilog and views
46set ::env(VERILOG_FILES_BLACKBOX) "\
47 $script_dir/../../caravel/verilog/rtl/defines.v \
AmoghLonkard7ce9532021-05-31 09:29:20 -070048 $script_dir/../../verilog/rtl/sky130_sram_1kbyte_1rw1r_32x256_8.v \
mrg2f1a8ef2021-06-14 13:26:17 -070049 $script_dir/../../verilog/rtl/sky130_sram_1kbyte_1rw1r_8x1024_8.v \
50 $script_dir/../../verilog/rtl/sky130_sram_2kbyte_1rw1r_32x512_8.v \
51 $script_dir/../../verilog/rtl/sky130_sram_4kbyte_1rw1r_32x1024_8.v \
52 $script_dir/../../verilog/rtl/sky130_sram_8kbyte_1rw1r_32x2048_8.v \
AmoghLonkard7ce9532021-05-31 09:29:20 -070053 $script_dir/../../verilog/rtl/sram_1rw0r0w_32_1024_sky130.v \
54 $script_dir/../../verilog/rtl/sram_1rw0r0w_32_256_sky130.v \
55 $script_dir/../../verilog/rtl/sram_1rw0r0w_32_512_sky130.v \
mrge9888562021-06-18 08:01:45 -070056 $script_dir/../../verilog/rtl/sram_1rw0r0w_32_512_sky130.v \
mrg0d14b0b2021-06-17 11:22:43 -070057 $script_dir/../../verilog/rtl/sram_1rw0r0w_64_512_sky130.v"
58#$script_dir/../../verilog/rtl/openram_testchip.v
Ahmed Ghazyd4ec2f02021-04-05 18:32:10 +020059
60set ::env(EXTRA_LEFS) "\
AmoghLonkard7ce9532021-05-31 09:29:20 -070061 $script_dir/../../lef/sky130_sram_1kbyte_1rw1r_32x256_8.lef \
mrg2f1a8ef2021-06-14 13:26:17 -070062 $script_dir/../../lef/sky130_sram_1kbyte_1rw1r_8x1024_8.lef \
63 $script_dir/../../lef/sky130_sram_2kbyte_1rw1r_32x512_8.lef \
64 $script_dir/../../lef/sky130_sram_4kbyte_1rw1r_32x1024_8.lef \
65 $script_dir/../../lef/sky130_sram_8kbyte_1rw1r_32x2048_8.lef \
AmoghLonkard7ce9532021-05-31 09:29:20 -070066 $script_dir/../../lef/sram_1rw0r0w_32_1024_sky130.lef \
67 $script_dir/../../lef/sram_1rw0r0w_32_256_sky130.lef \
68 $script_dir/../../lef/sram_1rw0r0w_32_512_sky130.lef \
mrg0d14b0b2021-06-17 11:22:43 -070069 $script_dir/../../lef/sram_1rw0r0w_64_512_sky130.lef"
70# $script_dir/../../lef/openram_testchip.lef
Ahmed Ghazyd4ec2f02021-04-05 18:32:10 +020071
72set ::env(EXTRA_GDS_FILES) "\
AmoghLonkard7ce9532021-05-31 09:29:20 -070073 $script_dir/../../gds/sky130_sram_1kbyte_1rw1r_32x256_8.gds \
mrg2f1a8ef2021-06-14 13:26:17 -070074 $script_dir/../../gds/sky130_sram_1kbyte_1rw1r_8x1024_8.gds \
75 $script_dir/../../gds/sky130_sram_2kbyte_1rw1r_32x512_8.gds \
76 $script_dir/../../gds/sky130_sram_4kbyte_1rw1r_32x1024_8.gds \
77 $script_dir/../../gds/sky130_sram_8kbyte_1rw1r_32x2048_8.gds \
AmoghLonkard7ce9532021-05-31 09:29:20 -070078 $script_dir/../../gds/sram_1rw0r0w_32_1024_sky130.gds \
mrg8bde8f82021-06-17 11:52:32 -070079 $script_dir/../../gds/sram_1rw0r0w_32_256_sky130.gds \
AmoghLonkard7ce9532021-05-31 09:29:20 -070080 $script_dir/../../gds/sram_1rw0r0w_32_512_sky130.gds \
mrg0d14b0b2021-06-17 11:22:43 -070081 $script_dir/../../gds/sram_1rw0r0w_64_512_sky130.gds"
82# $script_dir/../../gds/openram_testchip.gds
Ahmed Ghazyd4ec2f02021-04-05 18:32:10 +020083
AmoghLonkar49efff82021-05-29 21:31:43 -070084set ::env(GLB_RT_MAXLAYER) 5
manarabdelaty609ec982021-04-21 17:00:06 +020085
AmoghLonkar49efff82021-05-29 21:31:43 -070086set ::env(FP_PDN_CHECK_NODES) 0
AmoghLonkar41062a72021-05-26 09:08:09 -070087# Power config
AmoghLonkar41062a72021-05-26 09:08:09 -070088
AmoghLonkar49efff82021-05-29 21:31:43 -070089#set ::env(FP_PIN_ORDER_CFG) $script_dir/pin_order.cfg
AmoghLonkar41062a72021-05-26 09:08:09 -070090
91# Placement config
92set ::env(PL_OPENPHYSYN_OPTIMIZATIONS) 0
mrg8de4e282021-06-14 18:02:33 -070093set ::env(PL_DIAMOND_SEARCH_HEIGHT) 500
mrg0d14b0b2021-06-17 11:22:43 -070094#set ::env(PL_RANDOM_GLB_PLACEMENT) 1
AmoghLonkar41062a72021-05-26 09:08:09 -070095
mrg81880702021-06-16 20:34:50 -070096set ::env(GLB_RT_ADJUSTMENT) 0.25
mrg4a0200e2021-06-17 16:45:35 -070097set ::env(PL_TARGET_DENSITY) 0.25
AmoghLonkar41062a72021-05-26 09:08:09 -070098
AmoghLonkara51bbbe2021-05-30 16:05:33 -070099#set ::env(MAGIC_DRC_USE_GDS) 0
100
AmoghLonkard55f1762021-06-02 08:13:04 -0700101set ::env(RUN_KLAYOUT_DRC) 0
AmoghLonkarbb967ab2021-06-03 08:42:24 -0700102set ::env(RUN_KLAYOUT_XOR) 0
AmoghLonkarcf608e22021-06-07 15:31:05 -0700103
mrg4a0200e2021-06-17 16:45:35 -0700104# Spray diodes
mrg4a0200e2021-06-17 16:45:35 -0700105set ::env(DIODE_INSERTION_STRATEGY) 1
AmoghLonkarcf608e22021-06-07 15:31:05 -0700106# The following is because there are no std cells in the example wrapper project.
AmoghLonkar58d416f2021-06-10 22:44:09 -0700107#set ::env(SYNTH_TOP_LEVEL) 1
108#set ::env(PL_RANDOM_GLB_PLACEMENT) 1
AmoghLonkarcf608e22021-06-07 15:31:05 -0700109
AmoghLonkar58d416f2021-06-10 22:44:09 -0700110#set ::env(PL_RESIZER_DESIGN_OPTIMIZATIONS) 0
111#set ::env(PL_RESIZER_TIMING_OPTIMIZATIONS) 0
112#set ::env(PL_RESIZER_BUFFER_INPUT_PORTS) 0
113#set ::env(PL_RESIZER_BUFFER_OUTPUT_PORTS) 0
AmoghLonkarcf608e22021-06-07 15:31:05 -0700114
AmoghLonkar58d416f2021-06-10 22:44:09 -0700115#set ::env(DIODE_INSERTION_STRATEGY) 0
116#set ::env(FILL_INSERTION) 0
117#set ::env(TAP_DECAP_INSERTION) 0
AmoghLonkarcf608e22021-06-07 15:31:05 -0700118# set ::env(CLOCK_TREE_SYNTH) 0