[Arch] Simplify the grid layout modeling
<!-- Physical descriptions begin -->
<layout tileable="true">
<auto_layout aspect_ratio="1.0">
- <!--Perimeter of 'io' blocks with 'EMPTY' blocks at corners-->
- <perimeter type="io" priority="100"/>
- <!-- The top row should be empty -->
- <row type="EMPTY" starty="H-1" priority="101"/>
- <!-- The rightmost column should be empty -->
- <col type="EMPTY" startx="W-1" priority="101"/>
- <!-- A row of I/O in the H-2 row -->
- <row type="io" starty="H-2" priority="100"/>
- <!-- A column of I/O in the W-2 column -->
- <col type="io" startx="W-2" priority="100"/>
- <!-- Bottom-left corner should be empty -->
- <single type="EMPTY" x="0" y="0" priority="101"/>
- <!-- Top-left corner should be empty -->
- <single type="EMPTY" x="0" y="H-2" priority="101"/>
- <!-- Bottom-right corner should be empty -->
- <single type="EMPTY" x="W-2" y="0" priority="101"/>
- <!--Fill with 'clb'-->
- <fill type="clb" priority="10"/>
+ <!-- Perimeter of 'EMPTY' blocks -->
+ <perimeter type="EMPTY" priority="100"/>
+ <!--Fill with 'io'-->
+ <fill type="io" priority="10"/>
+ <!-- Build an inner region of clbs -->
+ <region type="clb" startx="2" endx="W-3" starty="2" endy="H-3" priority="101"/>
</auto_layout>
- <fixed_layout name="2x2" width="5" height="5">
- <!--Perimeter of 'io' blocks with 'EMPTY' blocks at corners-->
- <perimeter type="io" priority="100"/>
- <!-- The top row should be empty -->
- <row type="EMPTY" starty="H-1" priority="101"/>
- <!-- The rightmost column should be empty -->
- <col type="EMPTY" startx="W-1" priority="101"/>
- <!-- A row of I/O in the H-2 row -->
- <row type="io" starty="H-2" priority="100"/>
- <!-- A column of I/O in the W-2 column -->
- <col type="io" startx="W-2" priority="100"/>
- <!-- Bottom-left corner should be empty -->
- <single type="EMPTY" x="0" y="0" priority="101"/>
- <!-- Top-left corner should be empty -->
- <single type="EMPTY" x="0" y="H-2" priority="101"/>
- <!-- Bottom-right corner should be empty -->
- <single type="EMPTY" x="W-2" y="0" priority="101"/>
- <!--Fill with 'clb'-->
- <fill type="clb" priority="10"/>
+ <fixed_layout name="2x2" width="6" height="6">
+ <!-- Perimeter of 'EMPTY' blocks -->
+ <perimeter type="EMPTY" priority="100"/>
+ <!--Fill with 'io'-->
+ <fill type="io" priority="10"/>
+ <!-- Build an inner region of clbs -->
+ <region type="clb" startx="2" endx="W-3" starty="2" endy="H-3" priority="101"/>
</fixed_layout>
</layout>
<device>
