FPGA_简单工程_拨码开关

时间:2024-02-15 22:34:07

一 框图

二 波形图

三 代码

3.1 工程代码

module bomakiaguan (
    input [15:0] switch,  // 输入16路拨码开关
    output reg [15:0] led  // 输出16个LED灯
);

always @(switch) begin
    led <= switch;  // 将拨码开关的值直接赋给LED灯
end
// 将拨码开关的值直接赋给LED灯
endmodule

3.2 仿真代码

module bomakiaguan_tb;

  reg [15:0] switch;  // 模拟输入,16位拨码开关
  wire [15:0] led;    // 模拟输出,16位LED灯

  bomakiaguan dut (
    .switch(switch),
    .led(led)
  );

  // 初始化拨码开关的值
  initial begin
    switch = 16'b0000000000000000;
    #5;
    switch = 16'b1111000011110000;
    #10;
    switch = 16'b0101010101010101;
    #15;
    switch = 16'b1111111111111111;
    #20;
    switch = 16'b0000000000000000;
    #25;
    $finish;
  end

  // 打印拨码开关和LED灯的值
  always @(switch, led) begin
    $display("Switch: %b, LED: %b", switch, led);
  end

endmodule