哈工大FPGA设计与应用分频器设计实验报告
- 格式:docx
- 大小:179.38 KB
- 文档页数:9
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灯的亮灭情况,验证了我们编写的代码的正确性。
分频器设计实验报告一、实验目的本次实验的主要目的是设计并实现一个分频器,以深入理解数字电路中频率分频的原理和实现方法,掌握相关的电路设计和调试技能。
二、实验原理分频器是一种数字电路,用于将输入的时钟信号的频率降低为原来的 1/N,其中 N 为分频系数。
常见的分频器有偶数分频器和奇数分频器。
偶数分频器的实现相对简单,可以通过计数器来实现。
当计数器计数值达到分频系数的一半时,输出信号翻转,从而实现偶数分频。
奇数分频器的实现则较为复杂,通常需要使用多个触发器和组合逻辑电路来实现。
在本次实验中,我们将分别设计一个偶数分频器(以 4 分频为例)和一个奇数分频器(以 3 分频为例)。
三、实验器材1、数字电路实验箱2、示波器3、逻辑分析仪4、集成电路芯片(如 74LS 系列芯片)四、实验步骤(一)4 分频器的设计与实现1、原理图设计使用 74LS161 四位二进制同步计数器作为核心器件。
将计数器的时钟输入端连接到输入时钟信号。
将计数器的输出端 Q2 和 Q0 通过与门连接到一个 D 触发器的时钟输入端。
将 D 触发器的输出端作为 4 分频器的输出。
2、硬件连接按照原理图在数字电路实验箱上进行芯片的插装和连线。
3、调试与测试输入一个频率稳定的时钟信号。
使用示波器观察输入时钟信号和输出分频信号的波形,验证是否实现了 4 分频。
(二)3 分频器的设计与实现1、原理图设计使用两个 D 触发器和一些组合逻辑门(如与门、或门等)来实现 3 分频。
第一个 D 触发器的输出作为第二个 D 触发器的输入。
通过组合逻辑门对两个 D 触发器的输出进行处理,得到 3 分频的输出信号。
2、硬件连接按照原理图在数字电路实验箱上进行芯片的插装和连线。
3、调试与测试输入一个频率稳定的时钟信号。
使用示波器观察输入时钟信号和输出分频信号的波形,验证是否实现了 3 分频。
五、实验结果(一)4 分频器实验结果通过示波器观察输入时钟信号和输出分频信号的波形,发现输出信号的频率为输入信号频率的 1/4,成功实现了 4 分频功能。
目录实验一分频器实验三 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实验报告7__1HZ分频器Lab 7 1HZ分频器设计集成1101班1.实验目的熟悉用Quartus编译Verilog语言的方法。
掌握用Verilog HDL 语言描述分频器的方法。
学会FPGA I/O引脚分配和实现过程。
2.实验内容a)使用Verilog语言实现分频器。
b)得到仿真波形。
c)使用DE0开发板下载。
3.代码分析输入50MHZ时钟信号CP和控制信号CR,输出Q,Q有两种状态:0和1。
用reg型变量CT实现计数,当CT=25M 时,Q翻转,实现把50MHZ信号转变成1HZ的功能。
module fenpin (CP,CR,Q);input CP,CR;output Q;reg [31:0] CT;reg Q;always @(posedge CP or negedge CR)beginif (~CR) CT<=32'd0;else if (CT>=32'd2*******)beginCT<=32'd0;Q=~Q;endelse CT<=CT+1'd1;endendmodule4.实验步骤(1)打开Quartus9.1软件,选择“File=>New Project Wizard”,在弹出的窗口中输入项目的名称和存储位置。
(2)单击两次Next后,选择实验板的具体型号。
(3)在“File=>New”的窗口中选择建立Verilog文件。
(4)单击OK后,在Quartus窗口的右方看到该文件,写入代码后选择“File=>Save”,将文件保存在与项目文件同样的位置即可。
然后可以看到如下状态:(5)选择“Processing=》Start Compilation”开始编译,编译通过后可以查看生成的Report。
(6)选择“file->new->vector waveeform file”生成波形图,设置波形。
FPGA设计与应用分频器设计实验报告班级:1105103班姓名:郭诚学号:1110510304日期:2014年10月11日实验性质:验证性实验类型:必做开课单位:电信院学时:2学时一、实验目的1、了解Quartus II软件的功能;2、掌握Quartus II的HDL输入方法;3、掌握Quartus II编译、综合、适配和时序仿真;4、掌握Quartus II管脚分配、数据流下载方法;5、了解设计的资源消耗情况;6、掌握分频器和计数器的实现原理;7、掌握数码管的静态和动态显示原理二、实验准备(1分)2.1 EP2C8的系统资源概述逻辑单元8,256M4K RAM 块(4k比特+512校验比特) 36总的RAM比特数165,888嵌入式乘法器18锁相环PLLs 22.2 工程所用到的FPGA引脚及功能说明工程所用到的FPGA引脚及功能说明:PIN_23是时钟引脚;PIN_114 PIN_117 PIN_127 PIN_134是数码管的位选引脚;PIN_133 PIN_116 PIN_110 PIN_112 PIN_128 PIN_118 PIN_115是数码管段选信号引脚;实验所用的LED是共阴级连接2.3 数码管的动态显示原理动态显示是将所有数码管的8个显示笔划"a,b,c,d,e,f,g,dp"的同名端连在一起,另外为每个数码管的公共极COM增加位选通控制电路,位选通由各自独立的I/O 线控制,当输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于FPGA对位选通COM端电路的控制,所以只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。
通过分时轮流控制各个数码管的的COM端,就使各个数码管轮流受控显示,这就是动态驱动。
在轮流显示过程中,每位数码管的点亮时间为1~2ms,由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感。
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的基本原理、主要特点和应用领域,以及学习使用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设计和开发的基本方法。
FPGA实验报告()————————————————————————————————作者:————————————————————————————————日期:武汉工程大学电气信息学院《FPGA与硬件描述语言》实验报告[ 1 ]专业班级13电信01班实验时间2015 年 10 月 12 日学生学号1304201426 实验地点4B 315学生姓名曾维颖指导教师曹新莉实验项目闪烁的LED实验类别基础实验实验学时4学时实验目的及要求1.掌握QuartusII设计电路的基本流程,熟悉VHDL程序,分别设计分频电路,LED 闪烁延时计数程序。
2.将设计好的LED闪烁电路程序下载到DEII开发板上进行实物测试。
成绩评定表类别评分标准分值得分合计上机表现按时出勤、遵守纪律认真完成各项实验内容30分报告质量程序代码规范、功能正确填写内容完整、体现收获70分说明:评阅教师:日期: 2015年月日实验内容(说明:此部分应包含:实验内容、实验步骤、实验数据与分析过程等)一、实验内容1.用VHDL语言设计分频器,得到0.1Hz——1Hz 的时钟信号;2.设计闪烁延时程序,控制发光二极管的闪烁。
二、实验方法与步骤分频电路的产生1. 分频原理:(50MHz晶振信号怎样分频成你所需要的低频信号。
)50MHz=50×100×100×100Hz,这样就需要1个50Hz分频器,3个100Hz分频器2.50分频器:源程序如下(记作cnt50)library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity cnt50 isport( clk : in std_logic;en : in std_logic;clr : in std_logic;cout: out std_logic;q : buffer std_logic_vector (5 downto 0));end cnt50;architecture one of cnt50 isbeginprocess(clk,clr) beginif clr='1' then q<="000000";elsif clk'event and clk='1' thenif en='1' then if q="110001"then q<="000000";else q<=q+1;end if;end if;end if;if q="110001"then cout<='1'; else cout<='0';end if;end process;end one;3.100分频器:(记作cnt100)源程序:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity cnt100 isport( clk : in std_logic;en : in std_logic;clr : in std_logic;cout: out std_logic;q : buffer std_logic_vector (6 downto 0));end cnt100;architecture one of cnt100 isbeginprocess(clk,clr) beginif clr='1' then q<="0000000";elsif clk'event and clk='1' thenif en='1' then if q="1100011"then q<="0000000";else q<=q+1;end if;end if;end if;if q="1100011"then cout<='1'; else cout<='0';end if;end process;end one;4. LED闪烁定时电路:源程序:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity cnt5 isport( clk : in std_logic;en : in std_logic;clr : in std_logic;cout: out std_logic;q : buffer std_logic_vector (2 downto 0));end cnt5;architecture one of cnt5 isbeginprocess(clk,clr) beginif clr='1' then q<="000";elsif clk'event and clk='1' thenif en='1' then if q="100"then q<="000";else q<=q+1;end if;end if;end if;if q="100"then cout<='1'; else cout<='0';end if;end process;end one;5. 顶层文件,将所有底层原件集成为顶层设计文件:三、实验数据与结果分析t50波形图t100波形图实验总结(说明:总结实验认识、过程、效果、问题、收获、体会、意见和建议。
fpga实训报告1、实训背景本次FPGA实训旨在提升学员对于FPGA(Field-Programmable Gate Array)的了解和应用能力。
通过实际操作,加深对FPGA结构、原理和编程的理解,提高在数字电路设计和嵌入式系统开发中的实践能力。
2、实训目标2.1 掌握FPGA的基本原理和工作原理;2.2 熟悉FPGA的开发环境和常用开发工具;2.3 学会使用硬件描述语言(HDL)进行FPGA的设计和编程;2.4 利用FPGA实现数字电路设计和嵌入式系统开发。
3、实训过程与方法本次FPGA实训采用了以下步骤和方法:3.1 理论学习:通过课堂讲解和学习资料,学习FPGA的基本概念、原理和应用领域;3.2 实验操作:通过实验指导书,按照实验流程进行FPGA开发环境的搭建、FPGA设计和编程的实际操作;3.3 问题解决:在实验过程中遇到问题时,通过查阅资料、请教老师和同学等方式解决,保证实验的顺利进行;3.4 实验总结:每个实验结束后,撰写实验总结报告,总结所学到的知识和经验。
4、实训内容4.1 FPGA基础知识学习:包括FPGA的定义、特点、结构和工作原理等内容;4.2 FPGA开发环境搭建:包括安装开发软件、连接开发板和计算机等操作;4.3 硬件描述语言(HDL)的学习和应用:包括Verilog和VHDL的基本语法、模块化设计和状态机的实现等;4.4 FPGA设计和编程实验:包括数电实验、数字系统设计和嵌入式系统开发等;4.5 实验总结和报告撰写:对每个实验进行总结,包括实验目的、步骤、结果和心得体会等。
5、实训成果通过本次FPGA实训,学员们取得了一定的成果:5.1 提高了对FPGA的理解和应用能力;5.2 熟悉了FPGA开发环境和常用工具的使用;5.3 学会了使用HDL进行FPGA设计和编程;5.4 实现了数字电路设计和嵌入式系统开发等应用。
6、实训心得本次FPGA实训让我对FPGA有了更深入的了解,通过实际操作,我不仅学会了使用FPGA开发环境和编程工具,还实现了一些具体的应用。
FPGA设计与应用分频器设计实验报告班级:1105103班姓名:郭诚学号:1110510304日期:2014年10月11日实验性质:验证性实验类型:必做开课单位:电信院学时:2学时一、实验目的1、了解Quartus II软件的功能;2、掌握Quartus II的HDL输入方法;3、掌握Quartus II编译、综合、适配和时序仿真;4、掌握Quartus II管脚分配、数据流下载方法;5、了解设计的资源消耗情况;6、掌握分频器和计数器的实现原理;7、掌握数码管的静态和动态显示原理二、实验准备(1分)2.1 EP2C8的系统资源概述逻辑单元8,256M4K RAM 块(4k比特+512校验比特) 36总的RAM比特数165,888嵌入式乘法器18锁相环PLLs 22.2 工程所用到的FPGA引脚及功能说明工程所用到的FPGA引脚及功能说明:PIN_23是时钟引脚;PIN_114 PIN_117 PIN_127 PIN_134是数码管的位选引脚;PIN_133 PIN_116 PIN_110 PIN_112 PIN_128 PIN_118 PIN_115是数码管段选信号引脚;实验所用的LED是共阴级连接2.3 数码管的动态显示原理动态显示是将所有数码管的8个显示笔划"a,b,c,d,e,f,g,dp"的同名端连在一起,另外为每个数码管的公共极COM增加位选通控制电路,位选通由各自独立的I/O 线控制,当输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于FPGA对位选通COM端电路的控制,所以只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。
通过分时轮流控制各个数码管的的COM端,就使各个数码管轮流受控显示,这就是动态驱动。
在轮流显示过程中,每位数码管的点亮时间为1~2ms,由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感。
三、代码及测试3.1 工程源代码及分析(2分)Library IEEE;use IEEE.std_logic_1164.all;use IEEE.std_logic_unsigned.all;Entity gcfp isport ( gc_clk : in std_logic;gc_clkout : out std_logic;gc_s7: out std_logic_vector( 6 downto 0 ); --7段码输出gc_s3: out std_logic_vector( 3 downto 0)); --4个数码管选通end;architecture one of gcfp issignal gc_L1,gc_L2,gc_L3,gc_L4,gc_L:integer; --L1,L2表示分的高低两位L3,L4表示秒的高低两位signal gc_a:std_logic_vector(26 downto 0); --用作计数signal gc_q1:std_logic; --LED灯信号signal gc_b:std_logic_vector(12 downto 0); --用作计数signal gc_q2:std_logic; --数码管扫描信号signal gc_clkout1:std_logic; --数码管扫描信号的输出signal gc_c:std_logic_vector(1 downto 0):="00"; --用于数码管选通--将时钟信号分频(27173913分频)得到频率为1.84Hz(学号为4)的输出信号,要求占空比为25%beginprocess(gc_clk)beginif gc_clk'event and gc_clk='1' thenif gc_a<6793478 thengc_a<=gc_a+1;gc_q1<='1';elsif gc_a<27173913 thengc_a<=gc_a+1;gc_q1<='0';elsegc_a <= (others=>'0');end if;end if;gc_clkout<=gc_q1;end process;--将时钟信号分频得到周期为1ms的信号作为数码管扫描信号process(gc_clk)beginif gc_clk'event and gc_clk='1' thenif gc_b<25000 thengc_b<=gc_b+1;gc_q2<=gc_q2;elsegc_b <= (others=>'0');gc_q2<=not gc_q2;end if;end if;gc_clkout1<=gc_q2;end process;--进行计数,第一、三位模10计数,第二、四位模6计数process(gc_q1)variable min_10:integer:=0;variable min:integer:=0;variable sec_10:integer:=0;variable sec:integer:=0;beginif gc_q1'event and gc_q1='1' thenif sec =9 thensec:=0;if sec_10=5 thensec_10:=0;if min=9 thenmin:=0;if min_10=5 thenmin_10:=0;elsemin_10:=min_10+1;end if;elsemin:=min+1;end if;elsesec_10:=sec_10+1;end if;elsesec:=sec+1;end if;end if;gc_L1 <= min_10;gc_L2 <= min;gc_L3 <= sec_10;gc_L4 <= sec;end process;--用1ms时钟进行模4 计数,用于数码管选通。
计00选通第一位,01选通第二位,10选通第三位,11选通第四位。
并将该位数值送给Led进行七段码译码。
process(gc_q2)beginif gc_q2'event and gc_q2 = '1' thenif gc_c ="11"thengc_c<="00";elsegc_c <= gc_c +1;end if;end if;case gc_c iswhen "00" => gc_s3 <="0001";gc_L <= gc_L4;when "01" => gc_s3 <="0010";gc_L <= gc_L3;when "10" => gc_s3 <="0100";gc_L <= gc_L2;when "11" => gc_s3 <="1000";gc_L <= gc_L1;when others => null;end case;end process;--进行七段码译码process(gc_L)begincase gc_L iswhen 0 => gc_s7 <= "0111111";when 1 => gc_s7 <= "0000110";when 2 => gc_s7 <= "1011011";when 3 => gc_s7 <= "1001111";when 4 => gc_s7 <= "1100110";when 5 => gc_s7 <= "1101101";when 6 => gc_s7 <= "1111101";when 7 => gc_s7 <= "0000111";when 8 => gc_s7 <= "1111111";when 9 => gc_s7 <= "1101111";when others => null;end case;end process;end one;以上代码为本次实验的仿真代码,主要有以下几部分组成:第一部分为实体;第二部分结构体以及各类信号;第三部分为结构体中的各类进程,主要有分频、技术、扫描、译码等部分组成;难点是数码管的计数问题,期间要考虑各种因素,避免C语言的语言逻辑;实验数据的计算:根据实验指导书所给的公式:2-0.04*学号后两位可知F=2-0.04*4=1.84Hz分频系数:N=50MHz/1.84Hz=27173913根据占空比25%可知跳跃点的数值为:N0=27173913*0.25=67934783.3 十分频计数器的仿真波形图(1分)3.4 工程SignalTap II波形图(1分)上升沿:下降沿:四、论述详述Quartus II开发流程(1分)1、打开QuartusⅡ软件;2、选择File→New Project Wizard 新建一项工程;3、单击Next进入;(任何一项设计都是一项工程Project,必须首先为此工程建立一个放置与此工程相关的所有文件的文件夹,要用英文的比如存在E/eda),之后会出现三个要填的,分别E/eda,COUNT,COUNT;单击Next进入下一个,first name不填,单击Next进入对话框。
在该对话框中指定目标器件,(我们选择的是QuickEDA核心板上用的Cyclone系列的EP1C6240C8)next一直到finish4、选择File→New ——VHDL file ,将你的编程复制进去5、File→save as(新建个文件夹用英文的)文件名一定要更改为COUNT(保持和实体一致,默认的文件名为VHDL1)6、在QuartusⅡ主界面下选择Processing→Start Compilation进行全程编译,会显示“successful”7、在QuartusⅡ主界面下选择File→New命令,打开新建文件对话框,在该对话框中选择V ector Waveform File ;8、在Nane栏内双击鼠标左键,弹出对话框。