教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 文库大全 > 专业资料 >

基于FPGA的电子抢答器的程序设计(2)

来源:网络收集 时间:2026-07-17
导读: 2.2.2 FPGA工作原理 FPGA采用了逻辑单元阵列LCA(Logic Cell Array)这样一个概念,内部包括可配置逻辑模块CLB(Configurable Logic Block)、输出输入模块IOB(Input Output Block)和内部连线(Interconnect)三

2.2.2 FPGA工作原理

FPGA采用了逻辑单元阵列LCA(Logic Cell Array)这样一个概念,内部包括可配置逻辑模块CLB(Configurable Logic Block)、输出输入模块IOB(Input Output Block)和内部连线(Interconnect)三个部分。FPGA的基本特点主要有:

1)采用FPGA设计ASIC电路,用户不需要投片生产,就能得到合用的芯片。

2)FPGA可做其它全定制或半定制ASIC电路的中试样片。

3)FPGA内部有丰富的触发器和I/O引脚。

4)FPGA是ASIC电路中设计周期最短、开发费用最低、风险最小的器件之一。

5) FPGA采用高速CHMOS工艺,功耗低,可以与CMOS、TTL电平兼容。

可以说,FPGA芯片是小批量系统提高系统集成度、可靠性的最佳选择之一。 FPGA是由存放在片内RAM中的程序来设置其工作状态的,因此,工作时需要对片内的RAM进行编程。用户可以根据不同的配置模式,采用不同的编程方式。

加电时,FPGA芯片将EPROM中数据读入片内编程RAM中,配置完成后,FPGA进入工作状态。掉电后,FPGA恢复成白片,内部逻辑关系消失,因此,FPGA能够反复使用。FPGA的编程无须专用的FPGA编程器,只须用通用的EPROM、PROM编程器即可。当需要修改FPGA功能时,只需换一片EPROM即可。这样,同一片FPGA,不同的编程数据,可以产生不同的电路功能。因此,FPGA的使用非常灵活。

2.2.3 FPGA开发流程

FPGA开发流程可以分为如下几步:

①设计输入,设计输入主要包括原理图输入、状态图输入、波形图输入以及某种硬件描述语言,比如说是VHDL、Verilog的源程序。它是利用这些输入去描述一个电路的功能。

②功能仿真,功能仿真就是利用相关仿真工具对相关电路进行功能级别仿真,也就是说对你的输入设计的逻辑功能进行相关的模拟测试。在功能上面来了解电路是否能够达到预期要求。这里的功能仿真纯粹是模拟性质的,不会设计的任何具体器件的硬件特性。

③综合,综合就是行为或者功能层次表达的电子系统转换成低层次门级电路

的网表。

④布局布线,就是将综合后的网表文件针对某一个具体的目标器件进行逻辑映射。此时应该使用FPGA厂商提供的实现与布局布线工具,根据所选芯片的型号,进行芯片内部功能单元的实际连接与映射。

⑤时序验证,就是要使得时序仿真过程中,建立与保持时间要符合相关的制约,以便数据能被正确的传输。使仿真既包含门延时,又包含线延时信息。能较好地反映芯片的实际工作情况。

⑥生成SOF等文件,此文件可以通过调试器把它下载到系统中间去。而FPGA设计流程的其他步骤基本上由相关工具去完成,因此只要自己设置好相关参数,不要人为干预太多。而验证的话就需要用户花费大量的时间去完成。

2.3 Quartus II软件

Quartus II是Altera提供的FPGA/CPLD开发集成环境,Altera是世界最大可编程逻辑器件供应商之一。Quartus II在21世纪初推出,是Altera前一代FPGA/CPLD集成开发环境MAX+plus II的更新换代产品,其界面友好,使用便捷。在Quartus II上可以完成设计输入、HDL综合、布线布局(适配)、仿真和下载和硬件测试等流程,它提供了一种与结构无关的设计环境,使设计者能方便地进行设计输入、快速处理和器件编程。

