aboutsummaryrefslogtreecommitdiff
path: root/src/tb/ring_tb.h
blob: b995513c9686b9ccab7e2e8db49134595efd5a48 (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
#pragma once

#include <optical_signal.h>
#include <systemc.h>
#include <waveguide.h>
#include <directional_coupler.h>
#include <probe.h>
#include <specs.h>

SC_MODULE(ring_tb)
{
public:
    sc_out<OpticalSignal> IN;
    sc_in<OpticalSignal> OUT;

    void run_1();
    void monitor();
    SC_CTOR(ring_tb)
    {
        SC_HAS_PROCESS(ring_tb);

        SC_THREAD(run_1);

        SC_THREAD(monitor);
        sensitive << IN << OUT;
    }
};

void Ring_tb_run();