Jump to content
  • 0

Zmod DAC1411 maximum sample update rate problem


LHji

Question

We purchased a Zmod DAC1411 board and tested it with Eclypse Z7 board with baremetal demo project.  

The maximum sample update rate we can have is ~33Msample/second.  This rate is lower than claimed 100Msample/second.

The only  parameter related to update frequency is "frequencyDivider" in ZmodDAC1411 library.  The update rate stops change when this parameter is set to <2. 

It seems the HW IP used PS core clock (66MHz) for DAC output sample clock.  Is this update rate limit caused by the provided hardware wrapper, "design_1_wrapper_hw_platform_0"?  Can we change it to use higher DAC clock?

 

Thanks,

Link to comment
Share on other sites

9 answers to this question

Recommended Posts

  • 0
There's nothing related to either the ADC or DAC ZMODs or the Z7020 hardware that limit sample rate to less than the advertised ( 125 or 105 MHz for the ADC ) maximum sample rate. In fact even Digilent recommends using the maximum Fs.

The way that Digilent has chosen to use GitHub to provide source code is unfortunate ( for users ) at best. I haven't looked at the current versions of the AXI sources in quite a while, but, based on earlier versions, I'd recommend users replacing those designs with their own.

The earliest versions of the Eclypse-A7 demo code base supported 125 MHz sampling for both ADC and DAC ZMODs. I'd be surprised if that's changed, so perhaps there's a misunderstanding with the documentation. Earlier IP documentation had a lot of problems.
Link to comment
Share on other sites

  • 0

zygot,

  Thanks for your info.  Do you know where I can download the "old 125MHz" ADC and DAC ZMODs codes from?  The online support documents are so difficult for a beginner like me.  Do you know the other way I can talk to the tech support person in Digilent?

 Thanks

Link to comment
Share on other sites

  • 0
1 hour ago, LHji said:

The online support documents are so difficult for a beginner like me.

Don't feel bad.. I have a hard time with the Eclypse-7 documentation and support as well. In fact, I decided to ditch Digilent's AXI IP altogether. The low-level ADC and DAC VHDL IP isn't too bad as a starting point.

What do you want to do with the platform? If you need something easy to use, recent beta versions of Waveforms support the Eclypse-Z7 and include a boot.bin file that allows the Eclypse-Z7 to be used as kind of an AD2 with more ADC and DAC buffer storage. It isn't perfect, but I've tried it and it works, up to  point. If you want to use the platform for a custom project there a a number of ways to go about it, depending on what your project requirements are. 

Personally, I really don't like the way that Digilent's GitHub is tied to Vivado or the confusing and overly complicated way that the source is delivered. The documentation on just how to clone a branch is almost useless to anyone who doesn't use the more complicated features of GitHub repositories on a daily basis. My experimentation with the Eclypse-Z7 has been a series of quite a few experimental projects trying to overcome the platform's limitations. Personally, I use the ZMODs on Opal Kelly platforms that don't have a ZYNQ device. There are a few use cases for the Eclypse-Z7 that can work out well though.

Edited by zygot
Link to comment
Share on other sites

  • 0

@LHji One of the users asked for a version for Vivado 2020.0 here - "Eclypse Z7 libraries & Vivado 2020.2 (or any later version) for a measurement platform - FPGA - Digilent Forum". This is a URL. Try the code attached there from artvvb. You might have to scroll down to find it.

In addition, cloning is not as simple as git clone "Link". The Download for Eclypse Z7 has many dependencies (external). You should read the README.md file before beginning the download. It gives special instructions to help you download what you are looking for. This is the link to Digilent's Github link: "Digilent/Eclypse-Z7 (github.com)" copy and paste what is inside the quotes.

I also do not recall receiving a wrapper from Digilent. I followed instructions listed in "Hello ZMODs on the Eclypse Z7 - Hackster.io" to create a wrapper and hardware.

I found that importing designs from Vivado 2019 to Vivado 2021.2 does not run up against any roadblocks. That bit of the problem does happen to resolve itself thanks to the high-quality Software provided by Xilinx.

Building hardware for Eclypse Z7 requires a considerable amount of effort. No precompiled binaries are available for this project ("Hence my surprise at your assertion to have access to a Digilent provided wrapper.").

On the upside: You can learn a lot of new things about Git. If you are new to Xilinx, you can learn about their software as well.

You should expect to spend a month coming up to speed with new technology if you are new to Git and Xilinx.

Edited by Udayan Mallik
Link to comment
Share on other sites

  • 0
On 1/12/2023 at 10:11 AM, Udayan Mallik said:

I found that importing designs from Vivado 2019 to Vivado 2021.2 does not run up against any roadblocks. That bit of the problem does happen to resolve itself thanks to the high-quality Software provided by Xilinx.

