- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Folks:
I am writing a testbench for a pulse-width modulator and wanted to check for several hundred different values. I figured I'd use a loop for each value, but I'm not sure of the best way to confirm (using assert) that the pulse is the correct length for each value. I was planning on just using a "wait until" and then "now - output'last_event" but I want to use the loop index in a comparison with a time value, which isn't going to work. I suppose I could use some sort of inner loop that counted the clock cycles, but that seems very clunky. I'd appreciate any recommendations or links to good resources.Link Copied
2 Replies
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Perhaps this post might help...
https://alteraforum.com/forum/showthread.php?t=6493 Combine that with a 'wait until {rising/falling edge(signal)}' and you should be able to automatically measure the mark or space width. Cheers, Alex- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
You can use the 'stable' VHDL attribute with a value consistent with the pwd command.
Example: assert pwm_out'stable(TIME) report "signal is not stable during the expected time" severity error;
Reply
Topic Options
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page