verilog中数据比较大小时遇到的问题,求解答
时间:10-02
整理:3721RD
点击:
verilog语言中,
reg signed [17:0] Dot_x[0:1];
reg signed [17:0] Cross_y[0:1];
IFIFO是输入数据的缓存。
Dot_x[0]=IFIFO[1]*IFIFO[0]+QFIFO[1]*QFIFO[0];
Cross_y[0]=QFIFO[1]*IFIFO[0]-QFIFO[0]*IFIFO[1];
用下面这个语句判断
if((Dot_x[0] >1'd0)&&(Cross_y[0] = 1'd0))
然后输出 Demdata[2]=0;Demdata[1]=0;Demdata[0]=0;
总是输出 000
请问为什么?谢谢指导!
reg signed [17:0] Dot_x[0:1];
reg signed [17:0] Cross_y[0:1];
IFIFO是输入数据的缓存。
Dot_x[0]=IFIFO[1]*IFIFO[0]+QFIFO[1]*QFIFO[0];
Cross_y[0]=QFIFO[1]*IFIFO[0]-QFIFO[0]*IFIFO[1];
用下面这个语句判断
if((Dot_x[0] >1'd0)&&(Cross_y[0] = 1'd0))
然后输出 Demdata[2]=0;Demdata[1]=0;Demdata[0]=0;
总是输出 000
请问为什么?谢谢指导!
if((Dot_x[0] >1'd0)&&(Cross_y[0] = 1'd0))
这么明显的错误Cross_y[0] == 1'd0
好东西
应该是 if((Dot_x[0] >1'd0)&&(Cross_y[0] == 1'd0))
GOOD!