Altera的Quartus II 提供了完整的多平台设计环境,能满足各种特定设计的需要,也是单芯片可编程系统(SOPC)设计的综合性环境和SOPC开发的基本设计工具,并为Altera DSP开发包进行系统模型设计提供了集成综合环境。Quartus II设计工具完全支持VHDL、Verylog的设计流程,其内部嵌有VHDL、Verilog逻辑综合器。Quartus II也可以利用第三方的综合工具,如Leonardo Spectrum、Synplify Pro、FPGA Complier II,并能直接调用这些工具。同样,Quartus II具备仿真功能,同时也支持第三方的仿真工具,如ModelSim。此外,Quartus II与MATLAB和DSP Builder结合,可以进行基于FPGA的DSP系统开发,是DSP硬件系统实现的关键EDA工具。

Quartus II包括模块化的编译器。编译器包括的功能模块有分析/综合器(Analysis & Synthesis)、适配器(Filter)、装配器(Assembler)、时序分析器(Timing

Analyzer)、设计辅助模块(Design Assistant)、EDA网表文件生成器(EDA Netlist Writer)和编辑数据接口(Complier Database Interface)等。可以通过选择Start Complication来运行所有的编译器模块,也可以通过选择Start单独运行各个模块。还可以通过选择Complier Tool(Tools 菜单),在Complier Tool 窗口中运行该模块来启动编辑器模块。在Complier Tool 窗口中,可以打开该模块的设置文件或报告文件,或打开其他相关窗口。

Quartus II编译设计的主控界面显示了Quartus II自动设计的各主要处理环节和设计流程,包括设计输入编辑、设计分析与综合、适配、编程文件汇编(装配)、时序参数提取以及编程下载几个步骤。

图1 Quartus II设计流程

3系统设计

3.1 系统设计要求

抢答器是在竞赛、文体娱乐活动(抢答活动)中,能准确、公正、直观地判断出抢答者的机器。本设计使用硬件描述语言VHDL设计基于FPGA的电子抢答器的源程序。要求实现如下功能:设计一个四路抢答器;在一路成功抢答有效后,其他三路均不能抢答,并且将抢答成功的一路用指示灯显示出来。

3.2 系统设计方案

3.2.1 系统硬件设计方案

本设计分为硬件设计和软件设计,这两者相互结合,不可分离;从时间上看,硬件设计的绝大部分工作量是在最初阶段,到后期往往还要做一些修改。只要技术准备充分,硬件设计的大返工是比较少的,软件设计的任务贯彻始终,到中后期基本上都是软件设计任务。

图2 硬件设计流程

3.2.2 系统软件设计方案

软件设计和硬件电路设计应结合进行,哪些功能由硬件完成,哪些任务由软件完成,在硬件电路设计基本定型后,也就基本上决定下来了。

软件任务分析环节是为软件设计做一个总体规划。从软件的功能来看可分为两大类:一类是执行软件,它能完成各种实质性的功能,如测量,计算,显示,输出控制和通信等,另一类是监控软件,它是专门用来协调各执行模块和操作者的关系,在系统软件中充当组织调度角色的软件。这两类软件的设计方法各有特色,执行软件的设计偏重算法效率,与硬件关系密切,千变万化。

软件任务分析时,应将各执行模块一一列出,并为每一个执行模块进行功能定义和接口定义(输入输出定义)。在各执行模块进行定义时,将要牵扯到的数据结构和数据类型问题也一并规划好。

各执行模块规划好后,就可以监控程序了。首先根据系统功能和键盘设置选择一种最适合的监控程序结构。相对来讲,执行模块任务明确单纯,比较容易编程,而监控程序较易出问题。这如同当一名操作工人比较容易,而当一个厂长就比较难了。

图3 软件设计流程

3.3.3 系统原理详述

图4 具有完整抢答器功能的结构图

根据对系统设计要求的分析可知,系统的输入信号有:各组的抢答按钮S0,S1,S2,S3输入,复位信号CLEAR用于控制整个系统清0,按下该复位键系统清0,抬起该复位键抢答开始。在主持人将系统复位并使抢答有效开始后,S0,S1,S2,S3任何第一抢答者按下抢答按钮,对应的输入引脚接高电位1,电路记忆下第一抢答者身份,并封锁其他各组的按钮,即其他任何一组按键都不会使电路响应,完成 …… 此处隐藏:3113字,全部文档内容请下载后查看。喜欢就下载吧 ……

基于FPGA的电子抢答器的程序设计(2).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wenku/268523.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)