基于FPGA的LED-6×6点阵汉字显示设计终搞

更新时间:2023-05-05 19:30:01 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

令狐采学创作

基于FPGA的LED显示屏的设计

令狐采学

丁莹莹

(陕西理工学院物理与电信工程学院通信工程专业级3班,陕西

汉中 723003)

指导教师:郑争兵

[摘要]主要研究基于FPGA的 Led点阵汉字滚动显示。首先描述了基于现场可编程门阵(FPGA)的硬件电路,以及点阵显示汉字的原理;然后在单个16X16 LED发光二极管点阵上滚动汉字的原理;最后给出了描述其功能的VHDL语言法度设计办法。通过编程、调试、仿真、下载正确地实现了汉字滚动显示扫描结果,其硬件系统的实验验证也获得了与软件模拟仿真结论相吻合的结果。

[关键词]LED点阵;FPGA;VHDL语言;汉字滚动显示

The design of LED display based on FPGA

Ding Yingying

(Grade10,Class3,Major of Communication Engineering,School of Physics and Telecommunication Engineering , Shaanxi University of Technology, Hanzhong 723003,Shaanxi)

Tutor: Zhen Zhengbing

[Abstract]Primary research is based on FPGA, Led

令狐采学创作

令狐采学创作

Scrolling dot matrix characters. First described based on field programmable gate array (FPGA) hardware circuit, as well as the principle character dot matrix display; and then in a single 16X16 LED scrolling LED dot matrix on the principles of Chinese characters; Finally, the VHDL description language program of its functions design. Through programming, debugging, simulation, download the correct character scroll achieved scan results, the experimental verification of its hardware and software are also obtained findings consistent with simulation results.

[Keywords]LED dotmatrix; FPGA; VHDL language; character scrolling displa

目录

第一章前言1

1.1本设计的研究布景和研究目的1

1.2LED点阵显示特点1

1.3FPGA设计的特点1

第二章系统设计3

2.1设计任务与要求3

2.1.1设计任务3

2.1.2设计要求3

2.2设计原理3

令狐采学创作

令狐采学创作

2.2.1总体设计计划3

2.2.2计划的比较4

2.3扫描控制模块4

2.3.1 LED的显示原理4

2.3.2汉字的存储5

2.4汉字显示5

2.4.1列循环扫描5

2.4.2字符样式设计6

2.4.3字母循环扫描及期间的延时环节9 2.5整个完整的法度9

第三章系统调试与仿真14

3.1开发环境介绍14

3.2调试与仿真14

3.2.1 创建工程14

3.2.2 编译前设置14

3.2.3 全程编译16

3.2.4时序仿真17

第四章结束语18

报答辞18

参考文献18

令狐采学创作

令狐采学创作

1.引言

目前,在机场、饭店等很多公共场合都能看到美观、实用的电子显示屏,它以高清、节能、控制简单、寿命长、耐冲击、性能稳定、本钱昂贵、环保等优势迅速占领市场。

作为年夜型平板显示设备的一种LED显示屏以其使用寿命长、维护用度低、功耗高等特点在显示领域占有重要的位置。特别在近年,带有红、绿、蓝三基色以及灰度显示效果的全彩LED显示屏,以其丰富多彩的显示效果而倍受业界关注,成为LED显示屏市场近年增长幅度比较年夜的产品。寿命、单位面积亮度、三基色的偏差水平、点距、比较度、灰度品级(包含灰度级数和线性度)、扫描频率等指标性能是衡量或横向比较年夜型显示设备好坏的标准。而这些指标性能的优劣,很年夜水平上决定于扫描控制器的性能。因此对年夜屏幕全彩LED显示扫描控制办法的研究有着重要的意义。随着显示屏尺寸的扩年夜、亮度要求的增加,数据传输和控制的时间也会增加,如果仍然采取单片机作为控制器,将会影响显示效果,严重时可能无法正常工作,然而,这时若采取可编程逻辑器件作为控制器,则可解决这一难题。一方面,随着微电子技术的成长和生产工艺的提高,器件的性能年夜有很年夜的提高,呈现了高性能的现场可编程逻辑器件(FPGA),FPGA具有处理速度高、可靠性高、高容量和集成度高等特点,在年夜屏幕显示系统设计中使用FPGA可以满足现在的LED 年夜屏幕系统对处理视频数据的高速要求,同时改良电路的性能,缩小系统的体积。设计中使用硬件描述语言进行电路设计,可以随时根据设计需要进行修改,而不必对硬件进行修改,它使系统的设计和调试很是便利,年夜年夜的缩短了产品的开发周期,降低了开发本钱,也便利以后的系统升级。

