FPGA专题实验实验报告-西安交通大学
- 格式:docx
- 大小:410.29 KB
- 文档页数:8
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.实际实现完成物理综合后,我们开始进行实际的系统实现。
第1篇一、实验目的1. 熟悉可编程逻辑器件(FPGA)的基本原理和操作方法。
2. 掌握使用FPGA进行数字电路设计的流程。
3. 学会使用FPGA进行简单数字电路的设计与实现。
二、实验器材1. FPGA开发板2. 编译器软件(如Xilinx ISE、Vivado等)3. 实验指导书4. 实验数据线三、实验原理可编程逻辑器件(FPGA)是一种基于半导体工艺的可编程数字电路,具有高集成度、高速度、可重构性强等特点。
FPGA通过内部逻辑单元(如查找表、触发器等)来实现各种数字电路功能。
本实验主要涉及以下原理:1. 数字电路基本原理2. 可编程逻辑器件(FPGA)的基本结构和工作原理3. 编译器软件的使用方法四、实验步骤1. 熟悉开发板(1)认识开发板上的各个模块,如时钟模块、输入输出模块、存储器模块等。
(2)了解开发板上各个模块的功能和作用。
2. 设计数字电路(1)根据实验要求,设计所需的数字电路。
(2)使用原理图或HDL语言进行电路描述。
3. 编译与下载(1)使用编译器软件对设计的数字电路进行编译。
(2)生成比特流文件。
(3)将比特流文件下载到FPGA中。
4. 测试与验证(1)观察FPGA上各个模块的输出信号,验证电路功能是否正确。
(2)使用示波器等仪器进行波形观察,进一步验证电路功能。
五、实验内容1. 设计一个4位全加器(1)原理图设计:使用原理图编辑器设计4位全加器电路。
(2)HDL语言设计:使用HDL语言描述4位全加器电路。
(3)编译与下载:将设计的电路编译成比特流文件,下载到FPGA中。
(4)测试与验证:观察FPGA上各个模块的输出信号,验证4位全加器电路功能是否正确。
2. 设计一个8位奇偶校验器(1)原理图设计:使用原理图编辑器设计8位奇偶校验器电路。
(2)HDL语言设计:使用HDL语言描述8位奇偶校验器电路。
(3)编译与下载:将设计的电路编译成比特流文件,下载到FPGA中。
(4)测试与验证:观察FPGA上各个模块的输出信号,验证8位奇偶校验器电路功能是否正确。
西安交通大学数字电子技术实验报告实验三、ISE基础实验预习:(1)安装ISE13.4软件。
(2)按照视频文件“Verilog语言输入法D_Flip_Flop.exe”进行演练。
实验内容和步骤:下载开发板相关器件的Datasheet,了解其性能。
按照P249附录A“FPGA实验预习报告模板”中的内容和步骤,完成D触发器的设计、综合、实现、仿真和下载全过程,熟悉ISE编程环境和用Adept下载编程文件的方法。
1.在G盘用自己的学号建立文件夹,进入用自己学号建立的文件夹后,再建立本次实验的文件夹,及本次实验所建工程的文件夹,文件夹名可以起名为:D_Flip_Flop、My_FirstISE、或Experiment_1、或Test_1,等等。
2.建立工程文件。
3.输入D触发器的Verilog程序。
4.编写D触发器的约束文件。
5.综合、实现及生成编程文件。
6.基于ISim的行为仿真。
7.采用Adept软件下载*.bit 程序到开发板。
8.测试D触发器的逻辑功能。
通过D触发器设计熟悉ISE软件后,自己设计一个门电路,例如与非门,重复以上ISE 软件的使用步骤。
验收:1.按照老师布置的逻辑门电路设计Verilog语言程序、约束文件、下载、仿真。
要能说明任一时刻输入输出的逻辑关系。
2.能够用开发板演示所设计的逻辑功能。
实验程序1.VERILOG工程文件module D_Flip_Flop(input clk,input set,input D,input clr,output reg q //注意:always模块中的输出必须是寄存器型变量);always @(posedge clk or posedge clr or posedge set)beginif(clr) q<=0;else if(set) q<=1;else q<=D;endendmodule2.约束文件NET "clk" LOC ="B8"; //时钟NET "D" LOC ="N3"; //SW7NET "set" LOC ="L3"; //SW1NET "clr" LOC ="P11"; //SW0NET "q" LOC ="G1"; //LD73.仿真文件module test_D_Flip_Flop;// Inputsreg clk;reg set;reg D;reg clr;// Outputswire q;// Instantiate the Unit Under Test (UUT) D_Flip_Flop uut (.clk(clk),.set(set),.D(D),.clr(clr),.q(q));initial begin// Initialize Inputsclk=0;set=1;D=0;clr=0;// Wait 100 ns for global reset to finish #100;// Add stimulus hereEndalways#10clk=~clk;always#12D=~D;always#33clk=~clk;always#42set=~set;endmodule仿真结果:实验四、组合逻辑电路实验Ⅰ(2学时)组合逻辑Ⅰ:(1)使用VERILOG设计一个新的逻辑功能(比如四输入或门、或非门、与或非门等等),并在开发板上验证,比如:进实验室前编写好VERILOG源文件、约束文件和仿真文件(见4.1.2,P101(2))。
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实训报告日期:XXXX年XX月XX日摘要:本报告旨在总结并展示我参加的FPGA实训项目的工作成果和经验。
报告主要分为以下几个部分:项目背景与目标、项目设计与实现、测试与调试、结果与分析以及结论与展望。
一、项目背景与目标在现代电子技术领域中,Field-Programmable Gate Array(FPGA)的应用越来越广泛。
因此,为了增强我对FPGA原理和应用的理解,我参加了一项FPGA实训项目。
该项目的主要目标是让参与者通过实际操作来学习FPGA的设计、开发和调试。
二、项目设计与实现2.1 硬件设计在项目开始之前,我首先进行了相关资料的研究,并理解了FPGA的基本原理和内部结构。
之后,我根据项目要求,设计了一个简单的数字系统,包括输入模块、处理模块和输出模块。
我按照设计要求,选用了适合的FPGA开发板,并完成了硬件电路的连接。
2.2 软件实现在硬件设计完成后,我使用了常见的设计工具,如Vivado和Quartus等,编写了相应的代码并进行了逻辑综合与布局布线。
我确保了设计的正确性和可执行性,并对设计进行了仿真与优化。
三、测试与调试为了确保设计的正确性和稳定性,我对硬件电路进行了全面的测试与调试。
我使用了不同的输入数据集对系统进行测试,并观察了输出结果。
根据测试结果,我及时进行了一些修正和优化。
四、结果与分析通过对实验结果的观察和分析,我发现设计的数字系统在各种条件下都能正常工作,并且其性能表现符合设计要求。
项目的目标得到了很好地实现。
五、结论与展望本次FPGA实训项目使我对FPGA的理论知识有了更深入的理解,并提高了我的实践能力。
在未来,我希望能够进一步学习和应用FPGA 技术,探索更多的应用领域,并且将这些知识和经验应用到实际项目中。
总结:通过本次FPGA实训项目,我不仅加深了对FPGA原理的理解,还提高了硬件设计和软件开发的能力。
通过设计、实现、测试和调试一个完整的数字系统,我逐渐掌握了FPGA的开发流程和技巧。
“嵌入式系统专题实验”实验报告六实验日期:2015年11月22日提交日期:2015年11月29日班级:姓名:学号:一、实验简介与目的这部分分成若干实验,首先我们将使用标准Simulink模块搭建一个降频器,计算过程采用双精度。
之后我们将考虑如何优化各组件使之适用于实现FPGA。
实验基本内容:1.1使用DSP完成降频1.2 CIC滤波器在降频中的使用二、实验内容与步骤2.1 设计降频器打开以下系统:\downconversion\mixer\rf_signal.mdl在本例中源信号被存在文件中并且采样频率为f s= 10Mhz。
有用信号的频谱被调制在1.8MHz,整个5MHz频率范围内的无用信号包括噪声分量和3MHz频率附近的附加干扰信号。
具体的频谱如下图所示:运行该系统,并观察接收信号,正如上图所示,频谱中包含了两种明显不同的组成分量:第一种位于1.8MHz附近,它由几种不同的谐波分量组成;第二种为干扰信号,中心频率位于3MHz附近。
为了解释清楚降频器是如何工作的,我们将使用Xilinx System Generator搭建一套系统用于解调1.8MHz附近的频率分量至基带。
请按照以下步骤进行:2.1.1我们可以使用1.8MHz的cosine正弦波与信号相乘来达到降频的目的。
打开以下系统:\downconversion\mixer mixer.mdl2.1.2设计一个低通滤波器:保留1.8MHz频率分量,对3MHz的信号分量衰减至少60dB。
可以使用Simulink中的FDATool设计该滤波器:\downconversion\mixer\lpfilter.mdl2.1.3假定原始信号带宽为1MHz,在滤波器的输出端将该信号减采样50倍:\downconversion\mixer\decimate.mdl2.1.4 验证降频器正常工作。
2.2 设计带有CIC滤波的降频器在本实验中,我们将设计一个带有CIC滤波的数字降频器。
电子技术实验报告——交通控制器的分析与设计班级:姓名:学号:日期:2016年6月联系电话:目录一、实验目的 (3)二、项目设计概要 (3)三、系统设计方案 (4)四、测试结果及分析 (9)五、项目总结 (10)六、结束语 (10)七、参考书 (10)一.实验目的数字逻辑电路专题实验是紧紧围绕数字逻辑这门课程进行的一个有实践性特质的课程,主要考察的是对于数字逻辑这门课程中比较重要的知识点的掌握程度和灵活运用程度,也考察了实际操作能力和对于特殊情况和意外情况的处理能力。
通过对于译码器编码器等器件的实际操作和对相应变成软件的实际应用,达到对于这门课程更为深入理解这一目的。
同时,为解决实际生活中的问题有一定的指导意义,也能更好地对实际生活中的一些组合部件有更好地认识。
二.项目设计概要1. 设计实现的目标设计一个由一条主干道和一条支干道的汇合点形成的十字交叉路口的交通灯控制器,具体要求如下:(1) 主、支干道各设有一个绿、黄、红指示灯,两个显示数码管。
(2) 主干道处于常允许通行状态,而支干道有车来才允许通行。
(3) 当主、支道均有车时,两者交替允许通行,主干道每次放行45 s,支干道每次放行25 s,在每次由亮绿灯变成亮红灯的转换过程中,要亮5 s的黄灯作为过渡,并进行减计时显示。
2. 整体设计概述交通控制器拟由单片的CPLD/FPGA来实现,经分析设计要求,拟定整个系统由9个单元电路组成,如图所示。
3. 项目设计特点我们在项目设计过程中采用模块化设计思想,同时用变量的方式来完成计数的设计,用计数器来实现显示这一特点,使得设计变得简单。
三.系统设计方案1. 系统功能模块设计示意图:2. 电路模块设计输入:实验板时钟输出:七段数码管电路模块的设计:(1)交通灯控制器:将题设的要求把电路分为ABCD四个状态,A为主干道为绿灯,B为主干道为黄灯,C为主干道为红灯,D为主干道为红灯,旁道为黄灯。
用特设的一个变量S,完成电路的即使功能,使得电路可以区分45s,25s等时间点,并且通过if语句完成状态之间的改变。
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系统设计》实验报告》时序逻辑电路的设计
一、设计任务
分别设计并实现锁存器、触发器的VHDL模型。
二、设计过程
1、同步锁存器:
同步锁存器是指复位和加载功能全部与时钟同步,复位端的优先级较高。
下图为同步锁存器的VHDL程序及模型:
2、异步锁存器:
异步锁存器,是指复位与时钟不同步的锁存器。
下图为同步锁存器的VHDL程序及模型:
3、D触发器:
D触发器是最常用的触发器。
下图为简单D触发器的VHDL 模型:
4、T触发器:
T触发器的特点是在时钟沿处输出信号发生翻转。
按
照有无复位、置位信号以及使能信号等,T触发器也有多种类型。
下图为带异步复位T触发器的VHDL模型:
5、JK触发器:
JK触发器中,J、K信号分别扮演置位、复位信号的角色。
为了更清晰的表示出JK触发器的工作过程,以下给出JK触发器的真值表(如表1所示)。
表1 JK触发器真值表
按照有无复位、置位信号,常见的JK触发器也有多种类型,下图带异步复位(clr)、置位(prn)的JK触发器的VHDL模型:
三.总结
本次实验中较为顺利,在第一次课的时间内我就已经完成了必做实验与选作实验。
在实验的过程中,在防抖电路处有了较大的困难。
由于仿真中不存在此问题,在实际操作中参数选择时遇到了一定的困难。
在反复比对效果之后,我
确定了电路的参数,实现了防抖功能。
通过这次实验,我对时钟脉冲、计数器等有了更加深入的认识与理解。
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上进行了验证。
实验1:状态机
问题一:你觉得上面这段代码中,q 到底在怎样变化?
答:首先语句中缺少begin ,q <= q 也不合理;如果有异步复位信号,q=0;否则,如果有上升沿且a 不等于1,q=q ;如果有上升沿且a=1,q 直接等于b ;
问题二:本页中,q 到底在怎样变化? 答:复位时,q=0;否则q=d 。
问题三:sync 电路图: 仿真:
该电路使输入信号与时钟同步,并产生稳定脉冲信号,进行节拍分配。
四、红路灯电路系统框图:
问题分析:
东西南北都有车时,状态转换时,东西绿灯时间长于60s ;三秒后,南北通行,绿灯时间少于40s 。
计数器不能使用同一个,但可以减少触发器数目
环节二仿真时注意问题:
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;
begin
if y2=0 then
if (y1 rem 4)=0 then
cout<='1';
else cout<='0';
end if;
elsif y1 rem 4=0 then
cout<='1';
else cout<='0';
end if;
i:=y1;
for n in 0 to 99 loop
i:=i+i;
end loop;
y<=i+y2;
end process;
环节二、两种仿真的比较lab/lab3/step1/memtest.vhd
用功能仿真和时序仿真两种方法,比较一下SS的状态数值的变化。
Functional:
Timing
时序仿真中会出现没有定义过的状态。
环节3 添加地址管理lab/lab3/step1/memtest.vhd
是写重要还是读重要?这个代码,如果读请求被漏掉了怎么办?如何防止?
如何保证写满之后不再写,读空之后不再读。
答:写重要,先把要写的数据存储下来。
如果读请求漏掉了,可以更改设计将读请求存下来,写完调用读请求,继续工作,即乒乓中断读取。
如何保证写满之后不再写,读空之后不再读。
答:在写之前判断内存是否写满,如果写满输出反馈信息,或者丢掉写内容;读出之前判断是否读空,如果读空不在输出,或者发出标志读空信号。
环节5 lab/lab3/step3/sramtop.vhd
该实验中什么速率?
答:串口通讯为115200。
实验4:片内RAM和FIFO;
环节2参考step2的代码,打开lab/lab4/step2/iptop.vhd
如何仿真这个IP核?读请求发出后,数据在何时从管脚送出来?
答:将iptop VHDL文件设为top level entity,编译。
仿真时,将其他连接信号赋值,观察输出。
芯片内部用到三态门,该如何实现?
答:
代码:library IEEE;
use IEEE.std_logic_1164.all;
use ieee.std_logic_arith.all;
use ieee.std_logic_unsigned.all;
entity santai is
port (
d_in : in std_logic;
en : in std_logic;
d_out: out std_logic
);
end santai;
architecture behav of santai is
begin
process(d_in , en)
begin
if en = '1' then
d_out<= d_in;
else
d_out<='Z';
end if;
end process;
end behav;
仿真:
实验5:在线调试与SOC
环节1 生成signal TAPII lab/lab5/section1/
注意各个触发条件是与的关系,同时成立才触发
为什么芯片一编程,PRESSCNT就变成1了。
查查看。
答:因为
process(clock_50)
begin
if clock_50'event and clock_50 = '1' then
sft(1) <= sft(0);
sft(0) <= not outen;
if sft = B"01" then
presscnt <= presscnt +1;
end if;
end if;
end process;
上升沿时初值转移到sft(1),使得 sft = B"01" 成立,于是presscnt +1。
自由设计实验报告
一、设计名称:答辩打分器
二、项目介绍:
在生活中,经常会遇到一位选手展示,数位裁判评价打分的情景。
在简单环境中,大部分情况是人工记录打分情况。
为了实现打分的公平公正、简单省时,
故产生了该项目。
现假情景设有一位答辩人,三位评委,答辩结束,由每一位评委给出3-100的分数(由于答辩人分数和已打分评委数显示在同一数码屏,所以评委给分不得
低于3分,避免混淆),当第一位评委给分后,屏幕显示1,第二位给分后显示2,
当第三位评委给分后,说明打分完毕,屏幕直接显示最终得分,此处以平均数为
例。
得到最终得分之后,由一人 reset 清零,开始下一轮答辩。
信号说明:三位裁判输入的成绩:judge1,judge2,judge3 是脉冲信号
成绩缓存:judgeA,judgeB,judgeC是电平信号
最终得分运算结果:score_int
输出:score
状态分配与化简
三、FPGA在系统中的位置和FPGA内部结构框图;
FPGA在系统中充当数据处理单元,进行各种运算;充当控制单元,控制状态转移和输出;充当存储单元,将输入信号存储下来。
FPGA内部结构框图;
逻辑流程图:
四、完成程度及未完成部分或下布完善计划的讨论。
完成状态:基本功能全部完成
仿真结果:
设计过程中已克服的问题:
1.输入定义为整数INTEGER,占用资源太大;
2.两位评委同时输入,只能接收一位评委的分数,另一位丢失;
3.输出score有一拍显示上一轮得分,之后才给出该轮得分,数据有延迟;
完善计划:
1.解决在一轮里,每一位裁判不可以重复输入,不可修改的限制;
2.添加内存模块,将历史数据记录下来,便于之后查证;
3.增加初始设置功能,使用前可以设置每一位裁判所占权重,保存后,开始打分。