blob: b8972eaebd0b6254e63ff7ef81207d661087871c [file] [log] [blame]
Ahmed Ghazy72154392020-11-11 14:56:52 +02001package require openlane
2set script_dir [file dirname [file normalize [info script]]]
3prep -design $script_dir -tag caravel -overwrite
4set save_path $script_dir/../..
5
6set ::env(SYNTH_DEFINES) "TOP_ROUTING"
7verilog_elaborate
8#logic_equiv_check -lhs $top_rtl -rhs $::env(yosys_result_file_tag).v
9
10init_floorplan
11
12add_macro_placement padframe 0 0 N
Ahmed Ghazy2aedcb12020-11-30 22:20:43 +020013add_macro_placement storage 260.155 306.960 N
14add_macro_placement soc 1022.750 268.500 N
15add_macro_placement mprj 326.385 1382.010 N
16add_macro_placement mgmt_buffers 1440.500 1198.735 N
17add_macro_placement rstb_level 773.765 257.020 N
18add_macro_placement user_id_value 3283.125 404.630 N
19add_macro_placement por 3270.880 520.985 N
Ahmed Ghazy72154392020-11-11 14:56:52 +020020
21# west
Ahmed Ghazy499896a2020-11-27 20:20:00 +020022set west_x 42.835
23add_macro_placement "gpio_control_in\\\[37\\\]" $west_x 1013.000 R0
24add_macro_placement "gpio_control_in\\\[36\\\]" $west_x 1229.000 R0
25add_macro_placement "gpio_control_in\\\[35\\\]" $west_x 1445.000 R0
26add_macro_placement "gpio_control_in\\\[34\\\]" $west_x 1661.000 R0
27add_macro_placement "gpio_control_in\\\[33\\\]" $west_x 1877.000 R0
28add_macro_placement "gpio_control_in\\\[32\\\]" $west_x 2093.000 R0
29add_macro_placement "gpio_control_in\\\[31\\\]" $west_x 2731.000 R0
Ahmed Ghazy72154392020-11-11 14:56:52 +020030
Ahmed Ghazy499896a2020-11-27 20:20:00 +020031add_macro_placement "gpio_control_in\\\[30\\\]" $west_x 2947.000 R0
32add_macro_placement "gpio_control_in\\\[29\\\]" $west_x 3163.000 R0
33add_macro_placement "gpio_control_in\\\[28\\\]" $west_x 3379.000 R0
34add_macro_placement "gpio_control_in\\\[27\\\]" $west_x 3595.000 R0
35add_macro_placement "gpio_control_in\\\[26\\\]" $west_x 3811.000 R0
36add_macro_placement "gpio_control_in\\\[25\\\]" $west_x 4027.000 R0
37add_macro_placement "gpio_control_in\\\[24\\\]" $west_x 4449.000 R0
Ahmed Ghazy72154392020-11-11 14:56:52 +020038
39# north
Ahmed Ghazy499896a2020-11-27 20:20:00 +020040set north_y 4979.065
41add_macro_placement "gpio_control_in\\\[23\\\]" 486.000 $north_y R270
42add_macro_placement "gpio_control_in\\\[22\\\]" 743.000 $north_y R270
43add_macro_placement "gpio_control_in\\\[21\\\]" 1000.000 $north_y R270
44add_macro_placement "gpio_control_in\\\[20\\\]" 1257.000 $north_y R270
45add_macro_placement "gpio_control_in\\\[19\\\]" 1515.000 $north_y R270
46add_macro_placement "gpio_control_in\\\[18\\\]" 1767.000 $north_y R270
47add_macro_placement "gpio_control_in\\\[17\\\]" 2104.000 $north_y R270
48add_macro_placement "gpio_control_in\\\[16\\\]" 2489.000 $north_y R270
49add_macro_placement "gpio_control_in\\\[15\\\]" 2746.000 $north_y R270
Ahmed Ghazy72154392020-11-11 14:56:52 +020050
Ahmed Ghazy499896a2020-11-27 20:20:00 +020051# east
52set east_x 3373.015
53add_macro_placement "gpio_control_bidir\\\[0\\\]" $east_x 605.000 MY
54add_macro_placement "gpio_control_bidir\\\[1\\\]" $east_x 831.000 MY
55add_macro_placement "gpio_control_in\\\[2\\\]" $east_x 1056.000 MY
56add_macro_placement "gpio_control_in\\\[3\\\]" $east_x 1282.000 MY
57add_macro_placement "gpio_control_in\\\[4\\\]" $east_x 1507.000 MY
58add_macro_placement "gpio_control_in\\\[5\\\]" $east_x 1732.000 MY
59add_macro_placement "gpio_control_in\\\[6\\\]" $east_x 1958.000 MY
60add_macro_placement "gpio_control_in\\\[7\\\]" $east_x 2399.000 MY
61add_macro_placement "gpio_control_in\\\[8\\\]" $east_x 2619.000 MY
62add_macro_placement "gpio_control_in\\\[9\\\]" $east_x 2844.000 MY
63add_macro_placement "gpio_control_in\\\[10\\\]" $east_x 3070.000 MY
64add_macro_placement "gpio_control_in\\\[11\\\]" $east_x 3295.000 MY
65add_macro_placement "gpio_control_in\\\[12\\\]" $east_x 3521.000 MY
66add_macro_placement "gpio_control_in\\\[13\\\]" $east_x 3746.000 MY
67add_macro_placement "gpio_control_in\\\[14\\\]" $east_x 4638.000 MY
Ahmed Ghazy72154392020-11-11 14:56:52 +020068
69manual_macro_placement f
70
Ahmed Ghazy475eb362020-11-25 04:04:13 +020071# modify to a different file
72remove_pins -input $::env(CURRENT_DEF)
73remove_empty_nets -input $::env(CURRENT_DEF)
74
Ahmed Ghazy499896a2020-11-27 20:20:00 +020075li1_hack_start
Ahmed Ghazy475eb362020-11-25 04:04:13 +020076global_routing
77detailed_routing
Ahmed Ghazy499896a2020-11-27 20:20:00 +020078li1_hack_end
Ahmed Ghazyec81bd22020-11-19 16:09:08 +020079
Ahmed Ghazy72154392020-11-11 14:56:52 +020080run_magic
81
82save_views -lef_path $::env(magic_result_file_tag).lef \
83 -def_path $::env(tritonRoute_result_file_tag).def \
84 -gds_path $::env(magic_result_file_tag).gds \
85 -mag_path $::env(magic_result_file_tag).mag \
Ahmed Ghazyf87daf52020-12-02 23:05:59 +020086 -maglef_path $::env(magic_result_file_tag).lef.mag \
87 -verilog_path $::env(CURRENT_NETLIST) \
Ahmed Ghazy72154392020-11-11 14:56:52 +020088 -save_path $save_path \
89 -tag $::env(RUN_TAG)