天天看點

Chapter 2 -- SystemC From Gound 讀書心得

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由類模闆以及運算符重載來實作。