xdc: Handle get_ports args with braces and spaces - #93
Conversation
|
Hmm, just noticed that this only fixes the issue for |
|
Seems weird, to the best of my knowledge one of the purposes of braces is precisely to take into account any spaces at part of the contents ? But maybe if dropping spaces is the behavior of Vivado then it can be considered a specification, for these commands... |
|
If this is change is indeed desired then it will also be necessary to integrate in Himbeachel backend in nextpnr repo. |
|
Did you check my PR #85 ? It is also integrated in nextpnr and I backported it here. |
If this is the case, the current code doesn't take these spaces into account either. Suppose you had
Yeah, the first thing I did when I ran into this was try your PR. I just cherry-picked this commit from my testing branch, which has your PR applied. See infinitymdm:xdc for that test code. |
|
Applying basically the same change to |
I ran into an issue using nextpnr-xilinx with a Digilent Arty A7 board (rev E), using their provided xdc file. It doesn't seem like the current xdc parsing can handle stuff like
set_property -dict { PACKAGE_PIN A8 IOSTANDARD LVCMOS33 } [get_ports { sw[0] }]where the argument to
get_portshas braces and whitespace. Eitherget_ports {sw[0]}orget_ports sw[0]works just fine, butget_ports { sw[0] }errors out. This PR fixes that by adding a secondsplit_to_argscall inget_cells.