01 实验目标
多路选择器实现led灯的切换。复位的时候两个灯熄灭;未按下时led1点亮,led0熄灭。按下时led0点亮,led1熄灭
02 实现代码
module mux_led(
input sys_clk ,
input sys_rst_n ,
input sel ,
output reg [1:0] led
);
always @(posedge sys_clk or negedge sys_rst_n) begin
if(!sys_rst_n)
led <= 2'b00;
else if(sel == 1'b0)
led <= 2'b01;
else if(sel == 1'b1)
led <= 2'b10;
end
endmodule
03 仿真代码
`timescale 1ns / 1ps
module tb_mux_led;
// mux_led Inputs
reg sys_clk = 0 ;
reg sys_rst_n = 0 ;
reg sel = 0 ;
// mux_led Outputs
wire [1:0] led ;
initial begin
sys_clk = 1'b0;
sys_rst_n = 1'b0;
#200
sys_rst_n = 1'b1;
end
always #10 sys_clk = ~sys_clk;
mux_led u_mux_led (
.sys_clk ( sys_clk ),
.sys_rst_n ( sys_rst_n ),
.sel ( sel ),
.led ( led [1:0] )
);
endmodule