vtr-verilog-to-routing icon indicating copy to clipboard operation
vtr-verilog-to-routing copied to clipboard

Specify a single location or a specific region for a custom switch block

Open saaramahmoudi opened this issue 7 months ago • 2 comments

This PR generalize the custom switch block description to allow the user to specify a exact (x,y) location for the switch block by setting type="XY_SPECIFIED", the exact syntax is explained below:

  • You should set the switch block type to XY_SPECIFIED (upper case), the other options are: EVERYWHERE, CORNER, ..
  • Once you set the type to XY_SPECIFIED, you can put an exact location by setting a "x" and "y" attribute, for example: x="1" y="2"
  • If you want to specify a complete row, you can set "x" to -1, for example: x="-1" y="2"
  • if you want to specify a complete column, you can set "y" to -1, for example: x="2" y="-1"
  • If you want to specify a part of grid, you can specify a region using regular expression documented here: https://mithro-vtr.readthedocs.io/en/latest/arch/reference.html#tag-%3Cregiontype= (please search for word "region" in layout documentation)

How Has This Been Tested?

The x and y attribute is tested by @petergrossmann21, and the region description is tested by myself.

Types of changes

  • [ ] Bug fix (change which fixes an issue)
  • [x] New feature (change which adds functionality)
  • [ ] Breaking change (fix or feature that would cause existing functionality to change)

Checklist:

  • [x] My change requires a change to the documentation
  • [ ] I have updated the documentation accordingly
  • [x] I have added tests to cover my changes
  • [ ] All new and existing tests passed

I will add a new test and update documentation later today, but I have created the PR to start the review process.

saaramahmoudi avatar Jul 25 '24 15:07 saaramahmoudi