<tpb>
Title: Remove second chain from each CLB. by litghost · Pull Request #404 · SymbiFlow/symbiflow-arch-defs · GitHub (at github.com)
citypw has joined #symbiflow
citypw has quit [Remote host closed the connection]
<sf-slack>
<kgugala> I think the hang is happening in the prepacking
<sf-slack>
<kgugala> @litghost does it happen with the current chain_pack test (8 counters, 8 bit each)?
<litghost>
It is
<sf-slack>
<kgugala> I'm traveling today, @acomodi can you take a look on that?
proteusguy has quit [Remote host closed the connection]
OmniMancer has joined #symbiflow
proteusguy has joined #symbiflow
_whitelogger has joined #symbiflow
<sf-slack>
<acomodi> kgugala, litghost: Sure, I have found out the problem is in the pattern selection, the prepacker fails to create a molecule of the carrychain
<sf-slack>
<acomodi> I'll keep you updated
OmniMancer1 has joined #symbiflow
OmniMancer has quit [Ping timeout: 245 seconds]
tmichalak1 has joined #symbiflow
celadon has joined #symbiflow
tmichalak has quit [Ping timeout: 245 seconds]
celadon_ has quit [Ping timeout: 245 seconds]
kgugala has quit [Ping timeout: 245 seconds]
proteusguy has quit [Ping timeout: 245 seconds]
proteusguy has joined #symbiflow
kgugala has joined #symbiflow
proteusguy has quit [Remote host closed the connection]
acomodi has joined #symbiflow
proteusguy has joined #symbiflow
somlo has quit [Ping timeout: 255 seconds]
somlo has joined #symbiflow
<sf-slack>
<acomodi> I have found what is the issue in the with the infinite loop. Basically the carry atoms are not packed in order into the molecule (e.g. `cur_molecule->atom_ids = {id = 1944, id = 1955, id = 1966, id = 1975}`)
<sf-slack>
<acomodi> I am currently using VPR from PR https://github.com/SymbiFlow/vtr-verilog-to-routing/pull/9. in function `alloc_and_load_pack_molecules` when there is a chain the `do - while` will jump with the `blk_iter` of the number of atoms that have been packed ahead and continue the loop until the chain is completed. The problem here is that this jump will get the iterator pointing to a block which is not a carry0 root block,
<sf-slack>
making the creation of the next molecule unfeasible
<tpb>
Title: Sign in to GitHub · GitHub (at github.com)
<sf-slack>
<kgugala> So maybe if we get a chain atom we should always find it's root and pack the whole molecule
OmniMancer1 has quit [Quit: Leaving.]
<sf-slack>
<acomodi> @litghost, @kgugala: So, I found a solution that gets past the infinite loop. Basically, when packing a chain molecule, I inserted a mechanism to find the next block of the chain (which should be a root one) and continue packing the molecule with the same `pack_pattern` until the no further block is found for the chain.
<tpb>
Title: [WIP] round robin packing by kgugala · Pull Request #9 · SymbiFlow/vtr-verilog-to-routing · GitHub (at github.com)
<sf-slack>
<kgugala> @acomodi the change looks fine
<sf-slack>
<kgugala> Can you try building the picosoc with this one and @litghost's changes
<sf-slack>
<acomodi> Yep, I have been trying that right away and got into an issue in the following step which is the cluster creation I suppose. I'll get back to you with further info in a bit
<sf-slack>
<kgugala> Can you try building the chain test, but with 24 bit long counters?
<sf-slack>
<kgugala> The chain_test after litghost modification
<sf-slack>
<kgugala> Where we have 8 counters
<sf-slack>
<acomodi> Sure
<sf-slack>
<acomodi> For now these are some examples of the packing that was done with my modifications with the `picosoc` test: https://pastebin.com/7GGucpsx
<tpb>
Title: molecule type: BLK_TI-CLBLL_R.BLK_IG-SLICEL0.CARRYCHAIN pattern index 0: atom - Pastebin.com (at pastebin.com)
<sf-slack>
<acomodi> And this is the one obtained with the `chain_packing` test: https://pastebin.com/0wPeyTfC (which is still computing though)
<tpb>
Title: # of pack patterns 16 pack pattern index 0 block count 7 name LUT5toLUT7 root B - Pastebin.com (at pastebin.com)
<sf-slack>
<acomodi> `chain_packing` with 24 bit counter and 8 different counters has been routed, I'll check it on HW now
<sf-slack>
<acomodi> update: 8 counters with 24 bit each work on HW
<sf-slack>
<kgugala> Great
<sf-slack>
<acomodi> This is the picosoc build fail error message: `Can not find any logic block that can implement molecule. Atom soc.cpu.cpuregs.regs.22.0.1.stub (DRAM_2_OUTPUT_STUB)`
<tpb>
Title: [WIP] round robin packing by kgugala · Pull Request #9 · SymbiFlow/vtr-verilog-to-routing · GitHub (at github.com)
<sf-slack>
<acomodi> litghost: Yes, I have been seeing the DRAM error, I have an idea on how to solve it. And probably I didn't notice the non-multiple of 4 issue, I will test and solve it tomorrow. Could you open a ticket to keep track of the issue?
<tpb>
Title: Round robin packing PR segfaults on chains that are no multiple of molecule · Issue #10 · SymbiFlow/vtr-verilog-to-routing · GitHub (at github.com)