求助verilog语言中task任务的always问题
时间:10-02
整理:3721RD
点击:
小弟是verilog新手,以下程序就是两个错误(显示红色的两个always语句),看不懂,亲高手指点
module clockA21 (A21, A15, A20, A50, A51);
output A21;
input A15;
input A20;
input A50;
input A51;
reg A21;
wire m1;
wire m2;
reg m3;
task my_tff;
input ck;
input set;
output Q;
output Qb;
reg Q;
assign Qb=~Q;
always @(set)
if(set)
assign Q=1;
else
deassign Q;
always @(posedge ck)
Q=~Q;
endtask
assign m1=A50&A15&0;
assign m2=m1|A20|A51;
my_tff(m2,m3,Qb);
assign A21=~m3;
endmodule
是不是task任务的always语句不接受,我想不通,请指点,谢谢
module clockA21 (A21, A15, A20, A50, A51);
output A21;
input A15;
input A20;
input A50;
input A51;
reg A21;
wire m1;
wire m2;
reg m3;
task my_tff;
input ck;
input set;
output Q;
output Qb;
reg Q;
assign Qb=~Q;
always @(set)
if(set)
assign Q=1;
else
deassign Q;
always @(posedge ck)
Q=~Q;
endtask
assign m1=A50&A15&0;
assign m2=m1|A20|A51;
my_tff(m2,m3,Qb);
assign A21=~m3;
endmodule
是不是task任务的always语句不接受,我想不通,请指点,谢谢
在不同的always里面对同一个变量赋值
楼上的高手能不能说明白点,我还是可能不懂啊
你说的同一变量是指哪个变量呢?
我认为:括号中的变量时set 、posedge ck是不同的完全独立的两个变量啊?
请指点,谢谢先了
楼上的高手说的同一变量是指哪个呢变量呢?
是不是指set、posedge ck 呢?
我不大明白,请高手明示,谢谢
楼上已经说得很清楚了,两个always里面都对Q进行了赋值。
另外,不要在always里面用assign赋值
不能在always里面用assign赋值
谢谢,辛苦了
谢谢了,辛苦了
请问这位大神:deassign Q; 是谁教你的?解释下什么意思?
我也想问下deassign Q是什么意思?这么简单的东西根本不用task就可以完成,写的让自己都看不懂,别人更看不懂
两个问题,assign不能在always块中进行赋值,不同的变量不能在always块中进行赋值
