目录
一 概述
在Verilog中,parameter既不属于变量范畴也不属于线网范畴,经常用来定义一个标志符代表一个常量,所以参数的值在仿真运行的过程中不能进行修改。但是通过使用参数,可以提高程序的可读性、可复用性和可维护性。
目前常用的参数主要分为两大类:
module参数:parameter、localparam
specify参数:specparam
在使用参数时还需要注意以下几点:
- parameter、specparam、localparam必须在elaboration阶段有确定的值;
- parameter、specparam、localparam只能声明于module、静态(任务和函数)中,不能在动态(函数和任务)、begin-end、fork-join中声明;
- 在module或者specify中参数的名字必须是唯一的,即不能重复声明,也不能使用已声明的变量或者线网的名字;
- parameter可以在elaboration过程中通过defparam进行修改或者通过命令行进行修改;
- specparam在elaboraion阶段被SDF中相关时序反标修改;
本文详细介绍了SystemVerilog中的三种参数:parameter、localparam和specparam。parameter作为模块参数,可以被defparam或模块实例化修改;localparam不可直接修改,但可通过parameter间接修改;specparam则主要用于时序参数,只能通过SDF反标修改。总结了它们的使用规则和差异,并提供了示例说明。
订阅专栏 解锁全文
2418

被折叠的 条评论
为什么被折叠?



