![]() |
|
|
|||||||
![]() |
VHDL - VHDL-AMS: assert as simultaneous statement |
|
|
Thread Tools | Search this Thread |
|
|
#1 |
|
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... yaveh (Yet Another Vhdl Engineer Hoping) |
|
|
|
|
#2 |
|
Posts: n/a
|
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. Paul Floyd |
|
![]() |
| Thread Tools | Search this Thread |
|
|
Similar Threads
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| How to execute an external software from VHDL? And how to interface VHDL with JAVA? | becool_nikks | Software | 0 | 03-06-2009 07:08 PM |
| Help on auto conversion from Matlab to vhdl on filter design | hardheart | Hardware | 0 | 12-07-2007 09:19 AM |
| ARRAY(n DOWNTO 0) OF STD_LOGIC_VECTOR(m DOWNTO 0) - VHDL | freitass | Hardware | 0 | 11-01-2007 03:44 PM |
| VHDL Query - Indexing / Arrays / std_logic_vectors | X_Dreamer | Hardware | 2 | 10-31-2007 07:39 PM |
| vhdl code | amirster | Hardware | 0 | 05-10-2007 07:28 AM |