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

文章目录

一新建一个工程

1打开quartus建立一个项目

注意打开settings在里面的Verilog HDL input选择System Verilog

二代码

1流水灯代码
c 复制代码
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

c 复制代码
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效果图
相关推荐
XINVRY-FPGA9 小时前
EPM240T100I5N Altera FPGA MAX II CPLD
人工智能·嵌入式硬件·fpga开发·硬件工程·dsp开发·射频工程·fpga
第二层皮-合肥15 小时前
FPGA实现ETH接口
单片机·嵌入式硬件·fpga开发
璞致电子18 小时前
【PZ-ZU47DR-KFB】璞致FPGA ZYNQ UltraScalePlus RFSOC QSPI Flash 固化常见问题说明
嵌入式硬件·fpga开发·fpga·软件无线电·sdr
陌夏微秋19 小时前
FPGA硬件设计2 最小芯片系统-ZYNQ7020/7010
嵌入式硬件·fpga开发·硬件架构·硬件工程·信息与通信·智能硬件
风已经起了1 天前
FPGA学习笔记——IIC协议简介
笔记·学习·fpga开发
逐梦之程2 天前
FPGA-Vivado2017.4-建立AXI4用于单片机与FPGA之间数据互通
fpga开发
XINVRY-FPGA2 天前
10CL016YF484C8G Altera FPGA Cyclone
嵌入式硬件·网络协议·fpga开发·云计算·硬件工程·信息与通信·fpga
嵌入式-老费3 天前
产品开发实践(常见的软硬结合方式)
fpga开发
FakeOccupational3 天前
【电路笔记 通信】AXI4-Lite协议 FPGA实现 & Valid-Ready Handshake 握手协议
笔记·fpga开发
I'm a winner3 天前
FPGA+护理:跨学科发展的探索(五)
fpga开发