vtr-verilog-to-routing
vtr-verilog-to-routing copied to clipboard
Specify a single location or a specific region for a custom switch block
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.