Go Back   Velocity Reviews > Newsgroups > VHDL
User Name
Password
Register FAQ Members List Calendar Search Today's Posts Mark Forums Read

Reply

VHDL - "Wait on" instead of "Sensitivity List" does not work???

 
Thread Tools Search this Thread
Old 05-31-2007, 07:32 PM   #1
Default "Wait on" instead of "Sensitivity List" does not work???


Hello everybody,

I just tried a code snippet like this:


ARCHITECTURE xyz OF abc IS
BEGIN
PROCESS
BEGIN
<Some sequential statements>
WAIT on i1;
END PROCESS;
END xyz;


....where i1 is an IN-port (std_logic) in the respective entity.

Quartus II 7.0 Web Edition says:
"Wait Statement must contain condition clause with UNITL keyword."

Xilinx ISE 9.1 says:
"Bad condition in wait statement or only one clock per process."

According to my understanding and several tutorials and books the code
should work, since the "WAIT ON" at the end of the process is a valid
alternative to the sensitivity list.

Am I wrong?
Can anyone help?

Best regards
Markus




Markus Jochim
  Reply With Quote
Old 05-31-2007, 11:40 PM   #2
Andy
 
Posts: n/a
Default Re: "Wait on" instead of "Sensitivity List" does not work???
On May 31, 1:32 pm, Markus Jochim <joc...@dc.uni-due.de> wrote:
> Hello everybody,
>
> I just tried a code snippet like this:
>
> ARCHITECTURE xyz OF abc IS
> BEGIN
> PROCESS
> BEGIN
> <Some sequential statements>
> WAIT on i1;
> END PROCESS;
> END xyz;
>
> ...where i1 is an IN-port (std_logic) in the respective entity.
>
> Quartus II 7.0 Web Edition says:
> "Wait Statement must contain condition clause with UNITL keyword."
>
> Xilinx ISE 9.1 says:
> "Bad condition in wait statement or only one clock per process."
>
> According to my understanding and several tutorials and books the code
> should work, since the "WAIT ON" at the end of the process is a valid
> alternative to the sensitivity list.
>
> Am I wrong?
> Can anyone help?
>
> Best regards
> Markus


IINM, that wait statement will trigger on any event on i1, including
rising and falling edges. That is not synthesizable AFAIK.

andy



Andy
  Reply With Quote
Old 06-01-2007, 03:14 AM   #3
Jim Lewis
 
Posts: n/a
Default Re: "Wait on" instead of "Sensitivity List" does not work???
Markus,
If you look at 1076.6-2004 you will find that
this coding style is not supported for VHDL RTL
coding styles.

From a business perspective vendors have to spend
money to add and maintain features.

From a user perspective, I can already do this as
easily with a sensitivity list. I have many other
things that are much more important than this
that I need synthesis vendors to implement (that
they have not yet). If you want a list, start with
any of the coding styles that are in 1076.6-2004.
Also look on my the papers section of my website for
papers on 1076.6. http://www.synthworks.com/papers

Best Regards,
Jim


> Hello everybody,
>
> I just tried a code snippet like this:
>
>
> ARCHITECTURE xyz OF abc IS
> BEGIN
> PROCESS
> BEGIN
> <Some sequential statements>
> WAIT on i1;
> END PROCESS;
> END xyz;
>
>
> ...where i1 is an IN-port (std_logic) in the respective entity.
>
> Quartus II 7.0 Web Edition says:
> "Wait Statement must contain condition clause with UNITL keyword."
>
> Xilinx ISE 9.1 says:
> "Bad condition in wait statement or only one clock per process."
>
> According to my understanding and several tutorials and books the code
> should work, since the "WAIT ON" at the end of the process is a valid
> alternative to the sensitivity list.
>
> Am I wrong?
> Can anyone help?
>
> Best regards
> Markus
>
>



Jim Lewis
  Reply With Quote
Old 06-01-2007, 10:30 AM   #4
HT-Lab
 
Posts: n/a
Default Re: "Wait on" instead of "Sensitivity List" does not work???

"Markus Jochim" <> wrote in message
news:...
> Hello everybody,
>
> I just tried a code snippet like this:
>
>
> ARCHITECTURE xyz OF abc IS
> BEGIN
> PROCESS
> BEGIN
> <Some sequential statements>
> WAIT on i1;
> END PROCESS;
> END xyz;
>
>
> ...where i1 is an IN-port (std_logic) in the respective entity.
>
> Quartus II 7.0 Web Edition says:
> "Wait Statement must contain condition clause with UNITL keyword."
>
> Xilinx ISE 9.1 says:
> "Bad condition in wait statement or only one clock per process."
>
> According to my understanding and several tutorials and books the code
> should work, since the "WAIT ON" at the end of the process is a valid
> alternative to the sensitivity list.


Hi Markus,

Most modern synthesis tools support 2 types of FF coding styles,

process (clk)
begin
if rising_edge(clk) then
..
end if;
end process;

or,

process
begin
wait until clk'event and clk = '0';
..
end process;

They also support dual edge triggering but only for those fpga that have
dual edge FF like the Xilinx Coolrunner,

Hans
www.ht-lab.com


>
> Am I wrong?
> Can anyone help?
>
> Best regards
> Markus
>
>





HT-Lab
  Reply With Quote
Reply


Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are Off
Pingbacks are Off
Refbacks are Off

Similar Threads
Thread Thread Starter Forum Replies Last Post
Identity Theft at Work @ A True Review Silverstrand Front Page News 0 06-27-2006 03:56 PM




SEO by vBSEO 3.3.2 ©2009, Crawlability, Inc.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46