FPGA实验报告北航电气技术实验
北邮fpga实验报告

北邮fpga实验报告北邮FPGA实验报告一、引言在当今信息技术高速发展的时代,FPGA(Field Programmable Gate Array)作为一种可编程逻辑器件,具有灵活性强、硬件可重构等特点,被广泛应用于数字电路设计、嵌入式系统等领域。
本文将对北邮FPGA实验进行报告,介绍实验的目的、实验的内容以及实验的结果与分析。
二、实验目的本次实验的目的是让学生了解FPGA的基本概念、原理和应用,并通过实际操作,掌握FPGA的开发流程和设计方法。
通过实验,学生可以深入理解数字电路的设计与实现,培养创新思维和解决问题的能力。
三、实验内容本次实验主要分为以下几个部分:1. FPGA的基本概念与原理在实验开始之前,我们首先对FPGA的基本概念和原理进行了介绍。
FPGA是一种可编程逻辑器件,由大量的逻辑单元和可编程连线组成,可以根据用户的需求进行编程和配置,实现不同的功能。
2. FPGA开发环境的搭建为了进行FPGA的开发,我们需要搭建相应的开发环境。
首先,我们安装了FPGA开发软件,并进行了相应的配置。
然后,我们连接了FPGA开发板,确保开发板与计算机的通信正常。
3. FPGA的设计与实现在FPGA的开发环境搭建完成后,我们开始进行具体的设计与实现。
我们选择了一个简单的数字电路设计作为实验的示例,通过FPGA的编程和配置,将其实现在FPGA开发板上。
在实验过程中,我们学习了Verilog语言的基本语法和设计方法,并将其应用于实际的设计中。
4. FPGA实验结果与分析在完成FPGA的设计与实现后,我们对实验结果进行了验证和分析。
通过观察实验板上的LED灯和数码管的显示情况,我们可以判断设计是否成功。
同时,我们还使用示波器对输出信号进行了测量和分析,验证了设计的正确性和稳定性。
四、实验结果与讨论通过实验,我们成功地将数字电路设计实现在FPGA开发板上,并验证了设计的正确性。
实验结果表明,FPGA具有较高的灵活性和可重构性,能够满足不同应用场景的需求。
fpga实训报告

fpga实训报告引言随着技术的不断发展,电子行业也在迅速进步。
作为电子产品领域的重要组成部分,FPGA(Field Programmable Gate Array)即现场可编程门阵列技术)在近年来受到越来越多的重视。
本文将分享我参与的一次FPGA实训项目的经验和体会。
一、FPGA的基本概念FPGA是一种集成电路芯片,它通过可编程逻辑门阵列构成的,能够实现电路的数字逻辑功能。
与传统的ASIC(Application-Specific Integrated Circuit)相比,FPGA具有可编程的优势,能够根据需要进行重新编程,具备更高的灵活性和可塑性。
二、实训项目背景本次实训项目是一个基于FPGA的数字信号处理系统设计。
我们小组的任务是设计一个音频信号处理系统,能够实现音频的输入、处理和输出等功能。
这个项目旨在让我们熟悉FPGA开发流程和工具,并锻炼我们的团队协作能力和解决问题的能力。
三、项目过程1.需求分析在开始项目之前,我们首先进行了需求分析。
我们确定了音频输入输出的格式要求,处理功能的要求,以及系统的性能指标。
这一步对于项目的成功实施非常关键,只有明确需求,才能确保后续的设计和开发效果。
2.系统设计在需求分析的基础上,我们开始进行系统设计。
我们首先进行模块拆分,将系统划分为音频输入模块、音频处理模块和音频输出模块。
然后,我们根据每个模块的功能设计相应的电路和逻辑。
3.软件仿真设计好电路和逻辑后,我们使用FPGA开发工具进行软件仿真。
通过仿真,我们可以验证设计的正确性和稳定性。
当发现问题时,我们及时进行修改和优化,直到达到预期的效果。
4.物理综合在软件仿真通过后,我们进行物理综合。
这一步骤将我们的设计映射到实际的硬件资源上,包括将逻辑电路映射到LUT(Lookup Table)、将时序电路映射到寄存器等。
物理综合过程中,我们需要考虑到硬件资源的利用率和系统的性能要求。
5.实际实现完成物理综合后,我们开始进行实际的系统实现。
FPGA实验报告