(1)研究现状

LED照明成长很是迅速,年增长率超出60%,随着LED发光效率的不竭提升,封装技术不竭改进,驱动陆能和寿命的增加,LED照明技术在未来5年内会逐渐进入千家万户。在世界各国环保议题日渐重视的趋势下,LED照明财产将饰演极重要的角色,其主要应用在于室内、室外照明以及街灯等高功率产品。据悉,全球照明市场约1219亿美元,LED仅占0.5%,显见其未来潜力之可观。其中,以亚太地区的市场规模为最年夜、约占全球33.7%之比例,居次为北美的30.1%和欧洲之27.4%。以应用产品来讨论,户外照明约占12%,则具有相昔时夜的生长空间,尤其以占有全球38%户外照明的中国市场为最。另外,值得关注的部分是受政府政策及推广影响较为直接且快速的街灯应用可望成为照明财产中快速生长的第一棒。预估在欧美优先领起的趋势中,全球可达到450万盏LED街灯的水平,并且承于国际加紧节能减碳的脚步,一但路灯标准规格普及,中国市场可望占有世界50%以上的规模。

LED驱动器技术的成长体现在两个方面:第一,离线式高功率因数校正可调光LED驱动器可替代卤素灯、白炽灯和荧光灯;第二,LED驱动器能高效替代高压卤素灯。以上两种应用需要为LED提供电能及热能呵护,以增加其耐用性。其他成长趋势还包含优化驱动器以提供最佳功效,并不是将电流最年夜化。

基于FPGA芯片控制全彩LED年夜屏幕图像显示系统系统设计随着数字技术的飞速成长,各种数字显示屏也随即涌现出来有LED、LCD、DLP等,各种数字年夜屏幕的控制系统多种多样,有用ARM+FPGA脱机控制系统,也有用PC+DVI接口解码芯片+FPGA芯片联机LED显示板控制系统。尽管年夜尺寸液晶显示在未来的几年还有相昔时夜的市场份额,但针对年夜尺寸直下式背光源的驱动和控制芯片的开发才刚刚有几年的历史。针对LED背光源的特点,可以将庞杂的控制技术和信号处理技术融合到背光源技术中,目前的做法是采取FPGA,各家均有不合的算法和控制办法。随着背光技术和数字电视技术的成长,背光

令狐采学创作

令狐采学创作

的控制算法及驱动办法的规范化,为了降低本钱,将背光控制单位、屏显控制和电视的机芯微处理器由一个微处理器统一实现将是一种技术趋势。

(2)成长趋势

高亮度LED 为未来趋势:高亮度LED 的三年夜市场为:汽车车灯市场、交通市场及全彩LED 显示屏。

1)汽车车灯市场方面,红色高亮度LED 应用于汽车第三煞车灯,而左右尾灯、标的目的灯及车边标识灯,可使用红色或黄色高亮度LED,而汽车仪表板上则需要各种颜色的高亮度LED,故汽车市场商机庞年夜。

