Open hansemro opened 3 weeks ago
Ported json2dcp to python jupyter notebook with IOB PAD/IBUF/OBUF and routing handling improvements: https://github.com/hansemro/json2dcp-notebook/blob/main/json2dcp.ipynb
This should hopefully help out anyone interested in experimenting with this work.
Experimental branch with inter-site/tile net routing: https://github.com/hansemro/json2dcp-notebook/tree/inter-site-routing-dev
Partially routed jtag-test design:
Now focusing on identifying remaining routing and DRC issues...
Currently, createIBUFDS
only supports Ultrascale series with DIFFINBUF+IBUFCTRL BELs, so we will need to find a different way to support 7 series.
I am seeing some bogus PIPs in the nextpnr netlist:
INT_L_X0Y134/VCC_WIRE->INT_R_X25Y134/FAN_ALT7
NULL_X0Y260/PSEUDO_VCC_WIRE_GLBL->INT_L_X0Y134/VCC_WIRE
CLBLM_R_X25Y133/CLBLM_M_D5->SITEWIRE/SLICE_X36Y133/D1
clb jtag test json netlist: https://gist.github.com/hansemro/dea2b6b9eac13566f113f7a91474b5d1
Currently, createIBUFDS only supports Ultrascale series with DIFFINBUF+IBUFCTRL BELs, so we will need to find a different way to support 7 series.
IBUFDS support for 7 series being experimented in https://gist.github.com/hansemro/24adef209d9ff91f2c01b6f053990861
Finally got around to handling IBUFDS in https://github.com/hansemro/json2dcp-notebook/commit/9a41b8296c2e49593eaddbc3cd49eaad1034fa92.
json2dcp
has not been maintained for some time but could be useful for post-placement/routing validation and DRC in Vivado. While replacing deprecated RapidWright API is fairly straightforward, it will be less trivial to fix json2dcp to handle a post-route netlist json file produced with more recent versions of nextpnr-xilinx.From what I have experimented so far, the following needs work:
createAndPlaceIOB
should be used to create IBUF/OBUF cells but require specifying IOSTANDARD and PACKAGE_PIN attributes which are retained in PAD cells.SITEWIRE/<SITE>/<SRCNET>
toSITEWIRE/<SITE>/<SNKNET>
) routing, we can userouteIntraSiteNet
Experimental branch: https://github.com/hansemro/nextpnr-xilinx/commits/rapidwright-2024.1.0/
-DRAPIDWRIGHT_PATH=/path/to/RapidWright -DGSON_PATH=/path/to/gson.jar