Friday, 2019-08-02

*** tpb has joined #symbiflow00:00
hackerfooWell, I know it's in a RIOB33 tile.00:17
hackerfooAlright, it's time to figure out how to use pdb.00:19
litghostpdb?00:21
litghostsqlite3 is more what you are looking for00:21
litghostThat particular error is basically "the edge you are looking for doesn't exist"00:22
litghostand it printing the primary keys for the query that failed00:22
hackerfoolitghost: https://docs.python.org/2/library/pdb.html00:47
tpbTitle: 26.2. pdb — The Python Debugger Python 2.7.16 documentation (at docs.python.org)00:47
litghosthackerfoo: I know what pdb is, it isn't going to help you00:47
litghosthackerfoo: The problem isn't in the python at all00:47
hackerfooI'm trying to make the edge exist.00:47
hackerfooBut I don't know which edge is missing.00:48
litghostBut the problem is in the database, not in the python00:48
litghostE.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, etc00:48
hackerfooI looked at the database, but I need more than some big numbers to understand what's missing.00:49
litghostthose aren't big numbers, those a primary keys00:49
litghoste.g. rows in the database00:49
hackerfooI was hoping this would be easier than a bunch of queries.00:49
hackerfooI know :)00:50
litghostBut the database can tell you:00:50
litghostWhat wires were being connected?00:50
litghostWhat pip was being use connected them?00:50
litghostBefore you do anything else, you need to make sure the requested connection even makes sense00:50
hackerfooI want I something I can look at in Vivado.00:50
litghostRight, so query the database for the tile name and wire name?00:51
litghostAnd that is something you can put back into Vivado00:51
litghoste.g.00:51
litghostSELECT name FROM wire_in_tile where pkey = (SELECT wire_in_tile_pkey FROM wire WHERE pkey = ?)00:51
hackerfooWhich table has wire names? I see wire_name_index.00:51
litghostOr just00:52
litghostSELECT name FROM pip_in_tile WHERE pkey = ?00:52
litghosthttps://github.com/SymbiFlow/symbiflow-arch-defs/blob/master/utils/lib/connection_database.sql documents the DB schema00:52
tpbTitle: symbiflow-arch-defs/connection_database.sql at master · SymbiFlow/symbiflow-arch-defs · GitHub (at github.com)00:52
hackerfooThanks00:53
litghostIn general the connection database always has a way from a row back to a vivado entity00:54
hackerfooIt's RIOB33.IOB_PADOUT0->IOB_DIFFI_IN100:55
litghostWhy 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 connections00:56
litghostAnyways that wire is super weird00:57
litghostIt s a site to site connect within a tile00:57
litghostWhat pip is being used?00:58
hackerfooI didn't try to remove the wires from RIOB because mithro said they might get ignored. I guess not.00:58
litghostAnyways, from a curious look the switch should be a R=0/C=0 (it is an R_ZERO model)00:59
hackerfooIsn't that the name of the pip? Using your last query on the pip pkey.00:59
litghostIt is01:00
litghostVivado doesn't display that pip01:00
litghost*shrug*01:00
litghostAnyways, so the error is "a site to site connection exists, but no entry in the edge_with_mux table exists"01:00
hackerfooIs the name generated from the tile type and wire names?01:00
litghostNo01:00
litghostAll names are directly from prjxray01:01
litghostWhich is intentional01:01
litghostDon't want to be mutating the keys back to vivado01:01
hackerfooOkay. It matches the wire names.01:01
litghostIt does, but wire -> pip is not '{}->{}'01:02
litghostSometimes it is '{}<->{}' or '{}->>{}'01:03
litghostAnyways, 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
hackerfooIt's one of the wires from IOB33S -> IOB33M. Isn't a pip shown as a mux in Vivado?01:04
litghostIn this case no01:04
litghostVivado sometimes doesn't display the little triangle01:04
litghostIt just shows a wire adjencent to another wire01:04
hackerfooI didn't add IOB33S, because I just want the top half for now.01:05
hackerfooIt's inside a tile, so there shouldn't be a pip, right?01:05
litghostThere is a pip, it just isn't shown01:05
litghostIt does exist01:05
litghostAnyways, https://github.com/SymbiFlow/symbiflow-arch-defs/blob/master/xc7/utils/prjxray_form_channels.py#L907 is where edge with mux's are found01:06
tpbTitle: symbiflow-arch-defs/prjxray_form_channels.py at master · SymbiFlow/symbiflow-arch-defs · GitHub (at github.com)01:06
litghostOr I should say inserted into the database01:06
litghostSo the question is "why didn't this wire pair/pip get marked as edge with mux?"01:06
*** proteusguy has quit IRC01:19
*** proteusguy has joined #symbiflow02:46
*** proteusguy has quit IRC02:51
*** _whitelogger has quit IRC03:21
*** _whitelogger has joined #symbiflow03:23
*** citypw has joined #symbiflow03:26
*** Bertl is now known as Bertl_zZ03:31
*** proteusguy has joined #symbiflow04:27
*** proteusguy has quit IRC05:05
*** Vonter has quit IRC05:53
*** Vonter has joined #symbiflow05:57
mithroI have pushed what I believe is the latest database at https://github.com/SymbiFlow/prjxray-db/commit/50b9a02db6b6151ac4bc85a1a4e4eb2a79adf36506:48
*** _whitelogger has quit IRC08:06
*** _whitelogger has joined #symbiflow08:08
*** proteusguy has joined #symbiflow10:38
*** proteusguy has quit IRC11:46
*** adjtm has quit IRC12:47
*** adjtm has joined #symbiflow13:44
*** Bertl_zZ is now known as Bertl13:55
*** proteusguy has joined #symbiflow16:58
*** citypw has quit IRC17:33
*** Bertl is now known as Bertl_oO18:07
*** adjtm has quit IRC18:25
*** Bertl_oO is now known as Bertl20:24

Generated by irclog2html.py 2.13.1 by Marius Gedminas - find it at mg.pov.lt!