Procedure exit on global signal

Hi newsgroup users,

I am trying to implement the following in my VHDL testbench:

Within a process (without sensitivity list) I call a procedure "wait_delay". In the most test cases the signal 't_order_burst_data' gets high when the procedure is left again. But there are also some cases where it gets high while the loop in the procedure is busy. I want the procedure to abort then. But how can I make the signal 't_order_burst_data' visible for the procedure all the time ?

I would be very thankful for any suggestions.

procedure wait_delay ( signal clock : std_logic; signal order_burst_data_in : std_logic) is variable i : natural; begin for i in 0 to 4 loop exit when order_burst_data_in='1'; wait until rising_edge(clock); end loop; end wait_delay; ...

process begin wait until rising_edge(t_clk); for m in 0 to 10 loop wait until rising_edge(t_clk); wait until t_order_burst_data='1'; wait_delay(t_clk, t_order_burst_data); end loop; t_continue

Reply to
Loading thread data ...

Have you tried: wait until rising_edge(clock) or order_burst_data_in='1';

My real email is (or something like that).
Reply to
Duane Clark

Another post from a truly prolific information leech bought to you by Google.

Reply to

nospam, > Another post from a truly prolific information leech bought to you by > Google. Prolific. Perhaps.

A leech? I don't agree with this. I don't consider those who post their code and sometimes their simulation results when they ask a question to be leech.

Of course you are entitled to your own opinion and can always create a filter to remove the person from your viewing consideration.

If you consider the exact issue in this case. The solution required the full use of the wait statement (Jonathan Bromley's second solution):

for i in 0 to 4 loop wait until (order_burst_data = '1') or rising_edge(clock); exit when order_burst_data_in='1'; end loop;

I think the author (AluPin) put enough consideration and the solution was difficult enough that I feel your comment is unjustified.

Regards, Jim Lewis

P.S. It would be polite and civil if both of you would put a by-line with your real name.

Jim Lewis
 Click to see the full signature
Reply to
Jim Lewis

I'm glad that Google now has free web-based newsgroup service with reasonably quick posting. At work, I no longer have access to a real news server.

As for the original posting, it was a good, on-topic question that provoked an illuminating posting from Mr Bromley. This group is hardly overloaded with questions in any case.

-- Mike Treseler

Reply to
Mike Treseler

If you care to check the OPs posting history on Google you will find 10 pages of posts. If you inspect them you will find perhaps two or three posts to threads which the OP did not originate with a question.

These are the first line of each post in the first page

Hello, does someone know Hi @ all, is it possible to Some additional question:

3.what is the advantages and disadvantages of Some additional thing: "Differential" is the wrong expression. I need LIBRARY ieee; USE ieee.std_logic_1164.all; LIBRARY work; Hi, is the following CAM-implementation synthezisable? hi how do i detect a state change of a signal Hi, I have a question Hi everybody, How can I put

Notice a pattern?

Information leech seems an appropriate term for someone who asks but never answers questions.

My recent observation is that it is an appropriate term for the majority of people accessing technical groups via google.

Google users seem to regard usenet as a free consultancy service and as long as there are enough suckers who bother to read and contribute to their threads it will work for them.

I am currently kill filing the majority of Google posters, I wish it could be automated. If you don't want to see usenet turn into a wasteland of unanswered questions I suggest you do the same.

Reply to

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.