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
<awygle> ok so i can fix the issue with https://github.com/nmigen/nmigen/pull/369 at the cost of a single clock of additional latency for the asynchronous FIFOs
<awygle> er, r_clk
<cr1901_modern> Last time multiclock came up, I recall wq didn't want explicit $global_clock support in nmigen. Which would mean having to write out assumptions that eventually every clock domain eventually ticks
<cr1901_modern> (otherwise, the SMT solver will just provide a CEX where none of the clocks ever tick)
<cr1901_modern> until the last proof step*
<awygle> i think writing explicit assumptions to tick the clocks is not unreasonable, but i wouldn't mind a clock domain for $global_clock either. it seems like a natural default_clk for the formal platform.
<cr1901_modern> I don't remember wq's reasoning, and I'm pretty sure the logs where we discussed it in privmsg (predates #nmigen) are on another computer.
<awygle> i also think that "cex where no clocks tick" is not universally applicable
<awygle> depends on your properties
<awygle> and solver maybe
<awygle> since the inductive portion of a k-induction proof will be able to assume violating values
<awygle> that's probably what you meant
<awygle> i have been enjoying pdr not requiring me to fuck around with such things
<cr1901_modern> 1. I want to say "holding all the clocks at a single value until the final proof step is equivalent of turning your n-step k induction into a 1-step k-induction". But this only _feels_ correct.
<cr1901_modern> 2. All the CEXes I had when first learning multiclock were of the above form. So I assume it's common :P.
<awygle> lol yes, fair
<awygle> but that may be at least in part because ~all learning resources for yosys formal teach only k-induction
<cr1901_modern> I haven't done much formal since Aug 2018. And well, last year around this time was effectively a reset on everything for me. So I'm def not up to date.
<awygle> mhm
<whitequark> awygle: is that latency necessary?
<whitequark> I came to the same conclusion but I don't understand why is it fundamentally needed
<whitequark> it feels like working around something irrelevant
<awygle> i think it's because the read port isn't transparent
<awygle> but when i tried to make it transparent i got a weird error about a constant
<awygle> and then i got pulled away
<awygle> i have the impression that there's weirdness with memory read ports in yosys anyway
<awygle> but i couldn't tell you exactly why
<awygle> just am ambient impression
<whitequark> awygle: ohh
<whitequark> damn it, ok
<whitequark> yes, transparent read ports can't have a read enable
<whitequark> this is currently just hardcoded on the nmigen side, which is one of the single ugliest parts of nmigen
<whitequark> but until someone fixes yosys we can't realistically use such ports anyway
<whitequark> so i'd say increase the latency and leave a comment in there linking to the yosys issue
<whitequark> the weirdness is basically just the memory_bram pass being an awful little pile of ad-hoc logic that never quite works well
<whitequark> it needs a rewrite but this rewrite is so monumental that no one i know, including me, is up to the task of doing it
<awygle> OK, will do
<awygle> whitequark: this is the issue in question? https://github.com/YosysHQ/yosys/issues/1390
<awygle> arright this is pissing me off, i'm gonna tap out for tonight
<awygle> there are two "read_clk" signals in this VCD and one is twice as fast as the other
<awygle> that's troubling at best
<awygle> also this counterexample trace happily violates the CDC invariant of the grey code which i'm _almost_ sure is a formal testbench issue and not real
<awygle> i'll figure out what's happening another time
Degi has quit [Ping timeout: 256 seconds]
Degi has joined #nmigen
proteus-guy has joined #nmigen
_whitelogger has joined #nmigen
<whitequark> awygle: nope
proteus-guy has quit [Ping timeout: 244 seconds]
proteus-guy has joined #nmigen
proteus-guy has quit [Remote host closed the connection]
<awygle> oh wow, venerable.
pinknok has joined #nmigen
<whitequark> yep
<whitequark> it does depend on the issue you linked, actually
_whitelogger has joined #nmigen
rohitksingh has quit [Ping timeout: 260 seconds]
Asu has joined #nmigen
<_whitenotifier-c> [nmigen-boards] peteut reviewed pull request #49 commit - https://git.io/Jf05k
pinknok has quit [Ping timeout: 258 seconds]
<_whitenotifier-c> [nmigen-boards] peteut reviewed pull request #49 commit - https://git.io/Jf05C
<_whitenotifier-c> [nmigen-boards] peteut synchronize pull request #49: Add Digilent Genesys2 board - https://git.io/JvgDS
Asu has quit [Remote host closed the connection]
Asu has joined #nmigen
<_whitenotifier-c> [nmigen-boards] peteut synchronize pull request #49: Add Digilent Genesys2 board - https://git.io/JvgDS
<_whitenotifier-c> [nmigen-boards] peteut synchronize pull request #49: Add Digilent Genesys2 board - https://git.io/JvgDS
pinknok has joined #nmigen
Guest30583 has joined #nmigen
<_whitenotifier-c> [nmigen-boards] peteut synchronize pull request #49: Add Digilent Genesys2 board - https://git.io/JvgDS
<_whitenotifier-c> [nmigen-boards] peteut synchronize pull request #49: Add Digilent Genesys2 board - https://git.io/JvgDS
<_whitenotifier-c> [nmigen-boards] peteut synchronize pull request #49: Add Digilent Genesys2 board - https://git.io/JvgDS
<_whitenotifier-c> [nmigen-boards] peteut synchronize pull request #49: Add Digilent Genesys2 board - https://git.io/JvgDS
pinknok has quit [Ping timeout: 246 seconds]
pinknok has joined #nmigen
pinknok has quit [Ping timeout: 246 seconds]
rohitksingh has joined #nmigen
thinknok has joined #nmigen
thinknok has quit [Ping timeout: 272 seconds]
thinknok has joined #nmigen
rohitksingh_ has joined #nmigen
<_whitenotifier-c> [nmigen] dlharmon opened issue #388: Integer parameters over 32 bits - https://git.io/JfEJd
chipmuenk has joined #nmigen
cr1901_modern has quit [Read error: Connection reset by peer]
<_whitenotifier-c> [nmigen] whitequark commented on issue #388: Integer parameters over 32 bits - https://git.io/JfETP
cr1901_modern has joined #nmigen
rohitksingh_ has quit [Remote host closed the connection]
rohitksingh has quit [Remote host closed the connection]
chipmuenk1 has joined #nmigen
chipmuenk has quit [Ping timeout: 252 seconds]
chipmuenk1 is now known as chipmuenk
<_whitenotifier-c> [nmigen/nmigen] whitequark pushed 2 commits to doc [+15/-2/±7] https://git.io/JfELt
<_whitenotifier-c> [nmigen/nmigen] whitequark 2f3852a - tracer: fix get_var_name() to work on toplevel attributes.
<_whitenotifier-c> [nmigen/nmigen] whitequark 51ed974 - [WIP] doc
<_whitenotifier-c> [nmigen/nmigen] whitequark pushed 1 commit to master [+0/-0/±1] https://git.io/JfELm
<_whitenotifier-c> [nmigen/nmigen] whitequark 393c27a - tracer: fix get_var_name() to work on toplevel attributes.
chipmuenk has quit [Quit: chipmuenk]
<_whitenotifier-c> [nmigen] peteut commented on issue #386: Inverted DiffPairs in connectors - https://git.io/JfEtK
<_whitenotifier-c> [nmigen] peteut edited a comment on issue #386: Inverted DiffPairs in connectors - https://git.io/JfEtK
<_whitenotifier-c> [nmigen] whitequark commented on issue #386: Inverted DiffPairs in connectors - https://git.io/JfEtH
Guest30583 has quit [Quit: Nettalk6 - www.ntalk.de]
<_whitenotifier-c> [nmigen] whitequark commented on issue #386: Inverted DiffPairs in connectors - https://git.io/JfEt5
Asuu has joined #nmigen
Asu has quit [Ping timeout: 264 seconds]
Asu has joined #nmigen
Asuu has quit [Ping timeout: 265 seconds]
thinknok has quit [Ping timeout: 272 seconds]
Asu has quit [Quit: Konversation terminated!]