【未完】参数化相关内容
资料来源
(1) IEEE system verilog standard;
1.参数化数据类型-parameterized data types (章节6.25)
(1)参数化数据类型的优点: user定义一种通用的数据类型,然后可以方便地在该数据类型的基础上,创建多种变种;
(2)参数化数据类型示例: 使用type定义以及参数化类实现参数化数据类型;
virtual class C#(parameter type T=logic, parameter SIZE=1); typedef logic[SIZE-1:0] t_vector; typedef T t_array[SIZE-1:0]; typedef struct { t_vector m0 [2*SIZE-1:0]; t_array m1; } t_struct; endclass
module top(); typedef logic[7:0] t_t0; C#(t_t0,3)::t_vector v0; C#(t_t0,3)::t_array a0; C#(bit,4)::t_struct s0; endmodule
注1:上述代码涉及到纯虚类,参数化类,unpacked array, unpacked struct,类作用域操作符等知识点;
注2:纯虚类或抽象类可以被扩展,但不能被直接实例化;该处使用纯虚类限制了该类只是用于参数化数据类型定义;
2.parameterized classes (章节8.25)
3.parameterized tasks and functions (章节13.8)
4.overriding module parameters (章节23.10)
5.parameterized interfaces (章节25.8)
6.parameter, spec param, def param, param assign (章节37.26)