讨论个system verilog的问题
时间:12-12
整理:3721RD
点击:
写test的时候,declare factory pattern类型的语句应该放在main initial之前还是之后?
代码举例:
1)放在前面
program automatic test (xxx)
my_xactn_c blueprint; //放在intial前面
initial begin: main
xxx;
xxx;
end: main
endprogram: test
2)放在后面
program automatic test (xxx)
initial begin: main
my_xactn_c blueprint; //放在intial后面
xxx;
xxx;
end: main
endprogram: test
当然,这两种办法都能跑,也都能seperate compile。不过因为我要把一些语句wrap起来,方便test writer用,所以一定要在这两个位置中确定一个。有谁发现过这两者的区别吗?(我是觉得没区别)
谢
代码举例:
1)放在前面
program automatic test (xxx)
my_xactn_c blueprint; //放在intial前面
initial begin: main
xxx;
xxx;
end: main
endprogram: test
2)放在后面
program automatic test (xxx)
initial begin: main
my_xactn_c blueprint; //放在intial后面
xxx;
xxx;
end: main
endprogram: test
当然,这两种办法都能跑,也都能seperate compile。不过因为我要把一些语句wrap起来,方便test writer用,所以一定要在这两个位置中确定一个。有谁发现过这两者的区别吗?(我是觉得没区别)
谢
有区别,如果放在initial块里的话,那就只是在initial块里可见。放在外面,则在整个PROGRAM里都可见
比如在PROGRAM里增加另外一个initial块,或者增加一个task,一般来说,放在外面更方便 些。