*** tpb has joined #symbiflow | 00:00 | |
hackerfoo | Well, I know it's in a RIOB33 tile. | 00:17 |
---|---|---|
hackerfoo | Alright, it's time to figure out how to use pdb. | 00:19 |
litghost | pdb? | 00:21 |
litghost | sqlite3 is more what you are looking for | 00:21 |
litghost | That particular error is basically "the edge you are looking for doesn't exist" | 00:22 |
litghost | and it printing the primary keys for the query that failed | 00:22 |
hackerfoo | litghost: https://docs.python.org/2/library/pdb.html | 00:47 |
tpb | Title: 26.2. pdb — The Python Debugger Python 2.7.16 documentation (at docs.python.org) | 00:47 |
litghost | hackerfoo: I know what pdb is, it isn't going to help you | 00:47 |
litghost | hackerfoo: The problem isn't in the python at all | 00:47 |
hackerfoo | I'm trying to make the edge exist. | 00:47 |
hackerfoo | But I don't know which edge is missing. | 00:48 |
litghost | But the problem is in the database, not in the python | 00:48 |
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 | 00:48 |
hackerfoo | I looked at the database, but I need more than some big numbers to understand what's missing. | 00:49 |
litghost | those aren't big numbers, those a primary keys | 00:49 |
litghost | e.g. rows in the database | 00:49 |
hackerfoo | I was hoping this would be easier than a bunch of queries. | 00:49 |
hackerfoo | I know :) | 00:50 |
litghost | But the database can tell you: | 00:50 |
litghost | What wires were being connected? | 00:50 |
litghost | What pip was being use connected them? | 00:50 |
litghost | Before you do anything else, you need to make sure the requested connection even makes sense | 00:50 |
hackerfoo | I want I something I can look at in Vivado. | 00:50 |
litghost | Right, so query the database for the tile name and wire name? | 00:51 |
litghost | And that is something you can put back into Vivado | 00:51 |
litghost | e.g. | 00:51 |
litghost | SELECT name FROM wire_in_tile where pkey = (SELECT wire_in_tile_pkey FROM wire WHERE pkey = ?) | 00:51 |
hackerfoo | Which table has wire names? I see wire_name_index. | 00:51 |
litghost | Or just | 00:52 |
litghost | SELECT name FROM pip_in_tile WHERE pkey = ? | 00:52 |
litghost | https://github.com/SymbiFlow/symbiflow-arch-defs/blob/master/utils/lib/connection_database.sql documents the DB schema | 00:52 |
tpb | Title: symbiflow-arch-defs/connection_database.sql at master · SymbiFlow/symbiflow-arch-defs · GitHub (at github.com) | 00:52 |
hackerfoo | Thanks | 00:53 |
litghost | In general the connection database always has a way from a row back to a vivado entity | 00:54 |
hackerfoo | It's RIOB33.IOB_PADOUT0->IOB_DIFFI_IN1 | 00:55 |
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 | 00:56 |
litghost | Anyways that wire is super weird | 00:57 |
litghost | It s a site to site connect within a tile | 00:57 |
litghost | What pip is being used? | 00:58 |
hackerfoo | I didn't try to remove the wires from RIOB because mithro said they might get ignored. I guess not. | 00:58 |
litghost | Anyways, from a curious look the switch should be a R=0/C=0 (it is an R_ZERO model) | 00:59 |
hackerfoo | Isn't that the name of the pip? Using your last query on the pip pkey. | 00:59 |
litghost | It is | 01:00 |
litghost | Vivado doesn't display that pip | 01:00 |
litghost | *shrug* | 01:00 |
litghost | Anyways, so the error is "a site to site connection exists, but no entry in the edge_with_mux table exists" | 01:00 |
hackerfoo | Is the name generated from the tile type and wire names? | 01:00 |
litghost | No | 01:00 |
litghost | All names are directly from prjxray | 01:01 |
litghost | Which is intentional | 01:01 |
litghost | Don't want to be mutating the keys back to vivado | 01:01 |
hackerfoo | Okay. It matches the wire names. | 01:01 |
litghost | It does, but wire -> pip is not '{}->{}' | 01:02 |
litghost | Sometimes it is '{}<->{}' or '{}->>{}' | 01:03 |
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) | 01:04 |
hackerfoo | It's one of the wires from IOB33S -> IOB33M. Isn't a pip shown as a mux in Vivado? | 01:04 |
litghost | In this case no | 01:04 |
litghost | Vivado sometimes doesn't display the little triangle | 01:04 |
litghost | It just shows a wire adjencent to another wire | 01:04 |
hackerfoo | I didn't add IOB33S, because I just want the top half for now. | 01:05 |
hackerfoo | It's inside a tile, so there shouldn't be a pip, right? | 01:05 |
litghost | There is a pip, it just isn't shown | 01:05 |
litghost | It does exist | 01:05 |
litghost | Anyways, https://github.com/SymbiFlow/symbiflow-arch-defs/blob/master/xc7/utils/prjxray_form_channels.py#L907 is where edge with mux's are found | 01:06 |
tpb | Title: symbiflow-arch-defs/prjxray_form_channels.py at master · SymbiFlow/symbiflow-arch-defs · GitHub (at github.com) | 01:06 |
litghost | Or I should say inserted into the database | 01:06 |
litghost | So the question is "why didn't this wire pair/pip get marked as edge with mux?" | 01:06 |
*** proteusguy has quit IRC | 01:19 | |
*** proteusguy has joined #symbiflow | 02:46 | |
*** proteusguy has quit IRC | 02:51 | |
*** _whitelogger has quit IRC | 03:21 | |
*** _whitelogger has joined #symbiflow | 03:23 | |
*** citypw has joined #symbiflow | 03:26 | |
*** Bertl is now known as Bertl_zZ | 03:31 | |
*** proteusguy has joined #symbiflow | 04:27 | |
*** proteusguy has quit IRC | 05:05 | |
*** Vonter has quit IRC | 05:53 | |
*** Vonter has joined #symbiflow | 05:57 | |
mithro | I have pushed what I believe is the latest database at https://github.com/SymbiFlow/prjxray-db/commit/50b9a02db6b6151ac4bc85a1a4e4eb2a79adf365 | 06:48 |
*** _whitelogger has quit IRC | 08:06 | |
*** _whitelogger has joined #symbiflow | 08:08 | |
*** proteusguy has joined #symbiflow | 10:38 | |
*** proteusguy has quit IRC | 11:46 | |
*** adjtm has quit IRC | 12:47 | |
*** adjtm has joined #symbiflow | 13:44 | |
*** Bertl_zZ is now known as Bertl | 13:55 | |
*** proteusguy has joined #symbiflow | 16:58 | |
*** citypw has quit IRC | 17:33 | |
*** Bertl is now known as Bertl_oO | 18:07 | |
*** adjtm has quit IRC | 18:25 | |
*** Bertl_oO is now known as Bertl | 20:24 |
Generated by irclog2html.py 2.13.1 by Marius Gedminas - find it at mg.pov.lt!