lekernel changed the topic of #m-labs to: Mixxeo, Migen, MiSoC & other M-Labs projects :: fka #milkymist :: Logs http://irclog.whitequark.org/m-labs
fengling has joined #m-labs
<sb0> rjo, so just "from artiq import *" instead of "from artiq.language.std import *" ?
<sb0> rjo, re. capitalization - it's also NumPy but "import numpy", and SciPy/"import scipy"
<rjo> sb0: yeah. i would just flatten the namespace like that and elevate all exports to the top.
<rjo> sb0: true. but their repositories are lower case.
<rjo> sb0: they don't seem to be skilled demonstrators. more like regular party people. no posters, no slogans... (or at few)
<rjo> ;)
<sb0> the demonstrations are actually the most organized and clean I've ever seen. there are people to supply food/water/masks, pick up trash, provide first aid, etc.
<sb0> it's even better organized than many music festivals I'd say :)
kristianpaul has quit [Quit: leaving]
kristianpaul has joined #m-labs
kristianpaul has joined #m-labs
fengling_ has joined #m-labs
fengling has quit [Ping timeout: 250 seconds]
fengling_ is now known as fengling
nengel has quit [Ping timeout: 272 seconds]
nengel has joined #m-labs
bentley`` has joined #m-labs
<rjo> sb0: i was pondering how to best write a migen transform that automatically and recursively extracts submodules (that have been annotated by their ios), converts them into Instances and exports them as verilog files. but i got stuck because i need a transformer that runs on modules and not on fragments. any pointers or hints?
<rjo> such a transform would be nice for quickly and roughly checking the individual modules contributions to resource usage during synthesis.
<sb0> hmm, yes
<sb0> it could unclutter the namespaces a little, too
<sb0> first, I guess the Module class has to pass hierarchy information into the Fragment somehow, which it discards atm
<sb0> another problem is that when splitting into modules, the verilog ports are not transparent
<sb0> and how would you handle one module that has "comb += x.eq(1)", and then one or several other modules that have code such as "comb += If(y, x.eq(0))"?
<sb0> Migen permits that, with semantics that depend on the order of those statements (which in the case of submodules, would be determined by the order the submodules are added)
<sb0> the verilog converter would do something like "always @(*) begin x <= 1; if(y) x <= 0; end"
<sb0> and those two statements are not easy to put into different modules
<sb0> especially with the various idiosyncrasies that Verilog has regarding module connections
<sb0> I guess those cases should be detected, and the respective modules merged
xiangfu has joined #m-labs
<GitHub52> [ARTIQ] sbourdeauducq pushed 4 new commits to master: http://git.io/h5jZBg
<GitHub52> ARTIQ/master 5099643 Sebastien Bourdeauducq: devices/rtio_core: rename RTIOCounter to RTIOIn and document
<GitHub52> ARTIQ/master 05d8dde Sebastien Bourdeauducq: language/core: pass docstrings through kernel decorator
<GitHub52> ARTIQ/master c95f5bd Sebastien Bourdeauducq: transforms/inline: strip docstrings
<GitHub189> [artiq] sbourdeauducq pushed 2 new commits to master: http://git.io/nPK-eg
<GitHub189> artiq/master cb036a3 Sebastien Bourdeauducq: devices/dds_core: document
<GitHub189> artiq/master 5ac42e4 Sebastien Bourdeauducq: rename artiq.language.std -> artiq
fengling has quit [Quit: WeeChat 1.0]
<GitHub52> [artiq] sbourdeauducq pushed 1 new commit to master: http://git.io/MgwbCw
<GitHub52> artiq/master 73d0a84 Sebastien Bourdeauducq: doc: various cleanups
siruf has joined #m-labs
<GitHub103> [artiq] sbourdeauducq pushed 1 new commit to master: http://git.io/gXZ3IQ
<GitHub103> artiq/master 76fed11 Sebastien Bourdeauducq: rtio: raise RTIOSequenceError exceptions when events are not submitted in-order
_florent_ has joined #m-labs
kyak has quit [Ping timeout: 260 seconds]
xiangfu has quit [Remote host closed the connection]
kyak has joined #m-labs
kyak has joined #m-labs
<rjo> sb0: yes. i didn't think of multiple assignments. but in this case at least the signal would be an output from the module and synthesis should fail nicely.
<rjo> sb0: but it does look more complicated than i expected. i'll stash the idea for now.
<sb0> rjo, have you used https://libgit2.github.com and know what happens when you are accessing a repository while another process modifies it (e.g. while doing a "git push" to it)?
<ysionneau> not sure about full compatibility of libgit2 and the official git
<sb0> according to #libgit2 there should be no problem ...
<ysionneau> ok, let's hope so
<ysionneau> what do you wanna do with libgit2 ?
<sb0> manage experiment code/parameters histories in artiq
<ysionneau> you want to avoid users to use git CLI directly?
<sb0> no, but the system will probably need to e.g. retrieve code at a particular revision before running it, or just know what the latest revision ID is to associate it with the results/logs
<ysionneau> ok
mumptai has joined #m-labs
<rjo> sb0: i always believed git did locking.
<rjo> sb0: what about GitPython?
<rjo> sb0: but i have never really used libgit2. certainly not explored its limits.
_florent_ has quit [Ping timeout: 246 seconds]
<rjo> sb0: oh. pygit2 looks nicer than GitPython.
mumptai has quit [Quit: Verlassend]
xiangfu has joined #m-labs