在学习SystemC-TLM时经常看到sc_export,这到底是啥?

其实这个概念的资料挺少,SystemC手册也写的不清不楚。

个人感觉,是在模块内部process需要使用通道的一些方法时,才使用sc_export,它可以在模块内部把端口和通道连接(通道在模块内部定义),同时把这个通道暴露给父模块。

 

说说我的努力:

1. 查询SystemC官方手册。在5.13可以看到。说实话,对我帮助不大,可能是我没有把5.13看完,好的教材应该有代码用例
2. https://stackoverflow.com/questions/66548609/difference-between-sc-port-and-sc-export     这个回答说,模块的output使用sc_export,模块的input使用sc_port,我认为这个是不一定的,也跟我最后对sc_export的理解不一样
3. https://forums.accellera.org/topic/6253-what-are-the-major-differences-between-sc_port-and-sc_export/  这个回答用字符画了一些图,还是没法理解
4. ChatGPT   --- 这玩意儿讲的跟手册里的差不多,让它给出样例,结果它给出的样例全都是只定义了sc_export却不使用它,叫它使用sc_export它也不使用。
5. https://learnsystemc.com/basic/export   learnSystemC提供的样例还是不错的,至少让我看到sc_export的使用了,确实可以在模块内定义通道,然后暴露出去。

posted @ 2023-02-09 14:43  yinhuachen  阅读(156)  评论(0编辑  收藏  举报