OpenCores
URL https://opencores.org/ocsvn/sdhc-sc-core/sdhc-sc-core/trunk

Subversion Repositories sdhc-sc-core

[/] [sdhc-sc-core/] [trunk/] [grpStrobesClocks/] [unitEdgeDetector/] [src/] [tbEdgeDetection-Bhv-ea.vhdl] - Blame information for rev 185

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 164 rkastl
-- SDHC-SC-Core
2
-- Secure Digital High Capacity Self Configuring Core
3
-- 
4 170 rkastl
-- (C) Copyright 2010, Rainer Kastl
5
-- All rights reserved.
6 164 rkastl
-- 
7 170 rkastl
-- Redistribution and use in source and binary forms, with or without
8
-- modification, are permitted provided that the following conditions are met:
9
--     * Redistributions of source code must retain the above copyright
10
--       notice, this list of conditions and the following disclaimer.
11
--     * Redistributions in binary form must reproduce the above copyright
12
--       notice, this list of conditions and the following disclaimer in the
13
--       documentation and/or other materials provided with the distribution.
14
--     * Neither the name of the <organization> nor the
15
--       names of its contributors may be used to endorse or promote products
16
--       derived from this software without specific prior written permission.
17 164 rkastl
-- 
18 170 rkastl
-- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS  "AS IS" AND
19
-- ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
20
-- WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
21
-- DISCLAIMED. IN NO EVENT SHALL <COPYRIGHT HOLDER> BE LIABLE FOR ANY
22
-- DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
23
-- (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
24
-- LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
25
-- ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
26
-- (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
27
-- SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
28 164 rkastl
-- 
29
-- File        : tbEdgeDetection-Bhv-ea.vhdl
30
-- Owner       : Rainer Kastl
31
-- Description : 
32
-- Links       : See EDS at FH Hagenberg
33
-- 
34
 
35 118 rkastl
library ieee;
36
use ieee.std_logic_1164.all;
37
use work.Global.all;
38
 
39
entity tbEdgeDet is
40
 
41
end entity tbEdgeDet;
42
 
43
architecture Bhv of tbEdgeDet is
44
 
45
   -- generics
46
   constant cClkFrequency  : natural := 25E6;
47
   constant simulationTime : time    := 1200 ns;
48
 
49
   -- component ports
50
   signal Clk                                    : std_ulogic := cInactivated;
51
   signal nResetAsync                            : std_ulogic := cnInactivated;
52
   signal EdgeDetected, ClearEdgeDetected, iLine : std_ulogic;
53
   signal EdgeDetected2, EdgeDetected3           : std_ulogic;
54
   signal EdgeDetected4, EdgeDetected5           : std_ulogic;
55
   signal EdgeDetected6                          : std_ulogic;
56
 
57
begin  -- architecture Bhv
58
 
59
   -- component instantiation
60
   DUT : entity work.EdgeDetector(Rtl)
61
      port map (
62
         iLine              => iLine,
63
         inResetAsync       => nResetAsync,
64
         iClk               => Clk,
65
         iClearEdgeDetected => ClearEdgeDetected,
66
         oEdgeDetected      => EdgeDetected);
67
 
68
   DUT2 : entity work.EdgeDetector(Rtl)
69
      generic map (
70
         gEdgeDetection => cDetectFallingEdge)
71
      port map (
72
         iLine              => iLine,
73
         inResetAsync       => nResetAsync,
74
         iClk               => Clk,
75
         iClearEdgeDetected => ClearEdgeDetected,
76
         oEdgeDetected      => EdgeDetected2);
77
 
78
   DUT3 : entity work.EdgeDetector(Rtl)
79
      generic map (
80
         gEdgeDetection => cDetectAnyEdge)
81
      port map (
82
         iLine              => iLine,
83
         inResetAsync       => nResetAsync,
84
         iClk               => Clk,
85
         iClearEdgeDetected => ClearEdgeDetected,
86
         oEdgeDetected      => EdgeDetected3);
87
   DUT4 : entity work.EdgeDetector(Rtl)
88
      generic map (gOutputRegistered => false)
89
      port map (
90
         iLine              => iLine,
91
         inResetAsync       => nResetAsync,
92
         iClk               => Clk,
93
         iClearEdgeDetected => ClearEdgeDetected,
94
         oEdgeDetected      => EdgeDetected4);
95
 
96
   DUT5 : entity work.EdgeDetector(Rtl)
97
      generic map (
98
         gEdgeDetection    => cDetectFallingEdge,
99
         gOutputRegistered => false)
100
      port map (
101
         iLine              => iLine,
102
         inResetAsync       => nResetAsync,
103
         iClk               => Clk,
104
         iClearEdgeDetected => ClearEdgeDetected,
105
         oEdgeDetected      => EdgeDetected5);
106
 
107
   DUT6 : entity work.EdgeDetector(Rtl)
108
      generic map (
109
         gEdgeDetection    => cDetectAnyEdge,
110
         gOutputRegistered => false)
111
      port map (
112
         iLine              => iLine,
113
         inResetAsync       => nResetAsync,
114
         iClk               => Clk,
115
         iClearEdgeDetected => ClearEdgeDetected,
116
         oEdgeDetected      => EdgeDetected6);
117
 
118
   Clk <= not Clk after (1 sec / cClkFrequency) / 2;
119
 
120
   nResetAsync <= cnInactivated after 0 ns,
121
                  cnActivated   after 100 ns,
122
                  cnInactivated after 200 ns;
123
 
124
 
125
   TestProcess : process is
126
   begin
127
 
128
      iLine <= '0' after 0 ns, '1' after 301 ns, '0' after 390 ns,
129
               '1' after 550 ns, '0' after 600 ns, '1' after 690 ns,
130
               '0' after 1000 ns;
131
 
132
      ClearEdgeDetected <= '0' after 0 ns, '1' after 430 ns, '0' after 470 ns, '1'
133
                           after 590 ns, '0' after 630 ns, '1' after 810 ns,
134
                           '0'               after 830 ns;
135
      wait;
136
   end process TestProcess;
137
 
138
   -- Simulation is finished after predefined time.
139
   SimulationFinished : process
140
   begin
141
      wait for simulationTime;
142
      assert false
143
         report "This is not a failure: Simulation finished !!!"
144
         severity failure;
145
   end process SimulationFinished;
146
 
147
end architecture Bhv;
148
 

powered by: WebSVN 2.1.0

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