ChanServ changed the topic of #nmigen to: nMigen hardware description language · code at https://github.com/nmigen · logs at https://freenode.irclog.whitequark.org/nmigen · IRC meetings each Monday at 1800 UTC · next meeting November 23th
emeb has quit [Quit: Leaving.]
<_whitenotifier-f> [YoWASP/nextpnr] whitequark pushed 1 commit to develop [+0/-0/±1] https://git.io/JIs2e
<_whitenotifier-f> [YoWASP/nextpnr] whitequark 7159b68 - Update dependencies.
<_whitenotifier-f> [nmigen/nmigen-yosys] whitequark pushed 1 commit to develop [+0/-0/±1] https://git.io/JIsw3
<_whitenotifier-f> [nmigen/nmigen-yosys] whitequark ff07199 - Update yosys.
kernelmethod has joined #nmigen
kernelmethod has quit [Client Quit]
Degi has quit [Ping timeout: 240 seconds]
Degi has joined #nmigen
<_whitenotifier-f> [nmigen/nmigen-yosys] whitequark pushed 1 commit to release [+0/-0/±1] https://git.io/JIsw3
<_whitenotifier-f> [nmigen/nmigen-yosys] whitequark ff07199 - Update yosys.
oter has joined #nmigen
Ekho has quit [Ping timeout: 244 seconds]
Ekho has joined #nmigen
oter has quit [Quit: Textual IRC Client: www.textualapp.com]
zignig has quit [Quit: Lost terminal]
gkelly has quit [*.net *.split]
gkelly has joined #nmigen
mwk has quit [Remote host closed the connection]
mwk has joined #nmigen
electronic_eel has quit [Ping timeout: 240 seconds]
electronic_eel has joined #nmigen
PyroPeter_ has joined #nmigen
PyroPeter has quit [Ping timeout: 256 seconds]
PyroPeter_ is now known as PyroPeter
lkcl has quit [Ping timeout: 256 seconds]
Chips4Makers has quit [Ping timeout: 260 seconds]
lkcl has joined #nmigen
<_whitenotifier-f> [nmigen/nmigen] whitequark pushed 1 commit to cxxsim [+0/-0/±1] https://git.io/JIGqp
<_whitenotifier-f> [nmigen/nmigen] whitequark 37bfbf5 - sim.cxxsim: write GTKW files.
<_whitenotifier-f> [nmigen] whitequark edited issue #324: Integrate the CXXSim simulator - https://git.io/Jv8VZ
<_whitenotifier-f> [nmigen] whitequark commented on issue #324: Integrate the CXXSim simulator - https://git.io/JIGmg
emeb_mac has quit [Quit: Leaving.]
lkcl has quit [Ping timeout: 240 seconds]
lkcl has joined #nmigen
lkcl has quit [Ping timeout: 256 seconds]
lkcl has joined #nmigen
Chips4Makers has joined #nmigen
jjeanthom has joined #nmigen
_whitelogger has joined #nmigen
Chips4Makers has quit [Ping timeout: 272 seconds]
Chips4Makers has joined #nmigen
chipmuenk has joined #nmigen
jjeanthom has quit [Quit: Leaving]
jjeanthom has joined #nmigen
jjeanthom has quit [Remote host closed the connection]
jeanthom has joined #nmigen
<pepijndevos> Welp, I didn't touch my code for a while and now everything is broken...
<pepijndevos> TypeError: bad operand type for abs(): 'Const'
<pepijndevos> ohhh I'm dumb... I have been running a dev version, nuked my virtualenv due to python upgrade, and ended up with a stable version that's actually older than what I was using.
nelgau has quit [Remote host closed the connection]
nelgau has joined #nmigen
nelgau has quit [Ping timeout: 240 seconds]
FFY00 has quit [Remote host closed the connection]
nelgau has joined #nmigen
nelgau has quit [Ping timeout: 256 seconds]
electronic_eel_ has joined #nmigen
electronic_eel has quit [Ping timeout: 260 seconds]
nelgau has joined #nmigen
nelgau has quit [Ping timeout: 240 seconds]
nelgau has joined #nmigen
<d1b2> <dub_dub_11> I'm trying to write an audio codec (AC97) controller, and the interface is clocked by the codec In a similar manner to SPI with the FPGA as a slave (sample on posedge of bit_clk, shift on negedge). My question is how do I drive the bit_clk_n domain from bit_clk? I tried m.d.comb += bit_clk_n.clk.eq(bit_clk.clk)but when I simulated I got three nets, bit_clk_clk, bit_clk_clk$1 which was always zero and bit_clk_n_clk which was also always zero
nelgau has quit [Ping timeout: 260 seconds]
<vup> @dub_dub_11 did you `sim.add_clock` the `bit_clk`?
<d1b2> <dub_dub_11> Yeah
<d1b2> <dub_dub_11> bit_clk_clk was the right clock signal at the right frequency
<d1b2> <dub_dub_11> But bit_clk_n_clk wasn't getting driven by it
<vup> ah I missunderstood your original sentence
<agg> dub_dub_11: I think you'll need to add every clock to the simulator individually, it essentially can't have logic 'generate' clocks which then drive other synchronous logic
<agg> (in your actual module you'll need to add a clock domain for each clock, too, if you're not already)
<d1b2> <dub_dub_11> Ok
<d1b2> <dub_dub_11> That works for simulator, I'm not sure how it will end up looking when I go to synthesise though
<agg> in synthesis it's possible to drive clock domains from whatever signal using m.d.comb += clock_domain.clk.eq(bla) as you've done, but...
<agg> you might instead use your fpga's ddr io logic
<vup> dub_dub_11: so not sure what your problem is without more details, but this works: https://paste.niemo.de/qekidalezu.py
<agg> so the i/o cell captures on the rising and falling edge of a specific clock, and presents your gateware with the two signals together
<d1b2> <dub_dub_11> Yeah DDR might make more sense in the end, just duplicating/throwing away half the bits
<agg> often that's easier than trying to do multiple clock domain logic
<agg> not like they're wasted or anything
<d1b2> <dub_dub_11> Yeah true
<agg> that said, vup's example does work fine, so I must have been thinking of some older behaviour of the simulator
<d1b2> <dub_dub_11> Ah. I will consider both. That example looks a lot like my code so I will check the difference
<d1b2> <dub_dub_11> And there would need to be a frame sync signal passed between domains so DDR is probably cleaner
<agg> DDR also helps guarantee the relative timing is right and the capture happens right at the I/O cell, rather than some routing-dependent time after the signal enters your logic
<d1b2> <dub_dub_11> Yeah that makes sense
<d1b2> <dub_dub_11> I would also imagine that I should make the bit_clk input in the board file a clocking Resource so it can do timing analysis
FFY00 has joined #nmigen
<whitequark> agg: you *can* have logic generate clocks in the simulator
<whitequark> it's explicitly supported in pysim
<agg> whitequark: was that always the case? I'm sure I tried it ages ago and had issues but obviously it works fine now
nelgau has joined #nmigen
nelgau has quit [Ping timeout: 240 seconds]
<whitequark> agg: it wasn't the case on migen
<d1b2> <dub_dub_11> ahh
<d1b2> <dub_dub_11> the run_passive=True fixed it
<d1b2> <dub_dub_11> I will still consider using ddr though
<d1b2> <dub_dub_11> for the reasons you mentioned
nelgau has joined #nmigen
emeb has joined #nmigen
nelgau has quit [Ping timeout: 240 seconds]
nelgau has joined #nmigen
nelgau has quit [Ping timeout: 246 seconds]
_whitenotifier-f has quit [Ping timeout: 260 seconds]
nelgau has joined #nmigen
nelgau has quit [Ping timeout: 256 seconds]
chipmuenk has quit [Ping timeout: 260 seconds]
emily has quit [Ping timeout: 240 seconds]
cesar[m] has quit [Ping timeout: 244 seconds]
gkelly has quit [Ping timeout: 244 seconds]
emeb_mac has joined #nmigen
pepijndevos has quit [Ping timeout: 264 seconds]
pepijndevos has joined #nmigen
gkelly has joined #nmigen
emily has joined #nmigen
cesar[m] has joined #nmigen
nelgau has joined #nmigen
nelgau has quit [Ping timeout: 265 seconds]
nelgau has joined #nmigen
nelgau has quit [Ping timeout: 246 seconds]
_whitenotifier-4 has joined #nmigen
<_whitenotifier-4> [nmigen] RobertBaruch opened issue #555: Any way to warn about & in if? - https://git.io/JInBk
<_whitenotifier-4> [nmigen] whitequark commented on issue #555: Any way to warn about & in if? - https://git.io/JInBm
<_whitenotifier-4> [nmigen] RobertBaruch commented on issue #555: Any way to warn about & in if? - https://git.io/JInBO
<_whitenotifier-4> [nmigen] RobertBaruch closed issue #555: Any way to warn about & in if? - https://git.io/JInBk
nelgau has joined #nmigen
<_whitenotifier-4> [nmigen] RobertBaruch commented on issue #380: Emit a diagnostic when parentheses are omitted in logical expressions with comparisons - https://git.io/JInBM
<_whitenotifier-4> [nmigen] whitequark commented on issue #380: Emit a diagnostic when parentheses are omitted in logical expressions with comparisons - https://git.io/JInBd
<_whitenotifier-4> [nmigen] whitequark edited a comment on issue #380: Emit a diagnostic when parentheses are omitted in logical expressions with comparisons - https://git.io/JInBd
<lkcl> FOSDEM 2021 CFP is up, and my feeling is that it's going to be *big* this year, entirely online.
nelgau has quit [Ping timeout: 272 seconds]
<lkcl> with talks being submitted as pre-recorded video i'd love to see a nmigen talk
<whitequark> i barely have enough time to do all the work that needs to be done, much less prepare a talk
<_whitenotifier-4> [nmigen] RobertBaruch commented on issue #380: Emit a diagnostic when parentheses are omitted in logical expressions with comparisons - https://git.io/JInRb
chipmuenk has joined #nmigen
<_whitenotifier-4> [nmigen] RobertBaruch commented on issue #380: Emit a diagnostic when parentheses are omitted in logical expressions with comparisons - https://git.io/JIn0k
<_whitenotifier-4> [nmigen] whitequark commented on issue #380: Emit a diagnostic when parentheses are omitted in logical expressions with comparisons - https://git.io/JIn0G
chipmuenk has quit [Client Quit]
nelgau has joined #nmigen
<_whitenotifier-4> [nmigen] RobertBaruch commented on issue #380: Emit a diagnostic when parentheses are omitted in logical expressions with comparisons - https://git.io/JInEk
nelgau has quit [Ping timeout: 256 seconds]
nelgau has joined #nmigen
<_whitenotifier-4> [nmigen] whitequark commented on issue #380: Emit a diagnostic when parentheses are omitted in logical expressions with comparisons - https://git.io/JInEV
<_whitenotifier-4> [nmigen] whitequark deleted a comment on issue #380: Emit a diagnostic when parentheses are omitted in logical expressions with comparisons - https://git.io/JInEV
<_whitenotifier-4> [nmigen] whitequark commented on issue #380: Emit a diagnostic when parentheses are omitted in logical expressions with comparisons - https://git.io/JInEi
nelgau has quit [Ping timeout: 240 seconds]
<lkcl> whitequark: ok. i have been mentioning it in libresoc talks, that nmigen is extremely powerful and flexible. i'll make sure to provide links and may go a bit more in-depth (because it's FOSDEM)
<whitequark> okay
<lkcl> you created something that's ****** awesome, whitequark: people deserve to know :)
nelgau has joined #nmigen
nelgau has quit [Ping timeout: 240 seconds]
jfng has joined #nmigen
emeb has quit [Ping timeout: 272 seconds]
<whitequark> awygle: ping
nelgau has joined #nmigen
nelgau has quit [Ping timeout: 272 seconds]
jeanthom has quit [Ping timeout: 240 seconds]
electronic_eel_ is now known as electronic_eel
nelgau has joined #nmigen
nelgau has quit [Ping timeout: 256 seconds]