Catherine[m] 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 · Matrix #amaranth-lang:matrix.org
charlottia has joined #amaranth-lang
<charlottia> <attiegrande[m]> "whitequark (@_discord_1821742088..." <- confirming receipt on the Matrix side! I believe the reason you aren't seeing Cat in the Discord channel member lists is because it uses the `irc-only` role to explicitly not be in the amaranth/glasgow channels on Discord.
<attiegrande[m]> thanks @charlotte - we figured out that the puppets leave on extended periods of inactivity, which is fair enough
<charlottia> Right, I see now! I didn't actually click over to read the backscroll in #glasgow-interface-explorer:matrix.org yet >_>
cr1901 has quit [Read error: Connection reset by peer]
cr1901 has joined #amaranth-lang
GenTooMan has quit [Ping timeout: 240 seconds]
GenTooMan has joined #amaranth-lang
Degi_ has joined #amaranth-lang
Degi has quit [Ping timeout: 246 seconds]
Degi_ is now known as Degi
jevinskie[m] has joined #amaranth-lang
<jevinskie[m]> I’d hate to see LUNA/Cynthion fade away. I had some great success using LUNA with my DECA board and integrating it with LiteX :( https://github.com/jevinskie/liteluna
<jevinskie[m]> I haven’t had a chance to try it out yet with a sfp2usb adapter http://xillybus.com/sfp2usb-module
<jevinskie[m]> I did have to buy a beagle 480 to debug my LUNA bringup but not due to any issues in LUNA itself but my LiteX gateware wrapped around it :P
indy_ has joined #amaranth-lang
nak has joined #amaranth-lang
nak has quit [Ping timeout: 240 seconds]
mindw0rk has quit [Ping timeout: 245 seconds]
mindw0rk has joined #amaranth-lang
mindw0rk has quit [Read error: Connection reset by peer]
<anuejn> speaking of LUNA: did anyone of you have sucess using USB-3 with the ECP5 transcievers?
<anuejn> also: does one need to support USB-2 HS for being able to negotiate SuperSpeed? (so is it theoretically possible to leave out the USB-2.0 PHY)
miek__[m] has joined #amaranth-lang
<miek__[m]> no, you don't need to support USB2 HS for SuperSpeed, the buses are completely independent (and yeah, you can leave out the USB2 PHY)
<miek__[m]> USB3 on the ECP5 is still experimental, in my testing it can enumerate but doesn't stay connected for long after that
miek[m] has joined #amaranth-lang
<miek[m]> <jevinskie[m]> "I’d hate to see LUNA/Cynthion..." <- Don't worry, they're not going to fade away. I'm not really sure where all this is coming from, we've got several people in GSG quite capable of developing & maintaining them, and we'll be doing that for the foreseeable future
<anuejn> interesting, thanks for the insights
GenTooMan has quit [Ping timeout: 245 seconds]
<mcc111[m]> So I'm a little confused about the difference between .Build and `f.write(verilog.convert(`... (full message at <https://catircservices.org/_matrix/media/v3/download/catircservices.org/YZEeSOVgMjlyiZEXpmaUnEIU>)
GenTooMan has joined #amaranth-lang
Wanda[cis] has joined #amaranth-lang
<Wanda[cis]> mcc111: `do_program=False` will still generate the bitstream; what you want is `do_build=False`
<Wanda[cis]> though... um
<Wanda[cis]> I'm a little hazy on the details of how to use it
<tpw_rules> anuejn: yeah i have devices that don't bother wiring up the usb2 wires and work fine
adamgreig[m] has joined #amaranth-lang
<adamgreig[m]> mcc111: if you're building for ice40, the simplest thing is probably to just let amaranth produce the bitstream for you, rather than going through your docker container business, if it's an option?
<adamgreig[m]> if it's an ice40up5k then amaranth can certainly target the chip, and targetting the board just needs you to write a platform class to tell it which pins have which names, which you'd need to do anyway to use platform.request
<adamgreig[m]> I'm not completely sure but I don't think it makes sense to be combining verilog.convert() with platform.request(); if you're converting to verilog you should just be exposing all the IO names as ports on the top-level object which your toolchain will eventually connect to the right pins using whatever constraint file it has
<adamgreig[m]> (so, verilog.convert(ports=[top.led, top.switch, ...] sort of thing)
<adamgreig[m]> but yea, I'd defo just skip the docker business and use amaranth's build system directly, it should be much easier
<adamgreig[m]> you basically just need https://github.com/adamgreig/amaranth-examples/blob/master/amaranth_examples/custom_board.py#L10-L38 with some extra pins named, if you wanted help with it I could probably type it up in a few minutes from the schematic here https://github.com/dadamachines/doppler/blob/master/hardware/dadamachnes-doppler-schematic.pdf
<anuejn> tpw_rules: ouh sounds cool
<anuejn> can you share which devices / do they work somewhat stable?
<tpw_rules> anuejn: flir boson thermal cameras. they are totally stable, aside from power related issues. completely unrelated to LUNA/ecp5, just saying that it works to not have usb2 wired up at allo
<anuejn> ah I see
<tpw_rules> idk if it's Standard Compliant, these are research instruments and a bit hacky themselves
<tpw_rules> but i haven't bumped into problems with that particular aspect on various versions of windows and linux
<tpw_rules> (they are also fine running usb3 over 1mm jst connectors)
<anuejn> nice one
<anuejn> but do they also not implement usb 1?
<tpw_rules> correct, the usb 1/2 D+ and D- pins are simply not wired to the connector
<anuejn> thats a bold move
<tpw_rules> yeah, it's a little hard to believe. they do have usb2 available on a separate connector so the firmware supports both. but they go to different usb plugs and i imagine weird things would happen if you plugged both in at the same time
<urja> i mean, afaik it is also possible (though, depending on host i suppose) to plug two devices into an usb3 port (one on the usb1/2 port, one on superspeed...)
<mcc111[m]> <adamgreig[m]> "you basically just need https..." <- Thanks, I may ask for help or at least ask you to review my attempt.
<mcc111[m]> The reason I'm nervous about bringing my own compiler is the board has their own vended (forked?) version of icestorm . I don't have the background to know how much difference that could possibly make.
<adamgreig[m]> It seems like it could only be worse
<whitequark[cis]> the board should not be doing things like that
<whitequark[cis]> there is literally 0 reason for it to have a fork of icestorm
<whitequark[cis]> it does not matter what board it is, this is simply not how anything works
<adamgreig[m]> Yea, it would be like if they provided a gcc fork to use with their off the shelf arm microcontroller
<adamgreig[m]> I suspect they've just tried to make a convenient docker based package
<whitequark[cis]> anuejn: yes @VioletEternity brought up USB on ECP5 transceivers and it works perfectly fine, I've seen it transfer 10 GB in a row with no errors
<adamgreig[m]> Rather than guiding all their users through installing icestorm years ago which was a little involved
<whitequark[cis]> what miek says was the case before her patches (which should now be upstream in LUNA)
<adamgreig[m]> But since you can get binary builds of icestorm+nextpnr, or even use the yowasp python/wasm versions, and then it actually integrates into amaranth, you'd just be making a lot of extra work to use the packaged (and outdated?) docker
<whitequark[cis]> yeah if you're on a mac machine, just use yowasp?
<whitequark[cis]> here's a template repo that does that: https://github.com/amaranth-lang/template-fpga
<anuejn> whitequark[cis]: that sounds extremely cool
<mcc111[m]> <whitequark[cis]> "the board should not be doing..." <- OK, good to know, thanks. I only got worried because this board appears to be doing at least one other thing it shouldn't be doing
<whitequark[cis]> which thing is that?
<miek[m]> fwiw I have been using those patches, but I haven't been able to reproduce that level of reliability so far
<whitequark[cis]> interesting
<whitequark[cis]> I know she got it to be that reliable on all of the boards she had, with three different hub ICs and on, I think, two HCs
<whitequark[cis]> I wonder what's up with that
<mcc111[m]> <whitequark[cis]> "which thing is that?" <- Well, what I'm thinking of is they somehow broke some of the macros in the Arduino SDK. I don't know if they actually changed something or if they just configured it wrong, like set up Arduino to target one chip and they're using another.
<mcc111[m]> Anyway, I'd definitely prefer to get onto the Amaranth build system as soon as I can, so I'm glad to hear it's expected to work.
<whitequark[cis]> ah
<jevinskie[m]> BTW mcc11 gtkwave this month did a ton of refactoring so that may be related to your issues. I can try to get a mac x11 working if you’d like
<jevinskie[m]> I was trying to get a nix formula to build a universal build a few months ago
<jevinskie[m]> And the author recently committed some changes that look like they should bump up the rendering perf quite a bit along with trackpad support (no middle scroll wheel with a trackpad was a bad experience in older builds)
<jevinskie[m]> GTK3 builds perf had some big regressions compared to GTK2 builds but you lost stuff like anti-aliasing
<_whitenotifier-8> [amaranth] jalcim opened issue #857: How to adding a new component ? - https://github.com/amaranth-lang/amaranth/issues/857
<_whitenotifier-8> [amaranth] whitequark commented on issue #857: How to adding a new component ? - https://github.com/amaranth-lang/amaranth/issues/857#issuecomment-1666925338
<_whitenotifier-8> [amaranth] jalcim commented on issue #857: How to adding a new component ? - https://github.com/amaranth-lang/amaranth/issues/857#issuecomment-1666925952
<_whitenotifier-8> [amaranth] whitequark commented on issue #857: How to adding a new component ? - https://github.com/amaranth-lang/amaranth/issues/857#issuecomment-1666928238
<_whitenotifier-8> [amaranth] jalcim commented on issue #857: How to adding a new component ? - https://github.com/amaranth-lang/amaranth/issues/857#issuecomment-1666928607
dyniec has joined #amaranth-lang
<_whitenotifier-8> [amaranth] jalcim commented on issue #857: How to adding a new component ? - https://github.com/amaranth-lang/amaranth/issues/857#issuecomment-1666934550
<_whitenotifier-8> [amaranth] whitequark commented on issue #857: How to adding a new component ? - https://github.com/amaranth-lang/amaranth/issues/857#issuecomment-1666934764
<_whitenotifier-8> [amaranth] jalcim commented on issue #857: How to adding a new component ? - https://github.com/amaranth-lang/amaranth/issues/857#issuecomment-1666935373
<_whitenotifier-8> [amaranth] whitequark commented on issue #857: How to adding a new component ? - https://github.com/amaranth-lang/amaranth/issues/857#issuecomment-1666935692
<_whitenotifier-8> [amaranth] jalcim commented on issue #857: How to adding a new component ? - https://github.com/amaranth-lang/amaranth/issues/857#issuecomment-1666936828
<_whitenotifier-8> [amaranth] whitequark commented on issue #857: How to adding a new component ? - https://github.com/amaranth-lang/amaranth/issues/857#issuecomment-1666937267
<_whitenotifier-8> [amaranth] jalcim commented on issue #857: How to adding a new component ? - https://github.com/amaranth-lang/amaranth/issues/857#issuecomment-1666937529
<_whitenotifier-8> [amaranth] adamgreig commented on issue #857: How to adding a new component ? - https://github.com/amaranth-lang/amaranth/issues/857#issuecomment-1666937587
<_whitenotifier-8> [amaranth] jalcim commented on issue #857: How to adding a new component ? - https://github.com/amaranth-lang/amaranth/issues/857#issuecomment-1666937997
<_whitenotifier-8> [amaranth] adamgreig commented on issue #857: How to adding a new component ? - https://github.com/amaranth-lang/amaranth/issues/857#issuecomment-1666939734
<whitequark[cis]> agg: thanks!
<adamgreig[m]> I hope I'm right and they're not really asking how to make major changes to the language, lol
<adamgreig[m]> my best guess is they're just asking how to write a module using amaranth, or failing that use an existing verilog module'
<adamgreig[m]> * my best guess is they're just asking how to write a module using amaranth, or failing that use an existing verilog module
<_whitenotifier-8> [amaranth] jalcim commented on issue #857: How to adding a new component ? - https://github.com/amaranth-lang/amaranth/issues/857#issuecomment-1666942442
<_whitenotifier-8> [amaranth] jalcim deleted a comment on issue #857: How to adding a new component ? - https://github.com/amaranth-lang/amaranth/issues/857#issuecomment-1666942442
<_whitenotifier-8> [amaranth] jalcim commented on issue #857: How to adding a new component ? - https://github.com/amaranth-lang/amaranth/issues/857#issuecomment-1666951294
<_whitenotifier-8> [amaranth] jalcim closed issue #857: How to adding a new component ? - https://github.com/amaranth-lang/amaranth/issues/857
<_whitenotifier-8> [amaranth] jalcim commented on issue #857: How to adding a new component ? - https://github.com/amaranth-lang/amaranth/issues/857#issuecomment-1666953259
<josuah> impressed by your patience face to this much narcissism!
<whitequark[cis]> I don't think that's narcissism
<josuah> maybe I just misinterpreted then
<whitequark[cis]> I think so, yeah
<whitequark[cis]> it's similar to the confusion I've seen people face without this much of a language barrier, but compounded by the latter
<whitequark[cis]> ultimately this will be fixed when we have a proper first-party tutorial; they did read the docs that are there, but didn't find the answer
<josuah> maybe me being too much marked by past interaction with schools like 42.fr where he is from
<whitequark[cis]> 42.fr?
<josuah> A school without any price, with very well reputation, and to which you eat for free... If you are among the top $X on the listing
<whitequark[cis]> I see
<josuah> so it is emulated competition, with great projects nonetheless, and gerat people too, but does not encourages collaboration
<whitequark[cis]> how'd you learn they are from 42.fr?
<josuah> s/very well/very good/ hah looks like it's hitting me too :)
<josuah> I could guess from 2nd message (actually thought he was from Epitech, from the same group)
<josuah> so I got curious and looked at the repositories just to make sure and saw https://github.com/jalcim/42-42/blob/master/minitalk/client.c
<josuah> seeing the last messages, though, I have good hopes for him/her :)
<josuah> insightful to see people unexpectedly open-up themselves when giving them the help they hoped for, lesson learned here!
nak has joined #amaranth-lang
nak has quit [Ping timeout: 246 seconds]
Wolfvak has quit [Quit: ZNC - https://znc.in]
GenTooMan has quit [Ping timeout: 246 seconds]
GenTooMan has joined #amaranth-lang
GenTooMan has quit [Excess Flood]
GenTooMan has joined #amaranth-lang
GenTooMan has quit [Ping timeout: 260 seconds]
GenTooMan has joined #amaranth-lang
GenTooMan has quit [Ping timeout: 240 seconds]
GenTooMan has joined #amaranth-lang
<mcc111[m]> <jevinskie[m]> "BTW mcc11 gtkwave this month did..." <- That would be interesting. Alternately, if you can tell me which version to build (IE rewind to 110 instead of 116, for example) that would work too.