1. module是一个类,从sc_module扩展而来,包含其他modules以及processes,channels and ports。
2. simulation process是由systemc kernel调度执行,它是sc_module的成员函数,并被注册登记到simulation kernel中。由此simulation kernel是这些simulation process唯一的caller,那么这些simulation process没必要带参数和返回值了。sc_module中也可定义一些process,但这些process不被simulation kernel调用,仅仅是一些被simulation process调用的函数。
3. simulation process的registeration发生在elaboration的时候,即module的constructor执行的时候(使用SC_METHOD,SC_THREAD)。
4. SC_METHOD 是sc_module的成员函数,它没有任何参数和返回值,被simulation kernel不停的反复调用,一旦执行无延迟并执行到底。而SC_THREAD只执行一次带延迟,会挂起自己并等待。
5. static sensitivity 和dynamic sensitivity。 对于动态敏感, SC_METHOD用next_trigger(arg), SC_THREAD用wait(arg)来实现。
6. systemC的datatype由类模板以及运算符重载来实现。
本文介绍了SystemC中的关键概念,包括module、simulation process及其在elaboration阶段的注册过程。探讨了SC_METHOD与SC_THREAD的区别,以及它们如何响应静态和动态敏感事件。此外,还涉及了SystemC的数据类型实现。
746

被折叠的 条评论
为什么被折叠?



