pepijndevos changed the topic of #apicula to: Project Apicula: bitstream documentation and tooling for Gowin FPGAs https://github.com/YosysHQ/apicula -- logs https://freenode.irclog.whitequark.org/apicula
_whitelogger has joined #apicula
<omnitechnomancer> any mystery bits in a vendor bitstream that works?
FabM has joined #apicula
<pepijndevos> my plan for today is exactly to hunt for mystery bits
<pepijndevos> although... now that it's my job for a while and I work 4 days I'm going to try to not work all day haha
<pepijndevos> Firs look reveals no mystery bits.
<pepijndevos> So, there are a *ton* of mystery bits, but they are *always* set. The difference between a bistream with and without anything in it reveals no *extra* mystery bits.
<daveshah> Always on bits are quite common
<daveshah> Sometimes though they aren't really always on, just affected by some other variable (like configuration mode, or they are disabled when some other feature is enabled)
<pepijndevos> here is what I did so far https://jsfiddle.net/2ven8xwj/
<pepijndevos> made an empty bitstream
<pepijndevos> made a bitstream with unconnected IOB and DFF
<pepijndevos> maed a bitstream with connectionsh
<pepijndevos> then printed enlarged tiles with anything in them of the difference between the empty and connected bitstream
<pepijndevos> It has bank enable, IOB, DFF, and routing, nothing special that I can tell.
<pepijndevos> What I want to try is... make the most simple program with ONE dff, PNR with the vendor tools, and then try to replicate it EXACTLY with nextpnr, pack it up, and compare
<pepijndevos> oh! simpler idea: take vendor bitstream, unpack, and repack.
<pepijndevos> Except unpack does not currently produce the same format as pack expects...
<pepijndevos> kinda dumb in retrospect...
<pepijndevos> I guess I just need to add NEXTPNR_BEL and ROUTING attributes and have yosys convert it to JSON?
<daveshah> Assuming that's what your packer expects then yeah, that should work
<pepijndevos> yea it currently just works on nextpnr json
<pepijndevos> oh no... I have created a world where the unpacker produces Gowin primitives, which makes sense, and the packer takes GENERIC primitives, which, under the current circumstances also kinda makes sense... except the combination is very silly.
FabM has quit [Ping timeout: 256 seconds]