2)交通号志方面,使用高亮度LED 主要为节省能源,且在阳光照射下可仍清楚辨识。依据资料显示,目前全球约有2000 万座交通号志,而每一个红、黄、绿灯估计需要使用200 颗高亮度LED,故一座交通号志约需600 颗高亮度LED,如果考虑每年新设的交通号志加上更换旧交通号志,估计每年年夜约有200 万座,以每座更新本钱约1.5 万台币计算,未来每年全球交通号志估计约有300 亿的市场价值。

3)全彩LED 显示屏方面,目前高亮度LED 已可以产生红、绿、蓝三原色的光,组成年夜型全彩LED 显示屏,目前年夜型LED 看板的使用以日本、中国、香港、韩国、台湾、新加坡等亚洲地区为主,欧洲及美国其次。中国年夜陆运用年夜型户外LED 看板宣达政令,故有其一定之需求;欧洲方面,罕见的应用是文字显示及气象预报图像,另也盛行使用LED 显示屏做为广告招牌。目前目前高亮度LED厂商继续costdown,市场接受度已逐渐提高,且高亮度LED 价格高于传统LED,厂商投入意愿较年夜,未来可望逐渐取代传统亮度LED 市场。

目前,基于FPGA(现场可编程门阵列)的LED显示屏的设计应用广泛,美国和中国台湾地区逻辑电路设计和制造厂家年夜都以Verilog HDL为主,中国年夜陆地区目前学习使用Verilog HDL已经超出VHDL。从使用的角度看,对集成电路(ASIC)设计人员来说,多是掌握verilog,因为在IC设计领域,90%以上的公司都是采取verilog进行IC设计。而对PLD/FPGA设计者而言,两种语言没有太年夜不同。

(3) 课题研究意义

随着我国经济的高速成长,对公共场合宣布信息的需求日益增长,利用LED点阵滚动显示汉字的呈现正好适应了这一市场需求,已经成为信息传播的一种重要手段。

采取传统办法设计的汉字滚动显示器,通常需要使用单片机、存储器和制约逻辑电路来进行PCB板级的系统集成。尽管这种计划有单片机软件的支持较为灵活,可是由于受硬件资源的限制,未来对设计的变动和升级,总是难以避免要支出较多研发经费和较长投放市场周期的价格。随着电子设计自动化(EDA)技术的进展,基于可编程FPGA器件进行系统芯片集成的新设计办法,也正在快速地到代基于PCB板的传统设计方法。因此,本设计的研究是很有需要的,之所以基于FPGA设计是因为现场可编程门阵列(FPGA)设计周期小,灵活度高,适合用于小批量系统,提高系统的可靠性和集成度。并且采取编写灵活的Verilog HDL语言编写主法度。

(4)论文结构

论文主要从计划论证及选择、硬件电路设计、系统软件设计、制作与调试等几年夜方面来介绍基于FPGA的LED显示屏的设计和制作过程。其中计划论证及选择主要从两种可以实现基于FPGA的LED显示屏的设计计划中选择一个本钱低、易操纵、系统性能较高的计划。其中主要设计包含:系统软件设计、ROM存储、点阵汉字字模的提取。系统软件设计主要是设计FPGA芯片进行控制所需要的相关法度,这部分法度采取Verilog语言进行编写。最后的制作与调试主要是进行ROM和点阵汉字的显示并对点阵个点扫描显示进行相关

令狐采学创作

令狐采学创作

测试,检测是否能达到设计原理实现的功能。最后总结完善设计思路与法度,正确完成汉字的现实与滚动。

1.2 LED点阵显示特点

(1)可以显示各种数字、文字、图表、曲线、图形;

(2)采取纯红、高绿作双基色发光器件,发光亮度高,色彩鲜艳、丰富;

(3)显示效果清晰、稳定、功耗低、寿命长;

(4)优质铝合金结构,磨沙、银镜或钛金不锈钢包边。尺寸和规格可根据需要灵活组合;

(5)支持各种计算机网络,编辑软件丰富、易用;

