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

Subversion Repositories spdif_transmitter

[/] [spdif_transmitter/] [trunk/] [testbench/] [spdif_tb.h] - Blame information for rev 3

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 3 ultra_embe
#ifndef SPDIF_TB_H
2
#define SPDIF_TB_H
3
 
4
#include "sc_vpi_clock.h"
5
#include "spdif_vpi.h"
6
 
7
#include "spdif_decoder.h"
8
#include "spdif_driver.h"
9
 
10
#define AUDIO_CLK_DIV           4
11
 
12
class spdif_tb: public sc_module
13
{
14
public:
15
    SC_HAS_PROCESS(spdif_tb);
16
 
17
    sc_signal <bool> rst_i;
18
    sc_signal <bool> audio_clk_i;
19
    sc_signal <bool> spdif_o;
20
    sc_signal <sc_uint<32> > sample_i;
21
    sc_signal <bool> sample_req_o;
22
 
23
    spdif_tb(sc_module_name name):  sc_module(name),
24
                                    m_dut("tb_top"),
25
                                    m_vpi_clk("tb_top.clk_i"),
26
                                    m_decoder("m_decoder"),
27
                                    m_driver("m_driver"),
28
                                    m_tx_fifo("m_tx_fifo")
29
    {
30
        m_dut.clk_i(m_vpi_clk.m_clk);
31
        m_dut.rst_i(rst_i);
32
        m_dut.audio_clk_i(audio_clk_i);
33
        m_dut.spdif_o(spdif_o);
34
        m_dut.sample_i(sample_i);
35
        m_dut.sample_req_o(sample_req_o);
36
 
37
        m_decoder.clk_i(m_vpi_clk.m_clk);
38
        m_decoder.rst_i(rst_i);
39
        m_decoder.rx_i(spdif_o);
40
        m_decoder.set_clock_div(AUDIO_CLK_DIV);
41
 
42
        m_driver.clk_i(m_vpi_clk.m_clk);
43
        m_driver.rst_i(rst_i);
44
        m_driver.sample_req_i(sample_req_o);
45
        m_driver.sample_data_o(sample_i);
46
 
47
        SC_CTHREAD(drive, m_vpi_clk.m_clk);
48
        SC_CTHREAD(monitor, m_vpi_clk.m_clk);
49
 
50
        SC_CTHREAD(audio_clk, m_vpi_clk.m_clk);
51
    }
52
 
53
    spdif_vpi       m_dut;
54
    sc_vpi_clock    m_vpi_clk;
55
    spdif_decoder   m_decoder;
56
    spdif_driver    m_driver;
57
 
58
    sc_fifo < sc_uint<32> > m_tx_fifo;
59
 
60
    void drive(void);
61
    void monitor(void);
62
    void audio_clk(void);
63
};
64
 
65
#endif

powered by: WebSVN 2.1.0

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