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

Subversion Repositories mdct

[/] [mdct/] [tags/] [MDCT_REL_B1_3/] [source/] [testbench/] [MDCT_TB.VHD] - Blame information for rev 25

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 2 mikel262
--------------------------------------------------------------------------------
2
--                                                                            --
3
--                          V H D L    F I L E                                --
4
--                          COPYRIGHT (C) 2006                                --
5
--                                                                            --
6
--------------------------------------------------------------------------------
7
--
8
-- Title       : MDCT_TB
9
-- Design      : MDCT Core
10
-- Author      : Michal Krepa
11
--
12
--------------------------------------------------------------------------------
13
--
14
-- File        : MDCT_TB.VHD
15
-- Created     : Sat Mar 5 2006
16
--
17
--------------------------------------------------------------------------------
18
--
19
--  Description : Testbench top-level
20
--
21
--------------------------------------------------------------------------------
22
 
23
library IEEE;
24
  use IEEE.STD_LOGIC_1164.all;
25
library WORK;
26
  use WORK.MDCT_PKG.all;
27
library SIMPRIM;
28
  use SIMPRIM.VCOMPONENTS.ALL;
29
  use SIMPRIM.VPACKAGE.ALL;
30
 
31
entity TB_MDCT is
32
end TB_MDCT;
33
 
34
--**************************************************************************--
35
 
36
architecture TB of TB_MDCT is
37
 
38
------------------------------
39
-- MDCT
40
------------------------------
41
component MDCT
42
        port(
43
                clk          : in STD_LOGIC;
44
                rst          : in std_logic;
45
    dcti         : in std_logic_vector(IP_W-1 downto 0);
46
    idv          : in STD_LOGIC;
47
 
48
    ready        : out STD_LOGIC; -- ready for input data
49
    odv          : out STD_LOGIC;
50
                dcto         : out std_logic_vector(COE_W-1 downto 0);
51
      -- debug
52
    odv1         : out STD_LOGIC;
53
    dcto1        : out std_logic_vector(OP_W-1 downto 0)
54
                );
55
end component;
56
 
57
------------------------------
58
-- Clock generator
59
------------------------------
60
component CLKGEN
61
  port (
62
        clk               : out STD_LOGIC
63
       );
64
end component;
65
 
66
------------------------------
67
-- Input image generator
68
------------------------------
69
component INPIMAGE is
70
  port (
71
        clk               : in STD_LOGIC;
72
        ready             : in STD_LOGIC;
73
        odv1              : in STD_LOGIC;
74
        dcto1             : in STD_LOGIC_VECTOR(OP_W-1 downto 0);
75
        odv               : in STD_LOGIC;
76
        dcto              : in STD_LOGIC_VECTOR(COE_W-1 downto 0);
77
 
78
        rst               : out STD_LOGIC;
79
        imageo            : out STD_LOGIC_VECTOR(IP_W-1 downto 0);
80
        dv                : out STD_LOGIC;
81
        testend           : out BOOLEAN
82
       );
83
end component;
84
 
85
signal clk_s               : STD_LOGIC;
86
signal clk_gen_s           : STD_LOGIC;
87
signal gate_clk_s          : STD_LOGIC;
88
signal rst_s               : STD_LOGIC;
89
signal dcti_s              : STD_LOGIC_VECTOR(IP_W-1 downto 0);
90
signal idv_s               : STD_LOGIC;
91
 
92
signal ready_s             : STD_LOGIC;
93
signal odv_s               : STD_LOGIC;
94
signal dcto_s              : STD_LOGIC_VECTOR(COE_W-1 downto 0);
95
signal odv1_s              : STD_LOGIC;
96
signal dcto1_s             : STD_LOGIC_VECTOR(OP_W-1 downto 0);
97
signal testend_s           : BOOLEAN;
98
 
99
------------------------------
100
-- architecture begin
101
------------------------------
102
begin
103
------------------------------
104
-- MDCT port map
105
------------------------------
106
U_MDCT : MDCT
107
  port map(
108
                  clk          => clk_s,
109
                  rst          => rst_s,
110
      dcti         => dcti_s,
111
      idv          => idv_s,
112
 
113
      ready        => ready_s,
114
      odv          => odv_s,
115
      dcto         => dcto_s,
116
      odv1         => odv1_s,
117
      dcto1        => dcto1_s
118
                );
119
 
120
 
121
------------------------------
122
-- CLKGEN map
123
------------------------------
124
U_CLKGEN : CLKGEN
125
  port map (
126
        clk        => clk_gen_s
127
       );
128
 
129
 
130
 
131
------------------------------
132
-- Input image generator
133
------------------------------
134
U_INPIMAGE : INPIMAGE
135
  port map (
136
        clk       => clk_s,
137
        ready     => ready_s,
138
        odv1      => odv1_s,
139
        dcto1     => dcto1_s,
140
        odv       => odv_s,
141
        dcto      => dcto_s,
142
 
143
        rst       => rst_s,
144
        imageo    => dcti_s,
145
        dv        => idv_s,
146
        testend   => testend_s
147
       );
148
 
149
gate_clk_s <= '0' when testend_s = false else '1';
150
 
151
clk_s <= clk_gen_s and (not gate_clk_s);
152
 
153
end TB;
154
-----------------------------------
155
 
156
------------------------------
157
-- configuration begin
158
------------------------------
159
configuration CONF_MDCT of TB_MDCT is
160
  for TB
161
 
162
    for U_MDCT : MDCT
163
      use entity WORK.MDCT(RTL);
164
    end for;
165
 
166
    for U_INPIMAGE : INPIMAGE
167
      use entity WORK.INPIMAGE(SIM);
168
    end for;
169
 
170
    for U_CLKGEN : CLKGEN
171
      use entity WORK.CLKGEN(SIM);
172
    end for;
173
 
174
  end for;
175
end CONF_MDCT;
176
 
177
configuration CONF_MDCT_TIMING of TB_MDCT is
178
  for TB
179
 
180
    for U_MDCT : MDCT
181
      use entity WORK.MDCT(STRUCTURE);
182
    end for;
183
 
184
    for U_INPIMAGE : INPIMAGE
185
      use entity WORK.INPIMAGE(SIM);
186
    end for;
187
 
188
    for U_CLKGEN : CLKGEN
189
      use entity WORK.CLKGEN(SIM);
190
    end for;
191
 
192
  end for;
193
end CONF_MDCT_TIMING;
194
--**************************************************************************--

powered by: WebSVN 2.1.0

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