FPGA实验报告一、实验目的本次FPGA实验目的是通过使用FPGA开发板,了解FPGA的基本原理和应用,培养学生对数字电路设计的基本能力。
二、实验原理FPGA(Field-Programmable Gate Array)是一种可编程逻辑芯片,通过在芯片中加入多个查找表、可编程互连和触发器等基本模块,使得用户可以根据实际需求程序设计芯片的逻辑功能和互连关系。
FPGA的主要优点是能快速更新设计并且重配置灵活,而且速度快、功耗低。
本次实验我们使用的FPGA开发板是Xilinx Spartan-6系列,采用的开发环境是Xilinx ISE Design Suite。
三、实验内容1.实验用到的器件及端口我们使用的FPGA开发板上有多个输入输出端口,如LED灯、开关、按键等。
其中LED灯作为输出端口,开关和按键作为输入端口。
实验中,我们通过控制开关的状态,来控制LED灯的亮与灭。
2.设计电路我们的实验电路主要由一个FPGA芯片、多个LED灯、多个开关和按键等组成。
具体设计如下:(插入电路图)3.编写代码我们使用Verilog语言来描述逻辑电路的功能,并将其编写成代码。
代码示例如下:module led_controllerinput wire CLK,input wire [3:0] SWITCH,output reg [7:0] LEDcase(SWITCH)endcaseendendmodule4.烧录代码通过Xilinx ISE Design Suite的工具链,将上述代码综合、实现、生成比特文件。
然后通过JTAG接口将比特文件烧录到FPGA芯片中。
5.实验结果实验结果是通过观察LED灯的亮灭情况来验证代码的正确性。
根据开关的不同状态,LED灯的亮灭也不同。
四、实验总结通过本次实验,我们深入了解了FPGA的基本原理和应用,并且使用了Xilinx Spartan-6系列的开发板完成了LED控制的实验。
通过观察LED灯的亮灭情况,验证了我们编写的代码的正确性。
2016年北航FPGA实验报告分析

电气技术实践可编程逻辑器件FPGA应用开发实验报告姓名班级学号2016年12月电气技术实践报告目录一、实验目的 (1)二、实验要求 (1)三、实验内容 (1)四、实验代码及实验结果 (1)1、4位二进制加法计数器 (1)2、半加器 (3)3、RS触发器 (3)4、数码管十六进制计数器 (5)5、跑马灯 (7)6、键盘电路 (9)7、LED点阵显示 (12)8、多人抢答器 (18)五、实验感想 (21)一、实验目的1、熟悉使用可编程逻辑器件(Altera公司FPGA Cyclone系列EP1C6Q)。
2、熟悉使用硬件描述语言VHDL。
3、掌握FPGA集成环境(Altera公司FPGA QuartusII 9.0)开发流程。
4、熟悉使用核心目标系统板与接口电路等工作原理及其功能模块绑定信息。
5、熟悉并掌握下载线方式和下载文件的选择。
二、实验要求1、学习并掌握文本、图形等输入和时序、功能仿真方法。
2、学习并熟悉门电路、组合电路、时序电路等单一模块功能。
3、学习并设计各种不同状态机逻辑功能。
4、学习并设计由单一模块→较多功能模块集成→系统集成方法。
5、学习并选择多种模式显示(发光二极管显示、米字型数码管显示、七段数码管→动态扫描或静态扫描显示、LED点阵显示各种字符和图形或静止或移动等方式、LCD液晶显示各种字符和图形或静止或移动等方式)。
6、根据自已的兴趣和愿望,可从以下给定的实验目录中选取或自已设定功能题目。
7、实验数目没有要求,关键是看质量,是否是自已编写、调试、实现。
三、实验内容1、按指导书集成开发环境章节操作实现文本编程实例1和图形编程实例2全过程。
2、任选门电路、组合电路、时序电路实验各完成一个其逻辑功能,其实现方案自已规定。
在进行FPGA目标器件输入和输出引脚绑定时,输入引脚绑定高/低电平、单脉冲、各种分频连续脉冲等多种信号,输出引脚可绑定发光二极管、七段数码管、LED 点阵等显示模式。
3、在完成1位十进制计数器的基础上,可增加完成2或3等多位十进制计数器逻辑功能并用多位七段数码管来显示。
FPGA实验报告5篇

