<jorolf[m]>
Maybe there is an easy way to replace parts of the design based on whether it's being simulated or synthesized?
frgo has quit [Ping timeout: 272 seconds]
<zyp[m]>
the platform argument will be None when elaborated for simulation
<zyp[m]>
and with the right persuasion, you can probably get the simulator to simulate them too; I've done it before
<zyp[m]>
but that was before the last simulator changes and SimulationPort and friends, so my old code is defunct and I haven't looked into how to update it yet
<zyp[m]>
the key is that by using the changed-trigger on the clock signal, rather than the tick-trigger on the clock domain, you can act on both edges
<whitequark[cis]>
Glasgow has some code simulating DDR buffers I think
<whitequark[cis]>
I'll dig it out once I have a keyboard
<zyp[m]>
how was it, the main reason we don't have first class support for DDR buffers yet are because timings are platform specific, so there's no single generic model?
<whitequark[cis]>
i think it was just about the difficulty of attaching processes to elaboratables
<pepijndevos[m]>
<RobTaylor[m]> "you can take a look at https://..." <- omg a wild chipflow appears haha oh right your entire thing is making amaranth socs super easy hmmmmm
frgo has joined #amaranth-lang
frgo has quit [Ping timeout: 244 seconds]
<RobTaylor[m]>
<pepijndevos[m]> "omg a wild chipflow appears haha..." <- ?