-
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
Kasli v1.0 tests & errata #349
Comments
@marmeladapk @gkasprow Is Kasli back from the board house? |
Components are delivered, the PCBs were shipped yesterday. They will start assembly on Monday. It takes roughly 2 days. |
Wonderful! Really looking forward to seeing these! |
Great! |
Awesome! |
Progress;
|
clock distribution works as well |
Great job @gkasprow and @marmeladapk. |
@jordens The only remaining thing we need to test is Silabs, I2C distribution and EEMs itself. Hopefully we will ship it in Wednesday. We can ship it as it is tomorrow and play with remaining boards that will be delivered on Wednesday. |
No need to rush it then. I'll be gone Friday until the 28th. You can time it so that it arrives on the 28th. |
I2C and silabs chip also work. |
UART works as well. I talk with FORTH CPU |
@jordens I removed arcs remark, because they were added on purpose - reducing spikes of current density. Same as with you last remark about polygons (believe me, Greg bugged me about this). We need to switch UART with I2C on FTDI chip, because channel C doesn't have MPSSE. I made bitbang I2C using pyftdi which works (I can program Si5324 and I2C switches), but its timings are horrible. SFP0 and SFP2 seem to work on 6,25 Gbps. There is a problem with SFP1 TX line. GTP PLL locks both on 125 MHz source (OSC2) and on 125 MHz signal from Si5324 (which had 125 MHz input on SMA). |
@jordens Also FPGA tends to get quite hot with termination enabled so please cool it with fans to avoid damage. Also, there is some kind of a problem with XADC, sometimes it shows all voltages = 0 V and temperature = 0 K. |
Should we add a heat sink to the FPGA to help to avoid this? Maybe a nice PCB-mount one? |
@marmeladapk Current density at a bend diverges with sharpness/mesh size in many Maxwell approximations. If you think you need an arc, that's most likely a simulation/algorithm artefact which does not correspond to reality. I'd be very surprised if there was a case on Kasli where an arc solves a problem that a pair of 45 degree bends does not solve. Both on polygons and on traces. Ack the UART/I2C switch. Could you post the bitbang i2c code somewhere? Don't worry about the XADC. Did you test the DDR RAM? On the GTP pairs you need to be a bit more careful with your design rules. You have some lines coupled closer to unrelated signals than to their differential pair partner! |
@marmeladapk can't get jtag over usb to work. are DIR1 and DIR2 of IC19 wrong? |
@marmeladapk @gkasprow ping |
@jordens in IC17, the DIR is H so it means A -> B direction which is correct |
Yes, that's what I said. |
Let's do this for all boards then. I want to minimize the number of population variants floating around for this hardware. |
@marmeladapk I saw your note on the XADC issues. Are you using vivado with JTAG to access the XADC directly or do you have gateware that you are using to access it? |
we use Vivado, I also observed such effect. But after some time it started
working.
… |
I2C and UART are low-speed signals, and they are using the most regular FPGA IO (no clock-capable pins etc.). So there shouldn't be an issue with scattering them. |
@marmeladapk "The XADC also has an on-chip reference option which is selected by connecting VREFP and VREFN to ADCGND": replace C49 with a 0R. (added to top post). |
@jordens I connected it without a jumper. C49 was in 0201 case, our jumpers are 0402, there's no way I could fit that under FPGA. |
@marmeladapk thanks. |
@jordens If I just flip TC2-1TX+ by 180 deg. then output will be swapped (_P line with _N line). Do we care? I can connect CLK_IN to pin 4 if we want to avoid that. |
@marmeladapk Correct (well observed!). The swapped polarity doesn't hurt me but if you want (and for the perfectionists inside us) swapping the connection on the primary (6-4) is nicer. |
I finished, but I'll upload documentation from my home computer, as here I've got some issues with generating it (new Altium... ). |
@marmeladapk thanks! Give me an hour to check it. |
@marmeladapk looks beautiful. If I had to nit pick, I'd probably suggest adding a PN for that clock balun on the schematic. Otherwise, no comments here apart from send it off! Great work! |
@marmeladapk Good to go! Send it! |
Whooo! |
@hartytp I'll fix schematics in the final version. |
Note to self: I unmasked thermal vias. |
As a part of one of my projects on uni I wrote code that controls all parameters of Si5324. It abstracts all the registers stuff, allows to set desired input clock and output frequency (but only on one output). It finds right divider values so you don't need to use DSPLLsim for this but it does so using brute force method. In all cases I tested it found right values in <0.5 second (even with odd frequencies like 192.3 MHz). Do you want me to upload it for later use? |
@marmeladapk ask @jordens |
Integrate it into the code I posted before. |
@jordens V1.1 arrived yesterday. Unfortunately pyftdi resets all other outputs when using I2C, so we have to fall back to bitbang. :/ |
@marmeladapk You mean it messes with the other channels? Yes. I have seen that too. |
Anyway, bitbanging I2C is just fine. |
Go for it. |
👍 |
v1.1 is released, so I'll go ahead and close this. |
To be changed for rev1.1
during testing)
The text was updated successfully, but these errors were encountered: