whitequark changed the topic of #nmigen to: nMigen hardware description language · code https://github.com/nmigen · logs https://libera.irclog.whitequark.org/nmigen
<_whitenotifier-a> [YoWASP/nextpnr] whitequark pushed 1 commit to develop [+0/-0/±1] https://git.io/JWgEa
<_whitenotifier-a> [YoWASP/nextpnr] whitequark d8d55e7 - Update dependencies.
<_whitenotifier-a> [YoWASP/yosys] whitequark pushed 1 commit to develop [+0/-0/±1] https://git.io/JWgPA
<_whitenotifier-a> [YoWASP/yosys] whitequark 5efdf81 - Update dependencies.
GenTooMan has quit [Ping timeout: 255 seconds]
GenTooMan has joined #nmigen
GenTooMan has quit [Ping timeout: 255 seconds]
GenTooMan has joined #nmigen
Degi_ has joined #nmigen
Degi has quit [Ping timeout: 255 seconds]
Degi_ is now known as Degi
pftbest has joined #nmigen
pftbest has quit [Remote host closed the connection]
pftbest has joined #nmigen
pftbest_ has joined #nmigen
pftbest has quit [Read error: Connection reset by peer]
someone--else has joined #nmigen
nyanotech has quit [Ping timeout: 252 seconds]
nyanotech has joined #nmigen
<Degi> \o/
bvernoux has joined #nmigen
someone--else has quit [Quit: Connection closed]
Lord_Nightmare2 has joined #nmigen
fest_ has joined #nmigen
lkcl- has joined #nmigen
electronic_eel_ has joined #nmigen
Lord_Nightmare has quit [*.net *.split]
electronic_eel has quit [*.net *.split]
fest has quit [*.net *.split]
kbeckmann has quit [*.net *.split]
lkcl has quit [*.net *.split]
Lord_Nightmare2 is now known as Lord_Nightmare
kbeckmann has joined #nmigen
bvernoux has quit [Ping timeout: 252 seconds]
bvernoux has joined #nmigen
someone--else has joined #nmigen
bvernoux has quit [Quit: Leaving]
<_whitenotifier-a> [nmigen] jfng opened pull request #622: _toolchain: substitute '+' with 'X' in tool_env_var(). - https://git.io/JWKaY
<_whitenotifier-a> [nmigen] codecov[bot] commented on pull request #622: _toolchain: substitute '+' with 'X' in tool_env_var(). - https://git.io/JWKVe
<_whitenotifier-a> [nmigen] codecov[bot] edited a comment on pull request #622: _toolchain: substitute '+' with 'X' in tool_env_var(). - https://git.io/JWKVe
<_whitenotifier-a> [nmigen] codecov[bot] edited a comment on pull request #622: _toolchain: substitute '+' with 'X' in tool_env_var(). - https://git.io/JWKVe
bvernoux has joined #nmigen
bvernoux has quit [Ping timeout: 250 seconds]
bvernoux has joined #nmigen
someone--else has quit [Quit: Connection closed]
bvernoux1 has joined #nmigen
bvernoux has quit [Ping timeout: 265 seconds]
pftbest_ has quit [Remote host closed the connection]
electronic_eel_ has quit [Quit: https://quassel-irc.org - Chat comfortably. Anywhere.]
electronic_eel has joined #nmigen
<ldm> I know it's a bit apples-and-oranges, but how does the xc7a35t compare against ECP5-12k? Trying to work out if it's significantly faster or about the same as the ECP that I've got rn
pftbest has joined #nmigen
pftbest has quit [Ping timeout: 255 seconds]
<DX-MON> so.. I'm trying to translate some code written in verilog into nMigen (by someone else).. and I'm wondering how I represent the assignment `default: debounce <= 3'bxxx;`
<tpw_rules> i don't think nmigen has a concept of 1'bx or 1'bz
<DX-MON> I've guessed that I can take the match string `4'b0zz0` and turn that into the case '0--0'
<DX-MON> hmm.. unfortunate
<DX-MON> I'm unsure what to translate this into then.. :|
<tpw_rules> add some sort of enable signal
<Sarayan> z doesn't exist in a fpga
<DX-MON> it's a debouncer that must step every clock cycle and which was written without documentation as to how and why it works
<d1b2> <DX-MON> this is the source verilog I'm trying to translate
<DX-MON> Sarayan: I understand that.. I think that's been used to help make it simulatable in a manner that allows detecting errors.. however, I don't know what yosys is translating this working code to internally
<Sarayan> It's a don't care, so '-' is good
<DX-MON> ok, so the z's side of things is fine.. that leaves me bewildered as to how to handle those x's
<tpw_rules> is that state even reachable?
<DX-MON> I.. don't actually know
<DX-MON> this is why I wish this had more documentation
<Sarayan> I suspect it's the verilog version of abort(), use 0 and it's all good
<DX-MON> (by which I mean.. any..)
<tpw_rules> it does not seem to be
<DX-MON> okie
<tpw_rules> yeah i think they just had doctrine that their case needed a default state
<tpw_rules> but i counted the states and there are 16 of them so it can't be reached
<DX-MON> this is how I trsnalted it
<DX-MON> *translated
<tpw_rules> you need to swap the arguments to Cat, probably
<tpw_rules> low bits go on the left
pftbest has joined #nmigen
<tpw_rules> also it would probably be clearer to keep the binary number assignments to debounce. you can use 0b
<DX-MON> I was considering expanding the values out, yes
<DX-MON> as for Cat.. good call as it's generating a backwards casez to the source verilog..
<DX-MON> the source code I'm trying to rework is really.. dense.. V_V it's making for a misurable experience
<DX-MON> like.. this:
<DX-MON> always @(posedge clk)
<DX-MON> samp_cnt <= ({ 1'b0, samp_cnt[SAMP_TW-1:0] } + 1) & {(SAMP_TW+1){~samp_cnt[SAMP_TW]}};
<DX-MON> I think I've figured out how it works and what it does but like.. aaaa
<Sarayan> I find nmigen *way* more readable
<tpw_rules> is there any particular reason you are translating it?
<DX-MON> agreed Sarayan
pftbest has quit [Remote host closed the connection]
<tpw_rules> if it's purely because you need to use it, you can simply use an Instance to instantiate it as verilog
pftbest has joined #nmigen
<DX-MON> tpw_rules: the project I'm working in is pure nMigen and I really don't want to have to deal with copying in this other code while respecting its different license to my project and then having to manage it within an otherwise pure project
<tpw_rules> ok. just making sure you knew that was an option
<DX-MON> I'm aware of the option and had already considered.. and discounted.. it
<DX-MON> I'm also essentially doing some groundwork for the nMigen version of the iCEBreaker Bitsy examples as the code in question is to take a button input, debounce it, count how long it's held down for, and use that as input to the warmboot block to allow the user gateware to reboot back into the bootloader gateware cleanly
RaitoBezarius has joined #nmigen
Raito_Bezarius has quit [Ping timeout: 240 seconds]
Raito_Bezarius has joined #nmigen
RaitoBezarius has quit [Ping timeout: 255 seconds]
Raito_Bezarius has quit [Client Quit]
Raito_Bezarius has joined #nmigen
<DX-MON> well, it's still broken but at least now I'm confident that it's not because of the debouncer.. frustrating though certain parts of the peripheral do now work
bvernoux1 has quit [Quit: Leaving]
<_whitenotifier-a> [nmigen] rroohhh opened issue #623: Option to disable debug verilog generation - https://git.io/JW6o3
sakirious has quit [Quit: The Lounge - https://thelounge.chat]
lf has quit [Ping timeout: 255 seconds]
lf has joined #nmigen
sakirious has joined #nmigen