pepijndevos changed the topic of #apicula to: Project Apicula: bitstream documentation and tooling for Gowin FPGAs -- logs
<omnitechnomancer> I see you used 'opt_clean -purge' already I was going to ask if doing that made a difference with your weird wide assignments.
FabM has joined #apicula
<kbeckmann> thanks omnitechnomancer and yes it helped.
<omnitechnomancer> I found it because they make the yosys show untidy :P
<pepijndevos_> ohhhh *facepalm*... let me tell you relative pointers don't work so well when you accidentally copy a struct by value...
FabM has quit [Ping timeout: 265 seconds]
<omnitechnomancer> Yea need to keep struct in location when it has relative pointers
<omnitechnomancer> either do a step that unpacks the pointers into real pointers
<omnitechnomancer> or disable copying
<omnitechnomancer> This is one reason self referential structures are not encouraged in Rust (outside of the Pin thing which allows you to promise you will never move it until it is destroyed)
FabM has joined #apicula
<daveshah> I think removing the RelPtr copy constructor might be enough to make this more obvious, unless that triggers some C++ weirdness I haven't thought of
<omnitechnomancer> Should work I think?
FabM has quit [Ping timeout: 265 seconds]
<kbeckmann> i'm working on adding sdr and ddr mode in nmigen for GW1N-1 and am not sure how i should do the SDR case. the docs talk about an "io register" but i can't find a primitive for it.
<kbeckmann> the IP builder only seems to support xdr >= 2
<Lofty> kbeckmann: you *can* use multiple cells to accomplish the job :P
<kbeckmann> okay
<Lofty> (Intel does this, for example)
<kbeckmann> i think the ECP IO blocks have dedicated registers for this, so i just wanted to be sure that i'm not missing anything here
<kbeckmann> lattice ECP5*