(6)适用于室内、外所有信息宣布及广告宣传场合。如:银行、证券交易所、商场、市场、宾馆、洒楼、电信、邮政、医院、车站、机场等。

1.3 FPGA设计的特点

FPGA 通常被认为是ASIC 实现的一种替代手段. 一般ASIC 包含三种, 既全定制、半定制(含标准单位和门阵列) 以及可编程器件。对前两种, 需要支付不成重复使用的工程用度NRE (Non recurring Engineering) , 主要用于芯片的流片、中测、阐发的工程开销, 一次用度一般在1 万至数万美元以上。如果一次不胜利、返工、甚至屡次返工,NRE 用度将要上升。本钱高、风险年夜, 而通常对每个ASIC 品种的需求量往往不年夜,NRE 用度分摊到每个产品上价太高, 用户无法接受。而对可编程器件PLD (Programmable Logic Device) 正是可以解决上述问题的新型ASIC, PLD 以其操纵灵活、使用便利、开发迅速、投资风险小等突出优点, 特别适合于产品开发早期、科研样品研制或小批量的产品. FPGA 是一种新型的PLD, 其除具有PLD 的优点外, 其规模比一般的PLD 的规模年夜。目前,Xilinx 推出的XC4025 可以达到25000 门的规模,Altera 公司的FLEX10K100 系列芯片可达到十万门的规模,完全可以满足用户的一般设计需要。

令狐采学创作

令狐采学创作

FPGA 的主要特点是: 寄存器数目多, 采取查找表计数,适合时序逻辑设计。可是互连庞杂, 由于互连采取开关矩阵,因而使得延时估计往往不十分准确。

FPGA 也有其自身的局限性, 其一就是器件规模的限制,其二就是单位延迟比较年夜。所以, 在设计者选定某一FPGA器件后, 要求设计者对器件的结构、性能作深入的了解, 在体系结构设计时, 就必须考虑到器件自己的结构及性能, 尽可能使设计的结构满足器件自己的要求. 这样就增加了设计的难度。

离开对FPGA 结构的详细了解, 设计人员就不成能优化设计。因而设计人员必须了解FPGA 器件的特性和限制, 熟悉FPGA 的结构。

在了解FPGA 结构特点的基础上, 就可以利用VHDL 语言描写出高效的电路描述实现性能优化的电路。

令狐采学创作

令狐采学创作

2.1 计划论证与选择

2.1.1 FPGA芯片选择

现今主要设计和生产厂家有Xilinx、Altera、Lattice、Atmel等公司。其中Xilinx、Altera 规模最年夜,市场占有率也最高。其中Altera更适合教学使用,对初学者来说入门门槛比较低。同时,Altera公司给学习者提供很好的办事和支持。工艺方面,Xilinx和Altera生产的FPGA都是基于SRAM的工艺的,需要在使用时外接一个片外存储以保管法度。上电时,FPGA将外部存储器中的数据读入片内RAM,完成配置后,进入工作状态;失落电后恢复为白片,内部逻辑消失。这样不但能频频使用,还无需专门的FPGA编程器,只需通用的EPROM、PROM编程器即可。本设计采取较为普遍的Altera公司的EP3C5FF484C8N芯片。

2.1.2 串行通信模块

输入接口模块提供PC上位机到FPGA核心板传输数据的接口。输入接口是通过USB口以及JTAG下载线来实现从PC上位机传输数据至下位机。上位机使用字模提取工具将待显示的数据发送至下位机,JTAG下载线实现PC到核心板的下载。FPGA核心板与LED显示模块之间的通信也是通过USBblaser实现的。

2.1.3 LED点阵屏及驱动电路

本设计采取16×16LED点阵屏由4块8×8LED点阵拼接而成,每一块点阵都有8行8 列,

因此总共有16根行控制线和16根列控制线。

