-
Notifications
You must be signed in to change notification settings - Fork 6
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
Zynq Kasli #1
Comments
Maybe this time the name that says something? Something like ZynTroller or ZynQer |
"Kazli" is probably too confusing. Maybe "Fastli"? |
or "Fastler" like fast controller |
Personally, I think that names like "fastino" and "fastli" make an already somewhat confusing naming situation somewhat worse. Maybe let's try to come up with something that's not just a mutilation of "Kasli"? |
Then we can call it Kutashi, after a lake near Kasli :) |
It sounds not professional in polish. Kutas = dick :) |
There is also Lake Kirety |
My current priority list re naming:
|
A few ideas from acronym creator |
I would vote for Kasli Zynq (KasliZ for short). It's clear what this board is and it's similar naming scheme to AFC/AFCK/AFCZ. |
@hartytp wanted to use PS Ethernet for performance reasons (it is possible to have the same performance out of a fabric Ethernet core since Ethernet frames are long and things can be pipelined, but the interfacing with the ARM core is most likely annoying). And the ZC706 will use the PS Ethernet already. |
I think so. Same for low-speed I2C that controls LEDs and such. |
@sbourdeauducq I wouldn't use PS I2C. It has so many bugs that is useless. We usually instantiate one in PL. |
Yeah sure, this is standard fare with Xilinx cores and I had no intention to use that. We can do bit-banged I2C on GPIO, unless that core is buggy too. Are you saying that the PS can use a GT transceiver directly for Ethernet, without the Ethernet logic in the fabric? |
This is true in UltraScale+ ZynQ - GTR can be used that way. In ZynQ you have to instantiate PCS/PMA logic between EMIO GMII and MGT. |
If we want to make life of @sbourdeauducq easier (no logic between GEM EMIO GMII and MGT) and use external PHY chip that talks to SFP directly, it means that this SFP would have to be used for Ethernet, without DRTIO. We can also use 1000Base-T connector and spare a few bugs on SFP cage and SFP-RJ45 transceiver. |
If the Xilinx stuff can give a GMII interface to the fabric without bugs and quirks, then using the GT solution is fine (except, of course, for the usual problems associated with the poor design of Xilinx transceivers, and in particular the GTP/GTX incompatibility - so it's not "free").
In addition to the signal degradation and component cost, this will also make the board layout and assembly more complex. Kasli systems are normally assembled in a controlled environment where ESD can be avoided, and then the metallic enclosure should protect against ESD. So I would not add those diodes. |
That's why I developed simple adapters that ensure such protection during tests only. It is to avid FPGA death in case of LVDS shorted to 3.3V. 2 Kasli died during tests. |
edit - LVDS shorted to 3.3V |
IMO we should consider the first steps in the transition towards the cPCI-serial backplane here and now. I.e. move all the parts into the 160 mm towards the panel and move the EEM connectors towards the back already now. Then going to the cPCI-serial backplane would amount to shortening the board and using different connectors. |
Don't bother with it. |
@jordens how would you want to use one of those backplanes? We've talked about this a few times, and I don't see any particularly good way of hooking Kasli/EEMs up to a BP. (The issue being how heterogeneous the EEMs are in terms of size, number of EEM connectors required etc). AFAICT, while a BP might work okay in some circumstances, in general the issues with a BP are at least as bad as the issues with using ribbon cable. Although, maybe I'm missing something? |
You have to bite the bullet and I don't think any of those are particularly bad or insurmountable constraints compared with the constraints of ribbon and coax cables. But this would likely be an all-or-nothing change (unless we figure out a way to build some adapter from the backplane to IDCs. |
@jordens yes. FWIW I really like the current flexibility in the EEM system re board sizes/shapes and IO requirements. Loosing some of that flexibility is likely to be one of the costs of moving to a fixed BP. It's been a while since I thought about this, but IIRC the PCIx BP connectivity might not be ideal for us. But, yes, none of the objections is insurmountable. All I'm saying is that -- as someone who was originally arguing that we should try to implement a EEM/Kasli BP -- having thought about this a bit, the tradeoffs/costs involved in the BP seem to me to outweigh the benefits. Having put together quite a few systems here, I actually don't think the ribbon cables are that bad. Others may disagree. Anyway, let's not get sucked into a long discussion about this now. Before we have that discussion, someone would need to present a fully fleshed out proposal and I don't think there is the interest or time to do that at the moment.
Sure, if this doesn't cause issues with the routing/mechanics/SI/PI/thermal management/etc and if it doesn't consume an unreasonable amount of @marmeladapk's time then why not. |
The only other thing I'd add is that if we really want a BP then we should at least consider moving some of these designs to AMCs. The racks, power supplies and cooling are good and relatively inexpensive for what they are. I know that the experiences with Sayma have been a bit depressing so far, but I do not think that's a fundamental issue with uTCA, so much as a result of various aspects of the approach taken in that project. |
Ultimately the ribbon cable collection and the coax cables are a hack. A very pragmatic and convenient one in the beginning. And I think we chose wisely at that time. Yes. I do like uTCA for what it achieves. But the racks, power supplies, and cooling are also good for cPCI. To break even with the uTCA complexity, much more powerful eems would be needed. |
cPCI serial seem to fit out needs ideally. so potentially we have 16 LVDS links between controller nad every module with standard backplane. There is also full mesh 4xdiff connection between every module.
|
What we can do is to assign dual LVDS ports to slots 2, 4, 6, 8 by default. In this way we minimise amount of not used EEM slots. We can i.e. pack 6 Urukuls or 2 Samplers and 4 Urukuls and we don't loose single EEM port. Octal LVDS bus switches are cheap. |
Yes, but the common-mode voltage will be different, and some devices (not all) are not happy to receive a common-mode voltage other than 1.25V, for example. The point is just that it's not necessarily straightforward. |
Really? AFAIK a LVDS transmitter is always supposed to use 1.2V as common-mode voltage. |
LVDS is (in theory, in the standard) supposed to allow for variation in the common-mode voltage. Depending what what you are transmitting to/from, different ways of implementing the common-mode voltage are used, and most of them are mid-supply basically. Looking at the Zynq US+ dc characteristics, it seems they do use a 1.25 V nominal common mode for both, so that should be manageable. |
True, some devices may have other common-mode voltage, but usually on their inputs. On the outputs it must be 1.25V, otherwise, it's not LVDS. But some LVDS drivers may exhibit non-standard behavior when both inputs are held low - both outputs get tied to 3.3V. But in such case, 2.5V supply won't help either. |
The specification of the controller is on the way. |
@gkasprow are you suggesting that we should use that board as the main Zynq Kasli for Sinara? If so, can you remind me the reasons it would be better for us to use that board than to make a new design that's tailored to our specifications? There are a few things that seem non-ideal to me about that:
|
@hartytp the board is funded and will be designed anyway for CERN. I'm doing my best to make it fully compatible with EEM modules in CPCIs chassis. Just in case you want to use it. |
@gkasprow I still think we should just make a proper Zynq Kasli with the Zynq-7000 series, EEMs, our desired clocking, our desired FP configuration, etc, and not worry about trying to port this CERN board to ARTIQ. The savings, such as they might be, are really not worth the compromises IMHO. |
What is the status of the ARTIQ port for ZynQ? |
I'm happy with Kasli-Zynq or something like that to minimize confusion (basically, bill it as more of a design variant than a new design). My vote would be to keep this as close to Kasli v2.0 as possible.
|
The key parts are demonstrated on ZC706 or Zedboard so it's looking quite good, just a lot of work to put all the software/gateware pieces together. |
Actually the only things that we connect outside the SoC are Ethernet chip, SDRAM, USB, UART and config memory. ARTIQ do not care about the power supply. So, if we connect the peripherals like on ZC706, there should be no issues. |
I want to re-emphasize this -- there is NO reason from our standpoint to work with Zynq US at this stage. Some tens of dollars price differential per board is NOT worth the cost of the extra development/debugging time. I think Kasli-Zynq or Kasli-ARM would be reasonable names. We might not want to use someone's copyrighted name as part of our board name though? Could do Kasli-HC (hard core) or Kasli-Z or Kasli-HP (high performance) to avoid this.... I agree that we should try to think of this board as a drop-in replacement, basically a design variant with some improved internals, for the standard Kasli. Assuming the port goes well, I imagine that many groups will want to switch over, based on discussions with others on the topic. |
I'm talking about building a series 7 ZynQ board. UltraScale version is also under development, but it is covered by the CERN contract. |
My student will take care of this board very soon. He will post new issues so don't be surprised. |
XC7Z030-3FFG676 sounds like a good choice for this. As mentioned before, I'd ideally like to go for 4 SPF + 1 RJ45 on the front panel, copying ethernet from the zc706. Ram to the PS only. Other than that, stick as close to the current Kasli 2.0 design as possible. |
The schematics are close to completion. |
We want a SD card if possible. From experience on ZC706, it might be the least troublesome way to get non-volatile storage on Zynq, and there's the easy "escape hatch" of extracting the SD card and putting it into a $5 USB adapter in case Zynq won't write to it. The PS NOR flash controller is messed up; the only thing that seems to work semi-reliably is a read-only mode where the flash contents are mapped into the CPU memory. We didn't manage to write to the flash at all - even with the official Xilinx flasher on one of the two boards we have. There may be some workarounds in some cases like re-routing the flash to GPIO and bit-banging, but it's extra trouble and development time. |
I'll try to fit it. It looks there is enough space above RAM but only for this kind of socket: https://www.molex.com/molex/products/part-detail/memory_card_socket/0473092651 |
I used a slightly higher version of this Molex connector and managed to fit the BGA chip under the SD card. You can use it as well and rotate the connector if that helps. |
How well does this connector hold the SD card? |
They have the standard spring loaded ratchet locking mechanism, right? There is no way they'd fall out. Get proper packaging and tie down cables properly and make sure fasteners designs are right and tightened properly. |
Version with SD card is on a repo. |
A new Kasli based on the forthcoming v1.2 design, but with a Zynq-7000 series FPGA (2x ARM CPU) instead of an Artix-7 (no hard CPU).
This will allow the proposed Zynq version of Artiq to utilise the EEM hardware.
The proposed FPGA is the XC7Z030-3FFG676I. The reasons for choosing this FPGA (as laid out by @hartytp) are:
SDRAM would be routed to the ARM subsystem only. The gateware will still have DMA access based on tests carried out by @cjbe, where he found that:
I am working on getting this board funded and would appreciate any input.
Also, is 'Zynq Kasli' a confusing name? Do we need to dust off our Russian maps and come up with something more unique?
The text was updated successfully, but these errors were encountered: