FPGA报告实验4
FPGA实习报告
![FPGA实习报告](https://img.taocdn.com/s3/m/dbfb843926284b73f242336c1eb91a37f0113246.png)
FPGA实习报告一、实习概况本次实习我进入了一家高科技公司,参与了FPGA(Field-Programmable Gate Array,现场可编程门阵列)相关的项目。
通过与团队成员合作,我了解了FPGA的基本知识和应用,并在项目中完成了一些任务。
在这次实习中,我学到了很多东西,也发现了自己的不足之处。
二、FPGA介绍FPGA是一种可编程逻辑器件,与ASIC(Application Specific Integrated Circuit,专用集成电路)相比,FPGA具有灵活性高、开发周期短等优点。
它可以根据需要进行编程,实现各种逻辑功能。
由于其广泛应用于通信、计算机、医疗等领域,我对FPGA技术充满了兴趣。
三、项目任务在本次实习中,我主要参与了一个数字信号处理项目。
具体任务如下:1. 学习FPGA编程语言:我首先学习了FPGA的编程语言,包括VHDL (VHSIC Hardware Description Language)和Verilog HDL(Hardware Description Language)。
这两种语言可以用于描述硬件电路,并在FPGA上实现。
3.进行性能优化:为了提高数字滤波器的性能,我进行了一系列优化工作。
首先,我对代码进行了优化,减少了资源占用和功耗。
同时,我对硬件设计进行了优化,使用并行计算等技术提高了滤波器的运算速度。
四、实习心得1.学到了很多知识:通过这次实习,我学到了很多关于FPGA的知识,包括编程语言、硬件设计、性能优化等方面。
这些知识对于我今后的学习和工作都有很大的帮助。
2.提高了动手能力:在项目中,我需要从零开始设计和实现一个数字滤波器。
通过不断的尝试和实践,我提高了自己的动手能力和解决问题的能力。
3.感受到了团队合作的重要性:在项目中,我和团队成员密切合作,共同解决了很多技术难题。
这让我意识到团队合作的重要性,团队的力量会比个人更加强大。
4.发现了自己的不足之处:在实习中,我发现了自己在硬件设计和性能优化方面的不足之处。
fpga 实验报告
![fpga 实验报告](https://img.taocdn.com/s3/m/c51396c2d5d8d15abe23482fb4daa58da0111c02.png)
fpga 实验报告FPGA实验报告引言:FPGA(Field-Programmable Gate Array)是一种可编程逻辑器件,广泛应用于数字电路设计和嵌入式系统开发中。
本实验报告旨在介绍FPGA的基本原理、应用领域以及实验过程和结果。
一、FPGA的基本原理FPGA由可编程逻辑单元(PLU)和可编程互连资源(ICR)组成。
PLU是FPGA 的核心,由逻辑门、寄存器和查找表等组成,通过编程可以实现不同的功能。
ICR用于连接PLU之间的信号线,实现不同模块之间的通信。
FPGA的可编程性使其具有灵活性和可重构性,适用于多种应用场景。
二、FPGA的应用领域1. 数字电路设计:FPGA可以实现各种数字电路,如逻辑门、加法器、乘法器等。
其可重构性使得电路设计师可以在硬件开发过程中进行快速迭代和调试,提高开发效率。
2. 通信系统:FPGA广泛应用于通信系统中的信号处理和协议转换等功能。
通过编程实现不同的通信协议,提高系统的兼容性和灵活性。
3. 图像处理:FPGA在图像处理领域有着广泛的应用。
通过并行计算的能力,可以实现实时图像处理和图像增强等功能,提高处理速度和效果。
4. 汽车电子:FPGA在汽车电子领域的应用越来越广泛。
例如,用于驾驶辅助系统、车载娱乐系统和车身控制等方面,提高汽车的安全性和性能。
三、实验过程和结果本次实验旨在设计一个简单的数字电路,并在FPGA上实现。
首先,我们使用HDL(Hardware Description Language)编写了一个4位二进制加法器的逻辑电路描述。
然后,使用FPGA开发工具将逻辑电路描述烧录到FPGA芯片中。
在实际操作中,我们按照实验指导书的步骤进行了硬件连线和编程配置。
通过FPGA开发工具提供的仿真功能,我们验证了逻辑电路的正确性。
在实际测试中,我们输入了两个4位的二进制数,并观察了输出结果。
实验结果表明,FPGA成功实现了4位二进制加法器的功能。
四、实验总结通过本次实验,我们深入了解了FPGA的基本原理和应用领域。
可编程逻辑器件实验报告
![可编程逻辑器件实验报告](https://img.taocdn.com/s3/m/340b5917c950ad02de80d4d8d15abe23492f0356.png)
一、实验目的通过本次实验,使学生掌握可编程逻辑器件(FPGA)的基本原理和操作方法,了解其结构特点和应用领域。
通过实验,培养学生动手实践能力和创新意识,提高学生运用FPGA进行数字系统设计和验证的能力。
二、实验原理可编程逻辑器件(FPGA)是一种高度集成的数字电路,具有可编程性、可扩展性和可重用性。
FPGA主要由可编程逻辑单元、可编程互连资源、时钟管理单元、I/O单元等组成。
通过编程,用户可以根据自己的需求定制FPGA内部逻辑结构,实现各种数字电路功能。
FPGA编程通常采用硬件描述语言(HDL),如VHDL或Verilog。
HDL描述了电路的功能和结构,通过编译和综合,生成FPGA内部的逻辑资源分配和互连关系。
实验中,我们将使用Quartus II软件进行FPGA编程和仿真。
三、实验内容1. FPGA基础操作(1)安装Quartus II软件,熟悉软件界面和基本操作。
(2)搭建FPGA实验平台,包括FPGA开发板、电源、连接线等。
(3)将FPGA开发板连接到计算机,进行硬件初始化和配置。
2. FPGA编程(1)使用VHDL或Verilog语言编写实验程序,实现简单的数字电路功能,如全加器、编码器、译码器等。
(2)将编写好的程序导入Quartus II软件,进行编译和综合。
(3)观察编译报告,检查程序语法错误和资源占用情况。
(4)进行仿真,验证程序功能是否正确。
3. FPGA下载与验证(1)将编译后的程序下载到FPGA芯片中。
(2)使用示波器或逻辑分析仪等工具,观察FPGA输出的波形,验证程序功能。
(3)根据实验要求,修改程序参数,优化电路性能。
四、实验步骤1. 搭建实验平台(1)将FPGA开发板连接到计算机,确保所有连接线正确。
(2)检查电源电压,确保FPGA芯片供电正常。
2. 编写程序(1)打开Quartus II软件,创建新工程。
(2)选择合适的HDL语言,编写实验程序。
(3)保存程序,并添加到工程中。
FPGA实验报告
![FPGA实验报告](https://img.taocdn.com/s3/m/f6732b5d58eef8c75fbfc77da26925c52cc59100.png)
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灯的亮灭情况,验证了我们编写的代码的正确性。
FPGA实验报告整理版.doc
![FPGA实验报告整理版.doc](https://img.taocdn.com/s3/m/28f743eb1711cc7930b71676.png)
目录实验一分频器实验三 ADC0809 模数转换实验实验二七段数码管扫描显示实验四双向移位寄存器实验一分频器一、实验目的1.学习分频器的设计,进一步了解、熟悉和掌握FPGA开发软件Quartus II 的使用方法2.学习Verilog HDL 和VHDL的编程方法3.学会使用Vector Wave功能仿真4.掌握使用多种方法分配管脚二、实验内容编写一个分频器的Verilog 代码和VHDL代码并仿真,编译下载验证三、实验原理在数字电路中,时钟信号的分频是很常见的电路。
分频器除了可以对时钟信号频率做除以二的计算外,分频器同时很类似涟波计数器。
涟波计数器是计数器的一种,它属于异步设计。
因为触发器并非皆由同一个时钟信号同步操作,所以它非常节省电路面积。
本实验要设一个带选择的分频时钟,SEL[1:0]用于选择是几分频。
分频器设原理框图如图1所示:图1 分频器原理图从原理图中可见,核心板的时钟是50MHz ,通过sel[1:0]选择分频数,00:不分频;01:12.5M分频;10:25M四分频;11:50M分频。
采用SW1 ‐SW2 设置分频值,SW3 复位。
LED1为时钟的输出,通过调整SW1 、SW2 ,可以得到不同的闪烁频率。
引脚分配情况如表1所示表1 引脚分布情况四、实验步骤1.新建工程,取名为frediv ,如下图2所示。
图2 新建工程2.新建VHDL设计文件,选择“File|New ”,在New 对话框中选择Device Design Files下的VHDL File,单击OK,完成新建设计文件。
3.在新建设计文件中输入VHDL程序。
4.生成“Symbol ”文件,新建“Block Diagram/Schematic File”文件,在文件中添加刚刚生成的“Symbol ”以及输入输出管脚,最后完整的系统顶层模块图如图3 所示。
图3 顶层模块图5.保存文件,使用qsf或者tcl 进行管脚分配(相应的文件在本工程里面都可以找到)。
fpga实训报告
![fpga实训报告](https://img.taocdn.com/s3/m/0e763230f68a6529647d27284b73f242336c3199.png)
fpga实训报告摘要:本实训报告旨在介绍FPGA(现场可编程门阵列)的基本原理和应用。
文章首先介绍了FPGA的概念和发展历程,然后详细阐述了FPGA的结构和工作原理。
接着,报告列举了几个常见的FPGA应用领域,并重点介绍了在数字信号处理和通信系统中的应用。
最后,本报告总结了FPGA在实际项目中的优势和挑战,并展望了FPGA技术的未来发展方向。
1. 引言FPGA是一种可编程的逻辑芯片,具有灵活性高、性能强等特点,因而在数字电路设计和嵌入式系统开发中得到广泛应用。
本实训报告将深入介绍FPGA的原理和应用领域。
2. FPGA的概念和发展历程FPGA(Field Programmable Gate Array)是一种可编程逻辑器件,最早由Xilinx公司于1985年推出。
与传统的固定功能集成电路相比,FPGA可以通过编程实现不同的逻辑功能。
随着技术的发展和需求的增加,FPGA的规模不断扩大,性能也不断提高。
3. FPGA的结构和工作原理FPGA由可编程逻辑元件、输入/输出接口和内部互联网络构成。
可编程逻辑元件由可编程查找表(LUT)、触发器和算术逻辑单元等组成,可以通过配置位流(Configuration Bitstream)来实现不同的逻辑功能。
内部互联网络用于连接各个逻辑元件和输入/输出接口,实现信号的传输和通信。
4. FPGA的应用领域4.1 数字信号处理FPGA在数字信号处理中广泛应用,例如音频和图像处理等。
由于FPGA具有并行计算能力和高速数据处理特性,可以实现实时的信号采集、转换和滤波等功能。
4.2 通信系统FPGA在通信系统中也有重要应用,例如调制解调器、协议转换器和网络路由器等。
通过FPGA的可编程性,可以根据不同的通信标准和协议进行灵活配置和优化设计。
4.3 自动化控制FPGA可应用于自动化控制系统,如工业控制和机器人控制等。
通过实时数据采集和处理,FPGA可以实现高精度控制和实时响应。
FPGA实验报告
![FPGA实验报告](https://img.taocdn.com/s3/m/b6faf456e45c3b3567ec8bb4.png)
FPGA上机实验报告实验一:半加器(一)实验题目模拟实现半加器(二)实验要求使用Quartus II 编写代码以及使用多功能电路箱实现半加器。
(三)实验过程(1)半加器实验代码为:module Test1(A,B,Sum,Carry);input A,B;output Sum,Carry;assign Sum=A^B;assign Carry=A&B;endmodule(2)变量说明:A: 系统的一个输入B: 系统的输入的一个加数Sum:A^B的和Carry:A&B的进位(四)实验结果实验二:全加器(一)实验题目模拟实现全加器(二)实验要求使用Quartus II 编写代码以及使用多功能电路箱实现全加器。
(三)实验过程(1)全加器实验代码:module HalfAdd(X,Y,Sum,Cout);input X,Y;output Sum,Cout;xor u_xor(Sum,X,Y);and u_and (Cout,X,Y);endmodulemodule FullAdd(X,Y,Cin,Cout,Sum);input X,Y,Cin;output Cout,Sum;wire HalfAdd_A_Sum;wire HalfAdd_A_Count;wire HalfAdd_B_Count;or u_or(Cout,HalfAdd_A_Count,HalfAdd_B_Count);HalfAddu_HalfAdd_A(.X(X),.Y(Y),.Sum(HalfAdd_A_Sum),.Cout(HalfAdd_A_Count)); HalfAddu_HalfAdd_B(.X(Cin),.Y(HalfAdd_A_Sum),.Sum(Sum),.Cout(HalfAdd_B_Count ));Endmodule(2)变量说明:A: 系统的一个输入B: 系统的输入的一个加数Cin:相邻低位的进位Sum:A^B的和Cout:A&B的进位(四)实验结果实验三:二四译码器(一)实验题目模拟实现二四译码器(二)实验要求使用Quartus II 编写代码以及使用多功能电路箱实现二四译码器。
fpga实训报告
![fpga实训报告](https://img.taocdn.com/s3/m/69d1e9faba4cf7ec4afe04a1b0717fd5370cb270.png)
fpga实训报告一、引言FPGA(Field-Programmable Gate Array)是一种可编程逻辑集成电路,通过在硬件设计中使用现场可编程的逻辑门阵列,实现了对硬件电路的灵活配置和重构。
FPGA广泛应用于数字信号处理、通信系统、嵌入式系统等领域。
本篇报告将介绍我在FPGA实训过程中的学习和实践成果。
二、实训目标本次FPGA实训的主要目标是通过学习和实践,掌握FPGA的基本原理和设计流程。
具体的实训内容包括FPGA的基本结构、开发环境的搭建、逻辑电路的设计与实现等。
三、FPGA基本原理1. FPGA的结构FPGA由可编程逻辑单元(CLB)、输入/输出块(IOB)、全局时钟网络(GCLK)、可编程互连网络等构成。
可编程逻辑单元是FPGA的核心,用于实现逻辑功能;输入/输出块用于与外部系统进行数据交互;全局时钟网络用于传播时钟信号;可编程互连网络用于连接逻辑单元和输入/输出块。
2. FPGA的编程语言FPGA的设计可以使用硬件描述语言(HDL)进行开发。
常用的HDL语言有VHDL和Verilog,开发者可以根据需求选择适合的语言进行设计。
四、实训步骤1. 搭建开发环境在开始实训之前,需要搭建好FPGA的开发环境。
首先,安装相应的开发软件,并配置开发板的驱动程序。
接着,将开发板与计算机连接,并确认连接成功。
2. 设计逻辑电路在FPGA实训中,我首先根据实际需求设计了一组逻辑电路。
通过使用VHDL语言,我实现了数字信号的采样和滤波功能。
为了验证设计的正确性,我使用仿真工具进行了逻辑电路的模拟。
3. 烧写程序设计完成后,我将设计好的逻辑电路通过编译器生成可烧写文件。
然后,将可烧写文件烧写到FPGA芯片中,使其能够正确运行设计好的逻辑电路。
五、实训成果通过本次FPGA实训,我深入了解了FPGA的基本原理和设计流程,掌握了VHDL语言的使用,熟悉了FPGA开发环境的搭建和操作。
最终,我成功实现了一组逻辑电路的功能,并通过烧写程序在FPGA上进行了验证。
FPGA实验报告
![FPGA实验报告](https://img.taocdn.com/s3/m/9be3c359a9114431b90d6c85ec3a87c241288a62.png)
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设计和开发的基本方法。
(完整word版)FPGA专题实验实验报告-西安交通大学
![(完整word版)FPGA专题实验实验报告-西安交通大学](https://img.taocdn.com/s3/m/5eb84fc383c4bb4cf6ecd102.png)
实验1:状态机问题一:你觉得上面这段代码中,q 到底在怎样变化?答:首先语句中缺少begin,q <= q也不合理;如果有异步复位信号,q=0;否则,如果有上升沿且a不等于1,q=q;如果有上升沿且a=1,q直接等于b;问题二:本页中,q 到底在怎样变化?答:复位时,q=0;否则q=d。
问题三:sync电路图:仿真:该电路使输入信号与时钟同步,并产生稳定脉冲信号,进行节拍分配。
四、红路灯电路系统框图:问题分析:东西南北都有车时,状态转换时,东西绿灯时间长于60s;三秒后,南北通行,绿灯时间少于40s。
计数器不能使用同一个,但可以减少触发器数目实验2:数字钟环节二仿真时注意问题:1.仿真1小时需要多少时间?答:取决于输入信号clk的频率。
2.现在的时钟是秒时钟,实际系统的时钟是50MHz.那用50MHz的时钟的情况下,仿真1小时要多少时间?如何解决该问题?答:1/50000000*60*60=0.000072 s;可以将输入信号分频。
环节三1,复位如何输入的?按键防抖如何制作的?修改按键防抖的间隔会导致什么问题?答:复位信号由clock顶层文件输入,按键防抖思路是使按键信号通过触发器进行延迟,持续输入十个上升沿才认为按键一次,避免了抖动。
增加时间会导致按键时间边长,短按可能误认为是抖动。
2,数码管的显示使用组合逻辑输出好还是时序逻辑输出好?答:组合逻辑好环节四:闰年:y1和y2分别为输入的年高两位和年低两位,y为年份,当cout=1时为闰年,cou=0时为平年。
如果y2=0则y1能被4整除时为闰年:当y2!=0时y2能被4整除则为闰年。
后面通过将y1循环加100次再加上y2得到年份y。
process(y1,y2)variable i:integer;beginif y2=0 thenif (y1 rem 4)=0 thencout<='1';else cout<='0';end if;elsif y1 rem 4=0 thencout<='1';else cout<='0';end if;i:=y1;for n in 0 to 99 loopi:=i+i;end loop;y<=i+y2;end process;实验3:SRAM环节二、两种仿真的比较lab/lab3/step1/memtest.vhd用功能仿真和时序仿真两种方法,比较一下SS的状态数值的变化。
FPGA综合实验报告
![FPGA综合实验报告](https://img.taocdn.com/s3/m/daf67dea1711cc7930b71676.png)
FPGA综合实验报告学院名称:专业(班级):姓名(学号):起讫日期:指导教师:目录实验一:Quartus II 和EDA实验箱使用练习实验二:用与门来实现3-8译码器实验三:用74161来实现十进制计数器实验四:六十进制加法计数器实验五:设计一个电路,用8个数码管逐个显示0、1、2、 (9)实验六:设计一个电路,用两个数码管显示01~12的十二进制计数,两个数码管显示00~59的六十进制计数。
设计题目:四人抢答器电路心得体会实验一:Quartus II 和EDA实验箱使用练习目的:学习EDA软件Quartus II,学会使用EDA实验箱。
简述实验步骤仿真结果和下载看到的现象。
步骤1:进入Windows操作系统,打开Quartus II软件。
步骤2:创建工程(1)工程设置。
选择File→ New Project Wizard命令,。
在弹出的图所示对话框中,选Next,进入工程设置页面,设置工程文件夹E:\ZWY、工程名和顶层实体名均为zand。
设置完成后选Next,进入目标器件选择页面。
新建工程向导图1-2-4新建工程路径、工程名称、工程实体名(2)指定目标器件。
设计人员可以在该步骤中指明本次设计的目标器件。
按图1-2-5所示选择目标芯片。
设置完毕,选择Next。
图1-2-5目标芯片选择(3)工程总结。
右图工程设置情况总结,包括工程文件夹位置、工程名和顶层实体名、器件类型、综合器与仿真器选择等。
设计人员在此可检查设置是否符合要求。
若无问题,点击“Finish”结束工程的创建。
若有不符合要求的情况,可点击“Back”退回修改。
步骤3:打开原理图编辑器项目建立后,便可进行具体设计,为项目添加实际的设计文件。
选择“File”菜单“New”,弹出文件类型选择对话框如图1-2-7所示,在“ Design Files” 栏中选择“ Block Diagram/Schematic File”,进入图1-2-8 所示原理图文件(扩展名为bdf)编辑界面。
FPGA实验报告
![FPGA实验报告](https://img.taocdn.com/s3/m/ae87800dcc17552707220885.png)
FPGA/CPLD实验报告(一)学院:信息科学与工程学院专业:通信工程09-1学号:姓名:同组人:实验:一位全加器的VHDL文本输入设计日期:2012、4、14一、实验目的:通过实验进一步了解、熟悉和掌握FPGA开发软件的使用和VHDL语言的学习和使用,学习一位全加器的设计、多层设计方法的使用,以及GK48-PK2试验箱的使用和调试。
二、实验硬件要求:GK48-PK2试验箱、计算机三、实验内容:1、电路功能分析:本实验的真值表如下(部分):输入端口输出端口ain bin cin Cout(进位) Sum(和)0 0 0 0 01 0 0 011 1 0 1 01 1 1 1 12、电路图或VHDL实体图:3、VHDL程序:程序1:或门逻辑描述LIBRARY IEEE ;USE IEEE.STD_LOGIC_1164.ALL;ENTITY or2a ISPORT (a, b :IN STD_LOGIC;c : OUT STD_LOGIC );END ENTITY or2a;ARCHITECTURE one OF or2a ISBEGINc <= a OR b ;END ARCHITECTURE one;程序2:半加器描述LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY adder ISPORT (a, b : IN STD_LOGIC;co, so : OUT STD_LOGIC);END ENTITY adder;ARCHITECTURE fh1 OF adder isBEGINso <= NOT(a XOR (NOT b)) ;co <= a AND b ;END ARCHITECTURE fh1;程序3:1位二进制全加器顶层设计描述LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY f_adder ISPORT (ain,bin,cin : IN STD_LOGIC;cout,sum : OUT STD_LOGIC );END ENTITY f_adder;ARCHITECTURE fd1 OF f_adder ISCOMPONENT h_adderPORT ( a,b : IN STD_LOGIC;co,so : OUT STD_LOGIC);END COMPONENT ; COMPONENT or2aPORT (a ,b : IN STD_LOGIC; c : OUT STD_LOGIC); END COMPONENT ;SIGNAL d ,e ,f : STD_LOGIC; BEGINu1 : h_adder PORT MAP(a=>ain ,b=>bin , co=>d ,so=>e);u2 : h_adder PORT MAP(a=>e , b=>cin , co=>f ,so=>sum);u3 : or2a PORT MAP(a=>d , b=>f ,c=>cout); END ARCHITECTURE fd1 ;4、仿真波形图和波形解释:(1)、仿真波形图如下:(2)、波形解释:如真值表与波形图所示,ain 、bin 、cin 都是输入端,cout 是高位进位计数端,sum 是全加和。
FPGA实验报告
![FPGA实验报告](https://img.taocdn.com/s3/m/340251755a8102d276a22faf.png)
电气技术实践可编程逻辑器件FPGA应用开发实验报告2016年12月目录一、实验目的二、实验要求三、实验内容四、实验代码及实验结果(1)4位二进制加法计数器(2)半加器(3)LED静态显示(4)38译码器(5)点阵扫描显示(6)步进电机状态机五、实验感想六、学习并使用FPGA的心得与体会七、电气技术实践总结一、实验目的1、熟悉使用可编程逻辑器件(Altera公司FPGA Cyclone系列EP1C6Q)。
2、熟悉使用硬件描述语言VHDL。
3、掌握FPGA集成环境(Altera公司FPGA QuartusII 开发流程。
4、熟悉使用核心目标系统板与接口电路等工作原理及其功能模块绑定信息。
5、熟悉并掌握下载线方式和下载文件的选择。
二、实验要求1、学习并掌握文本、图形等输入和时序、功能仿真方法。
2、学习并熟悉门电路、组合电路、时序电路等单一模块功能。
3、学习并设计各种不同状态机逻辑功能。
4、学习并设计由单一模块→较多功能模块集成→系统集成方法。
5、学习并选择多种模式显示(发光二极管显示、米字型数码管显示、七段数码管→动态扫描或静态扫描显示、LED点阵显示各种字符和图形或静止或移动等方式、LCD液晶显示各种字符和图形或静止或移动等方式)。
6、根据自已的兴趣和愿望,可从以下给定的实验目录中选取或自已设定功能题目。
7、实验数目没有要求,关键是看质量,是否是自已编写、调试、实现。
三、实验内容1、按指导书集成开发环境章节操作实现文本编程实例1和图形编程实例2全过程。
2、任选门电路、组合电路、时序电路实验各完成一个其逻辑功能,其实现方案自已规定。
在进行FPGA目标器件输入和输出引脚绑定时,输入引脚绑定高/低电平、单脉冲、各种分频连续脉冲等多种信号,输出引脚可绑定发光二极管、七段数码管、LED点阵等显示模式。
3、在完成1位十进制计数器的基础上,可增加完成2或3等多位十进制计数器逻辑功能并用多位七段数码管来显示。
4、根据状态机工作特点,设计一个有一定功能效果的例程。
FPGA实验报告
![FPGA实验报告](https://img.taocdn.com/s3/m/dffa4d681eb91a37f1115cb9.png)
实验一:七段数码管实验要求:在ISP Design EXPERT System环境下,编写设计七段数码管译码器源文件,并下载到实验开发板上的ispLSI1016E80LJ和ispGDS14中,验证其功能是否正确。
输入在A,B,C三个按钮开关的控制下,经ispGDS14,到译码器使输出a1,b1,c1,d1,e1,f1,g1驱动七段数码管为相应的数字。
实验步骤:步骤一:打开ispDesign EXPERT,单击file,选择new project,建立工程文件,选择 project type:Verilog HDL ;步骤二:给工程起名,选中器件为ispLSI1016E-80LJ44;步骤三:选择上面左下角的Verilog Module ,设置便于识别的名称;步骤四:在TextEditer中编辑输入Verilog 语言源程序:module liang1(a1,b1,c1,d1,e1,f1,g1,A,B,C );output a1,b1,c1,d1,e1,f1,g1;input A,B,C;reg a1,b1,c1,d1,e1,f1,g1;always @(A or B or C)begincase({A,B,C})3'd0:{a1,b1,c1,d1,e1,f1,g1}=7'b1111110;3'd1:{a1,b1,c1,d1,e1,f1,g1}=7'b0110000;3'd2:{a1,b1,c1,d1,e1,f1,g1}=7'b1101101;3'd3:{a1,b1,c1,d1,e1,f1,g1}=7'b1111001;3'd4:{a1,b1,c1,d1,e1,f1,g1}=7'b0110011;3'd5:{a1,b1,c1,d1,e1,f1,g1}=7'b1011011;3'd6:{a1,b1,c1,d1,e1,f1,g1}=7'b1011111;3'd7:{a1,b1,c1,d1,e1,f1,g1}=7'b1110000;default: {a1,b1,c1,d1,e1,f1,g1}=7'bx;endcaseendendmodule步骤五:选择tools,synplicity synplify synthesis,点击菜单栏上的“P”,ADD work;步骤六:图中左边选中ispLSI1016E-80LJ44。
FPGA实验报告_4
![FPGA实验报告_4](https://img.taocdn.com/s3/m/d6f1a261dc36a32d7375a417866fb84ae45cc3df.png)
FPGA课程设计报告专业班级: 13电信1班学号: ************ 姓名:***指导老师:**实验日期:2015.11.27—2015.12.18文华学院信息学部多功能数字钟电路设计一、设计题目多功能数字钟电路的分层次设计7二、设计要求技术指标设计一个具有时、分、秒计时的电子钟电路,按24小时制计时。
三、设计分析在设计一个比较复杂的数字电路或系统时,通常采用自上而下和自下而上的设计方法。
在自上而下设计中,先定义顶层模块,然后再定义顶层模块中用到的子模块。
而在自下而上设计中,底层的各个子模块首先被确定下来,然后将这些子模块组合起来构成顶层模块。
将电路分为不同层次和多个模块分别进行设计,然后将这些模块组合起来实现电路逻辑功能,这种方法通常被称为分层次的电路设计。
工作原理:振荡器产生的稳定的高频脉冲信号,作为数字钟的时间基准,再经分频器输出标准秒脉冲。
秒计数器计满60后向分计数器进位,分计数器计满60后向小时计数器进位,小时计数器按照24进制规律计数。
计数器的输出送译码显示电路,即可显示出数码(时间)。
计时出现误差时可以用校时电路进行校时和校分。
仿电台报时和定时闹钟为扩展电路,只有在计时主题电路正常运行的情况下才能进行功能扩展。
虚线框内的部分用Verilog HDL进行描述,然后用FPGA/CPLD 实现,译码显示电路用中规模IC实现,振荡器由集成电路定时器555与RC电路组成1kHz的多谐振荡器。
四、设计步骤①多功能数字钟主体电路逻辑设计:采用自下而上的设计方法,首先定义数字钟下层的各个模块,再调用这些模块组合成顶层的数字钟电路。
1.模24计数器的Verilog HDL设计小时计数器的计数规律为00-01-…-09-10-11-…-22-23-00…,即在设计时要求小时计数器的个位和十位均按8421BCD码计数。
//文件名:counter24.v(BCD计数:0~23)module counter24(CntH,CntL,nCR,EN,CP);input CP,nCR,EN; //分别为计时脉冲CP、清0信号、nCR和使能信号EN output [3:0] CntH,CntL; //计时计数器的十位和个位输出信号reg [3:0] CntH,CntL; //输出为8421BCD码always @(posedge CP or negedge nCR)beginif(~nCR) {CntH,CntL}<=8'h00; //异步清零else if (~EN) {CntH,CntL}<={CntH,CntL}; //对使能信号无效的处理else if ((CntH>2)||(CntL>9)||((CntH==2)&&(CntL>=3))){CntH,CntL}<=8'h00; //对小时计数器出错的处理else if ((CntH==2)&&(CntL<3)) //进行20-23计数begin CntH<=CntH; CntL<=CntL+1'b1;endelse if (CntL==9) //小时十位级的计数begin CntH<=CntH+1'b1; CntL<=4'b0000;endelse //小时个位的计数begin CntH<=CntH; CntL<=CntL+1'b1;endendendmodule2.模60计数器的Verilog HDL设计分和秒计数器的计数规律为00-01-…-09-10-11-…-58-59-00…,可见个位计数器从0~9计数,是一个十进制计数器;十位计数器则从0~5计数,是一个六进制计数器。
基于FPGA的数字电路实验报告
![基于FPGA的数字电路实验报告](https://img.taocdn.com/s3/m/e776adc14028915f804dc24a.png)
·4位累加器
1.设计方案
需要用两个模块,一个用来进行保存工作,即累加器,另一个用来实现数据相加,即加法器。这样即可每次把数据加到总和里,实现累加器的工作。
2.原理说明及框图
基本原理为书上的结构图。只要实现了两个主要模块,再用线网连接即可。
State1
0
0
State1
State10
State1
0
0
State10
Empty
State101
0
0
State101
State1010
State1
0
0
State1010
Empty
Empty
0
1
经过状态化简,上面状态已经为最简状态。
状态装换图:
在用HDL代码实现时,利用always块和case语句实现有限状态机。
答:用两个异或门,比较计数器的输出与一个加数的大小,若相等时则输出低电平到累加器的使能端,则可停止累加。
实验9序列检测器的设计
·实验目的
掌握利用有限状态机实现时序逻辑的方法。
1实验原理:
有限状态机(FSM)本质上是由寄存器和组合逻辑电路构成的时序电路。次态由当前状态和输入一起决定,状态之间的转移和变化总是在时钟沿进行。有限状态机分为Moore型和Mealy型。Moore型有限状态机输出仅由当前状态决定;Mealy型有限状态机输出由当前状态和输入同时决定。
·思考题
1.给出锁存器的定义,它与边沿触发器的区别是什么?
答:锁存器是一种对脉冲电平敏感的存储单元电路,它可以在特定输入脉冲电平作用下改变状态。边沿触发器只有在固定的时钟上升沿或者下降沿来临时改变状态。可以通过锁存器实现边沿触发器。
FPGA报告实验4
![FPGA报告实验4](https://img.taocdn.com/s3/m/e6c127335901020207409c16.png)
西南科技大学实验报告课程名称:基于FPGA的现代数字系统设计实验名称:硬件电子琴电路设计姓名:学号:班级:通信1301指导教师:刘桂华西南科技大学信息工程学院制硬件电子琴电路设计实验原理一、实验目的:学习利用数控分频器设计硬件电子琴实验。
二、原理说明:主系统由3个模块组成,例1是顶层设计文件,其内部有三个功能模块(如图1所示):Speakera.v(例4) 和ToneTaba.v (例3),NoteTabs.v (例2)。
模块ToneTaba是音阶发生器,当8位发声控制输入Index中某一位为高电平时,则对应某一音阶的数值将从端口Tone输出,作为获得该音阶的分频预置值;同时由Code输出对应该音阶简谱的显示数码,如‘5’,并由High输出指示音阶高8度显示。
模块Speakera中的主要电路是一个数控分频器,它由一个初值可预置的加法计数器构成,当模块Speakera由端口Tone获得一个2进制数后,将以此值为计数器的预置数,对端口Clk12MHZ输入的频率进行分频,之后由Spkout 向扬声器输出发声。
增加一个NoteTabs模块用于产生节拍控制(Index数据存留时间)和音阶选择信号,即在NoteTabs模块放置一个乐曲曲谱真值表,由一个计数器的计数值来控制此真值表的输出,而由此计数器的计数时钟信号作为乐曲节拍控制信号,从而可以设计出一个纯硬件的乐曲自动演奏电路。
图1 硬件电子琴电路结构二、实验步骤1、构建一个工程名为songer的工程2、分别输入ToneTaba.v、Speakera.v、的Verilog HDL文本,进行综合和功能仿真,理解、验证模块功能。
(1)创建音节发生器ToneTaba.v模块module ToneTaba (Index,Code,High,Tone);input[3:0] Index;output[3:0] Code;output High;output[10:0] Tone;reg[3:0] Code;reg High;reg[10:0] Tone;always @ (Index)begincase(Index)4'b0000:beginTone<=11'b11111111111;Code<=4'b0000;High<=1'b0;end//2047 4'b0001:beginTone<=11'b01100000101;Code<=4'b0001;High<=1'b0;end//773 4'b0010:beginTone<=11'b01110010000;Code<=4'b0010;High<=1'b0;end//912 4'b0011:beginTone<=11'b10000001100;Code<=4'b0011;High<=1'b0;end//1036 4'b0101:beginTone<=11'b10010101101;Code<=4'b0101;High<=1'b0;end//1197 4'b0110:beginTone<=11'b10100001010;Code<=4'b0110;High<=1'b0;end//1290 4'b0111:beginTone<=11'b10101011100;Code<=4'b0111;High<=1'b0;end//1372;4'b1000:beginTone<=11'b10110000010;Code<=4'b0001;High<=1'b1;end//1410;4'b1001:beginTone<=11'b10111001000;Code<=4'b0010;High<=1'b1;end//1480;4'b1010:beginTone<=11'b11000000110;Code<=4'b0011;High<=1'b1;end//1542;4'b1100:beginTone<=11'b11001010110;Code<=4'b0101;High<=1'b1;end//1622;4'b1101:beginTone<=11'b11010000100;Code<=4'b0110;High<=1'b1;end//1668;4'b1111:beginTone<=11'b11011000000;Code<=4'b0001;High<=1'b1;end//1728;default:beginTone<=11'b11111111111;Code<=4'b0000;High<=1'b0;end//2047 endcaseendendmodule对该模块进行综合,然后创建激励文件Test Fixture如下:得到波形图如图所示:(2)创建一个数控分频器Speakera.v模块module Speakera(Clk,Tone,SpkS); input Clk;input[10:0] Tone;output SpkS;reg PreClk;reg FullSpkS;reg[3:0] Count4;reg[10:0]Count11;reg Count2;reg SpkS;always@(posedge Clk)beginif(Count4>11)beginPreClk<=1'b1;Count4<=1;endelse beginPreClk<=1'b0;Count4<=Count4+1'b1;endendalways@(posedge PreClk)beginif(Count11>=11'h7FF) beginCount11<=Tone;FullSpkS<=1'b1;endelse beginCount11<=Count11+1'b1;FullSpkS<=0;endendalways@(posedge FullSpkS)beginCount2<=~Count2;if(Count2==1'b1) SpkS<=1'b1;else SpkS<=1'b0;endendmodule然后进行综合。
fpga实训报告
![fpga实训报告](https://img.taocdn.com/s3/m/440ed6ac4bfe04a1b0717fd5360cba1aa8118cd2.png)
fpga实训报告1. 引言在本次FPGA实训中,我们的目标是学习和掌握FPGA的基本原理和应用。
本报告将详细介绍我们在实训中所进行的实验内容、实验过程和实验结果,旨在总结并分享我们的实训经验。
2. 实验概述本次实验的主要内容包括FPGA基础知识学习、开发环境的搭建、简单逻辑电路的设计与实现、FPGA的时序控制等。
通过这些实验,我们的目标是理解FPGA的内部结构及其工作原理,并能够使用Verilog HDL语言进行简单的逻辑电路设计。
3. 实验步骤与结果3.1 FPGA基础知识学习在实验开始之前,我们先进行了对FPGA基础知识的学习。
通过阅读相关文献和资料,我们了解了FPGA的基本概念、发展历史、优势和应用领域等。
3.2 开发环境搭建接下来,我们搭建了FPGA开发环境,包括安装Vivado开发套件和ModelSim仿真工具。
这些工具为我们后续的实验操作提供了必要的支持。
3.3 简单逻辑电路设计与实现在该实验中,我们采用Verilog HDL语言设计了几个简单的逻辑电路,例如AND门、OR门和优先级编码器等。
通过编写相应的Verilog 代码,并在Vivado中进行综合、布局与布线,最终成功实现了这些逻辑电路的功能。
3.4 FPGA的时序控制在时序控制的实验中,我们通过设计一个简单的时序电路来了解FPGA中时钟信号的生成与分频技术。
我们使用Verilog语言描述了所需的时序逻辑,并通过Vivado的仿真功能验证了设计的正确性。
4. 实验总结与心得通过本次FPGA实训,我们对FPGA的原理和设计有了更深入的了解。
在实验过程中,我们遇到了一些困难和问题,但通过团队合作和老师的指导,我们最终克服了这些困难并取得了良好的实验结果。
5. 展望未来FPGA作为一种灵活可重构的硬件平台,具有广泛的应用前景。
我们希望通过进一步学习和实践,能够在更复杂的FPGA电路设计和应用中有所突破。
同时,我们也希望能够将所学到的知识与经验应用到未来的科研或工程项目中。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
西南科技大学实验报告课程名称:基于FPGA的现代数字系统设计实验名称:硬件电子琴电路设计姓名:学号:班级:通信1301指导教师:刘桂华西南科技大学信息工程学院制硬件电子琴电路设计实验原理一、实验目的:学习利用数控分频器设计硬件电子琴实验。
二、原理说明:主系统由3个模块组成,例1是顶层设计文件,其内部有三个功能模块(如图1所示):Speakera.v(例4) 和ToneTaba.v (例3),NoteTabs.v (例2)。
模块ToneTaba是音阶发生器,当8位发声控制输入Index中某一位为高电平时,则对应某一音阶的数值将从端口Tone输出,作为获得该音阶的分频预置值;同时由Code输出对应该音阶简谱的显示数码,如‘5’,并由High输出指示音阶高8度显示。
模块Speakera中的主要电路是一个数控分频器,它由一个初值可预置的加法计数器构成,当模块Speakera由端口Tone获得一个2进制数后,将以此值为计数器的预置数,对端口Clk12MHZ输入的频率进行分频,之后由Spkout 向扬声器输出发声。
增加一个NoteTabs模块用于产生节拍控制(Index数据存留时间)和音阶选择信号,即在NoteTabs模块放置一个乐曲曲谱真值表,由一个计数器的计数值来控制此真值表的输出,而由此计数器的计数时钟信号作为乐曲节拍控制信号,从而可以设计出一个纯硬件的乐曲自动演奏电路。
图1 硬件电子琴电路结构二、实验步骤1、构建一个工程名为songer的工程2、分别输入ToneTaba.v、Speakera.v、的Verilog HDL文本,进行综合和功能仿真,理解、验证模块功能。
(1)创建音节发生器ToneTaba.v模块module ToneTaba (Index,Code,High,Tone);input[3:0] Index;output[3:0] Code;output High;output[10:0] Tone;reg[3:0] Code;reg High;reg[10:0] Tone;always @ (Index)begincase(Index)4'b0000:beginTone<=11'b11111111111;Code<=4'b0000;High<=1'b0;end//2047 4'b0001:beginTone<=11'b01100000101;Code<=4'b0001;High<=1'b0;end//773 4'b0010:beginTone<=11'b01110010000;Code<=4'b0010;High<=1'b0;end//912 4'b0011:beginTone<=11'b10000001100;Code<=4'b0011;High<=1'b0;end//1036 4'b0101:beginTone<=11'b10010101101;Code<=4'b0101;High<=1'b0;end//1197 4'b0110:beginTone<=11'b10100001010;Code<=4'b0110;High<=1'b0;end//1290 4'b0111:beginTone<=11'b10101011100;Code<=4'b0111;High<=1'b0;end//1372;4'b1000:beginTone<=11'b10110000010;Code<=4'b0001;High<=1'b1;end//1410;4'b1001:beginTone<=11'b10111001000;Code<=4'b0010;High<=1'b1;end//1480;4'b1010:beginTone<=11'b11000000110;Code<=4'b0011;High<=1'b1;end//1542;4'b1100:beginTone<=11'b11001010110;Code<=4'b0101;High<=1'b1;end//1622;4'b1101:beginTone<=11'b11010000100;Code<=4'b0110;High<=1'b1;end//1668;4'b1111:beginTone<=11'b11011000000;Code<=4'b0001;High<=1'b1;end//1728;default:beginTone<=11'b11111111111;Code<=4'b0000;High<=1'b0;end//2047 endcaseendendmodule对该模块进行综合,然后创建激励文件Test Fixture如下:得到波形图如图所示:(2)创建一个数控分频器Speakera.v模块module Speakera(Clk,Tone,SpkS); input Clk;input[10:0] Tone;output SpkS;reg PreClk;reg FullSpkS;reg[3:0] Count4;reg[10:0]Count11;reg Count2;reg SpkS;always@(posedge Clk)beginif(Count4>11)beginPreClk<=1'b1;Count4<=1;endelse beginPreClk<=1'b0;Count4<=Count4+1'b1;endendalways@(posedge PreClk)beginif(Count11>=11'h7FF) beginCount11<=Tone;FullSpkS<=1'b1;endelse beginCount11<=Count11+1'b1;FullSpkS<=0;endendalways@(posedge FullSpkS)beginCount2<=~Count2;if(Count2==1'b1) SpkS<=1'b1;else SpkS<=1'b0;endendmodule然后进行综合。
3、输入50MHZ到12.5MHZ和50MHZ到4HZ的分频模块(1)div_50_12M.v模块module div_50_12M(clk_50M,clk_12M,reset);input clk_50M;input reset;output clk_12M;reg [23:0] counter;reg clk_12M;always @ (posedge clk_50M or negedge reset) if(!reset)counter <= 24'b00;elseif(counter == 3) //3counter <= 24'b0;elsecounter <= counter + 1'b1;always @ (posedge clk_50M or negedge reset) if(!reset)clk_12M <= 1'b0;elsebeginif(counter ==24'd3)clk_12M <= 1'b1;elseclk_12M <= 1'b0;endendmodule对其进行综合,并创建激励文件进行仿真:仿真得到的波形(2)系统需要4HZ频率读ROM,于是用50MHZ,分频得到4HZ频率。
module div_50_4HZ(clk_50M,clk_4HZ,reset);input clk_50M;input reset;output clk_4HZ;reg [23:0] counter;reg clk_4HZ;always @ (posedge clk_50M or negedge reset) if(!reset)counter <= 24'b00;elseif(counter == 12499999) //3counter <= 24'b0;elsecounter <= counter + 1'b1;always @ (posedge clk_50M or negedge reset) if(!reset)clk_4HZ <= 1'b0;elsebeginif(counter ==24'd12_499_999)clk_4HZ <= 1'b1;elseclk_4HZ <= 1'b0;endendmodule对其进行综合。
4、输入Notetabs .v模块,调用ROM的IPcore实现对《梁祝》音乐的存储。
(1)I P核的创建【Projcet Navigator】中新建Coregen IP类型的资源,输入CEO文件(2)V errilog文本输入module NoteTabs(Clk,ToneIndex);input Clk;output[3:0] ToneIndex;reg[7:0] Counter;always@(posedge Clk ) beginif(Counter>=138) Counter<=8'b00000000;else Counter<=Counter+1'b1;endMusic u5( .addr(Counter),.clk(Clk),.dout(ToneIndex) );endmodule对该模块进行综合,输入激励文件:进行功能仿真,得到波形如下5、创建顶层文件module songer(clk_50M,reset,Code1,High1,Spkout);input clk_50M;//CLK=50MHZinput reset;output[3:0] Code1;output High1,Spkout;wire[10:0] Tone;wire[3:0] ToneIndex;wire clk_4HZ,clk_12M;NoteTabs u0( .Clk(clk_4HZ),.ToneIndex(ToneIndex) );ToneTaba u1( .Index(ToneIndex),.Code(Code1),.High(High1),.Tone(Tone) );Speakera u2( .Clk(clk_12M),.Tone(Tone),.SpkS(Spkout) );div_50_12M u3(clk_50M,clk_12M,reset); div_50_4HZ u4(clk_50M,clk_4HZ,reset);endmodule对顶层文件进行综合6、引脚锁定7、下载到实验板上进行验证三、实验结果及分析1、对tonetabs模块波形进行分析如图所示,根据音节发生器功能真值表,当发声控制输入Index为某一音符对应的值时,则对应某一音阶的数值将从端口Tone输出,同时由Code 输出对应该音阶简谱的显示数码,并由High输出指示音阶高8度显示。