加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

SystemC与Verilog混仿总结

(2013-09-17 23:28:37)
标签:

365

ncsim

分类: 硬件设计
1. How to use wait() ?
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);
      }
 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);
    }
  }
void pf_generator::data_ipif(unsigned int dir)
  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());
    ...}
}    
void pf_generator::FSM_fun(unsigned int dir, unsigned int vc)
{
    while(1){
        wait(fsm_trigger[dir]);
        ... }
}






0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有