system verilog中module和program的區別

首先module和program之間有很多相似之處:

1.和module相同,program也可以定義0個或多個輸入、輸出、雙向端口。


2.一個program塊內部可以包含0個或多個initial塊、generate塊、specparam語句、

連續賦值語句、併發斷言、timeunit聲明。


3.在program塊中數據類型、數據聲明、函數和任務的定義均與module塊類似。


4.一個設計中可以包含多個program塊,這些program塊既可以通過端口交互,也可以相互獨立,

這一點與module塊也是相似的。

 

但是module和program之間也有很多不同之處:

1.一個program塊內部不能包含任何其他的always塊、用戶自定義原語( UDP)、

module塊、接口(interface)、或者program塊,


2.一個module塊中可以定義program塊,但一個program塊中卻不能定義module塊


3.一個program塊可以調用其他module塊或者program塊中定義的函數或任務,

但是一個module塊卻不能調用其他program塊中定義的任務或函數。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章