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

Subversion Repositories spdif_transmitter

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

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 3 ultra_embe
#ifndef SPDIF_DRIVER_H
2
#define SPDIF_DRIVER_H
3
 
4
#include <systemc.h>
5
 
6
//-------------------------------------------------------------
7
// spdif_driver:
8
//-------------------------------------------------------------
9
SC_MODULE (spdif_driver)
10
{
11
public:
12
    // Clock and Reset
13
    sc_in  <bool>         clk_i;
14
    sc_in  <bool>         rst_i;
15
 
16
    // I/O
17
    sc_in  <bool>         sample_req_i;
18
    sc_out <sc_uint<32> > sample_data_o;
19
 
20
    // Constructor
21
    SC_HAS_PROCESS(spdif_driver);
22
    spdif_driver(sc_module_name name): sc_module(name),
23
                                       m_tx_fifo(2048)
24
    {
25
        SC_CTHREAD(output, clk_i.pos());
26
    }
27
 
28
public:
29
    void         write(sc_uint <32> data) { m_tx_fifo.write(data); }
30
    bool         write_empty(void)        { return m_tx_fifo.num_available() == 0; }
31
 
32
private:
33
    void output(void);
34
 
35
    sc_fifo < sc_uint<32> > m_tx_fifo;
36
};
37
 
38
#endif

powered by: WebSVN 2.1.0

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