URL
https://opencores.org/ocsvn/s1_core/s1_core/trunk
[/] [s1_core/] [trunk/] [tools/] [src/] [build_dc.cmd] - Blame information for rev 107
Go to most recent revision |
Details |
Compare with Previous |
View Log
| Line No. |
Rev |
Author |
Line |
| 1 |
81 |
fafa1971 |
|
| 2 |
73 |
fafa1971 |
# The Tcl script under $S1_ROOT/tools/src/build_dc.cmd is attached at the end of the filelist for DC;
|
| 3 |
|
|
# if you modify this file *REMEMBER* to run 'update_filelist' or you'll run the old version!!!
|
| 4 |
7 |
fafa1971 |
|
| 5 |
84 |
fafa1971 |
# Variables setting
|
| 6 |
82 |
fafa1971 |
|
| 7 |
85 |
fafa1971 |
set sub_modules {sparc_ifu lsu sparc_exu sparc_ffu sparc_mul_top spu tlu s1_top}
|
| 8 |
84 |
fafa1971 |
set sub_clocks {rclk clk sys_clock_i}
|
| 9 |
|
|
set sub_resets {grst_l arst_l sys_reset_i}
|
| 10 |
7 |
fafa1971 |
|
| 11 |
84 |
fafa1971 |
foreach active_design $sub_modules {
|
| 12 |
7 |
fafa1971 |
|
| 13 |
84 |
fafa1971 |
# Technology-independent elaboration and linking
|
| 14 |
|
|
elaborate $active_design
|
| 15 |
|
|
current_design $active_design
|
| 16 |
|
|
link
|
| 17 |
|
|
uniquify -dont_skip_empty_designs
|
| 18 |
73 |
fafa1971 |
|
| 19 |
84 |
fafa1971 |
# Set constraints and mapping on target library
|
| 20 |
|
|
create_clock -period 5.0 -waveform [list 0 2.5] [get_ports $sub_clocks]
|
| 21 |
|
|
set_input_delay 1.8 -clock [get_clocks $sub_clocks] -max [all_inputs]
|
| 22 |
|
|
set_output_delay 1.2 -clock [get_clocks $sub_clocks] -max [all_outputs]
|
| 23 |
85 |
fafa1971 |
set_dont_touch_network [concat $sub_clocks $sub_resets]
|
| 24 |
|
|
set_drive 0 [concat $sub_clocks $sub_resets]
|
| 25 |
84 |
fafa1971 |
set_max_area 0
|
| 26 |
|
|
set_wire_load_mode enclosed
|
| 27 |
|
|
set_fix_multiple_port_nets -buffer_constants -all
|
| 28 |
85 |
fafa1971 |
compile
|
| 29 |
73 |
fafa1971 |
|
| 30 |
84 |
fafa1971 |
# Export the mapped design
|
| 31 |
|
|
remove_unconnected_ports [find -hierarchy cell {"*"}]
|
| 32 |
|
|
set_dont_touch current_design
|
| 33 |
|
|
write -format ddc -hierarchy -output $active_design.ddc
|
| 34 |
|
|
write -format verilog -hierarchy -output $active_design.sv
|
| 35 |
73 |
fafa1971 |
|
| 36 |
84 |
fafa1971 |
# Report area and timing
|
| 37 |
|
|
report_area -hierarchy > report_${active_design}_area.rpt
|
| 38 |
|
|
report_timing > report_${active_design}_timing.rpt
|
| 39 |
|
|
report_constraint -all_violators > report_${active_design}_constraint.rpt
|
| 40 |
73 |
fafa1971 |
|
| 41 |
84 |
fafa1971 |
}
|
| 42 |
7 |
fafa1971 |
|
| 43 |
|
|
quit
|
| 44 |
|
|
|
© copyright 1999-2026
OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.