2020-09-29

本文介绍了如何在ESL方法学中开发TLM2子模块,强调了使用SC_HAS_PROCESS在C++类中管理进程,以及利用TLM2作为模块间通信的互连机制。通过创建公共接口实现payload传输,并提倡先定义基类再实现子类的模块构造策略。此外,还提到了模块构造函数的重要性以及将通信接口和port/信号置于public访问域。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

如何开发ESL方法学中TLM2 子模块?
本文简要总结一下开发一个子模块的TLM2的方法。
通常情况下,一个复杂的设计包含几个层次,每个层次又包含许多子模块。
而这些子模块的开发是TLM model的关键。
1 SC_HAS_PROCESS的使用
一般开发c++,类的定义和实现放在两个文件,这时就要用 SC_HAS_PROCESS,这是因为构造函数中,SC_THREAD,SC_METHOD, SC_CTHREAD需要关联类中的进程。
https://learnsystemc.com/basic/sc_has_process

2 为了便于实现子模块之间的通信,通常用transport作为互连机制。
1)即使这些通信方法不是与总线相连,为了便于传输payload,一般这些
接口也是采用标准的TLM2.
2)就像构造函数和析构函数一样,这些接口函数一般在public访问域,而不是private。
3 模块间通信还有通常的port或者信号。也是放在public访问域。
4 模块的最重要的是模块的构造函数。
5 开发模块的一个比较好的做法是先写基类,再写子类。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值