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
<bl0x_> Dankeschön =)
lf_ has joined #amaranth-lang
lf has quit [Ping timeout: 264 seconds]
<_whitenotifier-9> [YoWASP/yosys] whitequark pushed 1 commit to develop [+0/-0/±1] https://github.com/YoWASP/yosys/compare/fe8e729ab034...d119fc35d75d
<_whitenotifier-9> [YoWASP/yosys] whitequark d119fc3 - Update dependencies.
bl0x has joined #amaranth-lang
bl0x_ has quit [Ping timeout: 250 seconds]
Degi has quit [Ping timeout: 276 seconds]
Degi has joined #amaranth-lang
<d1b2> <Nate> amaranth is the way
xenador77 has joined #amaranth-lang
xenador77 has quit [Ping timeout: 260 seconds]
xenador77 has joined #amaranth-lang
xenador77 has quit [Client Quit]
SpaceCoaster_ has joined #amaranth-lang
SpaceCoaster has quit [Ping timeout: 268 seconds]
SpaceCoaster_ is now known as SpaceCoaster
<whitequark> it's definitely one of the possible ways
<d1b2> <Olivier Galibert> it's one of the nice ones at least
<cr1901> whitequark: (Sorry, been busy) Would you be willing to correct my code while it's still somewhat fresh in both our heads? https://libera.irclog.whitequark.org/amaranth-lang/2023-03-13#1678743443-1678743527;
crzwdjk has joined #amaranth-lang
<crzwdjk> Has anyone written parsers in Amaranth? Mostly curious if people have figured out some best practices and such.
<whitequark> I tried writing parsers in Migen and that's a part of why Amaranth came into existence
<whitequark> don't think there is anything recent though
<whitequark> usually people manually unroll the FSM
<crzwdjk> What to you mean by unroll?
<whitequark> well the reason you want a parser generator in a HDL is that you typically process n-wide streams, right?
<whitequark> like for USB you have a 32-bit datapath but a bunch of things are specified as per-byte
<whitequark> PCIe has a similar thing though I think anything between 16 and 64 can be used
<whitequark> a parser is an FSM (and sometimes a stack, though the languages we parse in hardware are almost universally regular)
<crzwdjk> Yeah, in my case it's a regular language.
<crzwdjk> And yeah, it's just a big old FSM. Though I'm not doing something like USB or PCIe but something rather more ridiculous and frivolous.
<whitequark> what is it, if I may ask?
<crzwdjk> Terminal escape codes, because I am making a terminal.
<d1b2> <Olivier Galibert> and you don't plonk in some cpu core?
<d1b2> <Olivier Galibert> afaict all terminals were cpu-based
<whitequark> oh I also went through that
<whitequark> I mean, people put TCP/IP in hardware
<whitequark> terminal escape codes are considerably easier
<whitequark> I'd probably just implement that manually
<d1b2> <Olivier Galibert> heh, I did udp in hardware (including arp) but never tcp
<d1b2> <Olivier Galibert> In hardware meant there was a phy but no mac (fast ethernet era)
<crzwdjk> It's more fun this way
<bl0x> A colleague of mine came up with that
<whitequark> azonenberg did a full TCP/IP stack
<d1b2> <Olivier Galibert> your colleague sounds fun 🙂
<d1b2> <Olivier Galibert> azo is insane (and fun)
<whitequark> I'm going to do it again in Amaranth some day, for Glasgow with Ethernet
<bl0x> I've written a severely limited encoder decoder for register rw access over UART.
<crzwdjk> I don't think I will be doing TCP in hardware though, I am not sure I would have the space for all that anyway
<bl0x> Håkan is definitely fun. Right now he's doing some ps-level time measurements on Artix boards.
richardeoin has quit [Ping timeout: 255 seconds]
richardeoin has joined #amaranth-lang
d1b2 has quit [Remote host closed the connection]
d1b2 has joined #amaranth-lang
d1b2 has quit [Remote host closed the connection]
d1b2 has joined #amaranth-lang
<adamgreig[m]> i've done gigabit ethernet with udp and arp in amaranth and it was fun and easy. i shudder to imagine how complicated tcp could end up being instead :P
<whitequark> I'll let you know :p
Guest97 has joined #amaranth-lang
Guest97 has quit [Quit: Ping timeout (120 seconds)]