基于System-Verilog的FPGA设计与仿真

一新建一个工程

1打开quartus建立一个项目

注意打开settings在里面的Verilog HDL input选择System Verilog
在这里插入图片描述
在这里插入图片描述

二代码

1流水灯代码
module led (
    input clk, // 时钟信号
    input rst_n, // 复位信号
    output reg [7:0] led // 输出信号
);

reg [3:0] cnt; // 计数器

// 时钟计数
always @(posedge clk or negedge rst_n) begin
    if (!rst_n) begin // 复位信号为低电平时清零计数器
        cnt <= 4'b0000;
    end else begin
        cnt <= cnt + 1; // 每个时钟周期计数器加一
    end
end

// 流水灯输出
always @(posedge clk or negedge rst_n) begin
    if (!rst_n) begin // 复位信号为低电平时清零输出
        led <= 8'b00000001;
    end else begin
        case (cnt)
            4'b0000: led <= 8'b00000001; // 第一位亮
            4'b0001: led <= 8'b00000010; // 第二位亮
            4'b0010: led <= 8'b00000100; // 第三位亮
            4'b0011: led <= 8'b00001000; // 第四位亮
            4'b0100: led <= 8'b00010000; // 第五位亮
            4'b0101: led <= 8'b00100000; // 第六位亮
            4'b0110: led <= 8'b01000000; // 第七位亮
            4'b0111: led <= 8'b10000000; // 第八位亮
            default: led <= 8'b00000001; // 默认第一位亮
        endcase
    end
end

endmodule

Testbench

module tb_led;
    logic clk;
    logic rst;
    logic [7:0] leds;

    led_chaser uut (
        .clk(clk),
        .rst(rst),
        .leds(leds)
    );

    initial begin
        clk = 0;
        forever #5 clk = ~clk;
    end

    initial begin
        rst = 1;
        #10;
        rst = 0;
        #100;
        $stop;
    end
endmodule

三效果

1效果图

在这里插入图片描述

相关推荐

  1. 实验四:基于System-VerilogFPGA设计仿真

    2024-06-08 22:26:02       31 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-06-08 22:26:02       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-06-08 22:26:02       100 阅读
  3. 在Django里面运行非项目文件

    2024-06-08 22:26:02       82 阅读
  4. Python语言-面向对象

    2024-06-08 22:26:02       91 阅读

热门阅读

  1. 代码随想录训练营Day30

    2024-06-08 22:26:02       30 阅读
  2. 推荐一个网安资源学习网站

    2024-06-08 22:26:02       33 阅读
  3. SCAU 数据结构 实验四 树

    2024-06-08 22:26:02       24 阅读
  4. tensorRT 实现推理加速(算子合并、量化)

    2024-06-08 22:26:02       33 阅读
  5. 注解 - @RestController

    2024-06-08 22:26:02       26 阅读
  6. python使用opencv实现火焰检测

    2024-06-08 22:26:02       25 阅读
  7. mysql order by后跟case when

    2024-06-08 22:26:02       26 阅读
  8. 生物神经网络 原理分析研读01

    2024-06-08 22:26:02       27 阅读
  9. 大模型的 Embedding 模型该如何进行微调?

    2024-06-08 22:26:02       26 阅读
  10. Sass详解

    2024-06-08 22:26:02       32 阅读
  11. AI-知识库搭建(二)GPT-Embedding模型使用

    2024-06-08 22:26:02       31 阅读