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 TBD
<_whitenotifier> [YoWASP/yosys] whitequark pushed 1 commit to develop [+0/-0/±1] https://git.io/JI2Ba
<_whitenotifier> [YoWASP/yosys] whitequark 34d7360 - Update dependencies.
Degi has quit [Ping timeout: 258 seconds]
Degi has joined #nmigen
lkcl has quit [Ping timeout: 256 seconds]
lkcl 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: 272 seconds]
PyroPeter_ is now known as PyroPeter
<_whitenotifier> [nmigen] rachsug opened issue #558: write_cfgmem is writing to arty board when not specified to in the code - https://git.io/JI2Fn
rachsug has joined #nmigen
<_whitenotifier> [nmigen] davidlattimore commented on issue #558: write_cfgmem is writing to arty board when not specified to in the code - https://git.io/JI2N7
PyroPeter has quit [Ping timeout: 258 seconds]
PyroPeter has joined #nmigen
futarisIRCcloud has joined #nmigen
emeb_mac has quit [Quit: Leaving.]
<_whitenotifier> [nmigen] daveshah1 commented on issue #558: write_cfgmem is writing to arty board when not specified to in the code - https://git.io/JIaGo
jeanthom has joined #nmigen
futarisIRCcloud has quit [Quit: Connection closed for inactivity]
lkcl has quit [Ping timeout: 264 seconds]
chipmuenk has joined #nmigen
lkcl has joined #nmigen
<_whitenotifier> [nmigen] weshu opened issue #559: Negative values support in Switch-Case - https://git.io/JIagQ
electronic_eel has quit [Ping timeout: 258 seconds]
electronic_eel has joined #nmigen
electronic_eel has quit [Ping timeout: 240 seconds]
electronic_eel has joined #nmigen
electronic_eel has quit [Ping timeout: 240 seconds]
electronic_eel has joined #nmigen
jeanthom has quit [Remote host closed the connection]
jeanthom has joined #nmigen
chipmuenk has quit [Quit: chipmuenk]
lambda has quit [Quit: WeeChat 2.9]
lambda has joined #nmigen
sakirious has joined #nmigen
emeb has joined #nmigen
Bertl_oO has joined #nmigen
<_whitenotifier> [nmigen] whitequark commented on issue #558: write_cfgmem is writing to arty board when not specified to in the code - https://git.io/JIVxG
<_whitenotifier> [nmigen-boards] whitequark commented on issue #128: [RFC] Testing and releasing nmigen-boards - https://git.io/JIVpq
<_whitenotifier> [nmigen] whitequark commented on issue #559: Negative values support in Switch-Case - https://git.io/JIVht
<whitequark> XMPPwocky: okay, so... that's unfortunate but in my view the right thing to do is to figure out what it is that quartus doesn't like
<whitequark> nmigen lives on a higher level of abstraction than the one where net fanout matters, so even if you insert buffers with something like m.d.comb += .eq(), quartus will probably fold them all back
<whitequark> of course, you can always add vendor primitives manually, but that's also not something nmigen can do in general
<whitequark> since it's design-specific
chipmuenk has joined #nmigen
sakirious has quit [Quit: The Lounge - https://thelounge.chat]
sakirious has joined #nmigen
<Bertl_oO> whitequark: ktemkin: what's the current state of the art for an USB 2.0 sniffer/tool which can optionally also alter the communication (PITM)?
<Bertl_oO> i.e. what tools (hardware and software) would you use for this?
<whitequark> i never really needed to modify packets
<whitequark> so i use openvizsla
<whitequark> well... i use it mostly because i have an openvizsla and nothing else... not because it is state of the art :)
<Bertl_oO> fair enough :)
<Bertl_oO> I have a case where neither the host nor the client side is really under my control, so I'd like to be able to first sniff/analyze the traffic and then do some probing by altering or injecting packets
<Bertl_oO> I'm toying with the idea to build my own hardware for that, but if there is something available already it would of course be preferred ...
peeps[zen] has joined #nmigen
peepsalot has quit [Disconnected by services]
peeps[zen] is now known as peepsalot
sakirious has quit [Quit: The Lounge - https://thelounge.chat]
emeb_mac has joined #nmigen
<XMPPwocky> whitequark: okay, thanks - yeah quartus is either doing something weird or just something i don't understand yet - it claims the reset synchronizer's output *is* in fact using a global clock line, with fanout 1696, and also that the same signal is a 'non-global high-fanout signal' with fanout 3732
<XMPPwocky> i've managed to sort of massage things enough that timing passes, so not an issue anymore (for now)
<whitequark> interesting
<whitequark> can you show me the .il file? it might be something obvious
<XMPPwocky> how do i get that? atm my nmigen -> verilog ; the reset synchronizer is from the design my logic is embedded in and is in VHDL; i don't *think* it's (immediately) an nmigen-related issue, was more looking to see if i could work around it
<whitequark> oh i see
<whitequark> nevermind then, i assumed the synchronizer would be a part of nmigen code
<whitequark> that... sounds really annoying, sorry you're dealing with that
<XMPPwocky> yeah i mean it's also even possible that everything's working fine and reset is actually either getting register-duplicated or using a gclk buffer... and timing just happened to fail on paths from the reset signal to other stuff for unrelated reasons
<whitequark> "non-global high-fanout signal" with higher fanout than the global seems troublesome
<whitequark> can you uh... explore the post-placement netlist?
<XMPPwocky> well, that segfaulted quartus, let's try again
<XMPPwocky> https://imgur.com/a/jpQeIs9 zoomed in / zoomed out, not quite sure what i'm looking for (lmk if this'd be more appropriate for another channel)
<whitequark> hm
<XMPPwocky> (i stuck that extra register in there to at least help things along a bit- the output of *that* register is the one that's both global and non-global
<whitequark> by any chance, do you have a mixture of sync and async resets tied to that signal?
<XMPPwocky> the synchronizer producing it seems to give you async assertion, synchronous deassertion, aiui
<whitequark> no no
<whitequark> i mean that you can have a flop with sync reset or async reset
<whitequark> (or both)
<whitequark> so in the rest of the logic (after the synchronizer), which resets is the signal connected to?
<XMPPwocky> at a glance, seems to be all sclr
<whitequark> okay, no ideas here
<XMPPwocky> fair, thanks anyways
nfbraun has joined #nmigen
<nfbraun> In a Pysim process, how do I wait for a signal to change?
chipmuenk has quit [Quit: chipmuenk]
<whitequark> nfbraun: poll it in a loop
<nfbraun> Ok, that's what I am doing right now.
<nfbraun> But then I have to pick a delay time in the loop, right?
<nfbraun> while ((yield foo) == old_foo):
<nfbraun> yield Delay(1e-9)
<nfbraun> Like this?
<whitequark> you could also `yield Tick("domain")` if that makes sense for your design
<nfbraun> Does not really make sense (I'm trying to simulate an off-FPGA SPI slave), but I guess it could work.
<whitequark> internally, python processes can wait on any signal, but this capability isn't currently exposed
<whitequark> this is mainly because the simulator interface is not well thought out and it's not something i want to commit to long term
jeanthom has quit [Ping timeout: 272 seconds]
<nfbraun> Ok. I found https://github.com/m-labs/nmigen/issues/228 while searching for an answer, so I guess that is work in progress for now?
<nfbraun> Anyway, the poll loop will do for now. Thanks!
<nfbraun> Ok, I should have looked at https://github.com/nmigen/nmigen/issues/228 . Sorry...
<XMPPwocky> nfbraun: fwiw you might be able to write a function just for the delay loop and then 'yield from wait_for_change(foo)' ?
<_whitenotifier> [nmigen] nfbraun commented on issue #558: write_cfgmem is writing to arty board when not specified to in the code - https://git.io/JIw6B
<_whitenotifier> [nmigen] nfbraun edited a comment on issue #558: write_cfgmem is writing to arty board when not specified to in the code - https://git.io/JIw6B
<_whitenotifier> [nmigen] whitequark commented on issue #558: write_cfgmem is writing to arty board when not specified to in the code - https://git.io/JIwii
<_whitenotifier> [nmigen] nfbraun commented on issue #558: write_cfgmem is writing to arty board when not specified to in the code - https://git.io/JIwPs
<_whitenotifier> [nmigen] whitequark commented on issue #558: write_cfgmem is writing to arty board when not specified to in the code - https://git.io/JIwXf
<_whitenotifier> [nmigen] nfbraun commented on issue #558: write_cfgmem is writing to arty board when not specified to in the code - https://git.io/JIwX4
<_whitenotifier> [nmigen] whitequark commented on issue #558: write_cfgmem is writing to arty board when not specified to in the code - https://git.io/JIwX1
<_whitenotifier> [nmigen] nfbraun commented on issue #558: write_cfgmem is writing to arty board when not specified to in the code - https://git.io/JIw1w
<nfbraun> XMPPwocky: Yes, sure. The problem with the Delay in the loop is more that the delay is either small, meaning it makes the simulation take longer than necessary, or long, meaning I go beyond the edge I am interested in.
emeb has quit [Quit: Leaving.]
<whitequark> there's a phenomenon where making a language facility more useful (in nmigen processes are fully asynchronous, unlike in migen) leads to more complaints (because the more complex interface has more potential pitfalls)
nfbraun has quit [Quit: leaving]