<hackerfoo> Well, I know it's in a RIOB33 tile.
<hackerfoo> Alright, it's time to figure out how to use pdb.
<litghost> pdb?
<litghost> sqlite3 is more what you are looking for
<litghost> That particular error is basically "the edge you are looking for doesn't exist"
<litghost> and it printing the primary keys for the query that failed
<tpb> Title: 26.2. pdb — The Python Debugger Python 2.7.16 documentation (at docs.python.org)
<litghost> hackerfoo: I know what pdb is, it isn't going to help you
<litghost> hackerfoo: The problem isn't in the python at all
<hackerfoo> I'm trying to make the edge exist.
<hackerfoo> But I don't know which edge is missing.
<litghost> But the problem is in the database, not in the python
<litghost> E.g. what pip/src wire/dest wire is being connected, is it actually a pin to pin connection, does making that pip to pin connect make sense, etc
<hackerfoo> I looked at the database, but I need more than some big numbers to understand what's missing.
<litghost> those aren't big numbers, those a primary keys
<litghost> e.g. rows in the database
<hackerfoo> I was hoping this would be easier than a bunch of queries.
<hackerfoo> I know :)
<litghost> But the database can tell you:
<litghost> What wires were being connected?
<litghost> What pip was being use connected them?
<litghost> Before you do anything else, you need to make sure the requested connection even makes sense
<hackerfoo> I want I something I can look at in Vivado.
<litghost> Right, so query the database for the tile name and wire name?
<litghost> And that is something you can put back into Vivado
<litghost> e.g.
<litghost> SELECT name FROM wire_in_tile where pkey = (SELECT wire_in_tile_pkey FROM wire WHERE pkey = ?)
<hackerfoo> Which table has wire names? I see wire_name_index.
<litghost> Or just
<litghost> SELECT name FROM pip_in_tile WHERE pkey = ?
<tpb> Title: symbiflow-arch-defs/connection_database.sql at master · SymbiFlow/symbiflow-arch-defs · GitHub (at github.com)
<hackerfoo> Thanks
<litghost> In general the connection database always has a way from a row back to a vivado entity
<hackerfoo> It's RIOB33.IOB_PADOUT0->IOB_DIFFI_IN1
<litghost> Why are we trying to import wires from the RIOB at all? I thought we weren't modelling the IOB per say, just the IOI side connections
<litghost> Anyways that wire is super weird
<litghost> It s a site to site connect within a tile
<litghost> What pip is being used?
<hackerfoo> I didn't try to remove the wires from RIOB because mithro said they might get ignored. I guess not.
<litghost> Anyways, from a curious look the switch should be a R=0/C=0 (it is an R_ZERO model)
<hackerfoo> Isn't that the name of the pip? Using your last query on the pip pkey.
<litghost> It is
<litghost> Vivado doesn't display that pip
<litghost> *shrug*
<litghost> Anyways, so the error is "a site to site connection exists, but no entry in the edge_with_mux table exists"
<hackerfoo> Is the name generated from the tile type and wire names?
<litghost> No
<litghost> All names are directly from prjxray
<litghost> Which is intentional
<litghost> Don't want to be mutating the keys back to vivado
<hackerfoo> Okay. It matches the wire names.
<litghost> It does, but wire -> pip is not '{}->{}'
<litghost> Sometimes it is '{}<->{}' or '{}->>{}'
<litghost> Anyways, back to my earlier point, all site to site connections should have an entry in the edge_with_mux table (because they are special)
<hackerfoo> It's one of the wires from IOB33S -> IOB33M. Isn't a pip shown as a mux in Vivado?
<litghost> In this case no
<litghost> Vivado sometimes doesn't display the little triangle
<litghost> It just shows a wire adjencent to another wire
<hackerfoo> I didn't add IOB33S, because I just want the top half for now.
<hackerfoo> It's inside a tile, so there shouldn't be a pip, right?
<litghost> There is a pip, it just isn't shown
<litghost> It does exist
<tpb> Title: symbiflow-arch-defs/prjxray_form_channels.py at master · SymbiFlow/symbiflow-arch-defs · GitHub (at github.com)
<litghost> Or I should say inserted into the database
<litghost> So the question is "why didn't this wire pair/pip get marked as edge with mux?"
proteusguy has quit [Ping timeout: 245 seconds]
proteusguy has joined #symbiflow
proteusguy has quit [Ping timeout: 245 seconds]
_whitelogger has joined #symbiflow
citypw has joined #symbiflow
Bertl is now known as Bertl_zZ
proteusguy has joined #symbiflow
proteusguy has quit [Read error: Connection reset by peer]
Vonter has quit [Ping timeout: 246 seconds]
Vonter has joined #symbiflow
<mithro> I have pushed what I believe is the latest database at https://github.com/SymbiFlow/prjxray-db/commit/50b9a02db6b6151ac4bc85a1a4e4eb2a79adf365
_whitelogger has joined #symbiflow
proteusguy has joined #symbiflow
proteusguy has quit [Ping timeout: 268 seconds]
adjtm has quit [Ping timeout: 245 seconds]
adjtm has joined #symbiflow
Bertl_zZ is now known as Bertl
proteusguy has joined #symbiflow
citypw has quit [Ping timeout: 245 seconds]
Bertl is now known as Bertl_oO
adjtm has quit [Quit: Leaving]
Bertl_oO is now known as Bertl
tpb has quit [Remote host closed the connection]
tpb has joined #symbiflow