FPGA实验报告5篇第一篇:FPGA实验报告FPGA实验报告专业:XXX 姓名:XXX 学号:XX一:实验目的1.熟悉Modelsim和Quartus II软件的运行环境和使用2.熟练使用Quartus II仿真软件生成网表。
3.熟悉FPGA前仿真和后仿真的整个流程。
二:实验内容编写counter计数器,在Quartus II仿真软件中生成网表,再在Modelsim中进行后仿真。
三: 实验步骤1.在Modelsim编写源程序(counter计数器及激励),编译源文件,确保程序的正确性,并进行前仿真,生成波形图如下:附:源程序如下:module counter(q,clk,reset);input clk,reset;output [3:0] q;reg [3:0] q;always @(posedge reset or negedge clk)if(reset)q <= 4'b0;elseq <= q + 1;endmodule module top;reg CLK,RESET;wire [3:0] Q;counter c1(Q,CLK,RESET);initialCLK=1'b0;always#1 CLK=~CLK;initial$monitor($time,“Q=%d”,Q);initialbeginRESET=1'b1;#5 RESET=1'b0;#180 RESET=1'b1;end endmodule 2.新建文件夹,将源程序counter.v放进去。
然后启动Quartus II仿真软件,生成网表。
1).在【File】下拉菜单中选中New Project Wizard选项,出现对话框。
并指定工程工作目录、工程名称和顶层模块名,如图(a)所示。
2).添加(Add)counter.v文件。
如图(b)所示。
3).选择器件系列4).指定其它EDA工具,如图(d)所示。
北航电气技术实践FPGA报告

FPGA实验报告141717一、实验目的1、熟悉使用可编程逻辑器件--Altera 公司FPGA Cyclone ш系列EP3C55F2、熟悉使用硬件描述语言--VHDL3、熟悉FPGA集成环境--Altera公司FPGA Quartusǁ 9或10开发流程4、熟悉并掌握核心目标系统板与接口电路等工作原理及功能模块绑定新信息5、熟悉并掌握下载线方式和下载文件的选择二、实验要求1、学习并掌握文本编辑、图形编辑等输入和时序、功能仿真方法。
2、学习并掌握门电路、组合电路、时序电路等单一模块功能。
3、学习并设计各种不同状态机逻辑功能的电路。
4、学习并设计有单一模块--较多功能模板集成--系统集成的方法。
5、学习并将系统及成功逐一拆分成一个个子功能模块的方法。
6、学习并选择多种模式显示(发光二极管显示、七段数码管--动态扫描或静态扫描显示、LED点阵显示各种字符和图形或静止或移动等方式、LCD字符液晶显示各种字符和图形或静止或移动、TFT-LCD触摸液晶屏显示各种信息等方式)。
7、根据自己的兴趣和愿望,可从给定的实验题目中选取或自己设定功能题目。
8、同组实验者应轮流操作实例实验流程,并实施源程序编写、编译、调试、下载程序和验证实验结果实践环节。
9、利用元件例化语句调用,至少涉及一个有内容、功能较复杂稍大的主、子程序综合应用例程。
功能内容,关键是看质量。
三、实验设备1、可编程逻辑EDA/SOPC实验箱一台。
2、计算机及开发软件Quartusǁ一台套。
四、实验内容1、按指导书7.6集成开发环境使用章节操作顺序实现文本编程实例1和图形编程实例2全过程。
2、分析并运行指导书5.2综合实例,掌握其编程技巧和输入及输出显示方法。
3、任选门电路、组合电路、时序电路实验各完成一个其逻辑功能,其实现方案自拟定。
在运行FPGA目标器件输入和输出引脚绑定时,输入引脚可绑定高/低电平、单脉冲、各种分频连续脉冲等多种信号,输出引脚可绑定发光二极管、七段数码管、LED 点阵等显示模式。
北航电气技术实践FPGA报告

