File tree Expand file tree Collapse file tree 15 files changed +2754
-2
lines changed
Expand file tree Collapse file tree 15 files changed +2754
-2
lines changed Original file line number Diff line number Diff line change 1+ export DESIGN_NAME = Element
2+ export DESIGN_NICKNAME = mock-array-big_Element
3+
4+ export VERILOG_FILES = designs/src/mock-array-big/*.v
5+ export SDC_FILE = designs/asap7/mock-array-big/constraints.sdc
6+
7+ export PLATFORM = asap7
8+
9+ export PLACE_DENSITY = 0.40
10+ export CORE_UTILIZATION = 20
11+ export CORE_ASPECT_RATIO = 1
12+ export CORE_MARGIN = 2
13+
14+ export IO_CONSTRAINTS = designs/asap7/mock-array-big/Element/io.tcl
Original file line number Diff line number Diff line change 1+ proc pin1 {fmt p} {
2+ set result [list ]
3+ for {set m 0} {$m < $p } {incr m} {
4+ lappend result [format $fmt $m ]
5+ }
6+ return $result
7+ }
8+
9+ set data_width 8
10+ set assignments [list \
11+ top bottom \
12+ [list [ concat \
13+ {*}[pin1 {io_ins_2[%d]} $data_width ] \
14+ {*}[pin1 {io_outs_2[%d]} $data_width ] \
15+ ] \
16+ [ concat \
17+ {*}[pin1 {io_outs_0[%d]} $data_width ] \
18+ {*}[pin1 {io_ins_0[%d]} $data_width ] \
19+ ]] \
20+ left right \
21+ [list [ concat \
22+ {*}[pin1 {io_ins_3[%d]} $data_width ] \
23+ {*}[pin1 {io_outs_3[%d]} $data_width ] \
24+ ] \
25+ [ concat \
26+ {*}[pin1 {io_outs_1[%d]} $data_width ] \
27+ {*}[pin1 {io_ins_1[%d]} $data_width ] \
28+ ]] \
29+ ]
30+
31+ proc zip {list1 list2} {
32+ set result {}
33+ set length [llength $list1 ]
34+ for {set i 0} {$i < $length } {incr i} {
35+ lappend result [lindex $list1 $i ] [lindex $list2 $i ]
36+ }
37+ return $result
38+ }
39+
40+
41+ foreach {direction direction2 names} $assignments {
42+ set mirrored [zip {*}$names ]
43+ set_io_pin_constraint -region $direction :* -pin_names [lindex $names 0]
44+ set_io_pin_constraint -region $direction2 :* -pin_names [lindex $names 1]
45+ set_io_pin_constraint -mirrored_pins $mirrored
46+ }
Original file line number Diff line number Diff line change 1+ export DESIGN_NAME = MockArray
2+ export DESIGN_NICKNAME = mock-array-big
3+
4+ export VERILOG_FILES_BLACKBOX = designs/src/mock-array-big/Element.v
5+ export VERILOG_FILES = designs/src/mock-array-big/*.v
6+
7+ export SDC_FILE = designs/asap7/mock-array-big/constraints.sdc
8+
9+ export PLATFORM = asap7
10+
11+ export PLACE_DENSITY = 0.30
12+
13+ export CORE_UTILIZATION = 20
14+ export CORE_ASPECT_RATIO = 1
15+ export CORE_MARGIN = 2
16+
17+ BLOCKS = Element
18+
19+ export GDS_ALLOW_EMPTY = Element
20+
21+ export MACRO_PLACEMENT = ./designs/asap7/mock-array-big/macro-placement.cfg
22+
23+ export IO_CONSTRAINTS = designs/asap7/mock-array-big/io.tcl
24+
25+ export MACRO_PLACE_HALO = 2 2
Original file line number Diff line number Diff line change 1+ set sdc_version 2.0
2+ create_clock [get_ports clock] -period 250 -waveform {0 125}
3+
4+ set clk_name clock
5+ set clk_port_name clock
6+ set clk_period 250
7+ set clk_io_pct 0.2
8+
9+ set clk_port [get_ports $clk_port_name ]
10+
11+ set non_clock_inputs [lsearch -inline -all -not -exact [all_inputs] $clk_port ]
12+
13+ set_input_delay [expr $clk_period * $clk_io_pct ] -clock $clk_name $non_clock_inputs
14+ set_output_delay [expr $clk_period * $clk_io_pct ] -clock $clk_name [all_outputs]
Original file line number Diff line number Diff line change 1+ proc pin2 {fmt p q} {
2+ set result [list ]
3+ for {set m 0} {$m < $p } {incr m} {
4+ for {set n 0} {$n < $q } {incr n} {
5+ lappend result [format $fmt $m $n ]
6+ }
7+ }
8+ return $result
9+ }
10+
11+ set data_width 8
12+ set rows 8
13+ set cols 8
14+
15+ set assignments [list \
16+ top \
17+ [ concat \
18+ {*}[pin2 {io_insHorizontal_1_%d[%d]} $cols $data_width ] \
19+ {*}[pin2 {io_outsHorizontal_1_%d[%d]} $cols $data_width ] \
20+ ] \
21+ bottom \
22+ [ concat \
23+ {*}[pin2 {io_insHorizontal_0_%d[%d]} $cols $data_width ] \
24+ {*}[pin2 {io_outsHorizontal_0_%d[%d]} $cols $data_width ] \
25+ ] \
26+ left \
27+ [ concat \
28+ {*}[pin2 {io_insVertical_1_%d[%d]} $rows $data_width ] \
29+ {*}[pin2 {io_outsVertical_1_%d[%d]} $rows $data_width ] \
30+ ] \
31+ right \
32+ [ concat \
33+ {*}[pin2 {io_insVertical_0_%d[%d]} $rows $data_width ] \
34+ {*}[pin2 {io_outsVertical_0_%d[%d]} $rows $data_width ] \
35+ ] \
36+ ]
37+
38+ foreach {direction names} $assignments {
39+ set_io_pin_constraint -region $direction :* -pin_names $names
40+ }
Original file line number Diff line number Diff line change 1+ ces_0_0 R0 10 10
2+ ces_0_1 R0 35 10
3+ ces_0_2 R0 60 10
4+ ces_0_3 R0 85 10
5+ ces_0_4 R0 110 10
6+ ces_0_5 R0 135 10
7+ ces_0_6 R0 160 10
8+ ces_0_7 R0 185 10
9+ ces_1_0 R0 10 35
10+ ces_1_1 R0 35 35
11+ ces_1_2 R0 60 35
12+ ces_1_3 R0 85 35
13+ ces_1_4 R0 110 35
14+ ces_1_5 R0 135 35
15+ ces_1_6 R0 160 35
16+ ces_1_7 R0 185 35
17+ ces_2_0 R0 10 60
18+ ces_2_1 R0 35 60
19+ ces_2_2 R0 60 60
20+ ces_2_3 R0 85 60
21+ ces_2_4 R0 110 60
22+ ces_2_5 R0 135 60
23+ ces_2_6 R0 160 60
24+ ces_2_7 R0 185 60
25+ ces_3_0 R0 10 85
26+ ces_3_1 R0 35 85
27+ ces_3_2 R0 60 85
28+ ces_3_3 R0 85 85
29+ ces_3_4 R0 110 85
30+ ces_3_5 R0 135 85
31+ ces_3_6 R0 160 85
32+ ces_3_7 R0 185 85
33+ ces_4_0 R0 10 110
34+ ces_4_1 R0 35 110
35+ ces_4_2 R0 60 110
36+ ces_4_3 R0 85 110
37+ ces_4_4 R0 110 110
38+ ces_4_5 R0 135 110
39+ ces_4_6 R0 160 110
40+ ces_4_7 R0 185 110
41+ ces_5_0 R0 10 135
42+ ces_5_1 R0 35 135
43+ ces_5_2 R0 60 135
44+ ces_5_3 R0 85 135
45+ ces_5_4 R0 110 135
46+ ces_5_5 R0 135 135
47+ ces_5_6 R0 160 135
48+ ces_5_7 R0 185 135
49+ ces_6_0 R0 10 160
50+ ces_6_1 R0 35 160
51+ ces_6_2 R0 60 160
52+ ces_6_3 R0 85 160
53+ ces_6_4 R0 110 160
54+ ces_6_5 R0 135 160
55+ ces_6_6 R0 160 160
56+ ces_6_7 R0 185 160
57+ ces_7_0 R0 10 185
58+ ces_7_1 R0 35 185
59+ ces_7_2 R0 60 185
60+ ces_7_3 R0 85 185
61+ ces_7_4 R0 110 185
62+ ces_7_5 R0 135 185
63+ ces_7_6 R0 160 185
64+ ces_7_7 R0 185 185
You can’t perform that action at this time.
0 commit comments