chipsalliance / fpga-interchange-schema

https://fpga-interchange-schema.readthedocs.io/
Apache License 2.0
51 stars 20 forks source link

Get Conns for Wires #60

Open reillymck opened 3 years ago

reillymck commented 3 years ago

I having been using the schema to get the conns for wires like so: I take my wire, then I search the list of nodes for the wire, then I use the node to get the conns. Many wires pull up a node with multiple wires-that's great. Some wires pull up a node that only contains one wire: itself-also great. However, some wires do not seem to be associated with nodes at all (and this is the same in Vivado). The thing is that ISE shows that these wires do still have conns. Is there another way to use the schema to generate the conns? For example, in the part xc7a100tcsg324-1, these wires do not have nodes:

Tile: LIOI3_SING_X0Y199 Type: LIOI3_SING Wire IOI_LOGIC_OUTS6_0
Tile: LIOI3_SING_X0Y199 Type: LIOI3_SING Wire IOI_LOGIC_OUTS21_0
Tile: LIOI3_SING_X0Y199 Type: LIOI3_SING Wire IOI_LOGIC_OUTS4_0
Tile: LIOI3_SING_X0Y199 Type: LIOI3_SING Wire IOI_BLOCK_OUTS3_0
Tile: LIOI3_SING_X0Y199 Type: LIOI3_SING Wire IOI_BLOCK_OUTS1_0

For wires that do not have nodes in interchange, I double checked in Vivado with tcl like so:

get_nodes -of_objects [get_wires LIOI3_SING_X0Y199/IOI_LOGIC_OUTS6_0]

ISE lists this wire like so:

(wire IOI_LOGIC_OUTS6_0 2
                        (conn L_TERM_INT_X2Y207 TERM_INT_LOGIC_OUTS_L_B6)
                        (conn IO_INT_INTERFACE_L_X0Y199 INT_INTERFACE_LOGIC_OUTS_L_B6)
                )

So I am just wondering if there is another way to get wire conns from the schema information that maybe I am missing? Thanks.