/************************************************** versys eda example--**** test.cpp ****------------- ------------Test module of static ram-------------- Copyright (c) 1996-2009, by all Contributions. All rights reserved. *************************2009/06/22 lexim,inc.*****/ #include #include #include "systemc.h" #include "ram.h" int sc_main(int argc, char *argv[]) { int i; sc_signal > addr; sc_signal enable; sc_signal readwr; sc_signal_rv<16 > data; sc_int<8> tmpad; sc_int<16> tmpwd; ram *testram; testram = new ram("testram"); (*testram)(addr, enable, readwr, data); sc_trace_file *trace_f; trace_f = sc_create_vcd_trace_file("ram"); ((vcd_trace_file *)trace_f) -> sc_set_vcd_time_unit(-9); sc_trace(trace_f, addr, "addr"); sc_trace(trace_f, enable, "enable"); sc_trace(trace_f, readwr, "readwr"); sc_trace(trace_f, data, "wrdata"); sc_initialize(); enable = true; readwr = false; tmpad = 0x08; tmpwd = 0x0F; data = "zzzzzzzzzzzzzzzz"; for(i=0; i<10; i++) { addr = tmpad; sc_start(20, SC_NS); readwr = true; data = tmpwd; sc_start(20, SC_NS); readwr = false; data = "zzzzzzzzzzzzzzzz"; sc_start(20, SC_NS); tmpad += 1; tmpwd -= 1; } enable = true; readwr = false; tmpad = 0x08; tmpwd = 0x0F; data = "zzzzzzzzzzzzzzzz"; for(i=0; i<10; i++) { addr = tmpad; sc_start(60, SC_NS); tmpad += 1; } sc_close_vcd_trace_file(trace_f); return 0; }