【verilog每日一练】变量位宽截取语法 - FPGA开发者技术社区 - 电子技术论坛 - 广受欢迎的专业电子论坛
分享 收藏 返回

Mill 关注 私信
[问答]

【verilog每日一练】变量位宽截取语法

使用变量[起始地址 +: 数据位宽],变量[结束地址 -: 数据位宽] 的语法截取变量部分的位宽,如以下代码:
image.png

请写出以下位宽截取的数值:

(1)big_vect[3+:8]

(2)big_vect[15-:8]

(3)little_vect[3+:8]

(4)little_vect[15-:8]

回帖(4)

zealsoft

2023-9-2 18:17:37
(1)big_vect[3+:8] = 'b1100_0111;
(2)big_vect[15-:8] = 'b1100_0110;
(3)little_vect[3+:8] = 'b0011_0001;
(4)little_vect[15-:8] = 0011_1001;

Mill

2023-9-4 17:53:06
参考答案:
(1)8’b11000111
(2)8’b11000110
(3)8’b00110001
(4)8’b00111001
解析: +: 表示升序,-:表示降序,width_expr表示位宽,需注意变量定义的大小端格式,位宽截取不改变大小端格式

jf_99074111

2023-9-4 21:09:10
(1)big_vect[3+:8] = 8'b1100_0111;
(2)big_vect[15-:8] = 8'b1100_0110;
(3)little_vect[3+:8] = 8'b0011_0001;
(4)little_vect[15-:8] = 8'b0011_1001;

hehung

2023-9-5 13:28:03
(1)big_vect[3+:8] = 8'b1100_0111;
(2)big_vect[15-:8] = 8'b1100_0110;
(3)little_vect[3+:8] = 8'b0011_0001;
(4)little_vect[15-:8] = 8'0011_1001;

更多回帖

×
发帖