其次你那个A是[3:0]A吧?
第一圈:k=2,v=v^A[2]
w=A[2]^A[3]
你这个v没有初始值啊。怎么计算?
修改了一下,加了输入输出端口,以及触发条件module test(red,amber,green ,able)
input able
output red,amber,green
reg clock,red,amber,green
parameter on=1,off=0,red_tics=350,green_tics=200,amber_tics=30
//交通灯初始化
initial red=off
initial amber=off
initial green=off
//交通灯控制时序
always
wait(able)
begin
red=on//开红灯
light(red,red_tics)//调用等待任务
green=on//开绿灯
light(green,green_tics)//等待
amber=on//开黄灯
light(amber,amber_tics)//等待
end
//定义交通灯开启时间的任务
task light
output color
input [31:0]tics
begin
repeat(tics)
@(posedge clock)
color=off
end
endtask
always
begin
#100 clock=0
#100 clock=1
end
endmodule
module select(sel,in,out)input [1:0]sel
input [7:0]in
output [7:0]out0,out1,out2,out3
reg [7:0]out0,out1,out2,out3
always @(*)
case(sel)
2'b00:out0=in
2'b01:out1=in
2'b10:out2=in
2'b11:out3=in
default:
begin
out0=8'b0
out1=8'b0
out2=8'b0
out3=8'b0
end
endcase
endmodule
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)