<hackerfoo> I get these critical warnings from Vivado when using fasm2v:
<hackerfoo> [Constraints 18-5] Cannot loc instance 'CLBLL_R_X13Y110_SLICE_X19Y110_DLUT/LUT6' at site SLICE_X19Y110, for
<hackerfoo> bel D5LUT Routing contention at pips element DOUTMUX
<hackerfoo> [Constraints 18-5] Cannot loc instance 'CLBLM_R_X11Y110_SLICE_X14Y110_RAM32X1D_CD/DP' at site SLICE_X14Y110, for bel C6LUT Element SLICE_X14Y110.C5LUT can not be used as a route-through for net CLBLL_R_X13Y110_SLICE_X18Y110_BMUX taged to C5LUT_O5 because a RAM or shift register is placed there
<hackerfoo> The resulting bitstream works on hardware, though, even through the bitstream from VPR doesn't.
<hackerfoo> Resolution: When using BEL constraints, ensure the BEL constraints are defined before the LOC constraints to avoid conflicts at a given site.
<hackerfoo> I don't know what it means if Step 8 works, and yet using the *_prog target doesn't work. I guess the next step is to use bit2fasm and diff that with the previous fasm file.
<hackerfoo> Oh wait - I made some changes. I'm surprise it works. https://github.com/HackerFoo/symbiflow-arch-defs/commit/625452bf5ead85c4ac5d5082f69a4a62c0a3c730
<tpb> Title: WIP · HackerFoo/symbiflow-arch-defs@625452b · GitHub (at github.com)
<hackerfoo> I'll have to revert them and see if it does the same thing.
citypw has joined #symbiflow
Bertl_oO is now known as Bertl_zZ
proteusguy has quit [Ping timeout: 258 seconds]
proteusguy has joined #symbiflow
jevinskie has joined #symbiflow
proteusguy has quit [Ping timeout: 276 seconds]
kraiskil has joined #symbiflow
citypw has quit [Ping timeout: 258 seconds]
citypw has joined #symbiflow
kraiskil has quit [Read error: No route to host]
kraiskil has joined #symbiflow
kraiskil has quit [Ping timeout: 250 seconds]
jevinskie has quit [Ping timeout: 276 seconds]
kraiskil has joined #symbiflow
celadon has quit [Quit: ZNC 1.7.2+deb2 - https://znc.in]
celadon has joined #symbiflow
kraiskil has quit [Ping timeout: 245 seconds]
kraiskil has joined #symbiflow
citypw has quit [Ping timeout: 258 seconds]
kraiskil has quit [Ping timeout: 250 seconds]
kraiskil has joined #symbiflow
<sf-slack2> <acomodi> I have understood what is the problem with the following error
<sf-slack2> <acomodi> prjxray.fasm_assembler.FasmInconsistentBits: FASM line "CLBLM_R_X5Y117.SLICEL_X1.DOUTMUX.O5" wanted to clear bit (131743, 35, 21) but was set by FASM line "CLBLM_R_X5Y117.SLICEL_X1.DOUTMUX.D5Q"
<sf-slack2> <acomodi> basically I use the `placement_index` to retrieve the right fasm name of a SLICE. The problem is that I have noticed that `SLICEL1` has the same placement_index as `SLICEL2`. So the problem raises when a CLB has both SLICES utilized and in the FASM output there will be a bit collision as `genfasm` assigns the same SLICE name to the two different SLICEs.
OmniMancer has joined #symbiflow
Bertl_zZ is now known as Bertl
_florent_ has quit [Ping timeout: 264 seconds]
sorear has quit [Read error: Connection reset by peer]
_florent_ has joined #symbiflow
sorear has joined #symbiflow
kraiskil has quit [Ping timeout: 245 seconds]
kraiskil has joined #symbiflow
proteusguy has joined #symbiflow
<sf-slack2> <mkurc> I made a significant progress regarding CLB tile split. Everything related to routing stored in `channels.db` seems to be remapped correctly. Now I am focusing on adapting the architecture definition to the split tiles.
<sf-slack2> <mkurc> I managed to generate initial `arch.xml` with correct grid layout, tile types and FASM prefixes. Working on SLICE tile pb_type xmls
<sf-slack2> <acomodi> scalable_proc with N=1 is working with equivalent tiles. I have added a temporary workaround to get the correct FASM slice name
<sf-slack2> <acomodi> @mkurc great, I guess that we are converging to a nice tile split solution. As soon as it is done I think I will be able to remove the workarounds from genfasm
<sf-slack2> <mkurc> Yeah, the VPR will operate only on SLICEL and SLICEM tiles.
<sf-slack2> <mkurc> @acomodi But there is a catch with the genfasm: Right now multiple instances of eg. SLICEL have the same FASM prefix if they come from the same CLB
<sf-slack2> <mkurc> its a matter of metadata
<sf-slack2> <acomodi> Yes, the problem is that the metadata for a SLICE in CLBLL is different from the one in a CLBLM. The problem is that I couldn't find any clean solution to retrieve the correct metadata
<sf-slack2> <acomodi> Actually, I am thinking that it would be better to find a solution to have a cleaner solution in genfasm anyways as it should be independent from the architecture
<sf-slack2> <mkurc> @acomodi Maybe the metadata should travel further in the VPR flow ? I'm not familiar with how it is implemented there.
<sf-slack2> <acomodi> @mkurc Here is a visualization of the situation: https://imgur.com/a/MWwoesf. If a CLBLM is used instead of the CLBLM it will use different FASM features. The problem is that genfasm is working at the `net` level, and the `net` level is unaware of the fact that the tile have been swapped
<sf-slack2> <mkurc> So maybe the net level should be aware of that.
<sf-slack2> <mkurc> @acomodi BTW What is the difference between SLICEL0, SLICEL1 and SLICEL2? Why are they specialized?
<sf-slack2> <mkurc> I must get rid of that specialization to make generic SLICE tiles
<sf-slack2> <acomodi> @mkurc I think the reason is that in the CLB pb_type right now there are two different SLICES with two different names (even if, for instance, CLBLL has two identical SLICELs). They need to have different names otherwise VPR will throw an error
<sf-slack2> <acomodi> But apart from that there should be no difference at all between them
<sf-slack2> <mkurc> @acomodi You are probably right. I see that there is `ntemplate.slicelN.model.xml` file which is a template. And the only thing being changed is the `{N}` section which is present for some wire names.
<sf-slack2> <acomodi> exactly
_florent_ has quit [Ping timeout: 246 seconds]
_florent__ has joined #symbiflow
OmniMancer has quit [Quit: Leaving.]
futarisIRCcloud has quit [Quit: Connection closed for inactivity]
citypw has joined #symbiflow
citypw has quit [Ping timeout: 258 seconds]
citypw has joined #symbiflow
acomodi has quit [Quit: Connection closed for inactivity]
<mithro> Morning
<sf-slack2> <acomodi> Morning
<elms> Good time of day yall
<sf-slack2> <acomodi> I have just created a PR to add the `tiles` tag during prjxray import in symbiflow-arch-defs. https://github.com/SymbiFlow/symbiflow-arch-defs/pull/653
<tpb> Title: WIP: Modified prjxray import to add tiles tags by acomodi · Pull Request #653 · SymbiFlow/symbiflow-arch-defs · GitHub (at github.com)
kraiskil has quit [Ping timeout: 245 seconds]
citypw has quit [Ping timeout: 244 seconds]
proteusguy has quit [Ping timeout: 250 seconds]
citypw has joined #symbiflow
<tpb> Title: ice40: Adding real world timing values. · mithro/symbiflow-arch-defs@c2579a2 · GitHub (at github.com)
<elms> mithro: yeah, but then I immediately forgot about it. I'm not sure I understand the full context. Did you just mean for reference?
<mithro> elms: Looks like I had already started importing the real timing values directly into the XML...
<elms> mithro: ok
<mithro> elms: Would be good to compare to either your manual or generated version?
<elms> yep
<elms> Will do
proteusguy has joined #symbiflow
<tpb> Title: rr_graph tests and docstrings by elmsfu · Pull Request #584 · SymbiFlow/symbiflow-arch-defs · GitHub (at github.com)
<elms> mithro: I will
kmehall has quit [Quit: No Ping reply in 180 seconds.]
kmehall has joined #symbiflow
zkms has quit [Ping timeout: 240 seconds]
zkms has joined #symbiflow
futarisIRCcloud has joined #symbiflow
OmniMancer has joined #symbiflow
zkms has quit [Ping timeout: 250 seconds]
tpb has quit [Remote host closed the connection]
tpb has joined #symbiflow