<_whitenotifier-4>
[amaranth-lang/rtl-debugger] whitequark fce5805 - Move esbuild configuration to `build.mjs`.
bai has joined #amaranth-lang
nimh has quit [Ping timeout: 272 seconds]
<bai>
Breaking up logic with m.d.comb saved me today. Had been using a single m.d.comb at the end of elaborate but the ast quickly becomes very long and the simulator hangs
<whitequark[cis]>
how did your code look like with a single m.d.comb?
nimh has joined #amaranth-lang
<bai>
a bunch of `Mux` and Array
<whitequark[cis]>
ah yeah, Array in particular can easily lead to a combinatorial explosion
<whitequark[cis]>
I think we warn against that in the manual, but it can still catch you off guard
<bai>
ya i saw the warning, but i didn't pay attention to the ast. In fact even without array, just calling a recursive lead zero counter https://pastebin.com/0hBMAqyC twice on 24bit hangs the simulator
<bai>
working on an fpu and currently still just trying pure comb logic
Wanda[cis] has joined #amaranth-lang
<Wanda[cis]>
yeah uh
<Wanda[cis]>
there's plans to fix that at some point
<Wanda[cis]>
but that does require a fair bit of work, particularly on the simulator side
<bai>
im happy just breaking up the ast with m.d.comb, the code should be separated into different Components anyways :p
ddribin has joined #amaranth-lang
ddribin93 has joined #amaranth-lang
ddribin93 has left #amaranth-lang [#amaranth-lang]