SystemC与Verilog混仿总结
(2013-09-17 23:28:37)
标签:
365ncsim |
分类: 硬件设计 |
1. How to use wait() ?
void wait( sc_event_or_list†& );
}
sc_spawn_options
opt;
for(int i = 0; i < 5;
i++){
sc_spawn(sc_bind(&pf_generator::data_ipif, this,
i), NULL, &opt);
for(int j = 0; j
< SubChN; j++){
sc_spawn(sc_bind(&pf_generator::FSM_fun,
this, i, j), NULL,
&opt);
}
}
sc_in_rv<SIZE> * i0[5] =
{&si0, &wi0, &ni0,
&ei0, &li0};
sc_in_rv<SIZE> * i1[5] =
{&si1, &wi1, &ni1,
&ei1, &li1};
while(1) {
wait(i0[dir]->value_changed_event() |
i1[dir]->value_changed_event());
...}
while(1){
wait(fsm_trigger[dir]);
... }
void wait( sc_event_or_list†& );
2.
在构造函数中可以使用ncsc_get_param("x",
loc_x)来获取对应的verilog代码中的parameter,但必须是int类型
3. Export the simvision.svcf to save the waveform of current
simulation. Configuration can be restored by typing: simvision -input
simvision.svcf or simvision -input
simvision.svcf database1 database2 ...
4.关于使用sc_spawn_options的两种方法,分别相当于SC_METHOD和SC_THREAD。如下:
sc_spawn_options opt_outp;
opt_outp.spawn_method();
opt_outp.set_sensitivity(&do0);
opt_outp.set_sensitivity(&do1);
opt_outp.set_sensitivity(&do2);
opt_outp.set_sensitivity(&do3);
opt_outp.set_sensitivity(&do4);
sc_spawn(sc_bind(&NetNode::VC_outp, this), NULL,
&opt_outp);
和
void pf_generator::data_ipif(unsigned int dir)
{
}
void pf_generator::FSM_fun(unsigned int dir, unsigned int
vc)
{
}