OpenCores
URL https://opencores.org/ocsvn/yifive/yifive/trunk

Subversion Repositories yifive

[/] [yifive/] [trunk/] [caravel_yifive/] [openlane/] [syntacore/] [config.tcl] - Blame information for rev 18

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 9 dinesha
# Global
2
# ------
3
 
4
set script_dir [file dirname [file normalize [info script]]]
5
# Name
6 18 dinesha
set ::env(DESIGN_NAME) scr1_top_wb
7 9 dinesha
 
8
# This is macro
9
set ::env(DESIGN_IS_CORE) 0
10
 
11
# Diode insertion
12
        #  Spray
13
set ::env(DIODE_INSERTION_STRATEGY) 0
14
 
15
        # Smart-"ish"
16
#set ::env(DIODE_INSERTION_STRATEGY) 3
17
#set ::env(GLB_RT_MAX_DIODE_INS_ITERS) 10
18
 
19
# Timing configuration
20
set ::env(CLOCK_PERIOD) "10"
21
set ::env(CLOCK_PORT) "clk"
22
 
23
 
24
# Sources
25
# -------
26
 
27
# Local sources + no2usb sources
28
set ::env(VERILOG_FILES) "\
29 18 dinesha
        $script_dir/../../verilog/rtl/syntacore/scr1/src/core/pipeline/scr1_pipe_top.sv  \
30
        $script_dir/../../verilog/rtl/syntacore/scr1/src/core/scr1_core_top.sv  \
31
        $script_dir/../../verilog/rtl/syntacore/scr1/src/core/scr1_dm.sv  \
32
        $script_dir/../../verilog/rtl/syntacore/scr1/src/core/scr1_tapc_synchronizer.sv  \
33
        $script_dir/../../verilog/rtl/syntacore/scr1/src/core/scr1_clk_ctrl.sv  \
34
        $script_dir/../../verilog/rtl/syntacore/scr1/src/core/scr1_scu.sv  \
35
        $script_dir/../../verilog/rtl/syntacore/scr1/src/core/scr1_tapc.sv  \
36
        $script_dir/../../verilog/rtl/syntacore/scr1/src/core/scr1_tapc_shift_reg.sv  \
37
        $script_dir/../../verilog/rtl/syntacore/scr1/src/core/scr1_dmi.sv  \
38
        $script_dir/../../verilog/rtl/syntacore/scr1/src/core/primitives/scr1_reset_cells.sv  \
39
        $script_dir/../../verilog/rtl/syntacore/scr1/src/core/pipeline/scr1_pipe_ifu.sv  \
40
        $script_dir/../../verilog/rtl/syntacore/scr1/src/core/pipeline/scr1_pipe_idu.sv  \
41
        $script_dir/../../verilog/rtl/syntacore/scr1/src/core/pipeline/scr1_pipe_exu.sv  \
42
        $script_dir/../../verilog/rtl/syntacore/scr1/src/core/pipeline/scr1_pipe_mprf.sv  \
43
        $script_dir/../../verilog/rtl/syntacore/scr1/src/core/pipeline/scr1_pipe_csr.sv  \
44
        $script_dir/../../verilog/rtl/syntacore/scr1/src/core/pipeline/scr1_pipe_ialu.sv  \
45
        $script_dir/../../verilog/rtl/syntacore/scr1/src/core/pipeline/scr1_pipe_lsu.sv  \
46
        $script_dir/../../verilog/rtl/syntacore/scr1/src/core/pipeline/scr1_pipe_hdu.sv  \
47
        $script_dir/../../verilog/rtl/syntacore/scr1/src/core/pipeline/scr1_pipe_tdu.sv  \
48
        $script_dir/../../verilog/rtl/syntacore/scr1/src/core/pipeline/scr1_ipic.sv   \
49
        $script_dir/../../verilog/rtl/syntacore/scr1/src/top/scr1_dmem_router.sv   \
50
        $script_dir/../../verilog/rtl/syntacore/scr1/src/top/scr1_imem_router.sv   \
51
        $script_dir/../../verilog/rtl/syntacore/scr1/src/top/scr1_tcm.sv   \
52
        $script_dir/../../verilog/rtl/syntacore/scr1/src/top/scr1_timer.sv   \
53
        $script_dir/../../verilog/rtl/syntacore/scr1/src/top/scr1_top_wb.sv   \