计划一:在LED点阵驱动电路中,采取1片4线/16线译码器74HC154作为行驱动,选用2片74HC154占用15个FPGA的I/O口(包含两个enable端)。

计划二:使用4个移位寄存器74HC595(带存储器)驱动16*16的点阵,两个74HC595 担任列扫描数据,两个74HC595 担任行扫描数据。最终只需要制作成16*16LED点阵。本设计所使用的16×16的点阵,EDA实验箱上有其接口电路,STR,SI,SCK,且实验箱上采取的是4个74HC595来实现行扫描和列扫描的。

计划比较及确定:

首先,考虑占用I/O口数量,计划一使用了15个I/O口,而计划二只使用了5个。

其次,考虑制作本钱,一片74HC154年夜约四元,而74HC595只需0.7元。

再次,EDA试验箱上的FPGA主控芯片和点阵驱动电路完全合适此设计所需的条件。而计划一需要购买开发板和4块点阵,本钱比较年夜。又因本设计的硬件电路简单,所以不必再去浪费资源,学校已经花了好几万买了EDA试验箱。

综合以上阐发,本设计采取计划二,不但年夜年夜的减少了I/O资源的占用,并且缩减了

令狐采学创作

令狐采学创作

令狐采学创作 制作本钱。

3.1 系统组成

本设计使用Altera 公司的FPGA 芯片完成16*16点阵式LED 点阵显示屏的显示,配备相应的PC 机软件,实现上位机与下位机的通信,实现左右移动显示形式,基于FPGA 的LED 点阵显示屏的系统。

框图如图21所示:

FPGA

点阵的驱动和显示功能。驱动部分使用

4个移位寄存器74HC595,74HC595(

35mA )的功能是8位串行输入转并行输出移位寄存器。两个74HC595 担任列扫描数据,两个74HC164 担任行扫描数据。LED 点阵是由4个年夜小为 32mm*32mm 的 8*8 共阳点阵组成16*16 点阵,可以显示一个汉字,点阵屏可拆装,采取圆孔铜排针,连接性能很是好。串口通信部分通过RS232串口实现。用户可以通过上位机软件发送待显示的数据给FPGA 控制系统。

74595的驱动功能介绍:

74595和74164功能相仿,都是8位串行输入转并行输出移位寄存器74164的驱动电流(25mA )比74595(35mA )的要小,14脚封装,体积也小一些。

74595的主要优点是具有数据存储寄存器,在移位过程中,输出真个数据可以坚持不变。这在串行速度慢的场合很有用出,数码管或发光二极管没有闪烁感。与164只有数据清零端相比较,595还多有输出端时能/禁止控制端,可以使输出为高阻态。

74595的数据端:

QA —QH:8位并行输出端,可以直接控制数码管的8个段。

QH :级联输出端。我将它接下一个595的SI 端。

SI :串行数据输入端。

74595的控制端说明:/SCLR(10脚):低电平时将移位寄存器的数据清零。接VCC 。 SCK (11脚):上升沿时数据寄存器的数据移位。QA 、QB 、QC 、、、、、、QH :下降沿移位寄存器数据不变。

RCK (12脚):上升沿时移位寄存器的数据进入数据存储寄存器,下降沿时存储寄存器数据不变。通常我们将RCK 置为低,当移位结束后,在RCK 端产生一个正脉冲,更新显示数据。

令狐采学创作

2.2 工作原理

本设计的工作原理为:采取FPGA为核心控制模块,通过接收上位机数据控制LED点阵显示信息。

3.3扫描控制模块

3.3.1 LED的显示原理

16×16扫描LED点阵的工作原理同8位扫描数码管类似。它有16个共阴极输出端口,每个共阴极对应有16个LED显示灯,所以其扫描译码地址需4位信号线(SEL0SEL3),其汉字扫描码由16位段地址(015)输入。通过时钟的每列扫描显示完整汉字。

图22 LED灯信号图23 16×16点阵LED等效电路

