<mithro> litghost: What is the ratio between edges and nodes that you have seen?
<litghost> mithro: Right now 1:5
<litghost> mithro: But it varies
<mithro> litghost: Do you have a simple example with rr_graph metadata?
<litghost> mithro: Like an XML?
<mithro> litghost: yeah
<mithro> litghost: Have you seen this structure before?
<tpb> Title: Snippet | IRCCloud (at www.irccloud.com)
<mithro> Hadn't seen `map(EmployeeRecord._make, cursor.fetchall())` before...
<litghost> mithro: Ya, but it would be of very limited value. The amount of ORM'ing in the xc7 import is very small
<litghost> mithro: Most of the SQL is purely relational
<mithro> litghost: you mentioned that just generation of the tuples / named tuples was taking significant time?
<litghost> mithro: Ya, but the solution was to just skip generating the named tuple at all
<mithro> litghost: Should the artix7/mask_clk_hrow_bot_r.db still exist?
<litghost> Yes
<mithro> litghost: It's not being generated...
<mithro> litghost: The patch file looked strange :-P -> https://github.com/SymbiFlow/prjxray/pull/710
Bertl is now known as Bertl_zZ
OmniMancer has joined #symbiflow
celadon_ has quit [Quit: ZNC 1.7.2+deb1 - https://znc.in]
celadon has joined #symbiflow
_whitelogger has joined #symbiflow
celadon_ has joined #symbiflow
celadon has quit [Ping timeout: 246 seconds]
Bertl_zZ is now known as Bertl
<sf-slack1> <mkurc> The most up-to-date Yosys on Symbiflow repo does not infer BRAM (or other type of memory) correctly. It should do when defining an array in verilog and initializing it using `initial` statemets. I've created an issue: https://github.com/SymbiFlow/yosys/issues/17
<tpb> Title: Yosys cannot infer BRAM correctly on current master+wip · Issue #17 · SymbiFlow/yosys · GitHub (at github.com)
<sxpert> have something related, Warning: Replacing memory \hex with list of registers. See saturn_debugger.v:152
<sxpert> hex is an array of bytes, should be a couple of 16x4 distributed rams
<tpb> Title: Use mem2reg on memories that only have constant-index write ports by cliffordwolf · Pull Request #843 · YosysHQ/yosys · GitHub (at github.com)
<daveshah> sxpert: in any case, a ROM will never be mapped to distributed RAM, as it is more efficient just to use LUTs
<daveshah> sxpert: although I think it triggers this bug too, your case will always end up as LUTs
<sf-slack1> <mkurc> Yeah, I've stumbled upon the problem while trying to place program memory for Picosoc in BRAM. I always ended up with it in LUTs.
<sf-slack1> <mkurc> I'll check that commit
felix__ has joined #symbiflow
felix_ has quit [*.net *.split]
<sf-slack1> <mkurc> @sxpert You are right. The PR #843 to YosysHQ changes the behavior and the memory is no longer inferred when it is a ROM.
<daveshah> Probably best if you create a GitHub issue upstream with your testcase
felix__ is now known as felix_
OmniMancer has quit [Quit: Leaving.]
citypw has joined #symbiflow
<sf-slack1> <mkurc> @daveshah https://github.com/YosysHQ/yosys/issues/867
<daveshah> Thanks
<daveshah> seems to be 404?
<sxpert> same here
<sxpert> just appeared
<sxpert> but only in the issue list
<daveshah> Working for me now
<sf-slack1> <mkurc> Posted the file again in a comment
<sxpert> ah there
<sxpert> guess it takes some time to replicate within github's infrastructure
<daveshah> mkurc: if you are curious, the main purpose of #843 was to fix cases where an array was being used as an array of signals rather than a memory, rather than as an optimisation per se
<daveshah> I think the solution will be to not apply it where the constant writes are in an initial
<sf-slack1> <mkurc> Ok, I see.
celadon_ has quit [Quit: ZNC 1.7.2+deb1 - https://znc.in]
celadon has joined #symbiflow
<mithro> @mkurc: Did my comment on vtr #17 make sense?
<sf-slack1> <mkurc> @mithro Yes, it does.
<mithro> mkurc: So the two things should be implemented without interacting with each other
citypw has quit [Ping timeout: 272 seconds]
<sf-slack1> <mkurc> Right, now it is clear for me
<mithro> The pip fuzzers seem to have been really flaky lately?
<mithro> litghost: The .patch file seems to be working okay!
<tpb> Title: Google Cloud Platform (at console.cloud.google.com)
<tpb> Title: Post-Implementation Timing Simulation Verilog-to-Routing 8.0.0-dev documentation (at vtr-verilog-to-routing.readthedocs.io)
<tpb> Title: WIP: Replicate fan out issue by litghost · Pull Request #478 · verilog-to-routing/vtr-verilog-to-routing · GitHub (at github.com)
Bertl has quit [Ping timeout: 255 seconds]
<duck2> hello, now i hold ownership of one a7-35t
<duck2> as far as i understand, currently i cannot go from verilog-->yosys->vtr->prjxray-->this device, right? vivado has to step in somewhere
Bertl has joined #symbiflow
<litghost> duck2: No, prjxray-db has the required inputs (which do currently come from vivado)
<litghost> duck2: Assuming you are using a basys3. If you want different pins or a different layout, then yes, Vivado is required.
<duck2> what i have is a smaller thing called cmod a7. maybe stupid question but where do pin assignments come into play in the flow? in vtr arch def?
<litghost> duck2: Okay, if you have different board you will need a new "harness", which does required vivado.
<tpb> Title: prjxray/minitests/roi_harness at master · SymbiFlow/prjxray · GitHub (at github.com)
<tpb> Title: prjxray/basys3.sh at master · SymbiFlow/prjxray · GitHub (at github.com)
<tpb> Title: prjxray/runme.tcl at master · SymbiFlow/prjxray · GitHub (at github.com)
<litghost> duck2: FYI, we are relatively close to no longer needing the ROI harness, maybe 1 or 2 months?
<litghost> duck2: If you are interested in helping with removing the need for the ROI harness, I can point you at issues required to remove the harness.
<duck2> i think i saw the issues while exploring but had a hard time understanding why is a harness needed
<duck2> is it so we generate the bitstream for the part we know about and place it inside a "general" bitstream generated by vivado?
<litghost> duck2: Two reasons, IOBs and CLK trees
<litghost> duck2: We are missing some segbits for CLKs, are missing synthesis of both IOBs and CLK trees, and do not have place and route support for IOBs and CLK trees
<litghost> duck2: The ROI harness handles these things
proteusguy has joined #symbiflow
<litghost> duck2: We are not missing many segbits for CLKs, roughly the 9 or so bits identified in https://github.com/SymbiFlow/prjxray/issues/684
<tpb> Title: Document all bits used in the basys3 SWBUT ROI · Issue #684 · SymbiFlow/prjxray · GitHub (at github.com)
<litghost> duck2: Once those bits are documented, then arch defs for the IOB and CLK tree types need to be written, along with a sythesis step
Bertl has quit [Ping timeout: 246 seconds]
<duck2> i see. i would like to help, but i think first i should install vivado(had ise before) and try to make a harness for this device
<duck2> so that i have a better grasp of things
Bertl has joined #symbiflow
<duck2> thx for the information^^
<litghost> duck2: Sure. I agree that having a harness is a good first step
<litghost> FYI, you must use Vivado 2017.2
<duck2> ok. is the webpack sufficient or do i need a full license?
<litghost> webpack is fine
<mithro> litghost: https://github.com/SymbiFlow/prjxray/pull/715 <- that should fix my issue with the hclk bits missing?
<tpb> Title: Fix 048 not using correct directory. by litghost · Pull Request #715 · SymbiFlow/prjxray · GitHub (at github.com)
<litghost> mithro: On a7, yes
proteusguy has quit [Ping timeout: 246 seconds]
<mithro> litghost: https://github.com/SymbiFlow/symbiflow-arch-defs/blob/master/xc7/utils/prjxray_create_edges.py is the code which creates the edges, right?
<tpb> Title: symbiflow-arch-defs/prjxray_create_edges.py at master · SymbiFlow/symbiflow-arch-defs · GitHub (at github.com)
<litghost> mithro: Yes
<mithro> litghost: It's zynq not zync :-P
<sxpert> zinc ?
<mithro> litghost: Do you have a doc which explains the dataflow with the new sqlite process? It seems like you generate the edges into the `graph_edge` table?
<tpb> Title: symbiflow-arch-defs/connection_database.py at master · SymbiFlow/symbiflow-arch-defs · GitHub (at github.com)
<mithro> litghost: Building channels is then done as part of the "mark_track_liveness"?
<litghost> mithro: We only need channel ptc's for live channels
<mithro> Live means a track which has a connection to another track?
<litghost> mithro: Liveness should mean that it is possible to route on it
<litghost> mithro: Liveness is mostly a ROI based concept
ads__ has joined #symbiflow
ads__ has quit [Quit: Leaving]
tpb has quit [Remote host closed the connection]
tpb has joined #symbiflow