Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > VHDL > VHDL-AMS: assert as simultaneous statement

Reply
Thread Tools

VHDL-AMS: assert as simultaneous statement

 
 
yaveh (Yet Another Vhdl Engineer Hoping)
Guest
Posts: n/a
 
      11-03-2006

Hi,

I consider good design practise to write case statements with a
default 'others' choice to be able to catch design errors and
properly mark them with an assert statement.

This works fine with VHDL sequentials and concurrent assert statements.

However, I canīt get VHDL-AMS simultaneous assert statement to work.
My tool complain with "unknown concurrent/simultaneous statement "
when I write, e.g.:

architecture [...] of [...] is
shared variable a : [...]
[...]
begin
[...]
case a use
when a1=> v'dot == -G - v**2*Air_Res; ;-- e.g.
when b2=> [...]
when others =>
assert false report "case defaulted!" severity failure;
end case;
end;

If you use VHDL-AMS, donīt you find it necessary?
I just canīt find thsi construct in the Quick Reference of several
VHDL-AMS Simulator...

 
Reply With Quote
 
 
 
 
Paul Floyd
Guest
Posts: n/a
 
      11-27-2006
On 3 Nov 2006 05:32:51 -0800, yaveh (Yet Another Vhdl Engineer Hoping)
<> wrote:
>
> Hi,
>
> I consider good design practise to write case statements with a
> default 'others' choice to be able to catch design errors and
> properly mark them with an assert statement.
>
> This works fine with VHDL sequentials and concurrent assert statements.
>
> However, I canīt get VHDL-AMS simultaneous assert statement to work.
> My tool complain with "unknown concurrent/simultaneous statement "
> when I write, e.g.:
>
> architecture [...] of [...] is
> shared variable a : [...]
> [...]
> begin
> [...]
> case a use
> when a1=> v'dot == -G - v**2*Air_Res; ;-- e.g.
> when b2=> [...]
> when others =>
> assert false report "case defaulted!" severity failure;
> end case;
> end;
>
> If you use VHDL-AMS, donīt you find it necessary?
> I just canīt find thsi construct in the Quick Reference of several
> VHDL-AMS Simulator...


I haven't checked in the LRM, but I don't think that this is allowed.

A somewhat ugly solution, which doesn't quite do what you want (but
might be good enough for simulation), might be to define a function that
contains an assert.

For instance

function my_assert(s: string) return [type of a1, b2 ...] is
begin
assert false report s severity failure;
return 0.0; -- or whatever is compatible with a1 ...
end;


case a use
when a1=> v'dot == -G - v**2*Air_Res; ;-- e.g.
when b2=> [...]
when others =>
dummy == my_assert("case defaulted!");
end case;

A bientot
Paul
(Not speaking for Mentor Graphics)
--
Paul Floyd http://paulf.free.fr (for what it's worth)
Surgery: ennobled Gerald.
 
Reply With Quote
 
 
 
Reply

Thread Tools

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

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


Similar Threads
Thread Thread Starter Forum Replies Last Post
To assert or not to assert... ImpalerCore C Programming 79 05-17-2010 12:47 PM
Showing value of loop iteration in assert statement dwerdna VHDL 5 03-31-2005 05:23 PM
assert 0, "foo" vs. assert(0, "foo") Thomas Guettler Python 3 02-23-2005 07:53 PM
assert(x) and '#define ASSERT(x) assert(x)' Alex Vinokur C Programming 5 11-25-2004 08:48 PM
RE: remove assert statement (Was: Re: PEP new assert idiom) Robert Brewer Python 1 11-07-2004 06:53 PM



Advertisments
 



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 47 48 49 50 51 52 53 54 55 56 57