whitequark[cis] changed the topic of #amaranth-lang to: Amaranth hardware definition language · weekly meetings: Amaranth each Mon 1700 UTC, Amaranth SoC each Fri 1700 UTC · play https://amaranth-lang.org/play/ · code https://github.com/amaranth-lang · logs https://libera.irclog.whitequark.org/amaranth-lang · Matrix #amaranth-lang:matrix.org
<cr1901> jfng: Would adding Wishbone tag cycle support to amaranth-soc constitute an RFC or not (I'm guessing it would, but just in case)?
<cr1901> Actually, nevermind... not sure I need one
Degi has quit [Ping timeout: 276 seconds]
Degi has joined #amaranth-lang
<jfng[m]> i think it would, but i'm not sure if we'd want it anyway
<jfng[m]> after reading a bit more, they don't seem to be as much of a maintenance burden as i thought; but yeah, this would need an RFC
frgo has quit [Remote host closed the connection]
frgo has joined #amaranth-lang
sugarbee1 has quit [Ping timeout: 272 seconds]
sugarbeet has joined #amaranth-lang
Raito_Bezarius has quit [Ping timeout: 252 seconds]
Raito_Bezarius has joined #amaranth-lang
cr1901 has quit [Ping timeout: 248 seconds]
cr1901 has joined #amaranth-lang
pbsds35 has quit [Quit: The Lounge - https://thelounge.chat]
pbsds35 has joined #amaranth-lang
<cr1901> I understand why warning about this can't be done, but it's been "0" days since I got bit by "you forgot to call add_clock in the simulator", and wondering for several minutes why ctx.tick() was hanging...
<cr1901> Inside a testbench, I have: "await ctx.tick().until(m.fetch.ack == 1); assert ctx.get(m.fetch.ack) == 1". This fails because I have a _process_ simulating a Wishbone memory in Python code, and it runs "ctx.set(m.bus.ack, 1)
<cr1901> ; await ctx.tick(); ctx.set(m.bus.ack, 0)" before the process wakes up. 1/2
<cr1901> before the testbench* wakes up
<cr1901> What recourse do I have to make the testbench see m.fetch.ack == 1 before the simulated process wakes up first (I guess the answer is "you can't do this")?
<cr1901> (Alternatively, "why are 'while ctx.get(m.fetch.ack) != 1:
<cr1901> await ctx.tick()' and 'await ctx.tick().until(m.fetch.ack == 1)' not equivalent"?