这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 活动中心 » 板卡试用 » 换逻辑分析仪+VerilogHDL参数、变量、线网

共7条 1/1 1 跳转至

换逻辑分析仪+VerilogHDL参数、变量、线网

工程师
2024-10-28 19:36:29   被打赏 14 分(兑奖)     打赏

在Verilog硬件描述语言(HDL)中,参数、线网和变量是用于描述电路行为的基本元素。

参数

参数(parameters)在Verilog中用于定义那些在编译时就已经确定的值,类似于常量。

它们通常用于设置模块的行为或尺寸,数组的大小、循环的次数等。

全局参数:使用parameter关键字声明的参数可以在整个模块中访问。
parameter LOAD = 4'd12, STORE = 4'd10;

LOAD和STORE被声明为全局参数,它们的值分别为12和10(注意:这里的4'd表示这是一个4位的十进制数,但在这个上下文中,位宽指定对于常量来说不是必需的,因为Verilog会根据值的范围自动推断)。


局部参数:使用localparam关键字声明的参数只能在声明它们的块或模块中访问。
localparam [7:0] LIMIT = 8'd112;  
localparam [31:0] HIGH_BYTE_MASK = 32'hF000;
LIMIT和HIGH_BYTE_MASK是局部参数,分别被声明为8位和32位的值。


线网

线网(wires)用于表示电路中的物理连线,可以传递信号。它们可以是标量(单一位)或向量(多位)。

向量线网:
wire [0:3] gpio_port;

gpio_port是一个4位的向量线网。

标量线网:
wire intr;

intr是一个标量线网。


有符号向量线网:
wire signed [3:0] jch;

jch是一个4位的有符号向量线网。


 变量

变量(variables)在Verilog中用于存储值,可以在程序执行过程中改变。

它们可以是整型、寄存器类型(reg)、时间类型等。


整型变量:
integer periph_id, test_input1;

periph_id和test_input1是整型变量。


寄存器变量:
reg [1:5] mis_state;  
reg signed [3:0] raw_count;

mis_state是一个5位的寄存器变量,raw_count是一个4位的有符号寄存器变量。


时间变量:
time t_que1 [5:0]; // 注意:通常时间变量不需要数组形式,这里仅为示例

t_que1是一个时间变量(在这个例子中错误地使用了数组形式,通常时间变量是单独声明的)。

赋值和解释

连续赋值:
assign gpio_port = -3; // 赋值为4位向量1101(十进制13)  
assign gpio_port = 4'hA; // 赋值为4位向量1010(十进制10)

展示了如何将值赋给向量线网gpio_port。

变量赋值:
periph_id = -10; // 赋值为二进制补码表示的10110(十进制-10的补码形式)  
periph_id = 'b1011; // 赋值为二进制数1011(十进制11)  
mis_state = -10; // 赋值为二进制补码表示的10110(十进制-10的补码形式,但考虑到位宽,实际存储可能不同)  
mis_state = 'b1011; // 赋值为二进制数1011(考虑到位宽,实际十进制值为11,但如果是5位,则解释为二进制数01011,即十进制11)


总结:

Verilog中,参数、线网和变量是基本元素。

参数用于定义编译时确定的常量,分全局和局部,可设置模块行为或尺寸。

线网表示电路连线,传递信号,有标量和向量之分,向量可指定位宽和符号。

变量用于存储值,可改变,包括整型、寄存器类型和时间类型,寄存器变量可指定位宽和符号。

赋值时,连续赋值用于线网,变量赋值用于变量,注意位宽和符号对值的影响。

Verilog通过这些元素描述电路行为,实现硬件设计的精确控制。





专家
2024-10-28 22:56:02     打赏
2楼

感谢分享


专家
2024-10-28 22:56:52     打赏
3楼

感谢分享


专家
2024-10-28 23:00:03     打赏
4楼

感谢分享


工程师
2024-10-29 09:47:02     打赏
5楼

666666


菜鸟
2024-10-29 12:32:04     打赏
6楼

和c语言等还是有些不同的,学到了


高工
2024-11-16 12:41:29     打赏
7楼

总结还是不错的。格式看着也舒服


共7条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]