Tuesday, 2019-02-26

*** tpb has joined #symbiflow00:00
*** alfa has joined #symbiflow00:50
*** alfa has left #symbiflow00:51
litghostkgugala: https://github.com/SymbiFlow/symbiflow-arch-defs/pull/404 This helps with the carry pack test, but picosoc never packs.  Some sort of infinite loop in the packer?01:07
tpbTitle: Remove second chain from each CLB. by litghost · Pull Request #404 · SymbiFlow/symbiflow-arch-defs · GitHub (at github.com)01:07
*** citypw has joined #symbiflow02:46
*** citypw has quit IRC02:47
sf-slack<kgugala> I think the hang is happening in the prepacking03:18
sf-slack<kgugala> @litghost does it happen with the current chain_pack test (8 counters, 8 bit each)?03:19
litghostIt is03:19
sf-slack<kgugala> I'm traveling today, @acomodi can you take a look on that?03:20
*** proteusguy has quit IRC04:55
*** OmniMancer has joined #symbiflow06:16
*** proteusguy has joined #symbiflow07:17
*** _whitelogger has quit IRC07:49
*** _whitelogger has joined #symbiflow07:51
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 carrychain08:41
sf-slack<acomodi> I'll keep you updated08:42
*** OmniMancer1 has joined #symbiflow09:31
*** OmniMancer has quit IRC09:33
*** tmichalak1 has joined #symbiflow09:35
*** celadon has joined #symbiflow09:36
*** tmichalak has quit IRC09:42
*** celadon_ has quit IRC09:42
*** kgugala has quit IRC09:42
*** proteusguy has quit IRC09:42
*** proteusguy has joined #symbiflow09:42
*** kgugala has joined #symbiflow09:43
*** proteusguy has quit IRC10:25
*** acomodi has joined #symbiflow10:37
*** proteusguy has joined #symbiflow10:44
*** somlo has quit IRC12:37
*** somlo has joined #symbiflow12:39
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}`)13:16
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,13:23
sf-slackmaking the creation of the next molecule unfeasible13:23
tpbTitle: Sign in to GitHub · GitHub (at github.com)13:23
sf-slack<kgugala> So maybe if we get a chain atom we should always find it's root and pack the whole molecule13:56
*** OmniMancer1 has quit IRC14:11
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.15:43
sf-slackhttps://github.com/SymbiFlow/vtr-verilog-to-routing/pull/9/commits/9c69b83408714340a0b3bd1b6cc2b9187ca02c7315:43
tpbTitle: [WIP] round robin packing by kgugala · Pull Request #9 · SymbiFlow/vtr-verilog-to-routing · GitHub (at github.com)15:43
sf-slack<kgugala> @acomodi the change looks fine15:48
sf-slack<kgugala> Can you try building the picosoc with this one and @litghost's changes15:49
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 bit15:51
sf-slack<kgugala> Can you try building the chain test, but with 24 bit long counters?15:52
sf-slack<kgugala> The chain_test after litghost modification15:53
sf-slack<kgugala> Where we have 8 counters15:53
sf-slack<acomodi> Sure15:53
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/7GGucpsx15:55
tpbTitle: molecule type: BLK_TI-CLBLL_R.BLK_IG-SLICEL0.CARRYCHAIN pattern index 0 - Pastebin.com (at pastebin.com)15:55
sf-slack<kgugala> Can you also paste prepack echo file?15:56
sf-slack<acomodi> Here is the picosoc prepack echo file16:01
sf-slack<kgugala> Please use pastebin16:02
sf-slack<acomodi> Right, the problem is that it exceeds 512kb, give me a sec16:03
sf-slack<acomodi> https://pastebin.com/sQLBHCJG there are all the carrychains molecules here16:06
tpbTitle: molecule type: BLK_TI-CLBLL_R.BLK_IG-SLICEL0.CARRYCHAIN pattern index 0: atom - Pastebin.com (at pastebin.com)16:06
sf-slack<acomodi> And this is the one obtained with the `chain_packing` test: https://pastebin.com/0wPeyTfC (which is still computing though)16:08
tpbTitle: # of pack patterns 16 pack pattern index 0 block count 7 name LUT5toLUT7 root B - Pastebin.com (at pastebin.com)16:08
sf-slack<acomodi> `chain_packing` with 24 bit counter and 8 different counters has been routed, I'll check it on HW now16:12
sf-slack<acomodi> update: 8 counters with 24 bit each work on HW16:21
sf-slack<kgugala> Great16:21
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)`16:25
mithrolitghost / kgugala: https://docs.google.com/document/d/1LQ0H2C9IFnCVtSuaniCs1dDmBoMBWwBQLKAGuo_kSc0/edit#heading=h.sjrs4z6k526116:38
tpbTitle: VPR Proposal for supporting equivalent placement types - Google Docs (at docs.google.com)16:38
sf-slack<kgugala> @mithro the tile concept sounds interesting16:48
elmslitghost: have you run into eblif .param statements with don't x (unknown/don't care)?19:45
litghostYes, had to modify setundef to set parameters19:45
elmsahh thanks19:47
litghosthttps://github.com/SymbiFlow/symbiflow-arch-defs/blob/master/xc7/yosys/synth.tcl#L1619:57
tpbTitle: symbiflow-arch-defs/synth.tcl at master · SymbiFlow/symbiflow-arch-defs · GitHub (at github.com)19:57
litghostacomodi: There is a bug now after https://github.com/SymbiFlow/vtr-verilog-to-routing/pull/9/commits/9c69b83408714340a0b3bd1b6cc2b9187ca02c73 , testing with non-multiple of 4 carry chains20:41
tpbTitle: [WIP] round robin packing by kgugala · Pull Request #9 · SymbiFlow/vtr-verilog-to-routing · GitHub (at github.com)20:41
litghostacomodi: And there is something about https://github.com/SymbiFlow/vtr-verilog-to-routing/pull/9 that breaks the DRAM packing patterns for both murax and picosoc20:41
tpbTitle: [WIP] round robin packing by kgugala · Pull Request #9 · SymbiFlow/vtr-verilog-to-routing · GitHub (at github.com)20:41
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?20:50
litghosthttps://github.com/SymbiFlow/vtr-verilog-to-routing/issues/1020:52
tpbTitle: Round robin packing PR segfaults on chains that are no multiple of molecule · Issue #10 · SymbiFlow/vtr-verilog-to-routing · GitHub (at github.com)20:52
sf-slack<acomodi> Great, thanks20:54
*** pen has joined #symbiflow21:57
*** pen has quit IRC21:58

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