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
fengling has joined #m-labs
fengling has quit [Ping timeout: 255 seconds]
fengling has joined #m-labs
fengling_ has joined #m-labs
fengling has quit [Ping timeout: 252 seconds]
<sb0> whitequark, let me know if you manage to get any word from copsub.
<sb0> rjo, I'm quite puzzled about homodyne single photon detection e.g. used in http://arxiv.org/pdf/1412.7790.pdf
<sb0> it seems they're sending 10mW on one side of a beam splitter, single photons on the other side, and then a photodiode is supposed to detect the fluctuations induced by the single photons? how could that work?
<rjo> oh the furusawa stuff. yeah that is always nice. their labs are also cool. very different from ours.
<rjo> what don't you like about it.
<rjo> ?
<rjo> even a single photon is just a field.
<rjo> they even send half a photon onto that beam splitter.
<rjo> monochromatic (narrowband) single photons are very long. they interfere nicely. but getting single photons and knowing when one is on its way and where it is, is the tricky bit. this is why you need to split photons in an opo first and use half of them as trigger and the other half in your experiment.
<sb0> yes, but they also send 10mW into the same beam splitter (and half of it comes out) - wouldn't that drown that half-photon?
<sb0> eg by saturating the photodiode
<sb0> my question was about the homodyne mixer, not the heralding stuff
<sb0> which afaict gets a constant 10mW from the LO
<sb0> same wavelength, coherent with the photon even. and then the photodiode is supposed to detect a 1-photon variation in a constant 5mW beam?!
<sb0> ysionneau, or simply - if one of the header file produces a compilation warning
<sb0> that will break.
* sb0 thinks we should maybe replace makefiles with python or similar
<sb0> echo -e "#include <generated/csr.h>\nCSR_KERNEL_CPU_BASE" | or1k-elf-gcc -E - | tail -n 1 | grep -c CSR_KERNEL_CPU_BASE
<sb0> would be more robust
rjo_ has joined #m-labs
<sb0> hmm... how can I error if the $(shell ...) command yields a non-zero return code
<rjo_> sb0: even at 5mW you can do relatively easily do photodetection down to the shotnoise level. differencing gives removes the LO leakage feedthrough (in RF mixer terms). your electrical signal is not limited by electroca noise but by the incoming photons.
<rjo_> for artiq-soc, we should keep the comms-cpu lm32 and the kernel-cpu or1k ;)
<sb0> 5mW is 1e16 photons per second at 600nm
<sb0> and during that 500ns integration time you get a ~100k photon count rms fluctuation from Poisson statistics
<sb0> ah and they repeat the experiment 200k times
<sb0> well, maybe that works. how hard is it to remove other sources of noise from the photodiode system?
<sb0> the statistics of this thing are pretty tricky
<rjo_> the thing that helps here is the 2*a*b interference term. the interference signal is not constant but scales with lo power.
<sb0> is there some nonlinear mixing involved?
<sb0> linearly, you get Acos(p1) + Bcos(p2) = 2Acos((p1+p2)/2)cos((p1-p2)/2) + (B-A)cos(p2)
<sb0> and the interference term 2Acos... doesn't scale with B
<rjo_> the lo is A**2 in power/photon number, the signal is B**2 << A**2, the intereference is (A*exp(1j*p) + B)**2 = A**2 + 2*A*B*cos(p) + B**2. the differencing kills the first term, the last one is irrelevant and you only need to look at the 2*A*B*cos(p)
<rjo_> A is field strength, A**2 is power/photon number, homodyne interference happens in field amplitude, the detectors detect power/photon number.
fengling_ has quit [Ping timeout: 245 seconds]
rjo_ has quit [Quit: leaving]
fengling_ has joined #m-labs
fengling_ has quit [Ping timeout: 265 seconds]
fengling_ has joined #m-labs
<ysionneau> 06:43 < sb0> ysionneau, or simply - if one of the header file produces a compilation warning < you can add a |grep "your #warning message" to be more robust, but indeed it's not the perfect solution :/
<ysionneau> ah, seen your other solution
<ysionneau> I think make does not check the return value of the command in $(shell ) command. but you could test $? in shell in the $(shell ) command and then return some string value (with echo) which would mean a failure
<ysionneau> and then check that from the makefile and then generate a $(error <message>)
<ysionneau> which will stop the makefile from processing further
<ysionneau> it's a bit ugly but :/
early has quit [Ping timeout: 256 seconds]
early has joined #m-labs
<GitHub85> [migen] sbourdeauducq pushed 1 new commit to master: http://git.io/vesRk
<GitHub85> migen/master 1d11895 Sebastien Bourdeauducq: mibuild: support multiple specifications of include file and sources
<GitHub197> [migen] sbourdeauducq pushed 3 new commits to master: http://git.io/vesRo
<GitHub197> migen/master 4522956 Robert Jordens: vivado: make _build_files() a method and rename
<GitHub197> migen/master 9506f69 Robert Jordens: vivado: add support for pre_synthesis_commands
<GitHub197> migen/master aac953d Robert Jordens: vivado: support phys_opt
<ccube> I found some FT2232H classes in misoc dir. Can I create a Soc with them which behaves like an FT2232H device? Or what are they are for?
<GitHub81> [migen] sbourdeauducq pushed 3 new commits to master: http://git.io/vesXm
<GitHub81> migen/master 4091af6 Robert Jordens: fhdl/decorators: make the transform logic more idiomatic...
<GitHub81> migen/master e702fb7 Robert Jordens: decorators: fix class/instance logic
<GitHub81> migen/master db76def Sebastien Bourdeauducq: fhdl/visit: remove TransformModule
<GitHub12> [misoc] sbourdeauducq pushed 1 new commit to master: http://git.io/vesXj
<GitHub12> misoc/master 66f8dcb Robert Jordens: lite*: adapt to new ModuleTransformer semantics...
<sb0> first rtio led-blink on dual-cpu! :)
<ysionneau> \o/
<ysionneau> congratz !
<larsc> same cpu or different cpus?
<sb0> two or1ks. having one lm32 and one or1k should be relatively straightforward with the code I have right now, but I won't play with that
sh4rm4 has joined #m-labs
sh[4]rm4 has quit [Ping timeout: 265 seconds]
sh[4]rm4 has joined #m-labs
sh4rm4 has quit [Ping timeout: 265 seconds]
sh[4]rm4 has quit [Remote host closed the connection]
sh4rm4 has joined #m-labs
<GitHub118> [artiq] sbourdeauducq pushed 3 new commits to master: http://git.io/veGLW
<GitHub118> artiq/master 8331784 Sebastien Bourdeauducq: remove gpio driver
<GitHub118> artiq/master 277e038 Sebastien Bourdeauducq: targets/kc705: add LED on RTIO
<GitHub118> artiq/master cbdc1ba Sebastien Bourdeauducq: runtime: biprocessor support (incomplete, WIP)
travis-ci has joined #m-labs
<travis-ci> m-labs/artiq#83 (master - cbdc1ba : Sebastien Bourdeauducq): The build has errored.
travis-ci has left #m-labs [#m-labs]
<ysionneau> hum, I should push an update to migen package
sh4rm4 has quit [Remote host closed the connection]
sh4rm4 has joined #m-labs
<ysionneau> done, let's retrigger the build
sh4rm4 has quit [Remote host closed the connection]
sh4rm4 has joined #m-labs
travis-ci has joined #m-labs
<travis-ci> m-labs/artiq#83 (master - cbdc1ba : Sebastien Bourdeauducq): The build passed.
travis-ci has left #m-labs [#m-labs]
<ysionneau> sb0: if I don't use ISE toolchain, build-headers fails on kc705 : http://pastebin.com/qHfnXSU0
<ysionneau> sb0: for automating kc705 builds on travis, how do we proceed? Do we upload a ciphered version of your Xilinx license file?
<ysionneau> (and hope that the travis machine allows to set network down+change mac+set network up)
sh4rm4 has quit [Remote host closed the connection]
sh4rm4 has joined #m-labs
fengling_ has quit [Ping timeout: 250 seconds]
<sb0> ysionneau, yes, same as is done right now
sh4rm4 has quit [Remote host closed the connection]
sh4rm4 has joined #m-labs
<ysionneau> ok, trying right now
<GitHub85> [pyparser] whitequark pushed 1 new commit to master: http://git.io/veGV7
<GitHub85> pyparser/master 7c51298 whitequark: Add lexer.Token....
sh4rm4 has quit [Remote host closed the connection]
sh4rm4 has joined #m-labs
<sb0> ysionneau, can you send a patch re. the build-headers problem?
fengling_ has joined #m-labs
<ysionneau> ok, I'll have a look after the travis build
fengling_ has quit [Ping timeout: 256 seconds]
fengling_ has joined #m-labs
fengling_ has quit [Ping timeout: 250 seconds]
sh4rm4 has quit [Remote host closed the connection]
sh4rm4 has joined #m-labs
sh4rm4 has quit [Ping timeout: 265 seconds]
sh4rm4 has joined #m-labs
_whitelogger has joined #m-labs
fengling_ has joined #m-labs
sh4rm4 has quit [Ping timeout: 265 seconds]
sh4rm4 has joined #m-labs
sh4rm4 has quit [Remote host closed the connection]
sh4rm4 has joined #m-labs
fengling_ has quit [Ping timeout: 265 seconds]
sh4rm4 has quit [Remote host closed the connection]
<whitequark> sb0: (on a toy grammar)
<whitequark> <input>:1:2: error: unexpected ): expected int, float or (
<whitequark> ()
<whitequark> ^
<whitequark> mindbogglingly, this is a completely trivial, mechanical change, and still a good improvement over "Syntax error"
<whitequark> do python devs care at all about usability of their interpreter, or what
sh[4]rm4 has joined #m-labs
fengling_ has joined #m-labs
<GitHub44> [pyparser] whitequark pushed 1 new commit to master: http://git.io/vencc
<GitHub44> pyparser/master 23e26dd whitequark: Implement an LL parser skeleton.
fengling_ has quit [Ping timeout: 252 seconds]
sh4rm4 has joined #m-labs
sh[4]rm4 has quit [Remote host closed the connection]