aboutsummaryrefslogtreecommitdiff
path: root/src/tb/crow_tb.h
blob: 473708d977997e9fd3ce0c468de3c74f38d67292 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#pragma once

#include <optical_signal.h>
#include <specs.h>
#include <systemc.h>

class crow_tb : public sc_module {
public:
    spx::oa_port_out_type IN;
    spx::oa_port_out_type ADD;
    spx::oa_port_in_type THROUGH;
    spx::oa_port_in_type DROP;

    void run_fd();
    void run_td();
    void monitor();

    SC_CTOR(crow_tb)
    {
        SC_THREAD(run_fd);
        SC_THREAD(run_td);
        SC_THREAD(monitor);
        if (false)
            sensitive << IN << ADD << THROUGH << DROP;
    }
};

void crow_tb_run();

extern size_t nrings_crow;