You've been lucky so far. Sooner or later this opinion is likely to change the more you try to do this....

Vivado 2019.2 had some very significant changes from Vivado 2019.1. For one that's when the SDK became depreciated and was replaced with Vitis. Vivado 2019.1 had significant internal changes from previous Vivado versions that broke older deigns using a lot of Vivado free IP. I can't count the number of syntax changes for constraints during just the Vivado 2019.1 - Vivado 2021.2 time period that will break designs. If you do trivial designs or designs that are limited to the IPI flow that don't require user created timing or cell placement constraints then you could be oblivious to all of this.

As far as Git is concerned Digilent seems to be alone in thinking that cloning a repository has to be complicated. There are plenty of GitHub repositories for Xilinx FPGA projects, using Digilent boards, that don't require reading multiple confusing documents about how to clone their repository, and replicating those projects are trivial and work "out of the box" so to speak.

Making it hard to use your code repositories has nothing to do with being current in technology. Technology and poor decision making are two separate topics.

Edited by zygot
Link to comment
Share on other sites

  • 0

Unfortunately, I do not agree. This is the first time I have seen a distributed git repository. It was a pleasure working with it. I intend to use this method to create storage for complex and distributed developments that cannot be merged - at least not easily. In any case it is something new. Not wanting to learn new things, is the root cause of stagnation.

In so far as Xilinx is concerned, I can only share what I observed. Importing was not difficult. I imported two versions of the code for this project. One - provided by the repository (2019.x) and one I received from someone here, who provided me with a 2020.x version. Both imports went without any incident.

I have been using Vivado for many years - changes come and changes go. We learn to live with them. However, yes, it would be nice to not have to re-learn things every time someone introduces a change. Vivado in my opinion is one of the better software packages on the market.

Similarly, Digilent in my opinion is one of the best companies to work with. They are exceedingly helpful. From what I recall - the git clone command required one or two additional switches. The software took care of the rest all by itself. All they ask is that a user read the README.md files before proceeding. Not much to ask!

Link to comment
Share on other sites

  • 0
3 hours ago, Udayan Mallik said:

Unfortunately, I do not agree.

There's nothing unfortunate about a disagreement. Opinions reflect experience.s Different experiences tend to create different opinions.

I've used the Digilent repository for the Eclypse-Z7 to recreate projects and my experiences were not a happy as yours. I did eventually get to where I wanted to go but not without a lot of problems. I had to read a lot more than one README.md file to get there. In fact I had to do it twice; once on a Win10 box for the stand-alone demo version and once on Ubuntu for the Linux demo version. And there were lot's of issues on both hosts that were different. I didn't even have a tool version isue to deal with.

3 hours ago, Udayan Mallik said:

All they ask is that a user read the README.md files before proceeding. Not much to ask!

Really? Well, let's take some text from an actual Ecypse-Z7 README.md file, https://github.com/Digilent/Eclypse-Z7#readme:

"The Vivado and Petalinux projects are version-specific. Source files are not backward compatible and not automatically forward compatible. Release tags specify the targeted Vivado version. There is only one version targeted per year, as chosen by Digilent. Non-tagged commits on the master branch are either at the last tagged version or the next targeted version. This is not ideal and might be changed in the future adopting a better flow."

In some of Digilent's Eclypse-z7 repositories, like the demos, Digilent supplies the actual git commands to clone the library. That's not how the most of the repositories work. All I ask is that whoever creates a repository be as nice. If I were a third party making commits to a distributed GitHub repository then I'd want to be conversant with all of the relevant GitHub concepts and commands. If all I want to do is look at a repository and see what I'm getting into then it's not too much to ask that I can do that without having read through multiple confusing and error ridden documents to do so. That's a suitable description of my experience with the Eclypse-Z7 repositories. 

Try randomly picking 3-4 repositories for Digilent FPGA board demos created with older versions of VIvado and try to replicate them using, say Vivado 2020.1. Then tell me again how wonderful it is.

This, of course is an opinion based on my experiences, but based on posts to the Digilent forums, not an uncommon one.

3 hours ago, Udayan Mallik said:

Not wanting to learn new things, is the root cause of stagnation.

This might be true in some context. When I drive somewhere I don't necessarily want to know how to build a car. When I turn on the lights, I don't want to know how to build a power plant and distribution system. I don't know anyone who has the time to learn useless information that only has limited utility when they need to complete a task before a deadline. I like learning new things. I don't like having to spend hours learning a skill that I might use once just to do something that could be easy to do.  

[edit] I don't discount your opinion at all. I'm sure that it suits you for what you are doing now. Not wanting to waste time isn't necessarily a sign of stagnation or techno-phobia.  I'm just trying to express a different viewpoint as best I can.

Edited by zygot
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...