whitequark changed the topic of #nmigen to: nMigen hardware description language · code https://github.com/nmigen · logs https://libera.irclog.whitequark.org/nmigen
lf has joined #nmigen
<_whitenotifier-a> [YoWASP/nextpnr] whitequark pushed 1 commit to develop [+0/-0/±2] https://git.io/JlTS9
<_whitenotifier-a> [YoWASP/nextpnr] whitequark f4f70a6 - Update dependencies.
someone--else has quit [Quit: Connection closed]
bvernoux has quit [Quit: Leaving]
<_whitenotifier-a> [YoWASP/yosys] whitequark pushed 1 commit to develop [+0/-0/±1] https://git.io/JlTFX
<_whitenotifier-a> [YoWASP/yosys] whitequark 992ca90 - Update dependencies.
<lsneff> whitequark: in cxxrtl, when you store signals internally, are you storing them bit packed or byte packed?
Degi_ has joined #nmigen
Degi has quit [Ping timeout: 258 seconds]
Degi_ is now known as Degi
GenTooMan has quit [Ping timeout: 256 seconds]
GenTooMan has joined #nmigen
GenTooMan has quit [Ping timeout: 255 seconds]
GenTooMan has joined #nmigen
<whitequark> word packed yeah
GenTooMan has quit [Ping timeout: 255 seconds]
GenTooMan has joined #nmigen
emeb_mac has quit [Quit: Leaving.]
someone--else has joined #nmigen
mcfrdy has joined #nmigen
someone--else has quit [Quit: Connection closed]
sakirious has quit [Ping timeout: 265 seconds]
sakirious has joined #nmigen
duck26 has joined #nmigen
balrog_ has joined #nmigen
wolfshappen_ has joined #nmigen
phire_ has joined #nmigen
duck2 has quit [Ping timeout: 255 seconds]
balrog has quit [Ping timeout: 255 seconds]
cr1901 has quit [Ping timeout: 255 seconds]
kbeckmann has quit [Ping timeout: 255 seconds]
tpw_rules has quit [Ping timeout: 255 seconds]
phire has quit [Ping timeout: 255 seconds]
wolfshappen has quit [Ping timeout: 255 seconds]
tpw_rules has joined #nmigen
kbeckmann has joined #nmigen
cr1901 has joined #nmigen
bvernoux has joined #nmigen
GenTooMan has quit [Ping timeout: 240 seconds]
GenTooMan has joined #nmigen
sakirious has quit [Quit: The Lounge - https://thelounge.chat]
sakirious has joined #nmigen
someone--else has joined #nmigen
emeb has joined #nmigen
<lsneff> whitequark: is cxxsim multithreaded?
<vup> atleast the cxxtrl part is not
<whitequark> neither of them are
pftbest has quit [Remote host closed the connection]
bvernoux has quit [Quit: Leaving]
pftbest has joined #nmigen
emeb_mac has joined #nmigen
<lsneff> Sorry, which part is cxxsim and which is cxxrtl?
<whitequark> cxxrtl is the C++ thing in Yosys
<whitequark> cxxsim is the Python thing in nMigen (that uses cxxrtl)
<lsneff> Ah, I gotcha
<lsneff> Thanks
<lsneff> If I'm going to support vcd in ligeia, I need to deal with z (high impedance) and x (unknown), correct?
<lsneff> I'm thinking of maybe only having bit arrays, and the display layer can interpret them in terms of binary, quaternary, utf-8, whatever
<whitequark> z and x are often necessary, yes
<whitequark> especially x
<whitequark> how else do you represent uninitialized values?
<lsneff> That's a reasonable point
<lsneff> Should everything be four-valued logic?
<whitequark> would say both representations are useful
<lsneff> Alright
<d1b2> <DX-MON> at minimum - VHDL and Verilog both technically have support for l, L, h and H too indicating various kinds of weekly driven signals (think this might be used in ASIC flows to indicate the need for things like Open-Collector drivers, as opposed to totem-pole)
<lsneff> Interesting, 8 value logic?
<d1b2> <DX-MON> yeah
<lsneff> Should I add support for that too?
<d1b2> <DX-MON> if you're trying to build a general-purpose replacement for VCD, then I would strongly suggest this would be necessary
<mwk> verilog is... fun
<lsneff> What do you think, whitequark, should svcb be that general?
<lsneff> given my admitably limited experience with verilog, fun is not how I'd describe it
<DX-MON> reasonably sure mwk was being sarchastic
<mwk> technically you have only 4-valued logic, but you can have drivers driving them with 7 different strengths
<lsneff> okay
<mwk> so you don't exactly have strong/weak values like vhdl does, but it does have strength as a separate thing
<mwk> and they combine in quite complex ways, particularly when pass transistors with x signals on gates are involved
<mwk> (you can have a net that has a value of "1, strong", "1, weak", or "1, but strength is unknown somewhere between week and strong", "x, and strength is between weak 0 and strong 1", ...)
<lsneff> And high impedance
<lsneff> I see
emeb_mac has quit [Ping timeout: 250 seconds]
emeb has quit [Ping timeout: 256 seconds]
emeb_mac has joined #nmigen
emeb has joined #nmigen
V has quit [Remote host closed the connection]
V has joined #nmigen
<cr1901> >and they combine in quite complex ways, particularly when pass transistors with x signals on gates are involved
<cr1901> Where in the spec can I learn more about this? I know of strength, but not the "truth tables"
someone--else has quit [Quit: Connection closed]
<mwk> IEEE 1800-2017 28.11 "Logic strength modeling"
<mwk> it's also somewhere in IEEE 1364, but in different chapter number
emeb has quit [Ping timeout: 252 seconds]
lf has quit [Ping timeout: 255 seconds]
lf has joined #nmigen