Systemverilog 中 program 和 module 的区别

1、 module和program相似之处

1.和module相同,program也可以定义0个或多个输入、输出、双向端口。

2.一个program块内部可以包含0个或多个initial块、generate块、specparam语句、连续赋值语句、并发断言、timeunit声明。

3.在program块中数据类型、数据声明、函数和任务的定义均与module块类似。

4.一个设计中可以包含多个program块,这些program块既可以通过端口交互,也可以相互独立,这一点与module块也是相似的。

2、 module 和 program 的不同:

1.一个program块内部不能包含任何其他的always块、用户自定义原语( UDP)、module块、接口(interface)、或者program块。

2.一个module块中可以定义program块,但一个program块中却不能定义module块(因为program面向的是软件,不能描述硬件对象)

3.一个program块可以调用其他module块或者program块中定义的函数或任务,但是一个module块却不能调用其他program块中定义的任务或函数

你可能感兴趣的:(Systemverilog,Systemverilog)