-
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 #354
Comments
@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! |
Updated it a bit. Please ship right after smoke test:
We'll be happy to help with characterization afterwards. |
@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! |
@hartytp OK, 2 Zotinos + BNC adapters were shipped on Friday. Once I receive DDS, I will test them ASAP. |
Thanks! |
@hartytp There are no panels for DAC BNC adapters attached - I forgotten about them. Will ship them next time with some other stuff. |
@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. |
@hartytp Sure, once I repair my bard, will continue with measurements. |
Great, thanks @gkasprow! |
@hartytp could you remember to do a bit of triage on the issues you file (i.e. assignee, labels, milestone)? |
sure |
@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. |
@a-shafir and I will take care of the first round of noise, power, RF switch testing. |
Cool. Out of curiosity, do you have a proper phase noise/amplitude noise meter? Or, will you just stick this on a spectrum analyser? |
We have proper tools. @gkasprow how are the AD9912 variant boards? |
So the next thing is 9912 testing. |
I am following that and involved. |
@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. |
Okay, sorry. Overly enthusiastic in my pruning. |
No problem. |
We took some data today using the AD9910 Urukul with a Wenzel oscillator source. Will upload tomorrow. |
Courtesy of @WeiDaZhang: Urukul AD9910 phase noise. |
Urukul noise performance basically matches the data sheet curve. |
Conclusions:
Other than that, all looks really good! Congratulations @gkasprow |
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. |
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? |
Before I forget: @cjbe tested phase synchronisation with FPGA. All looks good! |
@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. |
Ok. Nice! |
This still concerns me, and is something we need to look at. @jordens do you know how well constrained this timing is atm? |
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. |
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). |
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. |
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! |
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? |
I think it's ok. I'm just surprised the fanout gets so hot compared to the DDS. |
THere is a place under on the other side for small ceramic heatsink |
Migrated to sinara-hw/Urukul#3 |
Use some fixed reference frequency for all tests, such as 80MHz.
The text was updated successfully, but these errors were encountered: