Saturday, 2022-01-08

*** tpb <[email protected]> has joined #symbiflow00:00
*** theNick <[email protected]> has joined #symbiflow15:17
theNickHi guys, I hope this is the right place for my question! First, awesome work! I have a question about project x-rays bit2fasm feature where I wasn't able to find an answer in the docs (or in the code). When I run bit2fasm on a Vivado encoded bitstream it will yield the correct FASM file.15:28
theNickBut the LUT INIT values between the FASM representation and what Vivado shows in the GUI (or the HDL code, if one forces a full LUT6/5 with correct pin mapping and without optimizations) differ. Any idea what is happening there? Do you guys have any pointers on this / know what I am missing? First thing that comes to mind is that Xilinx obfuscates15:28
theNickthe LUT Init values and the FASM stays true to the bitstream values. Thanks in advance!15:28
tpb<g​atecat> theNick: are you sure you are accounting for the LUT permutation correctly? that's the most likely reason for shuffled init values18:58
theNicktpb Thanks for the fast answer! :) I'm pretty sure I do not account for that at all. Do you have a link / resource to catch up on this topic? It sounds like it should be pretty obvious, but I am kind of stuck to my embarrassment19:30
tpb<g​atecat>  Vivado will in general swap inputs around and it's important to make sure that you are following the hardware inputs correctly when determining the init values19:33
tpb<g​atecat> "correct pin mapping" sounds like you're trying to lock the pin mapping to prevent this; is this actually confirmed opening up the post-PnR design ?19:33
theNickAh, yes. I was assuming that the INIT value that is displayed in Vivado is already adjusted for eventually swapped pin assignments. And yes, I tried to exclude that case by locking the pin mapping - I'm gonna double check if that is really the case.19:36
theNickBut I gather from your answer that the INIT values in the FASM and in Vivado should match, once corrected for pin assignments?19:36
tpb<g​atecat> Yeah; they should - also note that for anything smaller than a LUT6 it will be duplicated up to a LUT6 (i.e. unmapped pins are treated as don't cares when calculating the 'physical' 64-bit init value)19:38
theNickGreat to hear! Then I'm gonna tinker away and see if I can find the culprit. Thanks a lot tpb!19:42
tpb<g​atecat>  it's gatecat here, tpb is the name of the Slack-IRC bridge bot :D19:43
tpb<g​atecat> (I'm on the IRC side of the lake)19:43
theNickI was already wondering why the nick doesn't match :D  Have a good evening :)19:45
*** theNick <[email protected]> has quit IRC (Ping timeout: 90 seconds)21:37

Generated by irclog2html.py 2.17.2 by Marius Gedminas - find it at https://mg.pov.lt/irclog2html/!