FPGA自学教程 03 设计一个以1秒频率闪烁的LED灯

这篇具有很好参考价值的文章主要介绍了FPGA自学教程 03 设计一个以1秒频率闪烁的LED灯。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

双非硕士 研一下学期视觉转FPGA(在b站跟小梅哥视频)

长路漫漫,但希望前途光明

此篇文章开始省去建工程的操作,如果有不懂的同学可以看我之前的两篇文章。

1.新建文件名为:led_flash,等待右侧弹出Verilog代码框。

2.计数器逻辑图如下

实现led灯1秒闪烁一次fpga,fpga开发

3.以1秒频率闪烁的LED灯的代码内容如下:

//设计一个以1秒频率闪烁的LED灯(亮灭各500ms)

module led_flash(
    Reset_n,//复位端口,加_n是使用低电平复位
    Clk,//时钟端口
    Led,
);
    input Clk;
    input Reset_n;
    output reg Led;
    
    reg [24:0]counter;
    
    always@(posedge Clk or negedge Reset_n) //posedge Clk 为时序描述的标准格式
        // <=是非阻塞赋值的意思
        if(!Reset_n)
            counter <= 0;
        else if(counter == 250000000-1)
            counter<=0;
        else
            counter <= counter+1'd1;        
    always@(posedge Clk or negedge Reset_n)
    if(!Reset_n)
        Led <= 0;
    else if(counter == 25000000)
        Led <=!Led;
        //    always@(posedge Clk or negedge Reset_n) //posedge Clk 为时序描述的标准格式
        //    // <=是非阻塞赋值的意思
        //    if(!Reset_n)begin
        //        counter <= 0;
        //        Led <=0;
        //    end
        //    else if(counter == 25000000-1)begin
        //        Led <=!Led;
        //        counter<=0;
        //    end
        //    else
        //        counter <= counter+1'd1;
endmodule

4.进行仿真测试,操作步骤与前面两篇文章类似,这里就不重复了,直接上仿真测试的代码:

