使用花括号设置特定位的Quartus 2 verilog

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用花括号设置特定位的Quartus 2 verilog相关的知识,希望对你有一定的参考价值。

嗨,我是verilog的新手,我尝试将一个特定位从一个reg变量设置为另一个reg,但它对我不起作用。我究竟做错了什么?

reg [31:0] a;
reg [31:0] b;

initial begin
 a =32'b0;
 b =32'b1;
 $display("current value of a = %32b ",a);
 a ={b[5:0]};
 $display("value of a %32b ",a);
 #10 $finish;
 end

从[0]到[5]的位应为1,但只有[0]变为1

答案

在你的代码b = 32'b1产生{31{1'b0},1'b1},所以只有b[0]等于一。

在SystemVerilog(check:IEEE1800-2012, 5.7.1 Integer literal constants)中,您可以使用单位值自动左边填充常数字数,即b = '1b的所有位设置为1。

使用Verilog,只需为b(即b = 32'b11111)指定另一个值或将代码更改为以下:

a[4:0] = {5{b[0]}}

以上是关于使用花括号设置特定位的Quartus 2 verilog的主要内容,如果未能解决你的问题,请参考以下文章

Quartus ii脚本文件Tcl 怎样注释多行

phpstorm 设置花括号对齐方式(在一条竖线上)

mdk keil4花括号对齐

在 Jersey Client 2 中编码花括号

eclipse设置花括号换行显示

划词标注2-使用花括号概括信息