VHDL语言求救

来源:百度知道 编辑:UC知道 时间:2024/05/14 09:49:15
module ffff(clk,clear,t0,t1,ir,q);
input [7:0]ir;
input clk,clear,t0,t1;
output [7:0]q;
reg [7:0]q;

always@(posedge clk )
begin
if (!clear)
q <= 0;
else if (t0)
q<=q+1;
else if (ir[7]&ir[6]&t1)
q[7:0]<=(0,0,ir[5],ir[4],ir[3],ir[2],ir[1],ir[0]);

end
endmodule

编译的时候会在q[7:0]<=(0,0,ir[5],ir[4],ir[3],ir[2],ir[1],ir[0]);
这行报错.不知道有没有高手解答为什么.

模块5909 (赤角,清晰, t0相比, t1和红外, q )的;
输入[七时]红外;
投入赤角,清晰,阳性株系和t1 ;
输出[七时] q ;
条例[七时] q ;

始终@ ( posedge赤角)
开始
如果( !清晰)
q < = 0 ;
否则,若的( t0 )
q < = q +1 ;
否则,如果(红外[ 7 ] &红外[ 6 ] & t1 )
瓜7点] < = ( 0,0 ,红外[ 5 ] ,红外光谱[ 4 ] ,红外光谱[ 3 ] ,红外光谱[ 2 ] ,红外光谱[ 1 ] ,红外光谱[ 0 ] ) ;

1.这是VERILOG语言,不是VHDL
2.那一行写错了.应该用大括号:
q[7:0]<={1'b0,1'b0,ir[5],ir[4],ir[3],ir[2],ir[1],ir[0]};
或写成
q <= {2'b0,ir[5:0]};