Project

General

Profile

Download (1.96 KB) Statistics
| Branch: | Tag: | Revision:
1 d93979b7 Arnaud Dieumegard
2
-- Copyright (C) 1996 Morgan Kaufmann Publishers, Inc
3
4
-- This file is part of VESTs (Vhdl tESTs).
5
6
-- VESTs is free software; you can redistribute it and/or modify it
7
-- under the terms of the GNU General Public License as published by the
8
-- Free Software Foundation; either version 2 of the License, or (at
9
-- your option) any later version. 
10
11
-- VESTs is distributed in the hope that it will be useful, but WITHOUT
12
-- ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13
-- FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
14
-- for more details. 
15
16
-- You should have received a copy of the GNU General Public License
17
-- along with VESTs; if not, write to the Free Software Foundation,
18
-- Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA 
19
20
-- ---------------------------------------------------------------------
21
--
22
-- $Id: ch_05_fg_05_16.vhd,v 1.2 2001-10-26 16:29:34 paw Exp $
23
-- $Revision: 1.2 $
24
--
25
-- ---------------------------------------------------------------------
26
27
library ieee;  use ieee.std_logic_1164.all;
28
29
               entity and2 is
30
                 port ( a, b : in std_ulogic;  y : out std_ulogic );
31
               end entity and2;
32
33
--------------------------------------------------
34
35
               architecture detailed_delay of and2 is
36
37
                 signal result : std_ulogic;
38
39
               begin
40
41
                 gate : process (a, b) is
42
                 begin
43
                   result <= a and b;
44
                 end process gate;
45
46
                 delay : process (result) is
47
                 begin
48
                   if result = '1' then
49
                     y <= reject 400 ps inertial '1' after 1.5 ns;
50
                   elsif result = '0' then
51
                     y <= reject 300 ps inertial '0' after 1.2 ns;
52
                   else
53
                     y <= reject 300 ps inertial 'X' after 500 ps;
54
                   end if;
55
                 end process delay;
56
57
               end architecture detailed_delay;