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

@TOC

一、System-Verilog实现流水灯

1.流水灯代码

led_flow.sv

c 复制代码
module led_flow (
    input logic clk,       // 时钟信号
    input logic rst_n,     // 复位信号(低有效)
    output logic [7:0] led // 8位LED输出
);

    logic [23:0] counter;  // 24位计数器,用于产生慢时钟信号

    // 计数器逻辑
    always_ff @(posedge clk or negedge rst_n) begin
        if (!rst_n)
            counter <= 24'd0;
        else
            counter <= counter + 1;
    end

    // LED流水灯逻辑
    always_ff @(posedge counter[23] or negedge rst_n) begin
        if (!rst_n)
            led <= 8'b0000_0001;
        else
            led <= {led[6:0], led[7]};
    end
endmodule

testbench

c 复制代码
module led_flow_tb;
    logic clk;
    logic rst_n;
    logic [7:0] led;

    // 实例化待测试的流水灯模块
    led_flow uut (
        .clk(clk),
        .rst_n(rst_n),
        .led(led)
    );

    // 时钟信号生成
    initial begin
        clk = 0;
        forever #10 clk = ~clk; // 50MHz时钟周期为20ns
    end

    // 测试逻辑
    initial begin
        // 初始化信号
        rst_n = 0;
        #100;
        rst_n = 1;

        // 仿真运行一段时间后结束
        #1000000;
        $stop;
    end
endmodule

2.实验结果

3.testbench

二、参考资料

System Verilog实现流水灯

相关推荐
太爱学习了19 小时前
FPGA雷达信号处理之:自适应门限阈值
fpga开发·信号处理
国科安芯1 天前
前沿探索:RISC-V 架构 MCU 在航天级辐射环境下的可靠性测试
网络·单片机·嵌入式硬件·fpga开发·硬件架构·risc-v
范纹杉想快点毕业1 天前
请创建一个视觉精美、交互流畅的进阶版贪吃蛇游戏
数据库·嵌入式硬件·算法·mongodb·游戏·fpga开发·交互
第二层皮-合肥2 天前
FPGA硬件设计-基础流程
fpga开发
第二层皮-合肥2 天前
FPGA硬件开发-Xilinx产品介绍
fpga开发
XINVRY-FPGA2 天前
XCVP1902-2MSEVSVA6865 AMD 赛灵思 XilinxVersal Premium FPGA
人工智能·嵌入式硬件·神经网络·fpga开发·云计算·腾讯云·fpga
热爱学习地派大星2 天前
FPGA实现CRC校验
fpga开发
芒果树技术2 天前
MT-PXle RIO模块【高性能FPGA+ LVDS】采用FPGA实现高效LVDS通讯
fpga开发·模块测试·fpga
明月清了个风2 天前
STM32初始化串口重定向后printf调试信息不输出的问题
stm32·单片机·fpga开发·嵌入式软件
通信小呆呆2 天前
电路思维下的 Verilog:如何区分组合逻辑与时序逻辑
fpga开发·电路·时序逻辑·跨时钟域·组合逻辑