lustrec-tests / vhdl_json / vhdl_files / 2-exportOK / ghdl / ghdl / testsuite / vests / vhdl-93 / billowitch / compliant / tc1704.vhd @ 3fd18385
History | View | Annotate | Download (2.6 KB)
1 |
|
---|---|
2 |
-- Copyright (C) 2001 Bill Billowitch. |
3 |
|
4 |
-- Some of the work to develop this test suite was done with Air Force |
5 |
-- support. The Air Force and Bill Billowitch assume no |
6 |
-- responsibilities for this software. |
7 |
|
8 |
-- This file is part of VESTs (Vhdl tESTs). |
9 |
|
10 |
-- VESTs is free software; you can redistribute it and/or modify it |
11 |
-- under the terms of the GNU General Public License as published by the |
12 |
-- Free Software Foundation; either version 2 of the License, or (at |
13 |
-- your option) any later version. |
14 |
|
15 |
-- VESTs is distributed in the hope that it will be useful, but WITHOUT |
16 |
-- ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or |
17 |
-- FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License |
18 |
-- for more details. |
19 |
|
20 |
-- You should have received a copy of the GNU General Public License |
21 |
-- along with VESTs; if not, write to the Free Software Foundation, |
22 |
-- Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
23 |
|
24 |
-- --------------------------------------------------------------------- |
25 |
-- |
26 |
-- $Id: tc1704.vhd,v 1.2 2001-10-26 16:29:43 paw Exp $ |
27 |
-- $Revision: 1.2 $ |
28 |
-- |
29 |
-- --------------------------------------------------------------------- |
30 |
|
31 |
ENTITY c09s02b00x00p07n01i01704ent IS |
32 |
END c09s02b00x00p07n01i01704ent; |
33 |
|
34 |
ARCHITECTURE c09s02b00x00p07n01i01704arch OF c09s02b00x00p07n01i01704ent IS |
35 |
signal S : Bit; |
36 |
BEGIN |
37 |
TESTING: PROCESS( S ) |
38 |
-- local variables. |
39 |
variable INITED : BOOLEAN := FALSE; |
40 |
variable CNT : INTEGER := 0; |
41 |
variable NEWTIME: TIME; |
42 |
variable k : integer := 1; |
43 |
BEGIN |
44 |
-- Take care of the first run. |
45 |
if (not( INITED )) then |
46 |
INITED := TRUE; |
47 |
CNT := 0; |
48 |
S <= (not S) after 1 ns; |
49 |
NEWTIME := NOW + 1 ns; |
50 |
|
51 |
-- Otherwise, take care of all subsequent runs. |
52 |
-- NOTE: Take care of the last time we will get awakened. |
53 |
elsif (NOW /= TIME'HIGH) then |
54 |
|
55 |
-- Verify that we woke up when S was updated. |
56 |
if NOT(( S'EVENT ) and ( NEWTIME = NOW )) then |
57 |
k := 0; |
58 |
end if; |
59 |
|
60 |
-- See if we should continue. If so, do it. |
61 |
CNT := CNT + 1; |
62 |
if (CNT <= 50) then |
63 |
S <= (not S) after 1 ns; |
64 |
NEWTIME := NOW + 1 ns; |
65 |
end if; |
66 |
end if; |
67 |
if (CNT = 50) then |
68 |
assert NOT( k=1 ) |
69 |
report "***PASSED TEST: c09s02b00x00p07n01i01704" |
70 |
severity NOTE; |
71 |
assert ( k=1 ) |
72 |
report "***FAILED TEST: c09s02b00x00p07n01i01704 - The process statement is assumed to contain an implicit wait statement if a sensitivity list appears following the reserved word process." |
73 |
severity ERROR; |
74 |
end if; |
75 |
END PROCESS TESTING; |
76 |
|
77 |
END c09s02b00x00p07n01i01704arch; |