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

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

SC_MODULE(DirectionalCoupler_tb)
{
public:
    spx::oa_port_out_type IN1;
    spx::oa_port_out_type IN2;
    spx::oa_port_in_type OUT1;
    spx::oa_port_in_type OUT2;

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

        SC_THREAD(run_1);

        SC_THREAD(monitor);
        sensitive << IN1 << IN2 << OUT1 << OUT2;
    }
};

void DirectionalCoupler_tb_run();