54
        $script_dir/../../verilog/rtl/syntacore/scr1/src/top/scr1_dmem_wb.sv   \
55
        $script_dir/../../verilog/rtl/syntacore/scr1/src/top/scr1_imem_wb.sv   \
56
        $script_dir/../../verilog/rtl/lib/sync_fifo.sv "
57 9 dinesha
 
58 18 dinesha
set ::env(VERILOG_INCLUDE_DIRS) [glob $script_dir/../../verilog/rtl/syntacore/scr1/src/includes ]
59 9 dinesha
 
60
#set ::env(SYNTH_DEFINES) [list SCR1_DBG_EN ]
61
 
62
 
63
# Need blackbox for cells
64
set ::env(SYNTH_READ_BLACKBOX_LIB) 0
65
 
66
 
67
# Floorplanning
68
# -------------
69
 
70
# Fixed area and pin position
71
set ::env(FP_SIZING) "absolute"
72
#actual die area is 0 0 2920 3520, given 500 micron extra margin
73
set ::env(DIE_AREA) [list 0.0 0.0 2000.0 1200.0]
74
set ::env(FP_PIN_ORDER_CFG) $::env(DESIGN_DIR)/pin_order.cfg
75
 
76
# Halo around the Macros
77
set ::env(FP_HORIZONTAL_HALO) 25
78
set ::env(FP_VERTICAL_HALO) 20
79
 
80
#set ::env(PDN_CFG) $::env(DESIGN_DIR)/pdn.tcl
81
 
82
 
83
 
84
# Placement
85
# ---------
86
 
87
set ::env(PL_TARGET_DENSITY) 0.40
88
 
89
#set ::env(MACRO_PLACEMENT_CFG) $::env(DESIGN_DIR)/macro_placement.cfg
90
 
91
 
92
# Routing
93
# -------
94
 
95
#| `ROUTING_CORES` | Specifies the number of threads to be used in TritonRoute. <br> (Default: `4`) |
96
set ::env(ROUTING_CORES) 4
97
 
98
#| `GLB_RT_ALLOW_CONGESTION` | Allow congestion in the resultign guides. 0 = false, 1 = true <br> (Default: `0`) |
99
set ::env(GLB_RT_ALLOW_CONGESTION) 0
100
 
101
# | `GLB_RT_MINLAYER` | The number of lowest layer to be used in routing. <br> (Default: `1`)|
102
set ::env(GLB_RT_MINLAYER) 1
103
 
104
# | `GLB_RT_MAXLAYER` | The number of highest layer to be used in routing. <br> (Default: `6`)|
105
set ::env(GLB_RT_MAXLAYER) 6
106
 
107
# Obstructions
108
    # li1 over the SRAM areas
109
        # met5 over the whole design
110
#set ::env(GLB_RT_OBS) "li1 0.00 22.68 1748.00 486.24, li1 0.00 851.08 1748.00 486.24, met5 0.0 0.0 1748.0 1360.0"
111
 
112
#| `ROUTING_OPT_ITERS` | Specifies the maximum number of optimization iterations during Detailed Routing in TritonRoute. <br> (Default: `64`) |
113
set ::env(ROUTING_OPT_ITERS) "64"
114
 
115
#| `GLOBAL_ROUTER` | Specifies which global router to use. Values: `fastroute` or `cugr`. <br> (Default: `fastroute`) |
116
set ::env(GLOBAL_ROUTER) "fastroute"
117
 
118
#| `DETAILED_ROUTER` | Specifies which detailed router to use. Values: `tritonroute`, `tritonroute_or`, or `drcu`. <br> (Default: `tritonroute`) |
119
set ::env(DETAILED_ROUTER) "tritonroute"
120
 
121
# DRC
122
# ---
123
 
124
 
125
set ::env(MAGIC_DRC_USE_GDS) 1
126
 
127
 
128
# Tape Out
129
# --------
130
 
131
set ::env(MAGIC_ZEROIZE_ORIGIN) 0
132
 
133
 
134
# Cell library specific config
135
# ----------------------------
136
 
137
set filename $::env(DESIGN_DIR)/$::env(PDK)_$::env(STD_CELL_LIBRARY)_config.tcl
138
if { [file exists $filename] == 1} {
139
        source $filename
140
}

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.