whitequark changed the topic of #amaranth-lang to: Amaranth hardware definition language · weekly meetings on Mondays at 1700 UTC · code https://github.com/amaranth-lang · logs https://libera.irclog.whitequark.org/amaranth-lang
lf has quit [Ping timeout: 248 seconds]
lf has joined #amaranth-lang
<_whitenotifier-9> [YoWASP/nextpnr] whitequark pushed 1 commit to develop [+0/-0/±1] https://github.com/YoWASP/nextpnr/compare/a79bfe9026c0...28193fb6544b
<_whitenotifier-9> [YoWASP/nextpnr] whitequark 28193fb - Update dependencies.
bl0x has joined #amaranth-lang
bl0x_ has quit [Ping timeout: 246 seconds]
<ktemkin> byteit101: domain there is the domain object you created; the thing you added into the list of domains with `m.domains += ClockDomain(...)`
<ktemkin> as a tip, you can do e.g. `m.domains.sync = ClockDomain()`, instead of `m.domains += ClockDomain("sync")`
<ktemkin> that lends itself to you also getting a local reference to the object: `m.domains.mydomain = mydomain = ClockDomain()`
<ktemkin> normally, you can use ClockSignal("domain_name") and ResetSignal("domain_name") to get a proxy object that's basically equivalent to a domain's clock or reset signal; but I don't think verilog.convert accepts those proxies; it's been a while, though
<ktemkin> (accepts those in its port argument, I should say)
Degi has quit [Ping timeout: 255 seconds]
Degi has joined #amaranth-lang
devector has joined #amaranth-lang
nelgau has quit []
devector has quit [Quit: Leaving.]
devector has joined #amaranth-lang
DeVector1 has joined #amaranth-lang
devector has quit [Ping timeout: 246 seconds]
<byteit101> ktemkin: Ah, ok. And yes, it does acept the proxies just find
DeVector1 has quit [Quit: Leaving.]
nak has quit [Ping timeout: 255 seconds]
nak has joined #amaranth-lang
<whitequark> huh, it does? I thought there's an open bug for not accepting those
<whitequark> but yeah, it's been a while, maybe I don't remember either
<byteit101> [13:54:42] <byteit101> Aha, looks like I don't even have to hook them up to anything when I'm just exporting to verilog
<byteit101> ^^ That's was I was doing yesterdy
peeps has joined #amaranth-lang
peepsalot has joined #amaranth-lang
peeps[zen] has quit [Ping timeout: 268 seconds]
peeps has quit [Ping timeout: 246 seconds]
<d1b2> <Nate> maybe I missed it somewhere, but how fast are simulations in Amaranth? Similar to e.g. cocotb?
<whitequark> pysim is not very fast, but it's Python-only, and you can simulate e.g. a superscalar out-of-order CPU using pysim, especially on PyPy, but only on small testbenches
<whitequark> cxxsim, which isn't yet merged, is comparable with verilator
<whitequark> there's going to be work on cxxsim to bring it up to production status later this year
<bl0x> Will the interface to cxxsim be similar to the pysim interface?
<whitequark> exactly the same, and you'll be able to reuse testbenches as-is
<bl0x> Nice!
<whitequark> essentially it will be a "make this faster" button
<whitequark> but startup latency will increase
<whitequark> it's a tradeoff and that is why pysim is not being replaced
<bl0x> Great! Startup latency is fine, if total runtime is cut.
<bl0x> Are there any projects that interactively simulate external peripherals, such as serial device or buttons/switches?
<bl0x> If not, I wonder how difficult that would be
<whitequark> cxxsim is going to include that
<whitequark> there's already support for it, but it has some issues wrt race conditions, and I don't consider it production grade yet
<whitequark> stay tuned!
<bl0x> Is there any preliminary documentation along those lines?
<jn> completely different question: when i have a Platform with a Connector, how do i access the i/o signals corresponding to the listed in the connector
<jn> (sorry, forgot the question mark)
<d1b2> <20goto10> the cases I've seen assign the Connector to a Resource (ie PMOD) and then .request the Resource
<whitequark> bl0x: unfortunately not at the moment
<whitequark> 20goto10: yep, that's the way to do it
<bl0x> Ok, no hurry! It makes me happy to have such competent and helpful people around.
<d1b2> <Olivier Galibert> fascinating, I'm getting the names in the phone interface but not in the web one
<d1b2> <Olivier Galibert> wq: any work done on how to provide code to simulate Instances?
<jn> 20goto10: thanks
<d1b2> <20goto10> np 🙂
<whitequark> Olivier: not yet, considering the roadmap I have, I think that comes in 2-3 months
<whitequark> (very approximately
<whitequark> * (very approximately)