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
lf has quit [Ping timeout: 256 seconds]
lf has joined #amaranth-lang
adamgreig[m] has quit [Quit: Idle timeout reached: 172800s]
skipwich has quit [Quit: DISCONNECT]
skipwich has joined #amaranth-lang
<tpw_rules> is it possible to add synthesis attributes to a Signal?
<tpw_rules> which can be written out to the verilog?
<tpw_rules> i have some things i need to keep to prevent quartus from merging them
<whitequark[cis]> .attrs
<tpw_rules> thank you, not sure why i couldn't find it
<whitequark[cis]> i plan to change that into something like platform.add_attrs(signal, x=y)
<whitequark[cis]> s//`/, s/add_attrs/add_attributes/, s//`/
<whitequark[cis]> not only it's platform-specific and therefore should be done during elaboration, but it also gives you new and exciting opportunities to completely break your design
<tpw_rules> i see
<tpw_rules> do you think there any generic enough ones to elevate beyond that?
<whitequark[cis]> there are some that are interpreted by yosys itself (which we use for verilog emission), but these are also kind of the ones we should probably not allow to set
<tpw_rules> has anyone put together a pipelining solution for amaranth? not automatic but enough so that i don't have to count out cycles
<tpw_rules> i have a couple ideas i might fiddle with, but immediately i'm not sure how to avoid creating a mess for elaboration if i want to be able to use it during elaboration
<whitequark[cis]> elaborate?
<tpw_rules> i guess amaranth is not multi-threaded, if you instantiate an Elaboratable in an elaborate method, then that Elaboratable's elaborate method cannot start until the current elaborate method is finished
<tpw_rules> i'm supposing i want to say like m.pipeline_helper = ph = PipelineHelper() then like ph.add_signal(whatever), then have PipelineHelper's elaborate method connect everything up
<tpw_rules> but the amaranth elaboration order is not defined
<tpw_rules> but like i said i think i can depend on the fact that PipelineHelper's won't be called until it's done being used in that scenario
<tpw_rules> because otherwise there would be timetravel
<whitequark[cis]> I have thought about doing eager elaboration (i.e. the moment you add a thing to m.submodules
<tpw_rules> hrmph. well i can add a warning to not add it until you are done. i hope you are not thinking to make it so eager as to be done in the constructor
<whitequark[cis]> in the constructor?
<tpw_rules> so that somehow it happens when PipelineHelper() is constructed
<whitequark[cis]> that was how migen worked
<whitequark[cis]> and it was awful
<whitequark[cis]> amaranth has two phases: construction and elaboration
<tpw_rules> i think it's too late for me to be thinking as cogently as i want. ima try some stuff tomorrow and maybe invite comments in a future meeting
<tpw_rules> thanks as always for listening and the info
notgull has joined #amaranth-lang
notgull has quit [Ping timeout: 256 seconds]
<_whitenotifier-5> [amaranth] whitequark opened issue #1101: Tracer should probably ignore a single leading `_` in names - https://github.com/amaranth-lang/amaranth/issues/1101
<_whitenotifier-7> [amaranth] whitequark opened pull request #1102: New intermediate representation - https://github.com/amaranth-lang/amaranth/pull/1102
<_whitenotifier-5> [amaranth] codecov[bot] commented on pull request #1102: New intermediate representation - https://github.com/amaranth-lang/amaranth/pull/1102#issuecomment-1937463438
<_whitenotifier-7> [amaranth] whitequark closed issue #641: Attributes are not properly applied to IBUFDS (and possibly other primitives) in Xilinx platform - https://github.com/amaranth-lang/amaranth/issues/641
<_whitenotifier-7> [amaranth] whitequark commented on issue #641: Attributes are not properly applied to IBUFDS (and possibly other primitives) in Xilinx platform - https://github.com/amaranth-lang/amaranth/issues/641#issuecomment-1937464496
<_whitenotifier-5> [amaranth] whitequark opened pull request #1103: Fix toolchain environment variable check, attempt #2 - https://github.com/amaranth-lang/amaranth/pull/1103
<_whitenotifier-5> [amaranth] codecov[bot] commented on pull request #1103: Fix toolchain environment variable check, attempt #2 - https://github.com/amaranth-lang/amaranth/pull/1103#issuecomment-1937469087
<_whitenotifier-5> [amaranth] github-merge-queue[bot] created branch gh-readonly-queue/main/pr-1103-05ac36751a04c6c574f65702a4a441ed865bf69f - https://github.com/amaranth-lang/amaranth
<_whitenotifier-5> [amaranth-lang/amaranth] github-merge-queue[bot] pushed 1 commit to main [+0/-0/±1] https://github.com/amaranth-lang/amaranth/compare/05ac36751a04...10117607a3fb
<_whitenotifier-7> [amaranth-lang/amaranth] whitequark 1011760 - build.plat: fix toolchain environment variable check, #2.
<_whitenotifier-7> [amaranth] whitequark closed pull request #1103: Fix toolchain environment variable check, attempt #2 - https://github.com/amaranth-lang/amaranth/pull/1103
<_whitenotifier-5> [amaranth] github-merge-queue[bot] deleted branch gh-readonly-queue/main/pr-1103-05ac36751a04c6c574f65702a4a441ed865bf69f - https://github.com/amaranth-lang/amaranth
<_whitenotifier-5> [amaranth-lang/amaranth-lang.github.io] github-merge-queue[bot] 1a06ea0 - Deploying to main from @ amaranth-lang/amaranth@10117607a3fb6a78ed1136f8b5c6e40741083c62 🚀
<_whitenotifier-7> [amaranth-lang/amaranth-lang.github.io] whitequark pushed 1 commit to main [+0/-0/±34] https://github.com/amaranth-lang/amaranth-lang.github.io/compare/e97795625be7...1a06ea066090
<_whitenotifier-7> [amaranth] github-merge-queue[bot] created branch gh-readonly-queue/main/pr-1102-10117607a3fb6a78ed1136f8b5c6e40741083c62 - https://github.com/amaranth-lang/amaranth
<_whitenotifier-5> [amaranth-lang/amaranth] github-merge-queue[bot] pushed 2 commits to main [+1/-0/±8] https://github.com/amaranth-lang/amaranth/compare/10117607a3fb...6f44438e585d
<_whitenotifier-7> [amaranth-lang/amaranth] whitequark 7898123 - hdl.xfrm: add assignment legalizer.
<_whitenotifier-5> [amaranth-lang/amaranth] whitequark 6f44438 - hdl._ir,hdl._nir,back.rtlil: new intermediate representation.
<_whitenotifier-7> [amaranth] github-merge-queue[bot] deleted branch gh-readonly-queue/main/pr-1102-10117607a3fb6a78ed1136f8b5c6e40741083c62 - https://github.com/amaranth-lang/amaranth
<_whitenotifier-5> [amaranth] whitequark closed pull request #1102: New intermediate representation - https://github.com/amaranth-lang/amaranth/pull/1102
<whitequark[cis]> the new IR has landed 🎉
<galibert[m]> Congrats!
<_whitenotifier-5> [amaranth-lang/amaranth-lang.github.io] whitequark pushed 1 commit to main [+0/-0/±34] https://github.com/amaranth-lang/amaranth-lang.github.io/compare/1a06ea066090...1777516ba31b
<_whitenotifier-7> [amaranth-lang/amaranth-lang.github.io] github-merge-queue[bot] 1777516 - Deploying to main from @ amaranth-lang/amaranth@6f44438e585dd54a89c0112732710b389e25a71b 🚀
<Wanda[cis]> oh lol, the hdl.xfrm commit message got outdated in the meantime
cr1901 has quit [Read error: Connection reset by peer]
cr1901 has joined #amaranth-lang
<whitequark[cis]> here's how you enumerate every async control set in the design with the new IR:... (full message at <https://catircservices.org/_matrix/media/v3/download/catircservices.org/jwfOieqEgRdaVIrlrLKyFxno>)
Guest49 has joined #amaranth-lang
Guest49 has quit [Ping timeout: 250 seconds]
<_whitenotifier-7> [amaranth] wanda-phi opened pull request #1104: ir: kill Fragment.ports - https://github.com/amaranth-lang/amaranth/pull/1104
<_whitenotifier-5> [amaranth] whitequark reviewed pull request #1104 commit - https://github.com/amaranth-lang/amaranth/pull/1104#discussion_r1485575020
<_whitenotifier-5> [amaranth] whitequark reviewed pull request #1104 commit - https://github.com/amaranth-lang/amaranth/pull/1104#discussion_r1485574703
<_whitenotifier-5> [amaranth] whitequark commented on pull request #1104: ir: kill Fragment.ports - https://github.com/amaranth-lang/amaranth/pull/1104#issuecomment-1937610987
zyp[m] has quit [Quit: Idle timeout reached: 172800s]
<whitequark[cis]> what's that a link to?
<cr1901> line 852 and 883 of _nir.py, respectively
<cr1901> looks like it GH decides to hide it from default view b/c large diff
<whitequark[cis]> cr1901: that is a typo
<whitequark[cis]> cr1901: and this yeah
<cr1901> I've been relearning ReST for Sentinel docs (and "borrowing" the parts from Amaranth's conf that work for me.) I thought maybe the underscore was meant to be a link or something (missing the `` for multi word links)
FFY00_ has quit [Read error: Connection reset by peer]
<_whitenotifier-7> [amaranth] whitequark opened pull request #1105: Remove `ValueKey`, `ValueDict`, `ValueSet` - https://github.com/amaranth-lang/amaranth/pull/1105
<_whitenotifier-5> [amaranth] codecov[bot] commented on pull request #1105: Remove `ValueKey`, `ValueDict`, `ValueSet` - https://github.com/amaranth-lang/amaranth/pull/1105#issuecomment-1937759735
<_whitenotifier-5> [amaranth] github-merge-queue[bot] created branch gh-readonly-queue/main/pr-1105-6f44438e585dd54a89c0112732710b389e25a71b - https://github.com/amaranth-lang/amaranth
<_whitenotifier-5> [amaranth-lang/amaranth] whitequark 84709e2 - hdl: remove `ValueKey`, `ValueDict`, `ValueSet`.
<_whitenotifier-7> [amaranth-lang/amaranth] github-merge-queue[bot] pushed 1 commit to main [+0/-0/±2] https://github.com/amaranth-lang/amaranth/compare/6f44438e585d...84709e2f0090
<_whitenotifier-5> [amaranth] whitequark closed pull request #1105: Remove `ValueKey`, `ValueDict`, `ValueSet` - https://github.com/amaranth-lang/amaranth/pull/1105
<_whitenotifier-7> [amaranth] github-merge-queue[bot] deleted branch gh-readonly-queue/main/pr-1105-6f44438e585dd54a89c0112732710b389e25a71b - https://github.com/amaranth-lang/amaranth
<_whitenotifier-5> [amaranth-lang/amaranth-lang.github.io] github-merge-queue[bot] 20ee436 - Deploying to main from @ amaranth-lang/amaranth@84709e2f00901d536ec99947efb2ad2f35ff8548 🚀
<_whitenotifier-7> [amaranth-lang/amaranth-lang.github.io] whitequark pushed 1 commit to main [+0/-0/±34] https://github.com/amaranth-lang/amaranth-lang.github.io/compare/1777516ba31b...20ee436b43c6
<_whitenotifier-7> [YoWASP/yowasp.github.io] whitequark pushed 1 commit to main [+0/-0/±1] https://github.com/YoWASP/yowasp.github.io/compare/ccae59cd8ef1...e0629fda4c69
<_whitenotifier-5> [YoWASP/yowasp.github.io] whitequark e0629fd - Update YoWASP browser bundle instructions.
<_whitenotifier-5> [amaranth] wanda-phi opened pull request #1106: hdl._nir: fix docstring typos. - https://github.com/amaranth-lang/amaranth/pull/1106
<_whitenotifier-7> [amaranth] codecov[bot] commented on pull request #1106: hdl._nir: fix docstring typos. - https://github.com/amaranth-lang/amaranth/pull/1106#issuecomment-1937798052
<_whitenotifier-7> [amaranth] github-merge-queue[bot] created branch gh-readonly-queue/main/pr-1106-84709e2f00901d536ec99947efb2ad2f35ff8548 - https://github.com/amaranth-lang/amaranth
<_whitenotifier-5> [amaranth-lang/amaranth] wanda-phi 18e5bcd - hdl._nir: fix docstring typos.
<_whitenotifier-7> [amaranth-lang/amaranth] github-merge-queue[bot] pushed 1 commit to main [+0/-0/±1] https://github.com/amaranth-lang/amaranth/compare/84709e2f0090...18e5bcd6f72c
<_whitenotifier-5> [amaranth] whitequark closed pull request #1106: hdl._nir: fix docstring typos. - https://github.com/amaranth-lang/amaranth/pull/1106
<_whitenotifier-5> [amaranth] github-merge-queue[bot] deleted branch gh-readonly-queue/main/pr-1106-84709e2f00901d536ec99947efb2ad2f35ff8548 - https://github.com/amaranth-lang/amaranth
<_whitenotifier-5> [amaranth-lang/amaranth-lang.github.io] github-merge-queue[bot] f72f379 - Deploying to main from @ amaranth-lang/amaranth@18e5bcd6f72c0e95c9bc39ee04d25bdba2874532 🚀
<_whitenotifier-7> [amaranth-lang/amaranth-lang.github.io] whitequark pushed 1 commit to main [+0/-0/±34] https://github.com/amaranth-lang/amaranth-lang.github.io/compare/20ee436b43c6...f72f37959d27
<_whitenotifier-7> [amaranth] whitequark opened issue #1107: PySim VCDWriter is useless with `io.StringIO` - https://github.com/amaranth-lang/amaranth/issues/1107
Degi has joined #amaranth-lang
antoinevg[m] has quit [Quit: Idle timeout reached: 172800s]
jfng[m] has quit [Quit: Idle timeout reached: 172800s]
<_whitenotifier-7> [amaranth] zyp commented on issue #1107: PySim VCDWriter is useless with `io.StringIO` - https://github.com/amaranth-lang/amaranth/issues/1107#issuecomment-1937821334
<_whitenotifier-7> [amaranth] whitequark commented on issue #1107: PySim VCDWriter is useless with `io.StringIO` - https://github.com/amaranth-lang/amaranth/issues/1107#issuecomment-1937822374
<tpw_rules> so the API is a bit jank and idk if it's Good, but it meets my vision and goals. the pipeline experiment i was pondering last night is here: https://github.com/tpwrules/papa_fpga/blob/cda6dddba18aadb2fea2ccc7e93e115d13e572df/design/amaranth_top/amaranth_top/convolve.py#L201-L231
nak has quit [Ping timeout: 252 seconds]
jjsuperpower has quit [Ping timeout: 260 seconds]
jjsuperpower has joined #amaranth-lang
<Degi> In lsusb I have two devices showing up as "ID 0403:6010 Future Technology Devices International, Ltd FT2232C/D/H Dual UART/FIFO IC", one an ECP5 EVN and one ECP5 Versa. In lsusb -vvvv one shows up as "iProduct 2 Lattice ECP5 Evaluation Board", another as "iProduct 2 Lattice ECP5_5G VERSA Board". Amaranth with FPGA1.ECP55GEVNPlatform().build(SERDESTestbench1(), do_program=True, nextpnr_opts="-r") says "Error: unable to
<Degi> open ftdi device with vid 0403, pid 6010, description 'Lattice ECP5 Evaluation Board', serial '*' at bus location '*'"
josuah is now known as F4JNK
F4JNK is now known as josuah
<Degi> nvm the issue is probably with a missing udev rule
duskwuff[m] has quit [Quit: Idle timeout reached: 172800s]
<Degi> (yes, that was it, adding SUBSYSTEMS=="usb" ATTRS{idVendor}=="0403" ATTRS{idProduct}=="6010" MODE:="0666" fixed it)