北航电气技术实践FPGA报告一、引言FPGA(Field-Programmable Gate Array)是一种可编程逻辑器件,广泛应用于数字电路设计和嵌入式系统中。
本报告旨在介绍北航电气技术实践课程中关于FPGA的学习和实践情况。
二、学习内容和方法在本课程中,我们学习了FPGA的基本概念、设计流程和相应的开发工具。
通过理论学习和实践操作,我们了解了FPGA的逻辑门、时序设计、硬件描述语言等基本知识,并掌握了使用Verilog HDL进行FPGA设计的方法。
三、实践项目在实践环节中,我们开展了一个基于FPGA的LED灯控制项目。
该项目要求使用FPGA设计一个电路,控制LED灯的亮灭。
通过按下按钮,可以实现LED灯的开关。
首先,我们进行了电路设计和仿真。
根据项目需求,我们设计了一个基于FPGA的计数器电路,通过每按下一次按钮,计数器就加1,当计数器的值为奇数时,LED灯亮;当计数器的值为偶数时,LED灯灭。
然后,我们使用Verilog HDL对电路进行了描述,并进行了功能仿真,以验证电路的正确性。
接着,我们进行了综合和布局布线。
通过综合,我们将Verilog HDL代码转化为逻辑门电路。
然后,我们对逻辑门电路进行布局布线,将逻辑门相互连接,形成电路板的物理布局,并进行布线优化,以提高电路的时序性能。
最后,我们进行了FPGA的烧录和调试。
将完成布局布线的电路通过JTAG接口烧录到FPGA芯片中,并使用开发板上的按钮进行了调试和验证。
通过调试,我们确保了LED灯的控制逻辑和亮灭效果的正确性。
四、实践收获与感悟通过这个FPGA实践项目,我收获了很多。
首先,我对FPGA的基本原理和设计流程有了更深入的理解。
其次,我学会了使用Verilog HDL进行FPGA设计,在实际操作中更加熟悉了FPGA开发工具的使用。
另外,我也意识到了FPGA在数字电路设计中的重要性和灵活性,它可以根据实际需求进行快速的硬件原型设计和验证。
FPGA实验报告

