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 · code https://github.com/amaranth-lang · logs https://libera.irclog.whitequark.org/amaranth-lang · Matrix #amaranth-lang:matrix.org
Degi_ has joined #amaranth-lang
Degi has quit [Ping timeout: 248 seconds]
Degi_ is now known as Degi
jess is now known as jess-o-lantern
GenTooMan has quit [Ping timeout: 248 seconds]
GenTooMan has joined #amaranth-lang
<tpw_rules> ooh i need to steal the HDMI work
GenTooMan has quit [Ping timeout: 248 seconds]
GenTooMan has joined #amaranth-lang
<_whitenotifier-f> [amaranth] lekcyjna123 opened issue #922: Bug in `Memory` simulation - https://github.com/amaranth-lang/amaranth/issues/922
<_whitenotifier-f> [amaranth] whitequark commented on issue #922: Issue with `Memory` simulation - https://github.com/amaranth-lang/amaranth/issues/922#issuecomment-1742035710
zyp[m] has quit [Quit: Idle timeout reached: 172800s]
Guest99 has joined #amaranth-lang
chaoticryptidz has quit [Quit: No Ping reply in 180 seconds.]
galibert[m] has quit [Ping timeout: 260 seconds]
whitequark[cis] has quit [Ping timeout: 260 seconds]
dyniec has quit [Ping timeout: 264 seconds]
chaoticryptidz has joined #amaranth-lang
_catircservices has quit [Ping timeout: 260 seconds]
dyniec has joined #amaranth-lang
galibert[m] has joined #amaranth-lang
whitequark[cis] has joined #amaranth-lang
_catircservices has joined #amaranth-lang
omnitechnomancer has quit [Quit: Bridge terminating on SIGTERM]
catlosgay[m] has quit [Quit: Bridge terminating on SIGTERM]
adamgreig[m] has quit [Quit: Bridge terminating on SIGTERM]
_catircservices has quit [Quit: Bridge terminating on SIGTERM]
jfng[m] has quit [Quit: Bridge terminating on SIGTERM]
mcc111[m] has quit [Quit: Bridge terminating on SIGTERM]
pepijndevos[m] has quit [Quit: Bridge terminating on SIGTERM]
Wanda[cis] has quit [Quit: Bridge terminating on SIGTERM]
whitequark[cis] has quit [Quit: Bridge terminating on SIGTERM]
galibert[m] has quit [Quit: Bridge terminating on SIGTERM]
_catircservices has joined #amaranth-lang
GenTooMan has quit [Ping timeout: 260 seconds]
GenTooMan has joined #amaranth-lang
GenTooMan has quit [Ping timeout: 272 seconds]
<tpw_rules> is it to get the components without having amaranth drive quartus itself?
<tpw_rules> i.e. why not just use the amaranth IntelPlatform?
cyrozap has quit [Quit: ZNC 1.8.2+deb3.1 - https://znc.in]
cyrozap has joined #amaranth-lang
GenTooMan has joined #amaranth-lang
mcc111[m] has joined #amaranth-lang
<mcc111[m]> <tpw_rules> "@mcc111: what is the reason..." <- hi— so catherine wrote this code— i will understand as best i can... (full message at <https://catircservices.org/_matrix/media/v3/download/catircservices.org/QLVeVzpWwKPFWYfduuzAjftd>)
<tpw_rules> okay, that's about what i estimated. and i had a similar need too
<tpw_rules> (well at least for the immediate goal)
<tpw_rules> i can't recall if i shared this here yet: https://github.com/tpwrules/de10_nano_nixos_demo
<tpw_rules> probably not because it doesn't have amaranth yet
Guest99 has quit [Ping timeout: 245 seconds]
GenTooMan has quit [Ping timeout: 248 seconds]
galibert[m] has joined #amaranth-lang
<galibert[m]> Wouldn't the more sophisticated solution be to rewrite the apf in amaranth?
<galibert[m]> It's probably not that horribly complicated
<galibert[m]> too bad the pocket is unobtainium
GenTooMan has joined #amaranth-lang
GenTooMan has quit [Ping timeout: 248 seconds]
jjsuperpower has joined #amaranth-lang
whitequark[cis] has joined #amaranth-lang
<whitequark[cis]> i have one
<galibert[m]> Cool
<tpw_rules> i effectively did that for litex. but i didn't actually do anything meaningful except video output
GenTooMan has joined #amaranth-lang
<tpw_rules> so how does a wiring.Component differ from an Elaboratable?
<tpw_rules> would we now expect everything to inherit from wiring.Component?
<whitequark[cis]> Elaboratable is a core concept, wiring.Component is a library concept
<whitequark[cis]> for the next release we are not mandating wiring.Component (possibly yet)
<whitequark[cis]> you are free to use either
<tpw_rules> okay. i just like how this one annotates directions and presumably integrates with verilog.convert better
<whitequark[cis]> it does in fact integrate with verilog.convert
<tpw_rules> Component is a part of the new interface stuff too right?
<whitequark[cis]> yep
<tpw_rules> okay. i need to get my feet wet wrt that. but i like how i can say In and Out instead of just i_ and o_
<tpw_rules> i also think it might be more clear to my verilog ultra-newbies
<whitequark[cis]> yep! sometimes it would be both, like if you have both kinds of ports
<tpw_rules> what do you mean by kind of port?
<whitequark[cis]> er, sorry, that's incomprehensible
<whitequark[cis]> i mean if you have both an in stream and an out stream for example, you'd still use i_ o_ prefixes
<tpw_rules> ah that's fair
<tpw_rules> do you mean my statement is incomprehensible?
<whitequark[cis]> nonono i meant mine was
<whitequark[cis]> it's late here and i just woke up from a nap, apologies ^^;
<tpw_rules> that's cool
<tpw_rules> well i think i'll give Component a spin then. not sure how it relates to interfaces yet but i can try those later. is there a convenient way to render https://github.com/amaranth-lang/amaranth/pull/880/ ?
<whitequark[cis]> yes, one sec
<whitequark[cis]> I hooked that up :D
<tpw_rules> (also i forget, does something need to be a Component to hook up interface stuff to it?)
<whitequark[cis]> nope, it just needs to have a signature property
<tpw_rules> ok. probably need to refamiliarize myself with the RFC
<tpw_rules> does Component do anything other than set up Signals from typed class members?
<whitequark[cis]> and adds a signature property
<tpw_rules> which doesn't mean anything to met yet, need to look that up
<tpw_rules> ah okay, so the signature property is the Signature object which represents the set of signals
<whitequark[cis]> yes
<tpw_rules> is In and Out binding in any way except by connect? will i get an error if i try to use an In signal in some way?
<tpw_rules> like use its value in an expression
<tpw_rules> i assume if i try to set an Out i would eventually get some error that the net is multiply driven
<tpw_rules> (horrendous abuse of terminology)
<whitequark[cis]> tpw_rules: only by `connect`, at the time
<whitequark[cis]> tpw_rules: no, it will work the same as normally
<whitequark[cis]> i.e. you can set it from outside and make things misbehave
<tpw_rules> okay. so it's just notation at this point
<tpw_rules> but it sounds like you might wish to make that stronger in the future?
<tpw_rules> i don't take any stance at this point, just learning the new stuff
<whitequark[cis]> yes. I'm introducing new things slowly, rather than radically redesigning the language or something
<tpw_rules> sure, i guess i would have expected that In and Out could be made stronger
<tpw_rules> s/could/would/
chaoticryptidz has quit [Quit: https://quassel-irc.org - Chat comfortably. Anywhere.]
chaoticryptidz has joined #amaranth-lang
chaoticryptidz has quit [Quit: https://quassel-irc.org - Chat comfortably. Anywhere.]
chaoticryptidz has joined #amaranth-lang
<crzwdjk> I appreciate the gradual approach, and also the improvements being made, they make the language that much easier to use for the relatively HDL-clueless such as myself.
<crzwdjk> As for the relation between Elaboratables and Components, I do have an Elaboratable that is not a Component, because its purpose is to produce the clock and reset signals and thus it has no conventional output signals. Well, at least that's how it works now, maybe one day the clock domain system will be redesigned too.
lf has quit [Ping timeout: 260 seconds]
lf has joined #amaranth-lang
chaoticryptidz has quit [Quit: https://quassel-irc.org - Chat comfortably. Anywhere.]
chaoticryptidz has joined #amaranth-lang
<tpw_rules> hm i remember amaranth output verilog looking less autogenerated?
<tpw_rules> ah, that's partly the fault of strip_internal_attrs