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

Subversion Repositories gppd

[/] [gppd/] [trunk/] [ppd.cpp] - Blame information for rev 5

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 5 ahmed.shah
#include "systemc.h"
2
#include "ppd.h"
3
#include "stimuli.h"
4
 
5
int sc_main(int argc, char* argv[])
6
{
7
        sc_clock CLK("CLK", 10, SC_NS);
8
        sc_signal<bool>         CLR;
9
        sc_signal<double>       ppdIN;
10
        sc_signal<double>       ppdOUT;
11
 
12
        double h[N] = {0.0017,0.0073,0.0107,0.0151,0.0162,0.0128,0.0039,-0.0093,-0.0232,-0.0329,-0.0326,-0.0182,0.0115,0.0536,0.1013,0.1454,0.1765,0.1877,0.1765,0.1454,0.1013,0.0536,0.0115,-0.0182,-0.0326,-0.0329,-0.0232,-0.0093,0.0039,0.0128,0.0162,0.0151,0.0107,0.0073,0.0017,0.0};
13
 
14
        ppd DUT("DUT", h);
15
        DUT.RST(CLR);
16
        DUT.CLOCK(CLK);
17
        DUT.ppdIN(ppdIN);
18
        DUT.ppdOUT(ppdOUT);
19
 
20
        stimuli STIMULUS("STIMULUS");
21
        STIMULUS.CLR(CLR);
22
        STIMULUS.CLK(CLK);
23
        STIMULUS.firIN(ppdIN);
24
 
25
        sc_trace_file *fp;
26
        fp = sc_create_vcd_trace_file("wave");
27
        fp -> set_time_unit(100, SC_PS);
28
 
29
        sc_trace(fp, CLR, "CLR");
30
        sc_trace(fp, CLK, "CLK");
31
        sc_trace(fp, ppdIN, "ppdIN");
32
        sc_trace(fp, ppdOUT, "ppdOUT");
33
        sc_trace(fp, DUT.sum[0], "sum0");
34
        sc_trace(fp, DUT.sum[1], "sum1");
35
        sc_trace(fp, DUT.sum[2], "sum2");
36
 
37
        CLR = true;
38
        sc_start(73, SC_NS);
39
 
40
        CLR = false;
41
        sc_start(360, SC_NS);
42
 
43
        sc_close_vcd_trace_file(fp);
44
 
45
        return 0;
46
}

powered by: WebSVN 2.1.0

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