|
1 | 1 | <architecture>
|
2 | 2 | <models/>
|
3 | 3 |
|
| 4 | + <tiles> |
| 5 | + <tile name="io" capacity="8"> |
| 6 | + <!-- Every input pin is driven by 15% of the tracks in a channel, every output pin is driven by 10% of the tracks in a channel --> |
| 7 | + <fc in_type="frac" in_val="0.15" out_type="frac" out_val="0.10"/> |
| 8 | + |
| 9 | + <!-- IOs go on the periphery of the FPGA, for consistency, |
| 10 | + make it physically equivalent on all sides so that only one definition of I/Os is needed. |
| 11 | + If I do not make a physically equivalent definition, then I need to define 4 different I/Os, one for each side of the FPGA |
| 12 | + --> |
| 13 | + <pinlocations pattern="custom"> |
| 14 | + <loc side="left">io.outpad io.inpad io.clock</loc> |
| 15 | + <loc side="top">io.outpad io.inpad io.clock</loc> |
| 16 | + <loc side="right">io.outpad io.inpad io.clock</loc> |
| 17 | + <loc side="bottom">io.outpad io.inpad io.clock</loc> |
| 18 | + </pinlocations> |
| 19 | + </tile> |
| 20 | + <tile name="clb"> |
| 21 | + <fc in_type="frac" in_val="0.15" out_type="frac" out_val="0.10"/> |
| 22 | + |
| 23 | + <pinlocations pattern="spread"/> |
| 24 | + </tile> |
| 25 | + </tiles> |
| 26 | + |
4 | 27 | <layout>
|
5 | 28 | <fixed_layout height="10" width="10" name="test" >
|
6 | 29 | <perimeter type="io" priority="100">
|
|
42 | 65 | </segmentlist>
|
43 | 66 |
|
44 | 67 | <complexblocklist>
|
45 |
| - <pb_type name="io" capacity="8"> |
| 68 | + <pb_type name="io"> |
46 | 69 | <input name="outpad" num_pins="1"/>
|
47 | 70 | <output name="inpad" num_pins="1"/>
|
48 | 71 | <clock name="clock" num_pins="1"/>
|
|
74 | 97 | </direct>
|
75 | 98 | </interconnect>
|
76 | 99 | </mode>
|
77 |
| - |
78 |
| - <!-- Every input pin is driven by 15% of the tracks in a channel, every output pin is driven by 10% of the tracks in a channel --> |
79 |
| - <fc in_type="frac" in_val="0.15" out_type="frac" out_val="0.10"/> |
80 |
| - |
81 |
| - <!-- IOs go on the periphery of the FPGA, for consistency, |
82 |
| - make it physically equivalent on all sides so that only one definition of I/Os is needed. |
83 |
| - If I do not make a physically equivalent definition, then I need to define 4 different I/Os, one for each side of the FPGA |
84 |
| - --> |
85 |
| - <pinlocations pattern="custom"> |
86 |
| - <loc side="left">io.outpad io.inpad io.clock</loc> |
87 |
| - <loc side="top">io.outpad io.inpad io.clock</loc> |
88 |
| - <loc side="right">io.outpad io.inpad io.clock</loc> |
89 |
| - <loc side="bottom">io.outpad io.inpad io.clock</loc> |
90 |
| - </pinlocations> |
91 |
| - |
| 100 | + |
92 | 101 | <!-- Place I/Os on the sides of the FPGA -->
|
93 | 102 | <power method="ignore"/>
|
94 | 103 | </pb_type>
|
|
257 | 266 | <direct name="clbouts1" input="fle[9:0].out[0:0]" output="clb.O[9:0]"/>
|
258 | 267 | <direct name="clbouts2" input="fle[9:0].out[1:1]" output="clb.O[19:10]"/>
|
259 | 268 | </interconnect>
|
260 |
| - |
261 |
| - <fc in_type="frac" in_val="0.15" out_type="frac" out_val="0.10"/> |
262 |
| - |
263 |
| - <pinlocations pattern="spread"/> |
264 | 269 | </pb_type>
|
265 | 270 | </complexblocklist>
|
266 | 271 | <power>
|
|
0 commit comments