FPGA实验报告一、实验目的本次实验的主要目的是了解和掌握FPGA的基本原理、主要特点和应用领域,以及学习使用HDL语言进行FPGA设计和开发。
二、实验器材和软件1.实验器材:FPGA开发板、计算机;2. 实验软件:Xilinx Vivado。
三、实验内容1.FPGA基础知识学习首先,我们学习了FPGA的基本原理和主要特点。
FPGA(Field Programmable Gate Arrays)即现场可编程门阵列,是一种可在现场进行编程和重新配置的集成电路。
与常规的固定功能集成电路相比,FPGA具有灵活性和可重构性的优势,因此在各种应用领域得到广泛应用。
2.VHDL语言学习在了解了FPGA基础知识后,我们开始学习使用HDL语言进行FPGA设计和开发。
HDL(Hardware Description Language)即硬件描述语言,是一种用于描述数字电路结构和行为的语言。
在本次实验中,我们主要学习了VHDL(VHSIC Hardware Description Language)语言的基础语法和常用结构,如组合逻辑和时序逻辑。
3.FPGA设计实验基于学习的FPGA和VHDL知识,我们进行了一系列的FPGA设计实验。
首先,我们设计了一个组合逻辑电路,实现了一个两输入AND门的功能。
然后,我们设计了一个时序逻辑电路,实现了一个简单的计数器,能够在每个时钟上升沿时进行计数。
四、实验结果与分析通过实验,我们成功地实现了一个两输入AND门和一个计数器电路。
经过仿真和综合,我们验证了设计的正确性和可行性。
从实验中,我们不仅掌握了FPGA的基本原理和主要特点,也学习了使用HDL语言进行FPGA设计和开发的基本方法。
通过自己动手实验,我们加深了对FPGA的理解,并提高了自己的实践操作能力。
五、实验总结通过本次实验,我们对FPGA的基本原理和主要特点有了更深入的了解,也掌握了使用HDL语言进行FPGA设计和开发的基本方法。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
FPGA电气技术实践实验报告院(系)名称宇航学院专业名称飞行器设计与工程(航天)学生学号XXXXXXXX学生姓名XXXXXX指导教师XXXX2017年11月XX日实验一四位二进制加法计数器与一位半加器的设计实验时间:2017.11.08(周三)晚实验编号20一、实验目的1、熟悉QuartusII的VHDL的文本编程及图形编程流程全过程。
2、掌握简单逻辑电路的设计方法与功能仿真技巧。
3、学习并掌握VHDL语言、语法规则。
4、参照指导书实例实现四位二进制加法计数器及一位半加器的设计。
二、实验原理.略三、实验设备1可编程逻辑实验箱EP3C55F484C8 一台(包含若干LED指示灯,拨码开关等)2计算机及开发软件QuartusII 一台套四、调试步骤1四位二进制加法计数器(1)参照指导书实例1进行工程建立与命名。
(2)VHDL源文件编辑由于实验箱上LED指示灯的显示性质为“高电平灭,低电平亮”,为实现预期显示效果应将原参考程序改写为减法器,且”q1<= q1+1”对应改为”q1<= q1-1”,以实现每输入一个脉冲“亮为1,灭为0”。
由于参考程序中的rst清零输入作用并未实现,所以应将程序主体部分的最外部嵌套关于rst输入是否为1的判断,且当rst为1时,给四位指示灯置数”1111”实现全灭,当rst为0时,运行原计数部分。
(3)参照指导书进行波形仿真与管脚绑定等操作,链接实验箱并生成下载文件(4)将文件下载至实验箱运行,观察计数器工作现象,调试拨动开关查看是否清零。
可以通过改变与PIN_P20(工程中绑定为clk输入的I/O接口)相连导线的另一端所选择的实验箱频率时钟的输出口位置,改变LED灯显示变化频率。
并且对照指导书上对实验箱自带时钟频率的介绍,可以通过改变导线接口转换输入快慢,排查由于clk输入管脚损坏而可能引起的故障。
2一位半加器(1)参照指导书实例1进行工程建立与命名。
(2)图形源文件编辑:由于实验箱上LED指示灯的显示性质为“高电平灭,低电平亮”,为实现预期显示效果应将原电路图中两个输出管脚与非门串联以实现原参考输出“高电平亮,低电平灭”。
(3)参照指导书进行波形仿真与管脚绑定等操作,链接实验箱并生成下载文件(4)将文件下载至实验箱运行,观察半加器工作现象,调试拨动开关查看进位与置数指示是否正常工作。
五、实验现象1.四位二进制加法计数器SW1下拨为0时,四个LED指示灯可以对输入脉冲从”0000”到”1111”进行十六位循环计数(其中亮为1,灭为0)。
SW1上拨为1时可以实现四个LED灯保持全灭清零。
且四位二进制加法计数器功能成功实现2.一位半加器SW1与SW2输入分别为”00”、”01”、”10”、”11”时,进位指示与置数指示灯分别显示”00”、”01”、”01”、”10”(其中亮为1,灭为0)。
且一位半加器功能成功实现。
六、实验代码1四位二进制加法计数器(已修改)entity count4 isport(clk:in std_logic;--waishizhong,fpga_ex2_6rst:in std_logic;--F1 pin-ab15q:out std_logic_vector(3 downto 0));--led4-1end;architecture b1 of count4 issignal q1:std_logic_vector(3 downto 0);beginprocess(clk,rst)beginif(rst='0')thenif (clk'event and clk='1')then q1<= q1-1;end if;else q1<="1111";end if;end process;q<=q1;end2一位半加器七、结果分析1若在加载运行文件后实验箱上无反应,可以通过更换不同频率输入管脚查看是否为实验箱自带时钟的故障。
2实验箱上LED显示灯与设计逻辑相反时可以通过修改程序逻辑或给电路图添加非门实现正逻辑显示。
实验二16×16LED点阵四字循环显示实验时间:2017.11.08(周三)晚实验编号20一、实验目的1、掌握VHDL编程技巧和各种输入输出显示方法。
2、学习并分析指导书中实例,从中发现感兴趣的题目,并以此自设计一个有内容,功能稍复杂的主、子程序综合应用例程,实现调试与验证。
3、实现LED点阵“高山仰止”四字清晰循环显示。
二、实验原理.1 LED显示原理16×16扫描LED点阵的工作原理同8位扫描数码管类似,其结构示意图(图1)与等效电路图(图2)如下。
它有16个共阴极输出端口,每个共阴极对应有16个LED 显示灯,所以其扫描译码地址需4位信号线(管脚对应COL1-COL4),从右起为第一列且COL1-4对应”0000”。
其汉字扫描码由16位段地址(从下至上管脚对应ROW1-ROW16)输入。
本设计选用的LED列扫描,汉字信号行输入的方式,显示完整汉字。
图1 16×16LED点阵图2 16×16点阵LED等效电路列循环扫描,通过对每一列的扫描来完成对字母的现实,本设计为使列扫描符合视觉暂留要求,扫描频率至少大于16×8=128Hz,周期小于7.8ms,以此给人以连续的感觉。
2 汉字的信息储存用动态分时扫描技术使LED点阵模块显示图像,需要进行两步工作。
第一步是在程序中建立汉字数据库。
第二步是在扫描模块的控制下,配合列扫描的次序正确地输出这些数据。
获得图像数据的步骤是,先将要显示的每一幅图像画在一个如(图3)所示的被分成16×16共256个小方格的矩形框中,再在有笔划下落处的小方格里填上“1”,无笔划处填上“0”,这样就形成了与这个汉字所对应的二进制数据在该矩形框上的分布,汉字取模可由专用软件进行。
图3 16*16点阵显示模块由于本实验箱为从右至左依次对应”0000”列到”1111”列,从下至上为最高位到最低位,于平时习惯的认字方向相反,所以注意在逐列扫描的设计中要对字取“反模”。
例如要在右边起第2列的从上到下数2、4、6、8行亮,则列编号为”0001”、行输入为”0000000010101010”就可以实现了。
3延时环节为使汉字不断地循环显示,并且使每个汉子显示后停留,就需要在中间加一定的延时和循环环节。
在这一环节中,可以通过修改每个显示和停留周期包含的总时钟脉冲数值来控制每个字的显示时间,运用状态机设计方法给四个汉字对应的不同输入状态进行编码,即可使汉字依次清晰显示。
三、实验设备1可编程逻辑实验箱EP3C55F484C8 一台(包含16×16LED点阵一组等)2计算机及开发软件QuartusII 一台套四、调试步骤1建立工程,命名为ledgrq1616。
建立VHDL程序文件命名为1ed1616grq.vhd。
2按照第六部分原程序输入代码,并按所示表格绑定管脚。
编写程序及绑定管脚时时注意第二部分中所叙述的扫描显示顺序以及对应取反字模的方法。
3编译无误后开启实验箱,生成.sof传输文件并下载至实验箱,确保运行模式为1,且CPRL_SW拨码开关为”00XX”。
4观察实验箱上现象,通过改接不同频率的脉冲输入管脚或改变每个字符停留周期包含的总脉冲数来保证有足够快的扫描频率与大约每个字大约一秒多的充足停留时间,并查看是否有“高山仰止”四字依次有停顿的清晰的循环显示。
五、实验现象当时钟输入线接FRQH_Q2(3000000Hz)管脚时,设定每个周期为5000000个脉冲时,实现“高山仰止”在16×16LED点阵上清晰循环显示。
六、实验代码library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity led1616grq is port(clk: in std_logic;--时钟data: out std_logic_vector(15 downto 0);--行输入addrs: out std_logic_vector(3 downto 0));--列地址end led1616grq;architecture chw_arc of led1616grq issignal fenpin:std_logic_vector(1 downto 0);--分频信号signal ad:std_logic_vector(3 downto 0);--地址中转信号beginprocess(clk)--产生一个大约1s的分频信号模块variable cnt:integer:=0;variable tmp:std_logic_vector(1 downto 0);beginif clk'event and clk='1' thenif cnt<5000000 thencnt:=cnt+1;elsecnt:=0;if tmp="11" thentmp:="00";elsetmp:=tmp+1;end if;end if;end if;fenpin<=tmp;end process;process(clk)--送16位地址程序variable js:integer:=0;variable cnt:std_logic_vector(3 downto 0);beginif clk'event and clk='1' thenif js<10000 thenjs:=js+1;elsejs:=0;if cnt="1111" thencnt:="0000";else cnt:=cnt+1;end if;end if;end if;ad<=cnt;end process;process(fenpin,ad)begincase fenpin is--besure to get the opposite model of the word--and exchange the hight 8bit to the low 8bit--then write begin 1111 to 0000when "00"=>case ad is--”高”的字模when "0000"=>data<="0000000000000000";--00 00when "0001"=>data<="0000000000000100";--04 00when "0010"=>data<="1111111000000100";--04 FEwhen "0011"=>data<="1000001000000100";--04 82when "0100"=>data<="0000001000000100";--04 02when "0101"=>data<="0111101011110100";--F4 7Awhen "0110"=>data<="0100101010010100";--94 4Awhen "0111"=>data<="0100101010010100";--94 4Awhen "1000"=>data<="0100101010010110";--96 4Awhen "1001"=>data<="0100101010010101";--95 4Awhen "1010"=>data<="0100101010010100";--94 4Awhen "1011"=>data<="0111101011110100";--F4 7Awhen "1100"=>data<="0000001000000100";--04 02when "1101"=>data<="0000001000000100";--04 02when "1110"=>data<="1111111000000100";--04 FEwhen "1111"=>data<="0000000000000100";--04 00when others=>null;end case;when "01"=>case ad iswhen "0000"=>data<="0000000000000000";--0000 “山”的字模when "0001"=>data<="0000000000000000";--0000when "0010"=>data<="0111111111110000";--7FF0when "0011"=>data<="0010000000000000";--2000when "0100"=>data<="0010000000000000";--2000when "0101"=>data<="0010000000000000";--2000when "0110"=>data<="0010000000000000";--2000when "0111"=>data<="0011111111111111";--3FFFwhen "1000"=>data<="0010000000000000";--2000when "1001"=>data<="0010000000000000";--2000when "1010"=>data<="0010000000000000";--2000when "1011"=>data<="0010000000000000";--2000when "1100"=>data<="0011111111110000";--3FF0when "1101"=>data<="0000000000000000";--0000when "1110"=>data<="0000000000000000";--0000when "1111"=>data<="0000000000000000";--0000when others=>null;end case;when "10"=>case ad iswhen "0000"=>data<="0000000000000000";--0000 “仰”的字模when "0001"=>data<="0000000000000000";--0000when "0010"=>data<="0000011111111100";--07FCwhen "0011"=>data<="0000100000000010";--0804when "0100"=>data<="0000001000000010";--0404when "0101"=>data<="1111111111001111";--FFCFwhen "0110"=>data<="0000000000000000";--0000when "0111"=>data<="0000010000000010";--0402when "1000"=>data<="0000100000000100";--0804when "1001"=>data<="0001111111001111";--1FCFwhen "1010"=>data<="0000000000000000";--0000when "1011"=>data<="0000000000000111";--0007when "1100"=>data<="1111111111111000";--FFF8when "1101"=>data<="0000000001100000";--0060when "1110"=>data<="0000000010000000";--0080when "1111"=>data<="0000000100000000";--0100when others=>null;end case;when "11"=>case ad iswhen "0000"=>data<="0000000000000000";--0000"止"的字模when "0001"=>data<="0100000000000000";--4000when "0010"=>data<="0100000000000000";--4000when "0011"=>data<="0100000001000000";--4040when "0100"=>data<="0100000001000000";--4040when "0101"=>data<="0100000001000000";--4040when "0110"=>data<="0100000001000000";--4040when "0111"=>data<="0100000001000000";--4040when "1000"=>data<="0111111111111111";--7FFFwhen "1001"=>data<="0100000000000000";--0400when "1010"=>data<="0100000000000000";--0400when "1011"=>data<="0100000000000000";--0400when "1100"=>data<="0111111111111111";--7FFFwhen "1101"=>data<="0100000000000000";--4000when "1110"=>data<="0100000000000000";--4000when "1111"=>data<="0100000000000000";--4000when others=>null;end case;when others=>null;end case;end process;addrs<=ad;end chw_arc;管脚绑定如下:七、结果分析设备调试与程序调试一样均为FPGA目标器件功能实现的必须工作,根据加载后实际显示情况,同样可以反推出QuartusII无法直接报错的引脚绑定方面的问题以及程序书写逻辑问题,实验中具体出现的情况如下:(1)显示为一团不断闪烁的重叠形状原因:可能为间隔时间太短措施:应增大间隔周期数,延长停顿(2)字符形状与设计不同/错位原因:如果为行顺序错位或乱序,但每一列仍为从右至左扫描,可能为ROW1-15管脚绑定错位:如果为列出现顺序及显示正确但位置错位,可能为CLK1-3管脚绑定错位;上述两种情况也可同时发生。