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
<_whitenotifier> [YoWASP/yosys] whitequark pushed 1 commit to develop [+0/-0/±1] https://github.com/YoWASP/yosys/compare/5843bbebdf4f...294486a551c3
<_whitenotifier> [YoWASP/yosys] whitequark 294486a - Update dependencies.
Degi_ has joined #amaranth-lang
Degi has quit [Ping timeout: 248 seconds]
Degi_ is now known as Degi
notgull has quit [Ping timeout: 246 seconds]
notgull has joined #amaranth-lang
nak has joined #amaranth-lang
<galibert[m]> How do I can an unsigned(8) to a signed(8) to use in an addition already?
<galibert[m]> s/can/cast/
jfng[m] has joined #amaranth-lang
<jfng[m]> .as_signed() ?
<galibert[m]> Ah nice, I missed the "conversion operators" section, thanks
<galibert[m]> Ah, no warning if I go and connect signals of the interface of a submodule but forget to add the submodule to the submodule list
indy has quit [Quit: ZNC 1.8.2 - https://znc.in]
indy_ has joined #amaranth-lang
<galibert[m]> Is there a sane way to have a theoretically 8 bits register but which is actually 6 and bits 4 and 5 are wired to 1? Just to be sure they don't end up with storage defined for the extra bits?
<galibert[m]> or two bits is just too little to care?
josuah has joined #amaranth-lang
<jfng[m]> if it mattered, i'd make a wrapper which would only store 6 bits, and drive an output equal to Cat(storage[:4], Const(0b11, 2) storage[4:])
<galibert[m]> yeah, I guess. Some derivatives use more bits... so I guess I'm going to go for the "too little" case
<galibert[m]> (6502 flag register)
<vipqualitypost[m> maybe you could also just do that with comb logic? just to set 4/5 eq bit 1?
<vipqualitypost[m> although, then you end up with mixed domains for the register which seems like a mess.
<vipqualitypost[m> (if it would even work)
<jfng[m]> driving parts of a Signal from different domains is an error in amaranth
V has quit [Ping timeout: 246 seconds]
indy_ is now known as indy
V has joined #amaranth-lang
V has quit [Ping timeout: 240 seconds]
V has joined #amaranth-lang
<cr1901> galibert[m]: nextpnr automatically will collapse constants "1" and "0" to use only a LUT (all entries set to "1" or "0" and driven by the default inputs to the LUT, which will be either a valid 1 or 0) and not a FF. I assume Quartus does something similar.
<cr1901> So it'll use the minimum amount of resources required
<cr1901> The above should be suffixed with "if you use jfng[m]'s solution*"