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
peepsalot has quit [Remote host closed the connection]
peepsalot has joined #amaranth-lang
Degi has quit [Ping timeout: 252 seconds]
Degi has joined #amaranth-lang
bob_twinkles_ has joined #amaranth-lang
bob_twinkles has quit [Ping timeout: 276 seconds]
<_whitenotifier> [amaranth] John-K opened pull request #1532: Fix handling of CRC start and valid signals - https://github.com/amaranth-lang/amaranth/pull/1532
<_whitenotifier> [amaranth] John-K commented on pull request #1532: Fix handling of CRC start and valid signals - https://github.com/amaranth-lang/amaranth/pull/1532#issuecomment-2404132538
<_whitenotifier> [amaranth] jeanthom commented on pull request #1532: Fix handling of CRC start and valid signals - https://github.com/amaranth-lang/amaranth/pull/1532#issuecomment-2404155322
John_K has quit [Quit: Client closed]
feldim2425_ has quit [Ping timeout: 245 seconds]
feldim2425 has joined #amaranth-lang
d_olex has quit [Ping timeout: 244 seconds]
d_olex has joined #amaranth-lang
HeracrossTheGree has joined #amaranth-lang
HeracrossTheGree has quit [Ping timeout: 256 seconds]
HeracrossTheGree has joined #amaranth-lang
jorolf[m] has quit [Quit: Idle timeout reached: 172800s]
HeracrossTheGree has quit [Ping timeout: 256 seconds]
FFY00_ has joined #amaranth-lang
FFY00 has quit [Ping timeout: 252 seconds]
<_whitenotifier> [amaranth] wanda-phi commented on pull request #1532: Fix handling of CRC start and valid signals - https://github.com/amaranth-lang/amaranth/pull/1532#issuecomment-2405172918
HeracrossTheGree has joined #amaranth-lang
HeracrossTheGree has quit [Client Quit]
John_K has joined #amaranth-lang
<_whitenotifier> [amaranth] John-K commented on pull request #1532: Fix handling of CRC start and valid signals - https://github.com/amaranth-lang/amaranth/pull/1532#issuecomment-2405422365
<_whitenotifier> [amaranth] John-K commented on pull request #1532: Fix handling of CRC start and valid signals - https://github.com/amaranth-lang/amaranth/pull/1532#issuecomment-2405437201
<_whitenotifier> [amaranth] jfng opened pull request #1533: rpc: add support for `wiring.Component`. [0.5 backport] - https://github.com/amaranth-lang/amaranth/pull/1533
<_whitenotifier> [amaranth] John-K commented on issue #1504: Drop support for Python 3.8 - https://github.com/amaranth-lang/amaranth/issues/1504#issuecomment-2405492472
<_whitenotifier> [amaranth] whitequark closed pull request #1532: Fix handling of CRC start and valid signals - https://github.com/amaranth-lang/amaranth/pull/1532
<_whitenotifier> [amaranth] whitequark commented on pull request #1532: Fix handling of CRC start and valid signals - https://github.com/amaranth-lang/amaranth/pull/1532#issuecomment-2405663642
<John_K> Wanda[cis] when you have a moment, could you help me understand your comment in https://github.com/amaranth-lang/amaranth/pull/1532 I'd appreciate your insight
<John_K> (or rather the questions that I posed in my response)
<Wanda[cis]> as for your questions
<zyp[m]> I think the largest issue is the multiple drivers one
<Wanda[cis]> well tbh the main problem with your PR is that it just plain doesn't work
<Wanda[cis]> because it triggers a multiple-driver conflict
<zyp[m]> simply put: you just can't drive a signal from more than one module
<Wanda[cis]> you are not allowed to assign to a single signal-bit from more than one module
<Wanda[cis]> if you drive valid yourself, it's a conflict with the user's driver of the valid input, and any further discussion about the details is moot
<Wanda[cis]> there isn't really any concept of ordering of events; it all ends up translated to gates and wires
<Wanda[cis]> and by "doesn't work" I mean it raises an error in synthesis
<John_K> aha, thank you. I've been working in simulation and hadn't seen any issues. I just tried to generate a bitstream and see the synthesis error that you're referring to
<John_K> thank you both
<Wanda[cis]> yeah we don't currently have full netlist validity checking in pysim, unfortunately
<Wanda[cis]> (it's on the roadmap as part of pysim2)
<Wanda[cis]> anyway; if you want to connect the CRC block to some kind of MCU, you'll have to make some register wrapper that will, in addition to whatever other bridging responsibilities, have to take care of asserting valid for exactly one cycle after a write
John_K has quit [Quit: Client closed]
<whitequark[cis]> amaranth-soc can help you build the register wrapper for it
<zyp[m]> since there's no backpressure, driving valid is in practice just a matter of hooking it up to the write strobe of the same CSR that feeds the data
John_K has joined #amaranth-lang
John_K has quit [Quit: Client closed]
<_whitenotifier> [amaranth-lang/rtl-debugger] whitequark pushed 1 commit to main [+0/-0/±1] https://github.com/amaranth-lang/rtl-debugger/compare/71027d24cc4f...509f1e84bf53
<_whitenotifier> [amaranth-lang/rtl-debugger] whitequark 509f1e8 - Fix Verilog style variable value rendering.
peepsalot has quit [Quit: Connection reset by peep]
peepsalot has joined #amaranth-lang
Darius has quit [Ping timeout: 260 seconds]
duskwuff[m] has quit [Quit: Idle timeout reached: 172800s]
Darius has joined #amaranth-lang