我有一个带宏的sys_defs.vh头文件:
`define REG_WIDTH 5
我正在尝试比较相同宽度的总线:
input [2:0][`REG_WIDTH-1:0] aregs_in,
...
if(aregs_in[i] != {`REG_WIDTH{1}})
//do stuff
但是当我尝试模拟
时,我收到以下警告警告 - [CWUC]与未经过大小写的常量的连接。 在连接中使用未大小的常量“1”。未经证实的 常量将用作32位常量。
基本上我只是想把它与111111进行比较,其中一个是#的宏定义
答案 0 :(得分:3)
在Verilog中1
本身推断出一个32位小数,值为1。您想要1'b1
一位。
input [2:0][`REG_WIDTH-1:0] aregs_in,
...
if(aregs_in[i] != {`REG_WIDTH{1'b1}})
//do stuff
答案 1 :(得分:3)
在Verilog你可以做到
function positionBoxes() {
var leftValues = [];
// Get the left value for each vis line
$('.vis-line').each(function() {
leftValues.push($(this).css('left'));
});
// Set the box's line's left value on the box
$('.vis-box').each(function(index) {
$(this).css('left', leftValues[index]);
});
}
// Call positionBoxes anytime the timeline
// repositioned the boxes (window resize, zoom)
timeline.on('changed', positionBoxes)
在SystemVerilog中,这将更具描述性
if(~&aregs_in[i]) //~& is the NAND operator
// do stuff