24小时热门版块排行榜    

Znn3bq.jpeg
汕头大学海洋科学接受调剂
查看: 388  |  回复: 0
当前主题已经存档。

sdlj8051

金虫 (著名写手)

[交流] systemc系统级描述的例子

systemc系统级描述的例子
// signal 级信号的接口,只定义接口信号
 #i nclude
 class adder_sig_if : public sc_module
 {
 public :
 sc_inout sig_a,sig_b,sig_c;
 sc_inout sig_ctrl;

 };

 // 任务级的接口
 class adder_task_if : public sc_interface
 {
 public :
 virtual int task_do_sum(int a,int b) = 0; // 纯虚函数
 };
 // Transactor,它同时继承自信号级和任务级的接口
 #i nclude

 class adder_transactor: public adder_sig_if,public adder_task_if
 {
 public:
 virtual int task_do_sum(int a, int b)
 {
 sig_a = a;
 sig_b = b;
 sig_ctrl = false; wait(10,SC_NS);
 sig_ctrl = true; wait(10,SC_NS);

 cout << "a = " << sig_a << "; b = " << sig_b ;
 //cout << "; sig_ctrl = " << sig_ctrl;
 cout << "; c = a + b = " << sig_c << endl;

 return 0;
 }

 SC_CTOR(adder_transactor)
 {
 }

 };
 // signal级的设计
 #i nclude

 class adder_design : public adder_sig_if
 {
 public :
 void get_sum()
 {
 sig_c = sig_a + sig_b;
 }

 SC_CTOR(adder_design)
 {
 SC_METHOD(get_sum);
 sensitive_pos << sig_ctrl;
 }

 };

 // Transaction级的TestBench
 #i nclude

 class adder_test : public sc_module
 {
 public:
 sc_port transactor;

 void run_test()
 {
 while(true)
 {
 /*
 TestBench不涉及signal级设计的细节,而直接通过Transactor进行验证
 */
 transactor->task_do_sum(1,2);
 transactor->task_do_sum(3,4);
 transactor->task_do_sum(5,6);
 }
 }

 SC_CTOR(adder_test)
 {
 SC_THREAD(run_test);
 }

 };

 #i nclude "adder_interface.h"
 #i nclude "adder_transactor.h"
 #i nclude "adder_design.h"
 #i nclude "adder_test.h"

 int sc_main(int argc,char * argv[])
 {
 sc_signal  a,b,c;
 sc_signal ctrl;

 adder_design design("design";
 design(a,b,c,ctrl);

 adder_transactor transactor("transactor";
 transactor(a,b,c,ctrl);

 adder_test test("test";
 test.transactor(transactor);

 sc_start(1000);

 return 0;
 }

[ Last edited by sdlj8051 on 2006-11-1 at 10:26 ]
回复此楼

» 猜你喜欢

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 sdlj8051 的主题更新
普通表情 高级回复 (可上传附件)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[基金申请] 有爆料,一个青年教师卖房得400万,然后换了一个四青帽子 +11 babu2015 2026-04-08 11/550 2026-04-13 16:33 by probebill
[教师之家] 转长聘了 +3 简单化xn 2026-04-13 3/150 2026-04-13 14:18 by wwwkkk83
[考研] 297工科,求调剂? +13 河南农业大学-能 2026-04-12 13/650 2026-04-13 14:12 by dingyanbo1
[考研] 一志愿厦大生物学332求调剂 +11 池池池池池池 2026-04-08 11/550 2026-04-13 14:10 by 科研论
[考研] 求调剂288 +7 ioodiiij 2026-04-10 9/450 2026-04-13 08:33 by Hayaay
[考研] 291分调剂 +5 上岸小莹加油 2026-04-09 6/300 2026-04-11 21:06 by 逆水乘风
[考研] 296求调剂 +14 汪!?! 2026-04-08 15/750 2026-04-11 20:28 by dongdian1
[考研] 352 求调剂 +6 yzion 2026-04-11 8/400 2026-04-11 16:24 by 明月此时有
[考研] 297求调剂 +9 Kwgyz 2026-04-09 9/450 2026-04-11 10:09 by zhq0425
[考研] 083200 305分 求二轮调剂 不接受跨专业 +9 Claireyyyy 2026-04-09 10/500 2026-04-10 21:21 by Claireyyyy
[考研] 一志愿211,化学学硕,310分,本科重点双非,求调剂 +27 努力奋斗112 2026-04-07 30/1500 2026-04-10 15:06 by Kilig0317
[考研] 085601初试330分找调剂 +10 流心奶黄包l 2026-04-09 10/500 2026-04-10 08:14 by Sammy2
[考研] 初试分332,一志愿报考西北工业大学, +11 故人?? 2026-04-09 11/550 2026-04-09 21:54 by JineShine
[考研] 材料化工总分334求调剂 +16 Riot2025 2026-04-08 17/850 2026-04-09 20:19 by maddjdld
[考研] 招收有机化学、化工,药学,食品灯专业学生 +3 yrfhjgdj 2026-04-08 3/150 2026-04-09 10:15 by QYQX_123
[考研] 328求调剂 +17 lftmya 2026-04-07 18/900 2026-04-09 08:05 by 5268321
[考研] 软件工程求调剂22软工296分求调剂,接受跨调 +4 yangchen2017 2026-04-08 5/250 2026-04-08 21:56 by 土木硕士招生
[考研] 考研求调剂 +4 雯??? 2026-04-08 4/200 2026-04-08 21:44 by 土木硕士招生
[考研] 生物学328分求调剂 +9 闪电kkl 2026-04-08 10/500 2026-04-08 21:42 by liuhuiying09
[考研] 求调剂,现在还能填的 +3 上岸小莹加油 2026-04-08 3/150 2026-04-08 14:30 by zhq0425
信息提示
请填处理意见