lekernel changed the topic of #m-labs to: Mixxeo, Migen, MiSoC & other M-Labs projects :: fka #milkymist :: Logs http://irclog.whitequark.org/m-labs
zyp has joined #m-labs
<zyp>
hi, is this the right place to ask for help with migen?
<sb0>
yes
<zyp>
okay, let me start by saying that I'm completely new to migen, and fairly new to FPGA development in total
<zyp>
I've currently written a FSM where I set some signals in some states, and want them left alone in states where I don't explicitly set them, but the generated verilog always sets them to a set of default values before the FSM case statement
<zyp>
what is the proper way to achieve what I want?
<GitHub156>
[artiq] sbourdeauducq pushed 1 new commit to master: http://git.io/z7qOhw
<GitHub156>
artiq/master 47c0352 Sebastien Bourdeauducq: test/pc_rpc: tougher test for string encoding
Alain has joined #m-labs
<awallin>
sb0: do you know if anyone has worked further on your tdc-core design available from ohwr? I'd like to take a look at it when I have time...
<sb0>
awallin, some people at synchrotron soleil did, but I haven't had news for a while
<sb0>
plus a few PET companies
<mumptai>
i used it to read some ds18b20 ... if you want to call that a use (basically striped it from all its tdc-core parts and used the rest of the example)
<awallin>
ok, you said earlier it might not be possible to fit in a spartan6 LX9, but I recently found the pipistrello that has the LX45 - I guess the code was developed for LX45?
<sb0>
yes
<sb0>
if you want to fit in lx9, you probably have to mess with low-level details of the fpga to design a more efficient delay line
<sb0>
that's probably feasible, just some work
<awallin>
so LM32, tdc-core, and some ethernet interface should fit in the LX45? that could make a nice hobby-level tdc..
<sb0>
yes, that should definitely work
<sb0>
this is not opencores or some "area doesn't matter" academic team
<mumptai>
didn't it kind of expect the slices of the delay elements to be in a stright like in the fpgas fabric?
<sb0>
yes, it uses a carry chain that must fit in a single device column
<sb0>
but you can replace it with LUTs/routing
<awallin>
sorry I don't follow your "area doesn't matter comment" ?
<sb0>
only you have to do all the P&R manually, which will hurt a bit
<sb0>
awallin, most academic FPGA designs are unusable in practice because they're only interested in theoretical results or asic simulations running in the fpgas
<mumptai>
and might want to find a way to characterise the tdc steps afterwards
<awallin>
oh ok, well I am interested in real measurements and real performance :) if the analog front-end can be kept simple then the pipistrello-board + a 'wing' with the front-end and ethernet interface could make for a quite economical time-itnerval-counter
<sb0>
the tdc core will measure that for you, and you can readback the size of each bin using the debug interface
<awallin>
the commercial ones are specified at 20 or 20 ps RMS (agilent/keysight, srs) - so that's the target :)
<awallin>
eh, 20ps for keysight, 25ps for SRS
<sb0>
that's the good ones... it's more like 100ps on a number of them
<awallin>
so the coarse-counter in tdc-core is at 125MHz, and the interpolator has around 8ns range?
<sb0>
to reach to reach 20ps on the s6, I'd 1) improve the processing of the delay line snapshot - right now it just stops at the first bit transition detected, but there seems to be a noise zone before all taps readback the same value
<sb0>
you may want to take the center/average of that noise
<sb0>
2) check/shield the board signals carefully for noise sources
<awallin>
ok, thanks for the tips. then there's the wave-union idea, and perhaps also using multiple delay-lines for the same signal and averaging (if there's space on the fpga)
<sb0>
and make sure that your input signal transitions fast
<sb0>
yes, that too
<sb0>
but averaging the noise zone sounds easier and with lower FPGA resource usage than the other options, so I'd try that first
<awallin>
ok - I'll let you know here if I make some progress..
<awallin>
it will take a few months I am sure :) this is a hobby project
<mumptai>
i'd check the io-banks powersupply and what else it used by too
<awallin>
huh?
<mumptai>
noise on the input and the supply of the the io-bank will result in jitter
<awallin>
ok. is there a separate supply-pin for the i/o banks on the fpga? given the BGA-package it doesn't seem likely I'd make my own pcb for the fpga..
<mumptai>
i would avoid using the same io bank for sampling and e.g. a memory interface
<mumptai>
or anything with a lot of simluataneous switching pins, especially single-ended signals
<awallin>
is there a difference in jitter btw. single-ended and differential? should the tdc inputs be differential (lvds?)
<sb0>
yes
<mumptai>
differenential signals will help (a lot), but this is a thing which is hard to predict without a good model of the electronics involved
<sb0>
if receiving a single ended signal, you should add a good analog comparator with LVDS output
<awallin>
on the dio FMC-card they used ADCMP604 on the inputs
<awallin>
so I guess my first try will be two single-ended inputs that go to two ADCMP604, and those LVDS signals to two tdc-channels on the pipistrello - hopefully that will make a decent start for the project
sb0 has quit [Ping timeout: 245 seconds]
_whitelogger has joined #m-labs
<awallin>
mumptai, sb0: thanks for these comments, I'll be back later if/when there is progress!
aeris has quit [Quit: en a pas]
aeris has joined #m-labs
kilae has joined #m-labs
Gurty has quit [Quit: Coupure de courant]
Gurty has joined #m-labs
sb0 has joined #m-labs
sb0 has quit [Ping timeout: 244 seconds]
sb0 has joined #m-labs
<sb0>
rjo, I don't quite get what Rabi oscillations are. I thought photon absorption and reemission were random - now suddenly they are periodic and have a frequency? or is the Rabi frequency the mean frequency?
<sb0>
it seems that you get this result when you consider that the light is not made of photon but is a classical electromagnetic field that you then inject into the hamiltonian - but how do you choose between doing that and the photon model?
<awallin>
I think not just any old photons will do to get rabi-oscillations, it needs to be coherent laser light (so the next question is define 'coherent'...)
<awallin>
the rabi frequency relates to the 'flopping' of your atomic system between a ground-state and the excited state. it's not a property of the photon/EM-field
Gurty has quit [Ping timeout: 250 seconds]
Gurty has joined #m-labs
kilae has quit [Quit: ChatZilla 0.9.91 [Firefox 32.0.3/20140923175406]]
Alain has quit [Quit: ChatZilla 0.9.91 [Firefox 32.0.3/20140923175406]]