点阵LED一般采取扫描式显示,实际运用分为三种方法:

(1)点扫描

(2)行扫描

(3)列扫描

若使用第一种方法,其扫描频率必须年夜于16×64=1024Hz,周期小于1ms即可。若使用第二和第三种方法,则频率必须年夜于16×8=128Hz,周期小于7.8ms即可合适视觉暂留要求。另外一次驱动一列或一行(8颗LED)时需外加驱动电路提高电流,不然LED亮度会缺乏。

2.3.2汉字的存储

用静态分时扫描技术使LED点阵模块显示图像,需要进行两步工作。第一步是获得

数据并保管,即在存贮器中建立汉字数据库。第二步是在扫描模块的控制下,配合行扫描

令狐采学创作

令狐采学创作

的次第正确地输出这些数据。获得图像数据的步调是,先将要显示的每一幅图像画在一个如图3.3所示的被分红16×16共256个小方格的矩形框中,再在有笔划下落处的小方格里填上“1”,无笔划处填上“0”,这样就形成了与这个汉字所对应的二进制数据在该矩形框上的散布,再将此散布关系以32×16的数据结构组成64个字节的数据,并保管在只读存贮器ROM 中。以这种方法将若干个汉字的数据贮存在存贮器内,就完成了图像数据库的建立工作。2.4 汉字显示

汉字显示使用的是16×16的点阵,EDA实验箱上有其接口电路,列选信号为SEL0,SEL1,SEL2,SEL3,经4线16线译码器输出16列,从左起为第一列,列选信号是由一个4位向量SEL[3..0]控制;行选信号为H0~H15,是由16个行信号组成的,每一行由一个单独的位来控制,高电平有效。例如“0000”暗示第0列,“0000000000000001”暗示第一行的点亮。由于列是由一个向量决定,而每一时刻的值只能有一个固定的值,因而只能使某一列的若干个点亮,因此就决定了只能用逐列扫描的办法。例如要使第一列的2,4,6,8,行亮,则列为“0001”、行为“0000000010101010”就可以实现了。

4.系统软件设计

4.1法度设计

法度流程图如图4.1所示。

令狐采学创作

令狐采学创作

图4.1整体软件流程图

下面是各个部分的法度设计:

3.4.1列循环扫描

列循环扫描

通过对每一列的扫描来完成对字母的现实,只要扫描的频率足够快,就能给人以连续的感觉。因此要控制扫描的频率,不克不及太低,不然,就会造成视觉上的不连续,本设计的

扫描频率不得低于50Hz,扫描法度如下:

令狐采学创作

令狐采学创作

3.4.2字符样式设计

字符样式设计

本环节是建立一个数据库,使之能在扫描的同时读取所需要的信息,从而完成汉字的显示。本次设计“陕、西、理、工、学、院”汉字样式设计法度如下:

2.4.3字母循环扫描及期间的延时环节

为使汉字不竭地循环显示,并且使每个汉子之间有停顿,就需要在中间加一定的延时和循环环节。在这一环节中,可以通过修改其数值来控制每个字母的显示时间。

其法度如下:

always@(posedge CLK or negedge Reset)

begin

if(!Reset)

begin

Clk_Cont <= 0;

R_Data <=96'd0;

H_Data <=16'd0;

end

else

begin

Clk_Cont <= Clk_Cont +1;

