关于verilog中{}大括号[]中括号的用法问题

请问各路大神

if(y[2][DATA_WIDTH-1])

x[3] <= x[2] - {{2{y[2][DATA_WIDTH-1]}},y[2][DATA_WIDTH-1:2]};

到底是什么意思。。根本看不懂

2个回答

很簡單,
if()內的y[2][...]若其值為true也就是等於1的時候,
則x[3]被給予x[2]-{...}的運算結果的數值
若為false, 則不執行

{}表示拼接,{{}}表示复制。

if(y[2][DATA_WIDTH-1])  //如果为高电平

//x[3] <= x[2] - {{2{y[2][DATA_WIDTH-1]}},y[2][DATA_WIDTH-1:2]};

//令temp1=y[2][DATA_WIDTH-1];
//令temp2=y[2][DATA_WIDTH-1:2];
//则x[3] <= x[2] - {   {2{temp1}},   temp2    }
//相当于x[3] <= x[2] - {    temp1,temp1,temp2   }
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