Jump to content
  • 0

Eclypse Z7 First Impressions


zygot

Question

First off the two ZMOD offerings by Digilent are well designed with uncommonly good documentation. Well done, and thanks for adding SYSYGY support. I would have preferred a non-ZYNQ platform... but.. The Eclypse Z7 with one ADC and one DAC ZMOD is a good value and sets itself apart from anything else in the Xilinx FPGA development board space. .

Software support is another matter. I realize the effort, due to your framework, is immense and hopefully not complete. It's just too complicated.  I spent almost a day before being able to build and run the Linux based demos for the ADC and DAC ZMODs. Started with a WIn10 Vivado installation and still haven't managed to build anything. It took a while but I did manage to build demo executables for the Linux based projects on Unbuntu 19.10 using the Vivado 2019.1 SDK. Admittedly, I'm not a ZYNQ expert but I can create a Vivado project using one of the available hardware interfaces, build a bitstream and a standalone application for any other Z7xxx board in about 30 minutes from scratch. My advice is to use a Linux host for Eclypse development.

It may be that I'll create a Linux application for the Eclypse/ZMOD one day, but I'll want to run the application from within Linux, not the SDK. Hopefully, the lack of an HDMI output won't be an issue. I'm hoping that you have a path envisioned to let users do that.

My expectation for getting started with this system was to use my normal flow by starting in Vivado, creating a bitstream supporting the SYZYGY ports and use the SDK to create an application. Normally, this is almost trivial. For any of the ZMODs this is impossible as things stand.

Will there be a process for creating a bare-metal standalone bitstream and application in the near future that remotely resembles the 'normal' Xilinx tools flow?

P.S. I can kinda understand the costs of providing a bootable SD card to run the pre-built demos but really... you couldn't afford to provide 8 screws to attach the ZMOD modules to the Exlypse Z7?

Link to comment
Share on other sites

Recommended Posts

@zygot Regarding the SYSROOT on windows you can follow the updated instructions here.

Download the .zip version of the SYSROOT since it was packed for MS windows (no symbolic links)

NOTE: The SYSROOT variable must be re-added  on windows (something related to a XSDK issue)

Also you might be interested in updating your  SD card image according to this link.

Link to comment
Share on other sites

6 hours ago, ramanf said:

i am looking for a HW with 3 X 14bit 100MS/s ADC to capture 50ms per channel simultaneously . the Eclypse-7 has the hardware but reading the ZmodADC1410 Library User Guide i can't figure out how is it possible with a 4k FIFO that doesn't support read and write at the same time.

As I mentioned in the previous answer on the separate topic:

Quote

 

Using two ZmodADCs will ensure that you can use 3 channels (from the total of 4 available). 

Regarding the sample rate, sampling at 50 ms here are some thoughts: The IP is sampling at 100MSPS, which is one sample at 10ns. Because you only need 50 ms sampling (which is multiple of 10 ns) you should only keep one sample out of 5000000. This can be easily implemented using a counter.

 

Here is a demo that only uses PL using the low level Zmods IPs:

https://reference.digilentinc.com/reference/programmable-logic/eclypse-z7/low_level_zmod_adc_dac

There are two use cases suggested when working with the Zmod IPs: carrying out all processing in the PL (this involves HDL code development only) or dividing the tasks between the PL and PS. An example of how to use the Zmods in PL only designs can be found in the above linked demo.

In case you need to connect the Zmod IPs to the processing system, our Zmod ADC 1410 AXI Adapter IP can not be currently used for the purpose described (periodic sample transfer to PS). You will need to develop your own IP with an AXI interface (probably AXI Lite will work fine with low sample rates) a a bridge between the PL and the PS.

 

Link to comment
Share on other sites

36 minutes ago, zygot said:

@ramanf,

It's a shame about the ZMOD demos. So the Eclypse-Z7 demonstrates the difference between saying "let's do our usual thing leveraging what we've done in the past and slap a few standard SYZYGY ports on it" and saying "Let's embrace the SYZYGY standard with something new that shows off what it (and we ) can do".

Clearly, while the ZMOD demo code shows that the pods work, the overall design approach and IP settles for a limited capability and restricted application use case. I don't understand it either.

The hardware is still useful, though I doubt that anyone is going to capture  5 million 100 MHz samples of anything with it.  I suppose that Digilent could prove me wrong with a better demo but I'm not waiting around for it. There are still plenty of problems that can be solved with the hardware and your own IP involving a much reduced final data rate to whatever storage is available. Unfortunately, for the Eclypse-Z7 that's all on the PS side, so data processing and reduction has to be done on the PL side. Not great, but not necessarily a show-stopper for every application.  What's disappointing is that hitting the target wouldn't have been either expensive or difficult.