`timescale 1ns/1ns

module led_flash_tb();

    reg Clk;
    reg Reset_n;
    wire Led;
    
    led_flash led_flash(
        .Reset_n(Reset_n),//复位端口,加_n是使用低电平复位
        .Clk(Clk),//时钟端口
        .Led(Led)
    );
    //时钟信号
    initial Clk =1;
    always #10 Clk=!Clk;
    
    initial begin
        Reset_n=0;
        #201;
        Reset_n=1;
        #2000000000;
        $stop;
    end
    
endmodule

经过仿真实验,可以看到波形图如下所示:

实现led灯1秒闪烁一次fpga,fpga开发

5.进行板机验证,首先进行管脚验证,双击左侧选择栏中的Open Synthesized Design,右侧会出现以下界面

实现led灯1秒闪烁一次fpga,fpga开发

将I/O全部修改为LVCMOS33,并输入引脚名,输入好后 Ctrl+s保存,如下图所示

 实现led灯1秒闪烁一次fpga,fpga开发

实现led灯1秒闪烁一次fpga,fpga开发

点击Generate Bitstream

实现led灯1秒闪烁一次fpga,fpga开发

再选择Open Hardware Manager即可在开发板上运行。

实现led灯1秒闪烁一次fpga,fpga开发

好了,以上就是通过vivado模拟实现1秒亮灯一次的fpga程序。文章来源地址https://www.toymoban.com/news/detail-759168.html

到了这里,关于FPGA自学教程 03 设计一个以1秒频率闪烁的LED灯的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • FPGA——HLS入门-LED闪烁仿真

    HLS就是高综合(High level Synthesis)的缩写,通过HLS,我们可以将C或者c++语言编译为FPGA能够读懂和运行的RTL级别的语言。 这个术语是行为和电子系统的结合:是一门技术,也是一门科学,它把设计意图抽象化,抽象视图可以自动地将人类设计者的努力付诸现实。最终生成的设

    2024年02月11日
    浏览(46)
  • FPGA实战-----点灯大师(1)led灯闪烁流水跑马+按键

    FPGA实战 用verliog语言点亮FPGA开发板上的led灯是最最最最最基础的操作。 这里用的EP4CE6F17C8开发板,上边一共有四个led灯珠,可以实现简单的例如4个全亮,流水灯,跑马灯以及相比之下难了一点的呼吸灯等等等等效果。 本文最终目的就是实现 用按键切换led灯的运动模式 。做

    2024年02月04日
    浏览(48)
  • 【嵌入式系统应用开发】FPGA——HLS入门实践之led灯闪烁

    HLS(High Level Synthesis) :一款高层次综合工具。 能够将 C/C++ 或者 system C 等高级语言转化为 RTL (底层硬件描述语言)电路,降低开发时间。 提供了常见的库(例如图像处理相关的 OpenCv 库和其 它的数学库)。 可以创建IP并通过例化或者使用 BlockDesign 的方式应用到项目中。 转化原

    2024年02月05日
    浏览(64)
  • 基于FPGA的数字频率计的设计与实现

    基于FPGA的数字频率计的设计与实现 数字频率计是一种重要的电子测试仪器,它可以用来测量信号的频率和周期等参数,被广泛应用于科学研究、工程设计及生产制造等领域。本文将介绍一种基于FPGA的数字频率计的设计与实现方法,并给出相应的源代码。 一、设计原理 数字

    2024年01月23日
    浏览(49)
  • 51单片机——一个独立按键控制LED的闪烁和熄灭

    目录 一、要求 二、实现 三、总结 消除按键的机械抖动         当按下按键,LED灯闪烁,再按下,LED熄灭。。。。循环操作。         编译环境:keil4         单片机:STC89c516RD 消除按键的机械抖动         按键的机械抖动会影响单片机对按键按下次数的判断。消除抖动的

    2024年02月07日
    浏览(44)
  • STM32--实现LED闪烁

    目录 使用的开发板是:奋斗版STM32开发板V2​ 一、参考开发手册 二、GPIO功能描述 三、GPIO寄存器概念 2.3.1 端口配置低寄存器(GPIOx_CRL) (x=A..E) 2.3.3 端口输入数据寄存器(GPIOx_IDR) (x=A..E) 四、开始实现LED灯闪烁

    2024年02月09日
    浏览(37)
  • Linux下LED设备驱动开发(LED灯实现闪烁)

    前面我们介绍了Linux设备模型、平台设备驱动、设备树(device tree)、GPIO子系统以及pinctrl子系统等,大家看这篇文章之前需要提前知道的基础都在这篇文章中: Linux设备模型、平台设备驱动、设备树(device tree)、GPIO子系统以及pinctrl子系统介绍 有部分函数没有涉及到的最后会讲解

    2024年02月17日
    浏览(43)
  • stm32按键实现LED的闪烁

    首先,需要准备如下硬件设备: STM32F103C8T6单片机开发板 4个LED灯 4个220欧姆电阻 4个按键 接下来,我将讲解如何连接硬件设备。 将4个LED灯连接到STM32单片机的PB0、PB1、PB2、PB3引脚上。 将4个220欧姆电阻连接到PB0、PB1、PB2、PB3引脚上,防止电流过大损坏LED灯。 将4个按键连接到

    2024年02月08日
    浏览(41)
  • 用STM32单击按键实现LED闪烁和双击按键实现LED呼吸灯效果

    在嵌入式系统中,按键和LED是最常见的外设之一。本文将介绍如何使用STM32微控制器实现按键的单击和双击检测,并通过控制LED的闪烁和呼吸灯效果来呈现按键的触发效果。 第一部分:硬件准备 准备一块STM32开发板,如STM32F103C8T6。 连接一个按键到开发板上的GPIO引脚,并通过

    2024年02月05日
    浏览(80)
  • 51单片机点亮LED灯以及实现2盏LED灯的交替闪烁

    点亮LED灯,根据单片机原理图 将LED灯1和LED灯2介入单片机的口设为低电平即可 代码如下: #include “reg52.h” sbit led1= P3^7; void main() { led1 = 0;//给led1一个低电平,点亮 } 结果图: 图中有一盏LED灯为我这个51单片机自带的电源接通灯,被代码点亮的只有一盏 实现2盏LED灯的交替闪烁

    2024年02月07日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包