|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
x
[这个贴子最后由puffen在 2004/09/13 09:32pm 第 7 次编辑]
3 个源文件
------------------- 1: counter.h --------------------
#include "systemc.h"
SC_MODULE(cnter) {
// Inputs
sc_in< bool > reset;
sc_in_clk CLK;
// Outputs
sc_out< int > data;
void entry();
// Constructor
SC_CTOR(cnter) {
SC_CTHREAD(entry, CLK.pos());
// Global watching for reset
watching(reset.delayed() == true);
}
};
--------------------------2:counter.cpp ---------------------
#include < stdio.h >
#include "counter.h"
void cnter::entry() {
int count = 2;
// Reset behavior
if (reset.read() == true) {
count = 0;
printf("RESET! Count = %d\n",count);
wait();
}
while (true) {
printf("Count = %d\n",count);
count++;
if (count > 7) {
count = 0;
}
data.write(count);
wait();
}
}
------------------------ 3:test_counter.cpp ------------------
#include "systemc.h"
#include "counter.h"
SC_MODULE(test_counter)
{
sc_signal< int > data;
sc_signal< bool > reset;
sc_clock clock;
cnter DUT;
void power_on_reset()
{
reset = true;
wait(50, SC_NS);
reset = false;
wait();
}
SC_CTOR(test_counter) : data("DATA"),
clock("clk", 100, 0.5, 0.2),
DUT("counter")
{
DUT.reset(reset);
DUT.CLK(clock);
DUT.data(data);
SC_THREAD(power_on_reset);
}
};
-----------------------------------------------------
-----------------------------------------------------
sccom -g counter.cpp
sccom -g test_counter.cpp
都编译成功
sccom -link
链接生成systemc.so也成功。
但是运行 vsim test_counter
modelsim6.0 就退出了,也不知道什么错误,真让人费解
操作系统: winxp英文版加中文补丁
不知道有谁能帮我解答这个问题[DISABLELBCODE] |
|