can you advice on how to achieve my goal of getting 5M samples X 3 with Eclypse-Z7 or point me to some other hardware with examples to get started ?

Link to comment
Share on other sites

@ramanf

This depends on what you want to do exactly.

If you have a large budget then there are a number of multi-channel FMC ADC boards that can be used with the KC705 or Genesys2 or similar platform having FMC connectors. Make sure that you understand the limitations of the converter board front end as it applies to your project.

The Cyclone V GT board and 2 HSMC DDC boards would be the cheapest solution that I have experience with. At the moment HSMC is still boss for budget minded sampling above a MHz.

SYZYGY is an encouraging development for such projects but is too new to be all that useful at present. It's worrisome that Digilent thinks that every new board has to be ZYNQ based but that's no excuse for not implementing an intelligently thought out design.

[edit] Opal Kelly does have the XEM7320 that could be used with 2 Digilent ADC ZMODs ( I haven't gone through the trouble of verifying this ). They did create SYZYGY. Their niche is one that I don't quite understand either but it seems to be working for them and I don't see any change there. In time, if the FPGA vendors don't outlaw non-ARM based boards I expect things to improve as the standard becomes more popular.  

 

Link to comment
Share on other sites

3 hours ago, zygot said:

It's worrisome that Digilent thinks that every new board has to be ZYNQ based but that's no excuse for not implementing an intelligently thought out design.

I don't think that's entirely Digilent's fault. Just look at the prices of Kintex US/US+ and compare them to Zynq US+, and it seems to me that Xilinx doesn't really want anyone to use non-Zynq chips. I for one would love to take a step up to Kintex US or US+ (if anything it's for "fixed" MIG simulations and DDR4 memory support), but the pricing makes this move a non-starter as I just can't afford to spend over 1K$ on a single chip - especially so that I design and assemble my FPGA boards myself so there is always a chance to screw something up and smoke a chip.

Link to comment
Share on other sites

28 minutes ago, asmi said:

I don't think that's entirely Digilent's fault.

No argument here on that point. I'm pretty sure that Xilinx has a lot of leverage over Digilent's product plans via pricing assistance. I know how the game is played; and the playing field isn't level.

It's certainly no coincidence that the XC7K160T is supported with the free tools but try and find an affordable platform sporting one. Nuff said, except that it's a shame for customers that the sweet spot is too expensive to use. Pricing is from Xilinx and not at all arbitrary or related to value.  Digilent has experience using the XC7K325T on it's Genesys2 and that would've been a great platform for a SYZYGY spin. Alas, for reasons not public it isn't to be.

For what it's worth I don't think that the Eclypse-Z7 is what the engineers at Digilent wanted to make but what they were told to make.

Having said all of that I bought an Eclypse-Z7 with one of each of the ZMODs knowing, from a hardware perspective, exactly what I was getting into and won't be deterred by forces wanting to frustrate me. It's just not what I want. Perhaps, that's the Xilinx marketing strategy.

Link to comment
Share on other sites

8 minutes ago, zygot said:

It's certainly no coincidence that the XC7K160T is supported with the free tools but try and find an affordable platform sporting one. Nuff said, except that it's a shame for customers that the sweet spot is too expensive to use. Pricing is from Xilinx and not at all arbitrary or related to value.  Digilent has experience using the XC7K325T on it's Genesys2 and that would've been a great platform for a SYZYGY spin. Alas, for reasons not public it isn't to be.

I actually do plan to design a SYZYGY-compatible board with K160 and SODIMM DDR3 memory slot, but I doubt I can get enough volume to even start talking to Xilinx, so I will be forced to pay a full list price for the chip. Hence my desire to use a memory slot instead of soldered-on chips, and a minimum amount of peripherals onboard as this will make the board cheaper (SODIMM DDR3 memory modules can still be found for cheap in pretty much any computer parts store). 

Link to comment
Share on other sites

 

6 minutes ago, asmi said:

I actually do plan to design a SYZYGY-compatible board with K160

You're a better man than I am, or less aware of what lies ahead. Of course there are other possibilities. Regardless , I applaud you and wish you success. Let me know how it turns out. Perhaps you can sell me one, or a few. I certainly have opinions as to what should be on such a board. BTW, while I do like the concept of a plug and play interface for the FPGA world that's isn't always the best choice. It comes down to choices and objectives. Unfortunately, objectives sometimes are to not encroach on another product and the end result isn't good for anyone.

Link to comment
Share on other sites

1 minute ago, zygot said:

You're a better man than I am, or less aware of what lies ahead. Of course there are other possibilities. Regardless , I applaud you and wish you success. Let me know how it turns out. Perhaps you can sell me one, or a few. I certainly have opinions as to what should be on such a board.

I've designed a bunch of A7/S7 boards (here is one of them designed specifically to be cheap to make and assemble for beginners), so I have some understanding of what would it take to make it happen, and for me the biggest obstacle is to actually find enough free time to sit down and design the board. I would very much like to hear your opinions for the contents, obviously can't promise anything, but I will give them a good consideration as I honestly didn't think too much about it yet. I would like to play with PCIE, so there is going to be a PCIE x4 slot (or edge connector, or both - not sure yet), all 3 HP banks will be taken by DDR3 x64 SODIMM interface, and two more banks will go to 2 SYZYGY ports, but the other 4 GTX transceivers and other 3 IO banks are up for grabs.

Link to comment
Share on other sites

i am looking for a HW with 3 X 14bit 100MS/s ADC to capture 50ms per channel simultaneously . the Eclypse-7 has the hardware but reading the ZmodADC1410 Library User Guide i can't figure out how is it possible with a 4k FIFO that doesn't support read and write at the same time.

 

Link to comment
Share on other sites

27 minutes ago, Ionel said:

Also you might be interested in updating your  SD card image according to this link.

Thanks,

Has SYSROOT and the embedded Linux been updated or is there an incompatibility between the Windows and Linux SYROOT file systems?

 

Link to comment
Share on other sites

15 hours ago, zygot said:

Thanks,

Has SYSROOT and the embedded Linux been updated or is there an incompatibility between the Windows and Linux SYROOT file systems?

 

The embedded Linux rootfs has a fix for the TCF agent. There are no known incompatibilities.

Link to comment
Share on other sites

Here are two blurbs from your sales sheet:

The Eclypse Z7 is Digilent's newest FPGA/SoC development board, specifically designed to enable the rapid prototyping and development of embedded measurement systems.

Petalinux is supported out of the box, and pre-built Linux images are accompanied by the API for bulk data transfer. This system allows users to plug in their Zmods of choice and get started prototyping new high-speed measurement, instrumentation and control systems without directly interfacing with the FPGA until desired. With this system, embedded Linux developers can leverage the power of FPGA without possessing hardware expertise.

I've been playing, off and on, with the board for a few weeks now and I have to tell you that neither of the quoted statements have been true for me. I'm still stuck trying to evaluate what it is that I have. Perhaps someone involved in the development of the product can help me out with an explanation of what  are the goals for the product.

You offer a Debian OS but there's no support for actually running anything, even your own demos from within the OS. As far as I can tell it's only good for connecting to the SDK to run 2 Linux demos. But you still have to use the SDK to do anything. The OS doesn't even support FTP to move data between the OS and a host.

The alternative to using the Eclypse OS is to do Bare-Metal application development. Fair enough, but then there's no connectivity beside a slow speed UART. There's the Ethernet PHY but no support, no demo using it.

As of today it's clear to me that any application that I want to do with this board involves ignoring the ARM cores and building custom PL applications using PL memory resources as there is no external memory storage available. This doesn't seem to me to be consistent with the sales pitch. 

To date your DAC ZMOD demos are just adequate but very limited. Your ADC ZMOD demos are an unknown because there's no way to evaluate the rather useless demo output.

So please, someone, help me out with a vision for how you intend to make good on your sales pitch.

Link to comment
Share on other sites

@zygot

The Debain OS was kept to a minimum size thus additional tools can be installed via apt.

SFTP is already built into the image. You can use that or scp.

Or you can install a FTP server. Example:

sudo apt update 
sudo apt install vsftpd

Then connect with ftp://eclypse@IP . This is less secure if proper configuration is not in place.

The idea is you can customize according to your needs, install only the tools you need.

If the pre-built debian image does not meet your needs, you can follow our instructions to build your own petalinux or for higher degree of control use yocto-project      .

 

Link to comment
Share on other sites

@Ionel,

Thanks. But that really doesn't address my question. There's one competitor to the Eclypse-Z7. That's the BRAIN_1 from Opal Kelly, They really do have a Petalinux FS that runs applications and configures the device. It has 3 standard pods and 1 transceiver pod for about half the price. In all fairness I've never gotten their ADC module to work either; but they don;t make the sales claims that Digilent does, Currently, working with the Eclypse-Z7 involves a whole lot of complexity with very limited, not well integrated, and very usable, Eclypse OS or not, balls to juggle. A user can';t even use the provided demo code to do anything useful much less what they might think they will want to do.

Link to comment
Share on other sites

@zygot,

Your feedback is appreciated. I grabbed an Eclypse Z7 from our stock and am thoroughly working through all of our provided materials and demos. After working through this, I will:

  • Provide feedback to R&D, combined with the points you brought up, so we can work towards improving the user experience
  • Fill any gaps in our getting started materials to ensure easy adoption
  • Revise, as necessary, our product descriptions to make sure the product meets expectations

 

Link to comment
Share on other sites

On 2/25/2020 at 2:34 AM, ramanf said:

i am looking for a HW with 3 X 14bit 100MS/s ADC to capture 50ms per channel simultaneously . the Eclypse-7 has the hardware but reading the ZmodADC1410 Library User Guide i can't figure out how is it possible with a 4k FIFO that doesn't support read and write at the same time.

You might want to consider using the Digilent ADC ZMODs with the Opal Kelly XEM7320 board. This board has a nice 1GB DDR memory that your samples ca be written to directly and a USB 3.0 interface for getting access to them on a PC. You should be able to do 4 channels and more captured samples than you need. You might have some post capture data re-ordering to do but this isn't an issue for designs allowing non-real time post capture data analysis. In theory you could make a 4 channel digital scope with 70 MHz analog bandwidth having better triggering capabilities than your expensive oscilloscope.

I'm in the process of completing a project using the XEM7230 with 2 ADC ZMODs but haven't completed it yet. I can confirm that FrontPanel detects the ZMODs on the XEM7230 correctly and sets the adjustable voltage appropriately. The low level Digilent controller code is adequate unless you need to reconfigure the ADC device on the fly.

Unfortunately, at present the capabilities of the Eclypse-Z7, as currently supported, fall far short of what the board is able to do. I don't however see a path to capturing 50 ms of 100 MHz samples for this board but it sure should be a lot more than 16383 contiguous samples.

A very viable alternative would be a Cyclone V GT Development board with 2 DDC boards attached to the HSMC connectors. You could use a PCIe extender to get captured samples out of the DDR and into a PC using 4 lanes of Gen2 PCIe. Hint: the C5P Linus and Windows drivers work just fine with this board.

Link to comment
Share on other sites

On 2/25/2020 at 2:34 AM, ramanf said:

i am looking for a HW with 3 X 14bit 100MS/s ADC to capture 50ms per channel simultaneously . the Eclypse-7 has the hardware but reading the ZmodADC1410 Library User Guide i can't figure out how is it possible with a 4k FIFO that doesn't support read and write at the same time.

 

Yes, the hardware to do that exists. Read this:

https://forum.digilentinc.com/topic/20153-capture-4-channels-of-120-million-adc-samples/

 

Link to comment
Share on other sites

Hello,

I have a question about the Eclypse Z7.
While looking at the schematic I noticed that both the VP and the VN pin of the XADC of the Zynq are connected to ground.
Does this mean that it is not possible to use it e.g. to read in an external signal with it ?

Or is it connected with I/O in another way ?
Or could this also be an error in the schematic ?

Greetings

Screenshot.png

Link to comment
Share on other sites

20 hours ago, zygot said:

So please help me out with a short recipe that fills out the HW repository with a Vivado project supporting both ZMODs in their respective port locations that exports SDK sources compatible with the demos.

Perhaps, I should restate this. When you get the time some weekend at home pretend to be a customer whose bought an Eclypse A7. On a personal PC install Vivado. Install all of the relevant Digilent repositories. Follow whatever instructions you see provided and create the HW export files used in the SW demos. Build all of the demos.Then post what OS you used and what exactly you did to generate the Vivado and SDK files. How hard can that be?

Link to comment
Share on other sites

Hi @zygot,

Thank you for your mostly positive feedback, its nice to see that one of or most active forum members likes the product.

While true that we have focused our documentation and subsequently our attention towards the Linux aspect of the project, we have not  neglected the desire (or potential desire) of our customers to do just use bare-metal applications and use the 'normal ' Xilinx flow. We tried to keep it as backwards compatible as possible, regarding our usual way of providing demos, while adding a new infrastructure for an OS application. In this sens we had to create the more or less complex zmodlib, which provides access to our Zmods from both the on board Linux environment as well as the opportunity to use them in bare-metal. If you open the SDK workspace which we provide, either trough the Eclypse-Z7 repo or the direct link of the Eclypse-Z7-SW repo, you will notice that there are projects in the workspace which are meant for bare-metal use. These showcase the same functionality as their Linux project counterpart and are basically the classic approach to doing our demos.

There were debates on how to provide the demos for this board in Linux, while some suggested just providing the .elf others suggested the source code with a make file in the rootfs. We settled on this approch using Xilinx SDK because it provides both the source code, the cross-compiler as well as a GUI for debugging the applications. Linux offers a big variety of ways in which applications can be debugged, compiled and run; our solution is not the most straight forward but it offers the benefit of having a familiar environment to develop a Linux application using the Eclypse Z7 and Zmods. It is possible to use Xilinx SDK on Windows to build and debug applications for the onboard Linux. As an alternative, if you just want to run the applications you can always build them on you PC and copy the .elf on to the onboard Linux and run it there. 

For petalinux development, which requires Linux use, I personally recommend using a Linux OS rather then a virtual machine as it will take longer  to build on a virtual machine. Like I mentioned before, although a Linux OS /virtual machine with Vivado 2019.1 is easier to use for Linux application development with the Eclypse Z7 and Zmods, it is not mandatory. The Xilinx SDK should work for Linux application development on both Windows and on Linux.

At the end of the day, this was a pretty exciting project for us to work on and we were focused on showcasing the new aspects of it while also providing our classic way of doing things... we just didn't explicitly document the former. 

Thank you again for the positive assessment,

-Ciprian

Link to comment
Share on other sites

@Ciprian,

Yes, I do like the product and think that it represents a positive expansion of your offerings that covers the needs of a larger audience.

At the moment my frustration is not being able to use your zmod IP to create my own custom hardware bitstream. Your latest vivado-library provides the controller IP for both but no connection to zmod ports. If there's full support for the normal board design flow I'm not finding it. 

Link to comment
Share on other sites

7 hours ago, Ciprian said:

It is possible to use Xilinx SDK on Windows to build and debug applications for the onboard Linux.

This statement might be true but I haven't been able to accomplish it. You might not realize that the SDK behaves differently on Windows than it does in Linux.

For WIN10 SDK I have not been able to get the SDK to link to the SYSROOT file system, which I believe is the reason why I couldn't create a Linux project build for either ZMOD demo. It took some doing but I did managed to do this running the SDK in Linux. The documentation on setting up zmod library builds is not quite correct in a number of places for either OS host.

I was able to connect the SDK to the Eclypse Z7 Ethernet port for debugging on both OSes.

Link to comment
Share on other sites

On 2/13/2020 at 3:53 PM, zygot said:

@Ciprian,

Yes, I do like the product and think that it represents a positive expansion of your offerings that covers the needs of a larger audience.

At the moment my frustration is not being able to use your zmod IP to create my own custom hardware bitstream. Your latest vivado-library provides the controller IP for both but no connection to zmod ports. If there's full support for the normal board design flow I'm not finding it. 

@zygot

Than you for pointing out this issue, there seams to be something we missed either in the git repo or failed to mention in our documentation. In order for easier version control for Xilinx IPs and to simplify some of our more complex IP system, the Zmod IPs are an example for this, we have been using the vivado-hierarchies which work with our IP repo and the Vivado IPs. If you use it to import any Zmod into you block design in Vivado it will create the same hierarchical block as in the example project. For more details on how to use it please visit here. Unfortunately the nature of the Zmod connector does not allow us to create a board-flow for it; this means that you  will have to connect the external ports to the xdc manually.

We will try correcting this issue as soon as possible and probably have a new release tag for the Eclypse-Z7-HW repo.

 

20 hours ago, zygot said:

This statement might be true but I haven't been able to accomplish it. You might not realize that the SDK behaves differently on Windows than it does in Linux.

For WIN10 SDK I have not been able to get the SDK to link to the SYSROOT file system, which I believe is the reason why I couldn't create a Linux project build for either ZMOD demo. It took some doing but I did managed to do this running the SDK in Linux. The documentation on setting up zmod library builds is not quite correct in a number of places for either OS host.

I was able to connect the SDK to the Eclypse Z7 Ethernet port for debugging on both OSes.

The fact that it did not work for you on Windows and that "the documentation on setting up zmod library builds is not quite correct in a number of places for either OS host" is troublesome. Could you please send me the changes that you have made so that we can look in to it and correct the potential issues?

Thanks,

-Ciprian

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...