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

Subversion Repositories yifive

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

Go to most recent revision | 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
set ::env(DESIGN_NAME) scr1_top_axi
7
 
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
        $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_axi.sv   \
54
        $script_dir/../../verilog/rtl/syntacore_scr1/src/top/scr1_mem_axi.sv "
55
 
56
set ::env(VERILOG_INCLUDE_DIRS) [glob $script_dir/../../verilog/rtl/syntacore_scr1/src/includes ]
57
 
58
#set ::env(SYNTH_DEFINES) [list SCR1_DBG_EN ]
59
 
60
 
61
# Need blackbox for cells
62
set ::env(SYNTH_READ_BLACKBOX_LIB) 0
63
 
64
 
65
# Floorplanning
66
# -------------
67
 
68
# Fixed area and pin position
69
set ::env(FP_SIZING) "absolute"
70
#actual die area is 0 0 2920 3520, given 500 micron extra margin
71
set ::env(DIE_AREA) [list 0.0 0.0 2000.0 1200.0]
72
set ::env(FP_PIN_ORDER_CFG) $::env(DESIGN_DIR)/pin_order.cfg
73
 
74
# Halo around the Macros
75
set ::env(FP_HORIZONTAL_HALO) 25
76
set ::env(FP_VERTICAL_HALO) 20
77
 
78
#set ::env(PDN_CFG) $::env(DESIGN_DIR)/pdn.tcl
79
 
80
 
81
 
82
# Placement
83
# ---------
84
 
85
set ::env(PL_TARGET_DENSITY) 0.40
86
 
87
#set ::env(MACRO_PLACEMENT_CFG) $::env(DESIGN_DIR)/macro_placement.cfg
88
 
89
 
90
# Routing
91
# -------
92
 
93
#| `ROUTING_CORES` | Specifies the number of threads to be used in TritonRoute. <br> (Default: `4`) |
94
set ::env(ROUTING_CORES) 4
95
 
96
#| `GLB_RT_ALLOW_CONGESTION` | Allow congestion in the resultign guides. 0 = false, 1 = true <br> (Default: `0`) |
97
set ::env(GLB_RT_ALLOW_CONGESTION) 0
98
 
99
# | `GLB_RT_MINLAYER` | The number of lowest layer to be used in routing. <br> (Default: `1`)|
100
set ::env(GLB_RT_MINLAYER) 1
101
 
102
# | `GLB_RT_MAXLAYER` | The number of highest layer to be used in routing. <br> (Default: `6`)|
103
set ::env(GLB_RT_MAXLAYER) 6
104
 
105
# Obstructions
106
    # li1 over the SRAM areas
107
        # met5 over the whole design
108
#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"
109
 
110
#| `ROUTING_OPT_ITERS` | Specifies the maximum number of optimization iterations during Detailed Routing in TritonRoute. <br> (Default: `64`) |
111
set ::env(ROUTING_OPT_ITERS) "64"
112
 
113
#| `GLOBAL_ROUTER` | Specifies which global router to use. Values: `fastroute` or `cugr`. <br> (Default: `fastroute`) |
114
set ::env(GLOBAL_ROUTER) "fastroute"
115
 
116
#| `DETAILED_ROUTER` | Specifies which detailed router to use. Values: `tritonroute`, `tritonroute_or`, or `drcu`. <br> (Default: `tritonroute`) |
117
set ::env(DETAILED_ROUTER) "tritonroute"
118
 
119
# DRC
120
# ---
121
 
122
 
123
set ::env(MAGIC_DRC_USE_GDS) 1
124
 
125
 
126
# Tape Out
127
# --------
128
 
129
set ::env(MAGIC_ZEROIZE_ORIGIN) 0
130
 
131
 
132
# Cell library specific config
133
# ----------------------------
134
 
135
set filename $::env(DESIGN_DIR)/$::env(PDK)_$::env(STD_CELL_LIBRARY)_config.tcl
136
if { [file exists $filename] == 1} {
137
        source $filename
138
}

powered by: WebSVN 2.1.0

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