新建 文本文档.txt

来自「CPLD数字电路设计硬件描述语言一例」· 文本 代码 · 共 52 行

TXT
52
字号
module traffic_lights(red,amber,green);
output red,amber,green;
reg[2:1] order;
reg clock;
parameter ON=1,OFF=0,RED_TICS=350,AMBER_TICS=30,GREEN_TICS=200;
/*initialize traffic lights*/
initial
begin
order=2'b00;
light(0,order,red,amber,green);
end
always
begin
order=2'b01;
light(RED_TICS,order,red,amber,green);
order=2'b10;
light(GREEN_TICS,order,red,amber,green);
order=2'b11;
light(AMBER_TICS,order,red,amber,green);
end
/*definen one task*/
task light;
input[31:0] tic_time; 
input[1:0] order; 
output red;
output amber;
output green;
begin
red=OFF;
green=OFF;
amber=OFF;
case(order)
2'b01:red=ON;
2'b10:green=ON;
2'b11:amber=ON;
endcase
repeat(tic_time)
begin
@(posedge clock);
begin
red=OFF;
green=OFF;
amber=OFF;
end
end
endtask
always
begin
#100 clock=0;
#100 clock=1;
end
endmodule

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?