fpga--流水灯

这篇具有很好参考价值的文章主要介绍了fpga--流水灯。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

fpga流水灯的设计

思路:外部时钟频率50mhz,若要实现每隔0.5s闪烁一次,则使用内部计数器计数到24999999拉高一个周期电平,当电平被拉高的时候,进行LED灯电平的设置,每次检测到高电平,就进行一位LED灯的设置,进行循环设置,就形成了流水灯的设计。

module flow_led
#(parameter cnt_max =25'd24999999) //0.5s闪烁一下
(input wire clk,
input wire rst,
output reg [3:0] led);

reg [24:0] cnt;
reg cnt_flag;

always@(posedge clk or negedge rst )
	begin
		if(rst==1'b0)
			cnt<=25'd0;
		else if(cnt==cnt_max)
			cnt<=25'd0;
		else
			cnt<=cnt+25'd1;
	end
	
always@(posedge clk or negedge rst)
	begin
		if(rst==1'b0)
			cnt_flag<=1'b0;
		else if(cnt == (cnt_max)-1)
			cnt_flag<=1'b1;
		else
			cnt_flag<=1'b0;
	end
	
always@(posedge clk or negedge rst)
	begin
		if(rst==1'b0)
			led <=4'b1110;
		else if(cnt_flag==1'b1 && led ==4'b1110)
			led <=4'b1101;
		else if(cnt_flag==1'b1 && led ==4'b1101)
			led <=4'b1011;
		else if(cnt_flag==1'b1 && led ==4'b1011)
			led <=4'b0111;
		else if(cnt_flag==1'b1 && led ==4'b0111)
			led <=4'b1110;		
	end
	
endmodule

测试代码

 文章来源地址https://www.toymoban.com/news/detail-615788.html

`timescale 1ns/1ns
`include"flow_led.v"

module top();

reg clk;
reg rst;
wire [3:0] led;

initial
	begin
		rst = 1'b0;
		clk = 1'b0;
		#20
		rst = 1'b1;
	end
	
always #10 clk=~clk;

flow_led 
#(.cnt_max (25'd24))
led_inst(clk,rst,led);

endmodule

到了这里,关于fpga--流水灯的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • SOC FPGA之流水灯设计

            Altera Soc EDS开发套件的核心是Altera版ARM Development Studio 5(DS-5)工具包,为SoC器件提供了完整的嵌入式开发环境、FPGA自适应调试和对Altera工具的兼容。 首先下载破解器 然后进入cmd运行,进入到破解器所在文件夹  然后输入patcher.exe --license ?:licensepath 最后显示.dat文件即

    2024年02月14日
    浏览(43)
  • FPGA学习——verilog实现流水灯

    学习芯片: EP4CE6F17C8 verilog代码如下: 配置引脚,查看芯片的指导书: 烧录运行结果如下: 如图我们可以看见开发板上四个led灯同时被电亮。 代码如下: 配置引脚,查看clock和key的引脚: 运行结果如下图: 此时可以看见四个led灯同时闪烁。 流水灯代码实现: 实验效果图如

    2024年02月16日
    浏览(56)
  • 基于FPGA的花样流水灯的设计

    1、学习ISE Design Suite 14.7的基本操作; 2、掌握FPGA的开发流程; 3、学习时序电路的设计; 4、巩固状态机的相关知识。 根据对该实验要求的分析,设计状态转移图如下: 其中,在S1状态下LED灯从左往右依次亮;在S2状态下LED灯从右往左依次亮;在S3状态下LED灯从中间向两边扩散

    2024年01月16日
    浏览(44)
  • FPGA新起点V1开发板(三)——Quartus II软件的使用(流水灯的烧录以及sof转jic的方法记录)

    先创建一个工程文件夹 flow_led 再创建四个子文件夹 doc存放工程的设计文档或者其他一些datasheet文档、数据手册 par存放工程文件 rtl存放设计文件,也就代码 sim存放工程的仿真文件 第一个第四个可以为空,但是做此可以有良好的习惯 这是打开一个工程向导 这是选择FPGA的芯片

    2024年02月04日
    浏览(43)
  • FPGA入门————LED流水灯(超详细教程)

    本文使用软件为vivado,其实用哪个软件都是一样的,主要是掌握核心编程思想。 如有需要下载vivado软件下载可以参考: vivado及ISE各版本软件下载方法、链接及详细步骤,官方网页下载_ise软件下载_千寻xun的博客-CSDN博客 目录 一、新建工程及设计文件 二、编写LED流水灯程序

    2024年02月08日
    浏览(43)
  • FPGA:Vivado流水灯设计详细流程(1)

    基于Vivado的FPGA设计开发的流程主要包括以下步骤: 1)创建工程; 2)创建源设计文件,包括Verilog文本、IP核、模块文件、网表输入等方式; 3)行为仿真(Behavioral Simulation),Vivado自带仿真器,也可以选择第三方仿真软件ModelSim等工具进行仿真; 4)综合(Synthesis):根据设

    2024年02月03日
    浏览(52)
  • FPGA学习分享--01 led流水灯的实现

    需求 : 博宸电子的ZYNQ7020DEV开发板 Vivado 2018.3 一定的verilog语言基础 博主目前学习的是 博宸电子的ZYNQ7020DEV开发板 ,下面是关于本次分享led流水灯的原理图 图1 涉及本次led流水灯的电路 首先,从图1来看,每个led端口都和一个阻值为4.7k的电阻和一个发光二极管相连,并且发光

    2024年02月04日
    浏览(40)
  • FPGA 学习笔记:Verilog 实现LED流水灯控制

    在初步了解 Xilinx Vivado 的使用后,开启了FPGA Hello World 程序:LED 流水灯控制 在嵌入式MCU中,流水灯需要延时来实现,FPGA的延时,使用外部晶振来实现 实现 3个 LED 流水灯控制,也就是循环依次点亮, LED 低电平亮, 高电平灭,FPGA 有一个40MHz的外部晶振,作为系统时钟输入开

    2023年04月08日
    浏览(42)
  • 【FPGA第一天】Verilog基础与简易流水灯设计

    有关更多细节,请参考: verilog语法基础 1.1 新建文件夹用来存放项目文件,请注意你的文件夹路径不要有中文,不过系统自带的桌面和文档这些路径除外。 1.2 新建项目文件 prj 项目文件 rtl 寄存器转换级,用来描述各级寄存器,用来存放.v文件 tb 仿真文件 tcl tool command langu

    2024年02月01日
    浏览(71)
  • 「FPGA项目」—— 基于AMBA总线的流水灯控制系统

    本文将介绍一个完全用Verilog HDL手写的AMBA片上系统, 项目的主题是设计一个 基于AMBA总线的流水灯控制系统 , 项目中所有数字逻辑电路部分都不会通过调用成熟IP核的方式来实现,而是通过Verilog进行RTL设计, 然后利用Vivado平台对RTL模型进行仿真、综合与布线, 最后在FPGA开

    2023年04月25日
    浏览(49)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包