R_Data <= (Rom_Data <

H_Data <= 1<

end

end

reg [3:0]Row_cnt;

reg [31:0] Rom_Data_r;

always@(posedge CLK or negedge Reset)

begin

if(!Reset)

begin

State <= 0;

ROW <= 0;

R1 <= 1'b0;

LI <= 1'b0;

SK <= 1'b0;

令狐采学创作

令狐采学创作

Row_cnt <=4'd0;

ROM_ADDRESS <= 5'd0;

Rom_Data_r <= {~H_Data,R_Data[95:80]};

Data_Cont <= 0;

end

else

begin

case(State)

4'd0: begin

if(Data_Cont==8'd32) begin Data_Cont <= 0; State <= 4'd3; end

else if(!DIV_CLK) begin SK <= 1'b0; State <= 4'd1; end

end

4'd1: begin

R1 <= Rom_Data_r[31];

if(DIV_CLK) begin SK <= 1'b1; State <= 4'd2; end

end

4'd2: begin

Data_Cont <= Data_Cont +8'd1;

Rom_Data_r <= (Rom_Data_r<<1); State <= 4'd0;

end

4'd3: begin

LI <= 1'b0;

State <= 4'd4;

end

4'd4: begin

LI <= 1'b1;

State <= 4'd5;

end

4'd5: begin

LI <= 1'b0;

State <= 4'd6;

end

4'd6: begin

if(ROM_ADDRESS == 5'd15)

begin

ROM_ADDRESS <= 5'd0;

end

else ROM_ADDRESS <= ROM_ADDRESS + 5'd1;

State <= 4'd7;

end

4'd7: begin

ROW <= ROM_ADDRESS;

Rom_Data_r <= {~H_Data,R_Data[95:80]};

State <= 4'd0;

end

令狐采学创作

令狐采学创作

endcase

end

end

reg [7:0]Move_cnt;

always@(posedge Clk_Cont[23] or negedge Reset)

begin

if(!Reset)

begin

Move_cnt <= 8'd0;

end

else if(Move_cnt == 8'd95) Move_cnt <= 8'd0;

else Move_cnt <= Move_cnt + 8'd1;

end

2.5 整个完整的法度

module led(clk,Reset,Rom_Data,ROM_ADDRESS,R1,SK,LI);

input clk;

input Reset;

input [95:0] Rom_Data;???????

output [4:0] ROM_ADDRESS;

output R1;

output SK;

output LI;

reg R1,SK,LI;

reg [3:0] ROW;

reg [4:0] ROM_ADDRESS;

reg [31:0] Clk_Cont;???

reg [3:0]State;

wire DIV_CLK;

assign DIV_CLK = Clk_Cont[4];

reg [7:0] Data_Cont;

reg [95:0] R_Data;

reg [15:0] H_Data;

always@(posedge CLK or negedge Reset)

begin

if(!Reset)

begin

Clk_Cont <= 0;

R_Data <=96'd0;

H_Data <=16'd0;

end

else

begin

Clk_Cont <= Clk_Cont +1;

令狐采学创作

令狐采学创作

R_Data <= (Rom_Data <

end

end

reg [3:0]Row_cnt;

reg [31:0] Rom_Data_r;

always@(posedge CLK or negedge Reset)

begin

if(!Reset)

begin

State <= 0;

ROW <= 0;

R1 <= 1'b0;

LI <= 1'b0;

SK <= 1'b0;

Row_cnt <=4'd0;

ROM_ADDRESS <= 5'd0;

Rom_Data_r <= {~H_Data,R_Data[95:80]};

Data_Cont <= 0;

end

else

begin

case(State)

4'd0: begin

if(Data_Cont==8'd32) begin Data_Cont <= 0; State <= 4'd3; end

else if(!DIV_CLK) begin SK <= 1'b0; State <= 4'd1; end

end

4'd1: begin

R1 <= Rom_Data_r[31];

if(DIV_CLK) begin SK <= 1'b1; State <= 4'd2; end

end

4'd2: begin

Data_Cont <= Data_Cont +8'd1;

Rom_Data_r <= (Rom_Data_r<<1); State <= 4'd0;

end

4'd3: begin

LI <= 1'b0;

State <= 4'd4;

end

4'd4: begin

LI <= 1'b1;

State <= 4'd5;

end

4'd5: begin

LI <= 1'b0;

令狐采学创作

令狐采学创作

State <= 4'd6;

end

4'd6: begin

if(ROM_ADDRESS == 5'd15)

begin

ROM_ADDRESS <= 5'd0;

end

else ROM_ADDRESS <= ROM_ADDRESS + 5'd1;

State <= 4'd7;

end

4'd7: begin

ROW <= ROM_ADDRESS;

Rom_Data_r <= {~H_Data,R_Data[95:80]};

State <= 4'd0;

end

endcase

end

end

reg [7:0]Move_cnt;

always@(posedge Clk_Cont[23] or negedge Reset)

begin

if(!Reset)

begin

Move_cnt <= 8'd0;

end

else if(Move_cnt == 8'd95) Move_cnt <= 8'd0;

else Move_cnt <= Move_cnt + 8'd1;

end

endmodule

令狐采学创作

令狐采学创作

第三章系统调试与仿真

3.1开发环境介绍

Quartus II 是Altera公司的综合性PLD开发软件,支持原理图、VHDL、VerilogHDL 以及AHDL(Altera Hardware Description Language)等多种设计输入形式,内嵌自有的综合器以及仿真器,可以完成从设计输入到硬件配置的完整PLD设计流程。

Quartus II支持Altera的IP核,包含了LPM/MegaFunction宏功能模块库,使用户可以充分利用成熟的模块,简化了设计的庞杂性、加快了设计速度。对第三方EDA工具的良好支持也使用户可以在设计流程的各个阶段使用熟悉的第三方EDA工具。

另外,Quartus II 通过和DSP Builder工具与Matlab/Simulink相结合,可以便利地实现各种DSP应用系统;支持Altera的片上可编程系统(SOPC)开发,集系统级设计、嵌入式软件开发、可编程逻辑设计于一体,是一种综合性的开发平台。

3.2调试与仿真

3.2.1 创建工程

在Quartus II 中新建一个Verilog HDL File文件,将Verilog HDL代码输入这个文件,并保管到工作目录,名为led.v。

利用new preject wizard 工具创建一个工程,工程名为led,顶层文件实体名为 led,并将上面创建的led.v文件加入到工程中。

3.2.2 编译前设置

(1)选择目标芯片。用assignmemts settings命令,弹出settings对话框,选择目标芯片为EP3C55F484C8。

令狐采学创作

令狐采学创作

图31 选择目标器件

(2)选择工作方法,编程方法,及闲置引脚状态

单击上图中的device&pin options按钮,弹出device&pin options窗口。在General项中选中autorestart configuration after error,使对FPGA的配置失败后能自动重新配置,并加入JTAG用户编码。

图32 选择配置器件工作方法

在configuration项中,其下方的Generate compressed bitstreams处打勾,这样就能产生

用于EPCS的POF压缩配置文件。

令狐采学创作

令狐采学创作

在Configuration 选项页,选择配置器件为EPCS1,其配置模式选择为active serial。

图33选择编程方法

在Unused pins项,将目标器件闲置引脚状态设置高阻态,即选择As input,tristated。

图34 设置闲置引脚状态

3.2.3 全程编译

设置好前面的内容之后,就可以进行编译了。选择Processing菜单中start compilation,在窗口的下方processing栏中显示编译信息。

令狐采学创作

令狐采学创作

图35 全程编译胜利完成

完成后在工程管理窗口左是角显示了工程led 的条理结构和其中结构模块耗用的逻辑宏单位数。此栏的右边是编译处理流程,包含数据网表建立、逻辑综合、适配、配置文件装配和时序阐发等。

3.2.4时序仿真

(1)新建一个矢量波形文件,同时掀开波形编辑器。设置仿真时间为50us,保管波形文件为led.vwf。

(2)将工程led 的端口信号名选入波形编辑器中,所选的端口有clk,enable及总线h0和h8。设置clk的时钟周期为2us,占空比为50%。

令狐采学创作

本文来源:https://www.bwwdw.com/article/y3me.html

Top