-
Notifications
You must be signed in to change notification settings - Fork 7
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Urukul v1.0 detailed testing #3
Comments
From @hartytp on 2017-11-07 20:30 @gkasprow Can you ship us all but 1 of the AD9910 Urukul prototypes you've ordered as soon as basic functionality/"no smoke" testing is complete (i.e. don't complete the above detailed testing first!). Thanks! |
From @hartytp on 2017-11-07 20:30 @gkasprow @jordens Feel free to add more tests to the above list. |
From @hartytp on 2017-11-08 03:32 @gkasprow When you ship the AD9910 DDSs that we paid for, please can you ship one to @jordens? |
From @jordens on 2017-11-08 08:47 Updated it a bit. Please ship right after smoke test:
We'll be happy to help with characterization afterwards. |
From @hartytp on 2017-11-12 18:22 @gkasprow Is Urukul due to arrive this week? When it arrives, please can we prioritise no smoke/basic functionality testing (see reobert's list) above finishing Zotino -- I'd like to get Urukul prototypes shipped asap. No need to do the detailed testing for now. Thanks! |
From @gkasprow on 2017-11-12 18:26 @hartytp OK, 2 Zotinos + BNC adapters were shipped on Friday. Once I receive DDS, I will test them ASAP. |
From @hartytp on 2017-11-12 18:27 Thanks! |
From @gkasprow on 2017-11-12 18:32 @hartytp There are no panels for DAC BNC adapters attached - I forgotten about them. Will ship them next time with some other stuff. |
From @hartytp on 2017-11-12 18:43 @gkasprow No problem. That can wait. If there is any time before Urukul arrives, it'd be great to get a few of the analog test for Zotino done. |
From @gkasprow on 2017-11-12 19:04 @hartytp Sure, once I repair my bard, will continue with measurements. |
From @hartytp on 2017-11-12 19:23 Great, thanks @gkasprow! |
From @jordens on 2017-11-19 16:38 @hartytp could you remember to do a bit of triage on the issues you file (i.e. assignee, labels, milestone)? |
From @hartytp on 2017-11-19 18:48 sure |
From @hartytp on 2017-11-20 18:55 @gkasprow For the current source biasing, my inclination is to go for Daniel's suggestion of the LT3092. They're pretty cheap ($2 in quantity) and seem like a better/easier solution than building our own current source. @jordens @gkasprow if you're oaky with this approach, then we should buy an eval board at some point and test this out with the v1.0 boards we have. I'm happy to do this testing if that helps -- I probably won't do this until after Christmas, but I don't think we're in a rush for it. |
From @jordens on 2017-12-11 18:24 @a-shafir and I will take care of the first round of noise, power, RF switch testing. |
From @hartytp on 2017-12-11 18:26 Cool. Out of curiosity, do you have a proper phase noise/amplitude noise meter? Or, will you just stick this on a spectrum analyser? |
From @jordens on 2017-12-11 19:16 We have proper tools. @gkasprow how are the AD9912 variant boards? |
From @gkasprow on 2017-12-11 21:11 @jordens I have them all in my lab but was busy with Sayma Ethernet debugging. You can follow my fight here |
From @gkasprow on 2017-12-11 21:12 So the next thing is 9912 testing. |
From @jordens on 2017-12-11 22:32 I am following that and involved. |
From @a-shafir on 2017-12-11 22:45 @gkasprow what was actually flashed into the CPLD on the 9910 board we have in Berlin? I see 2 options I am testing h/w but can't generate any output on the IO_SESET (P129) and some pins around. |
From @a-shafir on 2017-12-11 23:02 @gkasprow how you tested 3U DDS 9910? |
From @gkasprow on 2017-12-11 23:02 @a-shafir I burned Roberts Verilog code. The only change I did was assignment of test points. Now we have:
|
From @gkasprow on 2017-12-11 23:05 I connected 9910 devkit via DIO-Tester module to make sure that Robert's code works. In this way I could communicate with it using LVTTL signals |
From @gkasprow on 2017-12-11 23:06 I also modified the verilog code so all 4 channels were active simultaneously. In this way I tested if PLLs are locked. Here is the code: |
From @gkasprow on 2017-12-11 23:08 To do general purpose communication over SPI I use little Artix 7 devkit with USB and FORTH processor that translates UART commands to bit-bang protocol, i.e. SPI. It works really fast but it's written in FORTH, so probably not really useful for you :) |
From @a-shafir on 2017-12-11 23:13 @gkasprow i see io_reset commented in the code. probably some other changes. |
From @a-shafir on 2017-12-11 23:15 @gkasprow i see why in_sel not working to - it commented out |
From @hartytp on 2018-02-01 20:05 We took some data today using the AD9910 Urukul with a Wenzel oscillator source. Will upload tomorrow. |
From @hartytp on 2018-02-02 16:13 Courtesy of @WeiDaZhang: Urukul AD9910 phase noise. |
From @hartytp on 2018-02-02 16:15 Urukul noise performance basically matches the data sheet curve. |
From @hartytp on 2018-02-02 18:19 Urukul Amplitude Modulation Noise Measurement - Ver1.0 w- XTAL Disabled.pdf Uruku AM noise. cf |
From @hartytp on 2018-02-02 18:24 Conclusions:
Other than that, all looks really good! Congratulations @gkasprow |
From @hartytp on 2018-02-02 18:25 NB haven't bothered to check performance without the PLL. We may not quite hit the noise floor of the DDS in that case, but clearly there is no drastic problem. |
From @jbqubit on 2018-02-06 19:31 Why did @WeiDaZhang switch to higher phase noise E4422B Ref vs Wenzel? Looks like <5 dB deviation from Datasheet at single frequency. Nice job! Is it similar at other output frequencies? |
From @hartytp on 2018-03-16 20:15 Before I forget: @cjbe tested phase synchronisation with FPGA. All looks good! |
From @jordens on 2018-03-16 20:36 Nice. @cjbe @hartytp with the FPGA driving SYNC? Or just among the DDS? |
From @cjbe on 2018-03-16 21:37 @jordens with FPGA driving sync. I tested synchronisation between channels on the same board and channels on different boards. The DDS sync signal was generated by a TTLClkGen, and IO_UPDATE by a TTL SERDES output. I adjusted the sync input delay on each channel to sit in the centre of the eye - thus the SYNC_CLK of each DDS is aligned to better than 1 DDS clk period (=1ns @ 1GHz). I choose an offset between IO_UPDATE and the sync TTLClkGen such that IO_UPDATE aligned roughly on the falling edge of the DDS SYNC_CLK. (I did not look at the CPLD timing report to work out if this would work with a fixed value over PVT). I saw no synchronisation errors over ~10^10 IO_UPDATES, but I did see at least one SYNC_SMP_ERR from most of the AD9910 over this 10^10 events using the standard 300ps validation window - I have not looked to see if this happens with slightly smaller validation windows. |
From @jordens on 2018-03-16 21:52 Ok. Nice! |
From @hartytp on 2018-03-17 10:58
This still concerns me, and is something we need to look at. @jordens do you know how well constrained this timing is atm? |
From @jordens on 2018-03-17 12:07 SYNC is not routed through the CPLD. That can't be related to SYNC_SMP_ERRs. How are you checking for IO_UPDATE synchronization errors? I don't know about the constraints there (other than the 7.7ns nominal propagation delay) and whether that's even specified. |
From @cjbe on 2018-03-17 12:44 There are two considerations here:
My only worry is how large the PVT change in the 7.7ns propagation delay is - if it is larger than ~2ns (which is probably is) things are getting marginal (the IO_UPDATE setup/hold is 1.75ns/0ns). |
From @jordens on 2018-03-17 15:44 That's what I thought. I don't think P is relevant for us (you'll have to tweak it anyway). And I don't think VT are more than 500 ps for our VT variability. |
From @hartytp on 2018-03-21 11:46 NB we have an IO_UPDATE return on EEM1 in the current design, so if we see any PVT issues with the phase synchronisation, we should be able to use that to calibrate the delays in the CPLD buffers. Given that, I no longer have any concerns about phase synchronisation with Urukul! |
From @jordens on 2018-04-27 17:01 The warmest chip is the clock fanout. With just convective cooling it is ~75C wenn flat on a table. Pulled fresh out of a crate after thermalizing with convective cooling upright the DDS also get into the 70C. |
From @hartytp on 2018-04-27 18:34 What do people think about maybe sprinkling a few cheap, low-profile SMT/THT heatsinks on Urukul (and maybe/other EEMs with significant power consumption) near the most power-hungry ICS? |
From @jordens on 2018-04-27 18:48 I think it's ok. I'm just surprised the fanout gets so hot compared to the DDS. |
From @gkasprow on 2018-04-27 19:45 THere is a place under on the other side for small ceramic heatsink |
@WeiDaZhang @hartytp do you by chance have Urukul/v1.[123] (with the new loop filter component values) phase noise data (like #3 (comment))? |
@jordens IIRC we posted something a while back for a version of Urukul (v1.1?) that @WeiDaZhang used to prototype the new loop filter, but it wasn't clocked from Kasli. If you need this measurement we can probably make it. @WeiDaZhang |
Found your measurement with SMA clock: https://github.com/sinara-hw/sinara/issues/504#issuecomment-366386549 |
And sinara-hw/sinara#515 (comment) has the bare Kasli Si5324 data. @WeiDaZhang / @hartytp do you remember which Si5324 PLL parameters were those? |
@jordens any objection to closing this issue now? |
Yeah. Should have been split much earlier. |
From @hartytp on 2017-11-07 20:29
Use some fixed reference frequency for all tests, such as 80MHz.
The text was updated successfully, but these errors were encountered: