昨天遇到一个怪事 百思不得其解
先上代码
always@(*)
begin
if((ADD=='D106)&(ST==DATA_W))
L_DAT_CON_N<=DAT_OUT[3:0];
else
L_DAT_CON_N<=L_DAT_CON;
end
其中L_DAT_CON_N是对外输出的4BIT宽度信号
DAT_OUT是8bit总线传输过来的信号
8bit对4bit 所以为了匹配 我节选了低4位
也就是代码中的DAT_OUT[3:0]
可是这样做的话 数据无论如何多传输不到IO上
必须改成
L_DAT_CON_N<=DAT_OUT;
但这样写多了一个警告
|