OpenCores
URL https://opencores.org/ocsvn/epc_rfid_transponder/epc_rfid_transponder/trunk

Subversion Repositories epc_rfid_transponder

[/] [epc_rfid_transponder/] [trunk/] [tb_InvSelFlag.vhd] - Blame information for rev 3

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 2 erwing
-------------------------------------------------------------------------------
2
--     Politecnico di Torino                                              
3
--     Dipartimento di Automatica e Informatica             
4
-------------------------------------------------------------------------------
5
-------------------------------------------------------------------------------     
6
--
7
--     Title          : EPC Class1 Gen2 RFID Tag - Inventoried and Selected Flags
8
--                      Test Bench
9
--
10
--     File name      : tb_InvSelFlag.vhd 
11
--
12
--     Description    : Inventoried and Selected flag test bench.
13
--                      
14 3 erwing
--     Authors        : Erwing R. Sanchez <erwing.sanchez@polito.it>
15 2 erwing
--                                 
16
-------------------------------------------------------------------------------            
17
-------------------------------------------------------------------------------
18
library IEEE;
19
use IEEE.STD_LOGIC_1164.all;
20
use IEEE.std_logic_unsigned.all;
21
 
22
entity tb_InvSelFlag is
23
end tb_InvSelFlag;
24
 
25
architecture stim of tb_InvSelFlag is
26
 
27
 
28
  component InvSelFlag
29
    generic (
30
      S1INV_PERSISTENCE_TIME : time;
31
      S2INV_PERSISTENCE_TIME : time;
32
      S3INV_PERSISTENCE_TIME : time;
33
      SL_PERSISTENCE_TIME    : time);
34
    port (
35
      S1i : in  std_logic;
36
      S2i : in  std_logic;
37
      S3i : in  std_logic;
38
      SLi : in  std_logic;
39
      S1o : out std_logic;
40
      S2o : out std_logic;
41
      S3o : out std_logic;
42
      SLo : out std_logic);
43
  end component;
44
 
45
 
46
  constant S1INV_PERSISTENCE_TIME : time := 500 ms;
47
  constant S2INV_PERSISTENCE_TIME : time := 2 sec;
48
  constant S3INV_PERSISTENCE_TIME : time := 2 sec;
49
  constant SL_PERSISTENCE_TIME    : time := 2 sec;
50
  constant CKdiv2                 : time := 260 ns;
51
 
52
  signal Si  : std_logic_vector(1 to 3);
53
  signal Sli : std_logic;
54
  signal So  : std_logic_vector(1 to 3);
55
  signal Slo : std_logic;
56
 
57
 
58
begin  -- stim
59
 
60
 
61
  process
62
 
63
  begin  -- process
64
 
65
    Si  <= (others => '0');
66
    Sli <= '0';
67
 
68
    wait for 20 * CKdiv2;
69
 
70
    Si(1) <= '1';
71
    wait for 2 * CKdiv2;
72
    Si(1) <= '0';
73
    wait for 2 * CKdiv2;
74
    Si(1) <= '1';
75
    wait for 2 * CKdiv2;
76
 
77
    Si(2) <= '1';
78
    wait for 2 * CKdiv2;
79
    Si(2) <= '0';
80
    wait for 2 * CKdiv2;
81
    Si(2) <= '1';
82
    wait for 2 * CKdiv2;
83
 
84
    Si(3) <= '1';
85
    wait for 2 * CKdiv2;
86
    Si(3) <= '0';
87
    wait for 2 * CKdiv2;
88
    Si(3) <= '1';
89
    wait for 2 * CKdiv2;
90
 
91
    Sli <= '1';
92
    wait for 2 * CKdiv2;
93
    Sli <= '0';
94
    wait for 2 * CKdiv2;
95
    Sli <= '1';
96
    wait for 2 * CKdiv2;
97
 
98
 
99
    wait;
100
 
101
  end process;
102
 
103
 
104
  InvSelFlag_1 : InvSelFlag
105
    generic map (
106
      S1INV_PERSISTENCE_TIME => S1INV_PERSISTENCE_TIME,
107
      S2INV_PERSISTENCE_TIME => S2INV_PERSISTENCE_TIME,
108
      S3INV_PERSISTENCE_TIME => S3INV_PERSISTENCE_TIME,
109
      SL_PERSISTENCE_TIME    => SL_PERSISTENCE_TIME)
110
    port map (
111
      S1i => Si(1),
112
      S2i => Si(2),
113
      S3i => Si(3),
114
      SLi => Sli,
115
      S1o => So(1),
116
      S2o => So(2),
117
      S3o => So(3),
118
      SLo => Slo);
119
 
120
end stim;

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.