Jump to content
Fourth of July -- Digilent US offices closed ×
  • 0

Repetitive Burst of Clock Pulses in Waveforms Patterns for Digital Discovery


Duh

Question

I have just purchased a Digital Discovery unit and I have a very simple waveform pattern that I am trying to generate.  Specifically, I am trying to reproduce a "burst" of 640 cycles of a clock at regular intervals (DCLK).  I can produce the initial burst of 640 pulses, but can't figure out how to make it repeat ad infinitum.  I have tried using both the "Clock" type of signal as well as the "Pulse" type of signal, but can't see how to make either type work.  I have attached a PowerPoint Slide that shows what I am trying to do in Waveforms.  In this slide, CLK is the master clock, DCLK is a short-term clock for clocking data in and out of a device and it must occur during each true and false state of the CONV signal.  What I have been able to easily program is shown in black along with the programming window while the desired bursts are shown in red.

Thanks! 

How to Program Repetitive Bursts of Clock Pulses v1.pptx

Link to comment
Share on other sites

10 answers to this question

Recommended Posts

  • 0

Hi Attila,

Thanks for the very quick reply!  I see that your approach can work.  However, I don't see how you entered the burst data for 640 cycles and then set it to repeat.  I hope you're not going to tell me that you entered them by hand into a spreadsheet with 10,000 elements and imported it!  I have a number of these kinds of sequences that I need to generate that are longer than this and it will be a huge problem to enter them by hand.  I also found that if I open the "edit-prefill" box, I don't dare save it because it will replace the correct data and prefill the entire 10k points with the 0-1 pulses.

In the "Edit Bus" window I don't see anything that restricts the data burst to 640 cycles and then repeats it.  I only see the 10k length with unlimited repetition.  The actual data in the spreadsheet table to the right is correct for one cycle of CONV (or digital line "2" in your example).  Is there a tool or something I am missing?

Link to comment
Share on other sites

  • 0

Hi Atilla,

I must be missing something important about the user interface here!  When I open your file in Waveforms here, this is what I see (below).  Although the resulting plot is good, the numbers aren't the same.  In Prefill Bus for signal 2, you show a length of 1280 while it shows 10 k.   Also, under "Edit Bus" you are showing a change from 32 Ki to 5k samples and the same file over here is showing the default 10k.  What you presented in your last message makes sense - what I see in the file on my end doesn't (except the result is good!).  I am having a hard time understanding how I can see the correct result but different input values.  If I try to duplicate your file from scratch but using the numbers that make sense, it doesn't work!

When I open test.dwf3work here is what I get:

image.png.2591d27f8e34db7873329919970bdf43.png

 

 

 

image.png

Link to comment
Share on other sites

  • 0

Hi Atilla,

I kept banging away and I think I understand the UI now - it is different than other hardware methods that I am familiar with.  I now see how the prefill drop down fills data into the space specified in the previous window.  That was not intuitive to me and I didn't see any tutorials that described how they act.  Anyway, I'm on the road to being able to use the interface.  Thanks for your timely help!

Link to comment
Share on other sites

  • 0

Hi Atilla,

In the process of designing some of my other pulse sequences I have noticed some odd behavior in Patterns.  I think it has to do with the fact that I have a large window but some very short bursts of pulses so it becomes hard to represent pulse sequences with such high dynamic range.  In the attached file, I have had trouble programming what I want for the signal DCLK.  I think this is also one of the compounding factors adding to my confusion about the User Interface!  In this case DCLK is a burst of 1620 pulses with a repetition rate of 20 MHz and delayed by 100 uS (total length 81 uS).  The total record length based on the main CLK signal is a little over 1 sec, so this is the dynamic range issue!  When I have the window expanded out to 2 sec, I can see a bit of the DCLK burst at the very start of the record.  That is what I expect.  However, as I expand the view (decrease the total time window) strange things happen.  At a window width of 1 mS I see a gray band starting at the origin (0 s) and extending out to ~800 - 900 uS which is not correct.  With a window of 500 uS, I see a gray band from 0 to ~75 uS, which is not correct.  With a window of 200 uS I see a gray bar from 0 to ~82 uS, which is OK for burst length, but the 100 uS delay is not shown.  If I select 90 uS as the window start and 200 uS as the end, DCLK is blank.  I physically connected the DCLK output up to the logic analyzer input channel labelled "Test Channel" and indeed, the burst exists correctly as programmed.  So, there may be a display bug in the Patterns app.  Also, I can't find any reference to why or when the display turns the signal to a gray color.  Maybe that is an error condition?

Notes for this Workspace File:

The logic analyzer is hardware sync'd to the pattern generator using a pulse that you can see as the signal on both "I/O Trig Out" and "I/O Trig In".  The other Logic Analyzer channels are not connected for this demo.  Here are a couple of screen shots:

 

 

image.thumb.png.63ff1d7194160f6f56285e45fca3274e.png

image.thumb.png.dc6374bddf5391d495104b3aaa73efa2.png

image.thumb.png.2fda7effd0a9d09a1a4d3529c525992e.png

DDC264 Data Convert and Readback v1.dwf3work

Link to comment
Share on other sites

  • 0

Hi @Duh

Use the Logic Analyzer to capture the generated signals like this: DDC264 Data Convert and Readback v2.dwf3work

The Pattern Generator preview is not perfect, it mostly works with simple signals. Originally I implemented to generate exactly what the device FPGA would do but in some cases this turned out to be slow with a CPU. Now it performs a simplified preview, giving up where it would be time consuming to calculate.

image.png

Link to comment
Share on other sites

  • 0

Attila,

Great information!  This is much better than having to do a hardware loopback.  I didn't realize that specifying the same DIO in the logic analyzer and in the pattern generator that it made the connection internally to the Digital Discovery.  That's very nice and helpful.  I had also built up a "Y" connector to allow them all to be connected to each other and the target, but at 20 MHz the signal integrity was poor, so having the programmed connections on the Discovery is great.

Thanks!

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...