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

Subversion Repositories sciir

[/] [sciir/] [trunk/] [SystemC/] [tfi/] [IIR_TFI.cpp] - Blame information for rev 4

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 4 ahmed.shah
#include "systemc.h"
2
#include "IIR_TFI.h"
3
#include "Stimuli.h"
4
 
5
int sc_main(int argc, char* argv[])
6
{
7
        sc_clock                        CLOCK("CLOCK", 1, SC_US);
8
        sc_signal<bool>         RST;
9
        sc_signal<float >       iIIR;
10
        sc_signal<float >       oIIR;
11
 
12
        float b[orderFF] = {0.0995,0.1486,0.1481,0.0999};
13
        float a[orderFB] = {0.9828,-0.5450,0.0671};
14
        const int Size = 16;
15
 
16
        IIR_TFI<float > DUT("DUT", b, a);
17
        DUT.CLR(RST);
18
        DUT.CLK(CLOCK);
19
        DUT.iIIR(iIIR);
20
        DUT.oIIR(oIIR);
21
 
22
        Stimuli<float > inputVector("Stimuli", Size);
23
    inputVector.clr(RST);
24
    inputVector.clk(CLOCK);
25
    inputVector.streamout(iIIR);
26
 
27
    cout << "FF Order \t" << orderFF << endl;
28
    cout << "FB Order \t" << orderFB << endl;
29
 
30
        sc_trace_file *fp;
31
        fp = sc_create_vcd_trace_file("wave");
32
        fp -> set_time_unit(100, SC_PS);
33
 
34
        sc_trace(fp, RST, "RST");
35
        sc_trace(fp, CLOCK, "CLOCK");
36
        sc_trace(fp, iIIR, "IP");
37
        sc_trace(fp, oIIR, "OP");
38
 
39
        sc_trace(fp, DUT.oMultiplierFF[0], "oMU_FF(0)");
40
        sc_trace(fp, DUT.oMultiplierFF[1], "oMU_FF(1)");
41
        sc_trace(fp, DUT.oMultiplierFF[2], "oMU_FF(2)");
42
        sc_trace(fp, DUT.oMultiplierFF[3], "oMU_FF(3)");
43
 
44
        sc_trace(fp, DUT.oAdderFF[0], "oAD_FF(0)");
45
        sc_trace(fp, DUT.oAdderFF[1], "oAD_FF(1)");
46
        sc_trace(fp, DUT.oAdderFF[2], "oAD_FF(2)");
47
        sc_trace(fp, DUT.oAdderFF[3], "oAD_FF(3)");
48
 
49
        sc_trace(fp, DUT.oDelayFF[0], "oDL_FF(0)");
50
        sc_trace(fp, DUT.oDelayFF[1], "oDL_FF(1)");
51
        sc_trace(fp, DUT.oDelayFF[2], "oDL_FF(2)");
52
        sc_trace(fp, DUT.oDelayFF[3], "oDL_FF(3)");
53
 
54
        sc_trace(fp, DUT.oMultiplierFB[0], "oMU_FB(0)");
55
        sc_trace(fp, DUT.oMultiplierFB[1], "oMU_FB(1)");
56
        sc_trace(fp, DUT.oMultiplierFB[2], "oMU_FB(2)");
57
 
58
        RST = true;
59
        sc_start(3, SC_US);
60
        RST = false;cout << " RESET " << endl;
61
        sc_start(16, SC_US);
62
 
63
        sc_close_vcd_trace_file(fp);
64
 
65
        return 0;
66
}
67
 
68
// g++ -I$SYSTEMC_HOME/include -L$SYSTEMC_HOME/lib-linux IIR_TFI.cpp -lsystemc -lm -o iir.o
69
// g++ -I$SYSTEMC_HOME/include -L$SYSTEMC_HOME/lib-linux IIR_TFI.cpp -lsystemc -lm -o sdm.o -DSC_INCLUDE_FX

powered by: WebSVN 2.1.0

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