sb0 changed the topic of #m-labs to: ARTIQ, Migen, MiSoC, Mixxeo & other M-Labs projects :: fka #milkymist :: Logs http://irclog.whitequark.org/m-labs
stekern has quit [Ping timeout: 260 seconds]
stekern has joined #m-labs
kuldeep has quit [Ping timeout: 260 seconds]
attie has quit [Ping timeout: 260 seconds]
fengling_ has joined #m-labs
attie has joined #m-labs
_whitelogger has joined #m-labs
kuldeep has joined #m-labs
andyqqq has joined #m-labs
<andyqqq> https://migen.readthedocs.io/en/latest/simulation.html is out of date to the github code , right?
<andyqqq> There appears to be no migen.sim.generic.TopLevel , and no icarus verilog simulator support etc
rohitksingh_work has joined #m-labs
andyqqq has quit [Quit: Leaving]
stekern has quit [Ping timeout: 244 seconds]
stekern has joined #m-labs
<GitHub18> [llvm-or1k] whitequark force-pushed artiq-3.9 from 1d64a95 to 05b9c86: https://github.com/m-labs/llvm-or1k/commits/artiq-3.9
<GitHub18> llvm-or1k/artiq-3.9 0808f38 whitequark: [OR1K] Emit atomic_{load_{add,sub,and,or,xor,nand},swap,cmp_swap}_32....
<GitHub18> llvm-or1k/artiq-3.9 39ab04d whitequark: [OR1K] Rename _r[ri] in multiclasses to #NAME#{,I}....
<GitHub18> llvm-or1k/artiq-3.9 2e930f4 whitequark: [OR1K] Fix formatting in tablegen files (NFC).
<sb0> whitequark, the rust runtimes that I compile myself crash with "Unhandled exception 7" at startup
<sb0> any idea?
mumptai has joined #m-labs
FabM has joined #m-labs
<sb0> and if I use your rustc conda package, I get error[E0463]: can't find crate for `core`
<sb0> whitequark, ^
<whitequark> sb0: that seems like you're using an LLVM without uh
<whitequark> without this commit
<whitequark> as for conda package, that seems odd, since it works on the buildserver, and I used it on lab.m-labs.hk
<whitequark> wait
<whitequark> didy ou install rust-core-or1k conda package?
<sb0> whitequark, the artiq doc tells me to use the artiq-3.8 branch, so no I don't have this commit
<sb0> please fix the doc
<sb0> okay, that package fixed it, thanks
<sb0> what branch should I use, artiq-3.9 or master?
<whitequark> sb0: artiq-3.9 is what I'm currently testing wrt the perf regression
<whitequark> the manual is correct for now
<whitequark> also the commit should be in artiq-3.8 branch for sure
<whitequark> well, under a different git hash
mumptai has quit [Remote host closed the connection]
<sb0> whitequark, well then there is some other bug
<sb0> the llvm I'm using is up-to-date with the current artiq-3.8
<sb0> when I compile with the rustc conda package the binary works
<whitequark> never use llvm-or1k master for artiq, it doesn't have another perf patch that the mainline refused
key2 has joined #m-labs
stekern has quit [Ping timeout: 260 seconds]
<key2> hi
<whitequark> and yes. that definitely means your llvm is wrong
<sb0> I compiled it exactly according to the artiq doc
<sb0> and my artiq-3.8 branch is up to date
<whitequark> hrm.
<whitequark> can you show me the output of rustc configure command?
stekern has joined #m-labs
<whitequark> hrm, that looks correct.
<whitequark> ok, I will replicate this on a clean system once I fix the perf issue
key2 has quit [Quit: Page closed]
stekern has quit [Ping timeout: 250 seconds]
<sb0> whitequark, are you using the kc705?
stekern has joined #m-labs
fengling_ has quit [Ping timeout: 268 seconds]
zoobab has joined #m-labs
<zoobab> lekernel is around?
<sb0> hi zoobab
<sb0> yes
<zoobab> Password: 4qk3
<zoobab> sorry
<whitequark> sb0: not right now
fengling_ has joined #m-labs
stekern has quit [Ping timeout: 252 seconds]
stekern has joined #m-labs
fengling_ has quit [Ping timeout: 268 seconds]
<zoobab> @sb0 see my pm
stekern has quit [Ping timeout: 250 seconds]
fengling_ has joined #m-labs
stekern has joined #m-labs
rohitksingh_wor1 has joined #m-labs
fengling_ has quit [Ping timeout: 268 seconds]
rohitksingh_work has quit [Ping timeout: 256 seconds]
rohitksingh_wor1 has quit [Read error: Connection reset by peer]
<GitHub157> [migen] jordens pushed 2 new commits to master: https://git.io/vXRey
<GitHub157> migen/master 2b0d76a Robert Jordens: decorators: inherit docstring and module
<GitHub157> migen/master 9e76fee Robert Jordens: structure: fixup error message
sandeepkr has joined #m-labs
fengling_ has joined #m-labs
fengling_ has quit [Ping timeout: 268 seconds]
rohitksingh has joined #m-labs
stekern has quit [Ping timeout: 260 seconds]
stekern has joined #m-labs
fengling_ has joined #m-labs
fengling_ has quit [Ping timeout: 268 seconds]
stekern has quit [Ping timeout: 260 seconds]
<GitHub98> [artiq] klickverbot opened pull request #608: compiler: Clarify recv_rpc value names and documentation [nfc] (master...recv_rpc) https://git.io/vXRqh
<GitHub79> [artiq] whitequark closed pull request #608: compiler: Clarify recv_rpc value names and documentation [nfc] (master...recv_rpc) https://git.io/vXRqh
<GitHub127> [artiq] whitequark pushed 1 new commit to master: https://git.io/vXRmO
<GitHub127> artiq/master 6e77f65 David Nadlinger: compiler: Clarify recv_rpc value names and documentation [nfc]...
<GitHub139> [artiq] sbourdeauducq pushed 1 new commit to release-2: https://git.io/vXRY4
<GitHub139> artiq/release-2 f368e1b David Nadlinger: compiler: Clarify recv_rpc value names and documentation [nfc]...
stekern has joined #m-labs
stekern has quit [Ping timeout: 265 seconds]
<cr1901_modern> sb0: What is an ElasticBuffer in the Clock Domain Crossings module? And how does it differ from an AsyncFIFO?
<rjo> cr1901_modern: it resets to half full and doesn't care about tail-head collisions.
<rjo> and it resets at the right time.
<rjo> and it is in CDC because it implements a CDC.
<sb0> cr1901_modern, it's like an AsyncFIFO without flow control. obviously requires that the input rate is equal to the output rate (clocks at the same frequency)
<sb0> you can use it to transfer data between two clock domains at the same frequency driven by the same oscillator, but with unknown phases
<cr1901_modern> sb0: Interesting
<cr1901_modern> "rjo: and it is in CDC because it implements a CDC." So does an Async FIFO
fengling_ has joined #m-labs
<cr1901_modern> why isn't that in CDC :P?
stekern has joined #m-labs
<cr1901_modern> while I'm thinking about it, is there any migen module that helps cleanly switch between two clock frequencies, either through a mux or as a result of changing a PLL divider?
<rjo> cr1901_modern: right. a MultiReg also implements a CDC.
<rjo> BUFGMUX?
<cr1901_modern> If I switch too close to when the clock transitions, there could be a duty cycle violation
<rjo> there is basically no way to write generic clocking logic for xilinx devices. it's all specials.
<rjo> BUFGMUX fixes that.
<rjo> or whatever it is in 7 series.
fengling_ has quit [Ping timeout: 268 seconds]
<cr1901_modern> Well, if it can't be done generically, I'll do that
<sb0> cr1901_modern, AsyncFIFO has to be either in the cdc or fifo module, and neither choice is perfect
<cr1901_modern> sb0: Fair enough. I only mentioned it b/c I'm dense and it took me until this morning to realize that "cdc" stood for "Clock Domain Crossing"
* cr1901_modern will write docs when he gets the chance
<cr1901_modern> whereas I've used AsyncFIFO for all my CDC needs up to this point
<cr1901_modern> MultiReg is just "synchronize one signal unless you've wrapped your input in a GrayCounter" I assume?
<cr1901_modern> And BusSynchronizer is "synchronize multiple signals when a GrayCounter is inappropriate"?
<cr1901_modern> Not sure what PulseSynchronizer does yet: Convert's a one-cycle-long pulse in the source to a one-cycle-long pulse in the dest?
<sb0> cr1901_modern, yes, pulsesynchronizer does that
_florent_ has quit [Ping timeout: 250 seconds]
<sb0> gray coding only works when the value of your signal changes at most by 1 at each clock cycle
mithro has quit [Ping timeout: 250 seconds]
<cr1901_modern> Right. I was commenting on MultiReg potentially accepting > 1 bit signal width
<cr1901_modern> Which only makes sense if you can GrayEncode
rqou has quit [Ping timeout: 250 seconds]
_florent_ has joined #m-labs
<cr1901_modern> sb0: PulseSynchronizer could be used to propogate the reset signal from a CRG in a high-speed clock domain to a lower-speed domain, correct?
mithro has joined #m-labs
rqou has joined #m-labs
<sb0> cr1901_modern, you may want to use AsyncResetSynchronizer for this
<sb0> easier, more robust
<cr1901_modern> That should map to a device-specific async primitive, correct?
<cr1901_modern> And Ack.
* cr1901_modern does some reading
<cr1901_modern> (All this planning just connect to a single external core that, by design, must operate at a low frequency lmao. Yay...)
<cr1901_modern> sb0: in a similar vein to AsyncResetSynchronizer, why is MultiReg a Special? It can be dup'ed without device-specific primitives.
fengling_ has joined #m-labs
fengling_ has quit [Ping timeout: 268 seconds]
rohitksingh has quit [Read error: Connection reset by peer]
rohitksingh has joined #m-labs
klickverbot has joined #m-labs
<klickverbot> whitequark: How much does kernel_invariants do currently (release-2)? I was surprised to find that simple stuff like "def build(self): self.foo = True; @kernel def run(self): if self.foo: … else: …" is not folded away
<klickverbot> (where foo is a kernel invariant; e.g. https://gist.github.com/klickverbot/0c9a40576a764d94f4351f3914f371e1)
<klickverbot> In particular, the example from compiler.rst does not actually seem to be folded away either
<klickverbot> (!invariant.load is not enough to make LLVM propagate the initialiser for non-constant global to the loads)
<klickverbot> (It seems like instead of a load/GEP, process_GetAttr should really just emit the initialiser inline for constant_attributes (?))
fengling_ has joined #m-labs
fengling_ has quit [Ping timeout: 268 seconds]
<klickverbot> (Hmm, Stitcher should probably just emit the parameters as an LLVM constant…)
stekern has quit [Ping timeout: 260 seconds]
stekern has joined #m-labs
fengling_ has joined #m-labs
fengling_ has quit [Ping timeout: 268 seconds]
rohitksingh has quit [Quit: Leaving.]
mumptai has joined #m-labs
stekern has quit [Ping timeout: 256 seconds]
stekern has joined #m-labs
fengling_ has joined #m-labs
fengling_ has quit [Ping timeout: 268 seconds]
fengling_ has joined #m-labs
fengling_ has quit [Ping timeout: 268 seconds]
klickverbot has quit [Ping timeout: 250 seconds]
fengling_ has joined #m-labs
fengling_ has quit [Ping timeout: 268 seconds]
klickverbot has joined #m-labs
fengling_ has joined #m-labs
fengling_ has quit [Ping timeout: 268 seconds]
flaviusb has quit [Ping timeout: 245 seconds]
flaviusb has joined #m-labs
klickverbot has quit [Ping timeout: 256 seconds]
fengling_ has joined #m-labs
mumptai has quit [Quit: Verlassend]
fengling_ has quit [Ping timeout: 268 seconds]
klickverbot has joined #m-labs
sandeepkr has quit [Ping timeout: 250 seconds]
klickverbot has quit [Read error: Connection reset by peer]