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
sb0_ has joined #m-labs
sb0 has quit [Ping timeout: 264 seconds]
fengling has joined #m-labs
fengling_ has joined #m-labs
fengling has quit [Ping timeout: 272 seconds]
fengling_ has quit [Quit: WeeChat 1.1.1]
fengling has joined #m-labs
<GitHub26> [artiq] jordens pushed 5 new commits to master: http://git.io/vtaLM
<GitHub26> artiq/master 39e9e73 Robert Jordens: language: allow experiments to import from artiq.language...
<GitHub26> artiq/master 593dafc Robert Jordens: test: hardware testbench
<GitHub26> artiq/master f7427dd Robert Jordens: test: make benchmarks unittest
<GitHub59> [artiq] jordens pushed 1 new commit to master: http://git.io/vtaqZ
<GitHub59> artiq/master e2cb0e1 Robert Jordens: pipistrello: really do not request xtrig
<GitHub194> [artiq] jordens pushed 1 new commit to master: http://git.io/vtaOz
<GitHub194> artiq/master 165ef20 Robert Jordens: pipistrello: drop rtio fifos for invisible leds...
travis-ci has joined #m-labs
<travis-ci> m-labs/artiq#261 (master - 23eee94 : Robert Jordens): The build passed.
travis-ci has left #m-labs [#m-labs]
<rjo> sb0_, ysionneau: fyi: i'll be maintaining a few testbench and lab specific setups (ddb/pdb/experiment code etc) in nist-ionstorage/artiq-lab
travis-ci has joined #m-labs
<travis-ci> m-labs/artiq#262 (master - e2cb0e1 : Robert Jordens): The build passed.
travis-ci has left #m-labs [#m-labs]
travis-ci has joined #m-labs
<travis-ci> m-labs/artiq#263 (master - 165ef20 : Robert Jordens): The build has errored.
travis-ci has left #m-labs [#m-labs]
<GitHub81> [artiq] jordens pushed 1 new commit to master: http://git.io/vtaCv
<GitHub81> artiq/master d39382e Robert Jordens: pipistrello: ext_led fifo depth 4
travis-ci has joined #m-labs
<travis-ci> m-labs/artiq#263 (master - 165ef20 : Robert Jordens): The build passed.
travis-ci has left #m-labs [#m-labs]
travis-ci has joined #m-labs
<travis-ci> m-labs/artiq#264 (master - d39382e : Robert Jordens): The build passed.
travis-ci has left #m-labs [#m-labs]
sb0_ has quit [Ping timeout: 256 seconds]
FabM has joined #m-labs
fengling has quit [Quit: WeeChat 1.1.1]
fengling has joined #m-labs
mumptai has joined #m-labs
<cr1901_modern> This might be a stupid question, but... how do JTAG based programmers that talk directly to the FPGA load a bitstream into nonvolatile storage (or "they don't?"). ISF seems to only be used to place data AFTER the bitstream in flash.
key2 has joined #m-labs
sb0 has joined #m-labs
aeris has quit [Quit: en a pas]
mumptai has quit [Remote host closed the connection]
aeris has joined #m-labs
_florent_ has joined #m-labs
sb0 has quit [Quit: Leaving]
<ysionneau> rjo: ack
_florent_ has quit [Ping timeout: 264 seconds]
<GitHub112> [artiq] fallen pushed 1 new commit to master: http://git.io/vtwqA
<GitHub112> artiq/master 515aa96 Yann Sionneau: controllers: use --simulation for simulation
travis-ci has joined #m-labs
<travis-ci> m-labs/artiq#265 (master - 515aa96 : Yann Sionneau): The build passed.
travis-ci has left #m-labs [#m-labs]
_florent_ has joined #m-labs
_florent_ has quit [Ping timeout: 272 seconds]
sb0 has joined #m-labs
_florent_ has joined #m-labs
sb0 has quit [Quit: Leaving]
_florent_ has quit [Ping timeout: 244 seconds]
sb0 has joined #m-labs
<sb0> whitequark, what exactly do you have in mind with "memory safety necessary for stack allocations"?
<whitequark> I've described it yesterday...
<whitequark> well, exactly? add a type parameter that contains a region. literally a source range during which the allocation is valid
<whitequark> on unifying, the subtyping relation is enforced. a :> b would mean that b is included in a
<whitequark> that is all
<sb0> ah, that region system
<whitequark> rust has borrow checker, which makes the system incredibly complicated, but we won't
<whitequark> and the basic one is very straightforward
<sb0> "memory safety" sounded like a MMU or something like that
<whitequark> ah
<whitequark> don't need an MMU with a memory-safe language :p
<sb0> are you going to check array bounds?
<whitequark> yes
<sb0> ok
<whitequark> I shouldn't?
<whitequark> or rather, is there any reason I shouldn't?
<sb0> no, that's fine. as long as it isn't slow...
<whitequark> LLVM can hoist that out of loops, even
<whitequark> shouldn't be more than 1% slowdown or so
<whitequark> based on what I've seen in other LLVM-based langs
<sb0> sounds good
<sb0> and I guess you can throw a IndexError exception on a invalid access?
sb0 has quit [Quit: Leaving]
<rjo> sb0, whitequark: do you two feel that a bit of discussion about pythonparser/new-py2llvm would help? forging a bit of a roadmap prioritizing, which features land when, implementation things etc. do you feel that somebody should dive into these things (compiler desgin related stuff is certainly new to me)?
<GitHub120> [artiq] fallen pushed 2 new commits to master: http://git.io/vtoNZ
<GitHub120> artiq/master a73776b Yann Sionneau: controllers: enforce the usage of either --simulation or --device
<GitHub120> artiq/master ffe1355 Yann Sionneau: lda_controller: improve help message for --device argument
<rjo> ysionneau: btw: if you mention "closes #24" (or any other similar wording) in the changelog entry, it will close that thing automagically.
<rjo> sb0, ysinneau: I'll add a few __all__s to the artiq.language area to streamline the namespace a bit.
<rjo> s/ysinneau/ysionneau/
travis-ci has joined #m-labs
<travis-ci> m-labs/artiq#266 (master - ffe1355 : Yann Sionneau): The build passed.
travis-ci has left #m-labs [#m-labs]
mumptai has joined #m-labs
<GitHub53> [artiq] jordens pushed 2 new commits to master: http://git.io/vtKRN
<GitHub53> artiq/master f0ac8cb Robert Jordens: pipistrello: add user_led:2 for debugging w/o adapter
<GitHub53> artiq/master d1c4cf0 Robert Jordens: pipistrello: update rtio channel doc
<rjo> is there no way to reset the kc705 fpga with software using xc3sprog?
<GitHub149> [artiq] jordens created namespace_all (+1 new commit): http://git.io/vtKwn
<GitHub149> artiq/namespace_all 0abea0c Robert Jordens: use __all__ to structure the namespace
<whitequark> rjo: (discussion) sure. I will finish the region system and then my focus will be on transforms
<whitequark> which need some rework
<GitHub135> [artiq] whitequark pushed 1 new commit to new-py2llvm: http://git.io/vtKik
<GitHub135> artiq/new-py2llvm 6bf9539 whitequark: Rename package py2llvm to compiler....
travis-ci has joined #m-labs
<travis-ci> m-labs/artiq#267 (master - d1c4cf0 : Robert Jordens): The build passed.
travis-ci has left #m-labs [#m-labs]
<rjo> whitequark: ack. just wondering. i am not certain discussing this is absolutely necessary, especially since i would need to dig into the theory a bit before.
<whitequark> rjo: it was my intent to discuss the transforms as well, since while I understand how they currently work, I'm not sure what is the intent behind all that code
<whitequark> and this needs to be done before codegen, or at least parts of codegen
<whitequark> since the design of codegen would depend on that. e.g. whether there should be an AST-to-CFG phase before codegen
<whitequark> it's needed for a clean implementation of inlining, but it's not clear that the inlining itself is necessary, and if not, it would be best to get rid of it
<GitHub149> [artiq] jordens pushed 1 new commit to master: http://git.io/vtKSg
<GitHub149> artiq/master 3ee2bd5 Robert Jordens: pipistrello: set CLKFX_MD_MAX from MD ratio
travis-ci has joined #m-labs
<travis-ci> m-labs/artiq#268 (namespace_all - 0abea0c : Robert Jordens): The build passed.
travis-ci has left #m-labs [#m-labs]
<rjo> whitequark: ack. ok if you do the scheduling and organize the discussion?
travis-ci has joined #m-labs
<travis-ci> m-labs/artiq#269 (master - 3ee2bd5 : Robert Jordens): The build passed.
travis-ci has left #m-labs [#m-labs]
<ysionneau> rjo: are there some non-master builds that have been wrongly uploaded to binstar so far?
<ysionneau> ones that I should remove?
<rjo> you don't have to remove them. they would not break anything. but afaict e.g. that namespace_all branch has been uploaded (#268)
<rjo> whitequark added worked around it with a few tweaks in his new-py2llvm branch
<rjo> also sb0's ppp branch got uploaded
<rjo> i think an if [ $TRAVIS_BRANCH != "master" ]; then ... fi around the binstar uploads should be fine
<rjo> and also a if [ $BUILD_SOC ] around the artiq conda bitstream builds.
<whitequark> rjo: ok
<GitHub178> [artiq] jordens pushed 1 new commit to master: http://git.io/vt6WP
<GitHub178> artiq/master 0f06bac Robert Jordens: travis: use "use-local" for conda install...
travis-ci has joined #m-labs
<travis-ci> m-labs/artiq#270 (master - 0f06bac : Robert Jordens): The build passed.
travis-ci has left #m-labs [#m-labs]
<rjo> cr1901_modern: you first load a jtag-to-spi proxy bitstream onto the fpga through jtag and then talk to the spi flash behind the fpga through that proxy and program the flash.
<cr1901_modern> Ahhh, that makes sense. How does JTAG actually access the SPI driver inside the FPGA? Is there a JTAG extension that lets you write to a memory cell defined in the proxy bitstream that connects to the SPI driver
<rjo> you instantiate a bscan cell that gives you access to the jtag lines.
<cr1901_modern> Ask question, get answer/free code XD
<rjo> if you want to work on this, that would be an extremely helpful and valuable contribution
<rjo> there is even money for this
<cr1901_modern> Not really interested in the money (I'd rather do this at my own pace)
<cr1901_modern> rj0: Can you elaborate on why openocd and flashrom do not "cover the full scope" of applications?
<GitHub46> [migen] fallen pushed 1 new commit to master: http://git.io/vtiml
<GitHub46> migen/master 4509265 Yann Sionneau: travis: use use-local for conda install...
<cr1901_modern> For my current dev board, the programmer doesn't actually use JTAG- it bit-bangs an SPI serial interface to flash, and so can serve the dual purpose of programming a bitstream and flashing user code afterward
<rjo> i have not seen openocd used with a clean proxy bitstream to program flash for s6.
<rjo> flashrom does not really concern itself with the jtag side of things that much
nicksydney has joined #m-labs
<rjo> having a slightly more powerful jtag is pretty cool because you can also debug you soft-cpu on the fpga with it, or build a uart over jtag.
<cr1901_modern> "debug you soft-cpu"... don't vendors let you do that already?
<rjo> vendor of what? you have to get the jtag signals from your soft cpu to somewhere.
<cr1901_modern> I meant FPGA vendors, but ignore the question.
<cr1901_modern> It's not well-formed XD
<cr1901_modern> I thought JTAG: 1. Does boundary scan, 2. Allows you an interface to program a design, 3. provides vendor specific extensions for debugging the FPGA.
mumptai has quit [Remote host closed the connection]
<rjo> all correct. one of the extensions is a virtual jtag tap that you can hook up to your soft cpu. if your jtag tools understand this stack (jtag hw, fpga, virtual tap, cpu) you can do some nice tricks.
<rjo> but it usually doesn't
travis-ci has joined #m-labs
<travis-ci> m-labs/migen#49 (master - 4509265 : Yann Sionneau): The build passed.
travis-ci has left #m-labs [#m-labs]
<cr1901_modern> rj0: Oh I see... essentially, use the FPGA's JtAG capabilities to give a custom CPU design JTAG capabilities as if you has a custom CPU ASIC with JTAG capabilities
<rjo> yes
<rjo> but that is only one thing you can do with it. you can also add a little jtag-to-uart translator next to it. thus through one port you get access to the fpga configuration, the spi flash, the cpu jtag, a debug uart.