Xilinx FPGA原理与实践-基于Vivado和Verilog HDL5FPGA基本实践_第1页
Xilinx FPGA原理与实践-基于Vivado和Verilog HDL5FPGA基本实践_第2页
Xilinx FPGA原理与实践-基于Vivado和Verilog HDL5FPGA基本实践_第3页
Xilinx FPGA原理与实践-基于Vivado和Verilog HDL5FPGA基本实践_第4页
Xilinx FPGA原理与实践-基于Vivado和Verilog HDL5FPGA基本实践_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第五章

FPGA基本实践5.1流水灯实践流水灯的关键设计流水灯工程的vivado实现5.2数码管动态显示实践数码管动态显示原理分析数码管动态显示设计数码管动态显示工程的vivado实现数码管动态显示IP核设计与实现调用IP核实现动态显示5.3VGA显示的实现VGA显示基本原理VGA显示设计与实现补充

按键行列按键原理行列按键实践

一组发光LED,在控制系统的控制下按照设定的顺序和时间来发亮和熄灭,这样就能形成一定的视觉效果。如果通过设计,实现LED灯依次点亮,那么就形成流水灯。

本节的内容就是设计这样的控制系统,实现12位流水灯,并进行仿真及下载到电路板验证。5.1流水灯实践1.状态及其变化(1)状态需要存储当前的状态,12个灯中有一个是亮的,定义12个触发器构成的12位寄存器ledtemp保存当前的状态。(2)时钟流水灯的流转时间设置为半秒钟(500ms/2Hz)比较合适,系统的唯一时钟来源是由电路板上的有源晶振所产生的时钟连接到FPGA,是50MHz的时钟clk,因此需做25,000,000分频。(3)状态变化将寄存器ledtemp的初始值设置为12'b0000_0000_0001,divclk的每个上升边沿,对ledtemp进行向左移位,当移到12'b1000_0000_0000之后,再次移位应移为12'b0000_0000_0001。5.1.1流水灯的关键设计5.1.1流水灯的关键设计2.分频设计

要进行25,000,000分频,采用计数器的方式。当计数值达到12,500,000时令divclk翻转,这样divclk的一个周期就是25,000,000个clk时钟周期。

需要一个寄存器变量存储计数值,12,500,000的十六进制是BEBC20为24位,因此需要设计24位以上的寄存器保存计数值。

0->

12,500,000->0->12,500,000->0->12,500,0004.约束设计一个时钟输入

12个数码管输出

5.1.2流程灯工程的VIVADO实现modulev1(inputclk,//时钟输入

output[11:0]led//LED输出

);reg[11:0]ledtemp=12'b0000_0000_0001;//led初始值

reg[31:0]divclk_cnt=0;//32位计数器

regdivclk=0;//低频时钟

assignled=ledtemp;//实现将寄存器变量值赋给LED输出

parameterhalfduty_cntvalue=12500000;5.1.2流程灯工程的VIVADO实现always@(posedgeclk)//把系统时钟分频50/25000000=2HZbeginif(divclk_cnt==halfduty_cntvalue)//计数满后翻转

begindivclk=~divclk;divclk_cnt=0;endelsebegindivclk_cnt=divclk_cnt+1'b1;end

end5.1.2流程灯工程的VIVADO实现仿真仿真文件编写仿真的目的,修改分频值以缩短仿真时间执行仿真编写约束文件代码保存工程综合实现生成比特流文件下载到实验板测试set_propertyPACKAGE_PIND4[get_portsclk]set_propertyPACKAGE_PINP9[get_ports{led[0]}]set_propertyPACKAGE_PINR8[get_ports{led[1]}]set_propertyPACKAGE_PINR7[get_ports{led[2]}]set_propertyPACKAGE_PINT5[get_ports{led[3]}]set_propertyPACKAGE_PINN6[get_ports{led[4]}]set_propertyPACKAGE_PINT4[get_ports{led[5]}]set_propertyPACKAGE_PINT3[get_ports{led[6]}]set_propertyPACKAGE_PINT2[get_ports{led[7]}]set_propertyPACKAGE_PINR1[get_ports{led[8]}]set_propertyPACKAGE_PING5[get_ports{led[9]}]set_propertyPACKAGE_PINH3[get_ports{led[10]}]set_propertyPAC

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论