搜档网
当前位置:搜档网 › 基于Xilinx-Spartan6 FPGA的MultiBoot设计的实现

基于Xilinx-Spartan6 FPGA的MultiBoot设计的实现

基于Xilinx-Spartan6 FPGA的MultiBoot设计的实现
基于Xilinx-Spartan6 FPGA的MultiBoot设计的实现

基于Xilinx-Spartan6 FPGA的MultiBoot设计的实现

Xilinx公司出品的Spartan6系列FPGA所具有的MultiBoot特性,允许用户在不掉电重启的情况下,根据不同时刻的需求,有选择地从存储于Flash中的多个配置文件中加载其中的一个,对FPCA在系统重配置,实现不同的功能。MultiBoot 特性使得用户可以在某些场合选择较少逻辑资源的Xilinx FPGA,实现需要较大逻辑资源且较昂贵的FPGA或ASIC才能实现的功能,从而提高器件利用率及系统安全性、降低系统成本。

1 基本概念

Spartan-6 FPGA在上电时从片外Flash加载mcs文件进行配置。根据所包含的bit流文件的个数,mcs文件分为两类:一类是南单bit流文件生成的mcs文件,即该mcs文件中只包含一个bit流文件,用此类mcs文件配置FPGA时,只能

实现一种功能;另一类是由多个bit流文件生成的mcs文件,即该mcs文件包

含多个bit流文件。用此类mcs文件配置FPGA时,可根据需求有选择地加载

其中的某个bit流文件对FPGA进行系统重配置,即MultiBoot特性。

Spartan-6 FPGA拥有专用的MultiBoot逻辑配置模块,来实现MultiBoot和Fallback操作。MultiBoot操作是在各配置bit流文件能正常加载的前提下,通过ICAP设置配置模块中的相关寄存器并触发IPROG命令,实现在不同配置bit流文件中的切换,达到FPGA实现不同功能的目的。Fallback操作是在从配置A

切换到配置B的过程中出错时,用另一个比较“安全”的bit流文件代替配置文件

B配置FPGA的操作。这个比较“安全”的bit流文件称为Golden。

FPGA的重配置操作,是通过专用的ICAP_SPARTAN6原语向配置模块发送IPROG命令来实现的。重配置操作可由FPGA外部的处理器、微控制器、计算机和按键等“智能”终端触发。在应用设计中,只需在每个应用程序中例化一个ICAP_SPARTAN6原语来实现相关命令序列即可实现MultiBoot特性。

Spartan6的多bit流配置可通过SPIx1,x2,x4及BPI模式实现,文中只介绍

基于SPI模式的MultiBoot特性的实现,用配置文件代替应用程序。

2 MultiBoot操作相关寄存器简介

(1)所有Spartan-6 FPGA的bit流控制命令都是通过读写相关配置寄存器实现的。配置数据都是16位宽的字,也有一些数据是多字的,配置数据包含的3个主要命令如表1所示。

(2)所有的操作数据可分为两种:

TYPE1包含两部分:Header,Data。

TYPE2包含3部分:Header,Word Count,Data。

用TPYE1就能实现MultiBoot和Fallback操作,故只介绍TYPE1。TYPE1的Header是个16位字,用其中6位表示相关寄存器的地址,如表2所示。

其中Operation位[12:11]是表1中所列的操作码,寄存器地址[10:5]如表4所示,字节数[4:0]表示操作所需的字节数。

TYPE1的数据部分形式如表3所示。

(3)Spartan-6 FPGA的MultiBoot常用配置寄存器及功能列表如表4所示。

寄存器功能介绍:

1)命令寄存器CMD。命令寄存器CMD存储配置控制命令,以产生全局信号执行其配置功能。在MultiBoot操作中,常用的CMD命令如表5所示。

2)General寄存器。触发IPROG命令后,General1、General2中存放用于对FPGA进行重配置的下一个bit流文件的地址,其中General1存放地址的低16位,General2的高8位存放SPI操作码,低8位存放地址的高8位。General3、General4存放FMlback时的配置文件地址,其中Gener al3存放低16位地址,General4的高8位存放SPI操作码,低8位存放地址的高8位。General5中存放MultiBoot或Fallback时的用户自定义数据。

3)模式寄存器MODE_REG。MODE_REG模式寄存器主要用于重配置时的一些模式设置,如SPI总线的位宽。模式寄存器中各位的功能如表6所示。MultiBoot 和Fallback操作需对[13:8]进行相应设置。

4)控制寄存器CTL、配置选项寄存器COR2。因CRC校验错误也可能触发Fallback操作,因此为安全起见,如果可能发生CRC校验错误,需将CTL寄存

器的CRC_EXTSTAT位清零,使能CRC校验,并将COR2寄存器的RESET_ON_ERROR置1,使能CRC错误时的Fallback操作。但如果能确定不发生CRC错误,可不设置这两位。

3 MultiBoot原理

如上所述,Spartan-6 FPGA内置有专用的MultiBoot逻辑控制模块,来实现MultiBoot(IPROG)和Fallback操作。当触发Fallback或IPROG时,片内会产生一个复位脉冲,使片内配置逻辑复位,但不会使专用的MultiBoot逻辑和BOOTSTS、MODE、G1-G5复位。

实现MultiBoot特性时,存储器中的配置文件组织模式如图1所示。

如图1所示,第一部分是Header,这个小的bit文件中包含同步字、下一个配置文件的地址以及IPROG命令。此段必须位于Flash存储器中的0地址处。该部分可由命令文件生成。第二部分是MultiBootBitstream,由用户的多个bit流配置文件组成,其地址可在生成mcs文件时指定到符合Flash操作要求的任何地方。进行MultiBoot操作时只需通过ICAP向MuhiBoot逻辑控制模块发送IPROG命令,之后控制模块就会根据Gene ral1、General2指定的地址,加载下一个需要的配置文件。第三部分是Fallback或Golden配置文件,地址可由General3、General4指定。

Header、MultiBoot配置文件、Fallback配置文件在加载过程中,如果出错,FPGA 会根据相应寄存器的值,从配置文件的起始地址重新加载3次,加载次数的计数保存在BOOTSTS寄存器的[15:12]位,名称为strike。

Header在加载过程中分配有3个strike计数值:6、7、8。当检测到CRC错误,且RESET_ON_ERROR为1、strike<9,则strike计数器加1,并重新开始配置过程。若看门狗计时器超时也会触发相同操作,但此时会忽略

RESE_ON_ERROR的状态。若strike等于9,则停止配置,且将INIT和DONE 引脚拉低。

MultiBoot配置文件在加载过程也分配有3个strike计数值:0、1、2。当在加载过程检测到错误时,如果strike<3且RESET_ON_ERROR为1,则strike计数器加1,且从General1、General2指定的地址处重新加载配置文件。若strike 计数器等于3,则触发Fallback操作。

Fallback或Golden配置文件在加载过程也分配有3个计数值:3、4、5。当在加载工程中检测到错误时,若strike计数器值<6,则strike计数器加1,并从General3和General4指定的配置文件地址处重新加载配置文件。若strike计数器为6,则从0地址处加载Header配置文件。此时,FPGA会执行循环加载过程:Header→MultiBoot→Fallback(或Golden)→Header,每次循环都会使strike 计数器加1,最多3次。若其间某

个配置文件加载成功,则停止循环,否则直到strike计数为9,停止加载过程。Strike计数器只能通过复位或重启系统清零。

Fallback是一种出于安全性考虑的操作。一旦该操作被触发且加载Golden成功,若再想退出Golden加载其他用户配置文件,只能复位FP GA或重启系统。

4 MultiBoot实现简例

实现MultiBoot操纵有两种方法:(1)基于ICAP的寄存器编程实现。(2)通过在生成bit流文件时,设置相关选项实现。

4.1 基于ICAP的寄存器编程实现

如上所述,通过ICAP_SPARTAN6原语发送IPROG命令,其发送命令序列如下:(1)发送同步字。(2)配置General1-General4,指定相关操作所需配置文件地址及操作码。(3)发送IPROG命令。ICAP_SPARTAN6原语接口定义如表7所示。

在主SPI模式下,ICAP_SPARTAN6的输入数据在从总线I[15:0]输入前,要进行字节范围内的位交换,即16位宽的字分为高8位1 Byte,低8位1 Byte,各字节的最高位[7]和最低位[0]交换,位[6]与位[1]交换,其他以此类推。

通过ICAP触发IPROG的命令序列举例如表8所示。

IPROG命令后需经过一段时间后,FPGA内部才会产生相应的重配置信号,因此在IPROG命令后需跟几个空操作命令,一般为4个。GENERA L2、GENERAL4中的操作码:0x0B、0x3B、0x6B分别为SPIx1、SPIx2、SPIx4。

ICAP逻辑模块是FPGA中的专有逻辑模块,因此在生成bit文件的各源文件中必须都实例化一个ICAP模块。一般情况下对ICAP模块的控制操作通过状态机实现。

4.2 选项设置实现

实现MultiBoot功能所需配置的所有寄存器,均可在生成bit文件时通过添加相

关的生成设置选项实现。在进程菜单中单击Generate Pro gramming File,选择Process Properties,弹出配置窗口如图2所示。

5 结束语

介绍了实现MultiBoot操作的两种方式,一种是基于ICAP的寄存器编码配置方式。可通过源代码中的注释,使后续开发维护人员阅读代码、扩展功能时思路清晰,缺点是需编写大量代码,并需对ICAP的操作与命令序列有一定了解。第二种通过在生成bit文时添加相关设置选项实现,方便简单,但需大量的文本注释,以便后续的开发与维护。当然,实际的应用开发过程中可同时使用这两种方法,实现更高效便捷的编码开发。

基于FPGA的多功能数据选择器设计与实现

基于FPGA的多功能数据选择器设计与实现 章军海201022020671 [摘要]传统的数字系统设计采用搭积木式的方法来进行设计,缺乏设计的灵活性。随着可编程逻辑器件(PLD)的出现,传统设计的缺点得以弥补,基于PLD的数字系统设计具有很好的灵活性,便于电路系统的修改与调试。本文采用自顶向下的层次化设计思想,基于FPGA设计了一种多功能数据选择器,实现了逻辑单元可编程、I/O单元可编程和连线可编程功能,并给出了本设计各个层次的原理图和仿真时序图;本文还基于一定的假设,对本设计的速度和资源占用的性能进行了优化。 [关键词]层次化设计;EDA;自顶向下;最大时延 0引言: 在现代数字系统的设计中,EDA(电子设计自动化)技术已经成为一种普遍的工具。基于EDA技术的设计中,通常有两种设计思想,一种是自顶向下的设计思想,一种是自底向上的设计思想[1]。其中,自顶向下的设计采用层次化设计思想,更加符合人们的思维习惯,也容易使设计者对复杂系统进行合理的划分与不断的优化,因此是目前设计思想的主流。基于层次化设计思想,实现逻辑单元、I/O单元和连线可编程可以提高资源的利用效率,并且可以简化数字系统的调试过程,便于复杂数字系统的设计[2][3]。 1系统原理图构架设计 1.1系统整体设计原理 本设计用于实现数据选择器和数据分配器及其复用的I/O端口和连线的可编程却换,提高系统的资源利用效率。系统顶层原理框图如图1所示,系统拥有两个地址选择端口a0、a1,一个功能选择端口ctr,还有五路I/O复用端口。其中,地址选择端口用于决定数据选择器的数据输入端和数据分配器的数据输出端;功能选择端口用于切换数据选择器和数据分配器,以及相应的I/O端口和连线;I/O复用端口数据的输入和输出,其功能表如表一所示。 图1顶层模块原理图 表一顶层系统功能表

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

基于FPGA的电子抢答器的程序设计 摘要 随着科学技术日新月异,文化生活日渐丰富,在各类竞赛、抢答场合电子抢答器已经作为一种工具得到了较为广泛的应用。顾名思义,电子抢答器是一种通过抢答者的指示灯显示、数码显示和警示显示等手段准确、公正、直观地判断出最先获得发言权选手的设备。 此次设计有4组抢答输入,每组设置一个抢答按钮供抢答者使用。电路具有第一抢答信号的鉴别和锁存功能。当第一抢答者按下抢答开关时,该组指示灯亮以示抢答成功。同时,电路也具备自锁功能,保证能够实现在一路成功抢答有效后,其他三路均不能抢答。本设计基于VHDL语言,采用FPGA为控制核心,并结合动手实践完成,具有电路简单、操作方便、灵敏可靠等优点。该四路抢答器使用VHDL硬件描述语言进行编程,分为七个模块:判断模块,锁存模块,转换模块,扫描模块,片选模块,定时报警模块和译码模块。编程完成后,使用QuartersII工具软件进行编译仿真验证。 关键词:VHDL,FPGA,四路抢答器,仿真

目录 1 概述 (1) 1.1 设计背景 (1) 1.2 抢答器现状 (1) 1.3 本论文主要完成的工作 (1) 1.4 设计心得 (2) 2 开发工具简介 (3) 2.1 VHDL语言简介 (3) 2.2 FPGA开发过程与应用 (4) 2.2.1 FPGA发展历程及现状 (4) 2.2.2 FPGA工作原理 (4) 2.2.3 FPGA开发流程 (5) 2.3 Quartus II软件 (6) 3系统设计 (8) 3.1 系统设计要求 (8) 3.2 系统设计方案 (8) 3.2.1 系统硬件设计方案 (8) 3.2.2 系统软件设计方案 (8) 3.3.3 系统原理详述 (10) 4 电路程序设计及仿真 (12) 4.1 抢答锁存模块设计 (12) 4.1.1 VHDL源程序 (12) 4.1.2 抢答锁存电路的模块 (13) 4.2 仿真 (14) 总结 (15) 致谢 (17) 参考文献 (18)

基于FPGA的脉冲发生器的设计

【基础?应用】 基于FP GA 的脉冲发生器的设计 ① 张 涛 (北方交通大学电子信息工程学院,北京100044)【摘 要】 以脉冲发生器为研究对象,介绍了脉冲发生器的基本原理、硬件构成和实现方法,阐述了一种基于DSP -FP G A 数字系统的PWM 控制脉冲生成方法,并给出了仿真及实测实验结果。 【关键词】 脉宽调制;脉冲发生器;可编程门阵列 1 FP G A 简介 FP G A (Field Programmable G ate Array ,可编程门阵列)是美国Xinlinx 公司推出的一种采用单元型结构的新型PLD 器件。它采用CMOS 、SRAM 工艺制作,在结构上与阵列型PLD 不同,它的内部由许多独立的可编程逻辑单元构成,各逻辑单元之间可以灵活地相互连接,具有密度高、速度快、编程灵活和可重新配置等诸多优点。FP G A 已成为当前主流的PLD 器件之一。 1.1 PLD 的主要特点 (1)缩短研制周期。 (2)降低设计成本。用PLD 来设计和改造电子产品可以大幅度地减少印制板的面积和接插件,降低装配和调试费用。 (3)提高设计灵活性和可靠性。大量分立式元器件在向印制板上装配时,往往会发生由于虚焊或接触率近似于线性增加,且线性斜率较小;肝脏中大小不同的散射源对不同频率的声波存在有不同的散射效应。 由于肝脏组织结构的非均匀性、复杂性及其各部分散射相关长度分布的不一致性,其散射谱随深度增加而衰减变化,并非完全呈线性关系,而呈现较复杂的关系变化。 ⑵肝叶边缘部分及表层区域,其结构散射近似呈瑞利散射特征;肝叶表层以下与肝叶中心之间的中间区域,其结构散射呈随机散射特征;肝叶中心区域,其结构散射呈扩散漫射特征,也有较强的反射。 ⑶利用区域结构散射特征谱,不仅可对各特征区域组织微结构作出粗略估计,而且可通过区域散射谱特征的变化,对生物软组织的生理病理变化的判断提供依据。 综上所述,利用超声散射谱分析,可为B 超的形态学图像信息诊断提供一个组织特征的信息,在临床上是有应用前景的。 参考文献 [1]Luigi Landini et al.IEEE Trans on U FFC.1990,37(5):448-456 [2]陈启敏等.声学学报.1995,Vol.21,No.4:692-699 [3]E.J.Feleppa ,et al.IEEE Annual International Conference ,EMB ,1990;12(1):337 (责任编辑:常 平) 2003年4月第19卷第2期 武警工程学院学报JOURNAL OF EN GG COLL EGE OF ARMED POL ICE FORCE Apr.2003Vol.19No.2 ①收稿日期:2002-12-06作者简介:张涛(1968.07-),1994年毕业于西安交通大学工业电器自动化专业,现在北方交通大学电子信息工程学院电子与信息工程专业攻读硕士学位。

FPGA四路电子抢答器设计

课程设计报告 专业班级 课程 FPGA/CPLD原理及应用题目四路电子抢答器设计学号 姓名 同组人 成绩 2013年5月

一、设计目的 1.进一步掌握QUARTUSⅡ软件的使用方法; 2.会使用VHDL语言设计小型数字电路系统; 3.掌握应用QUARTUSⅡ软件设计电路的流程; 4.掌握电子抢答器的设计方法。 二、设计要求 1.系统总体设计 (1)设计一个可以容纳四组参赛队进行比赛的电子抢答器。 (2)具有第一抢答信号的鉴别和锁存功能。在主持人发出抢答指令后,若有参赛者按抢答器按钮,则该组指示灯亮,显示器显示出抢答者的组别。同时,电路处于自锁存状态,使其他组的抢答器按钮不起作用。 (3)具有计时功能。在初始状态时,主持人可以设置答题时间的初始值。在主持人对抢答组别进行确认,并给出倒计时记数开始信号以后,抢答者开始回答问题。此时,显示器从初始值开始倒计时,计到0时停止计数,同时扬声器发出超时警报信号。若参赛者在规定的时间内回答完问题,主持人可以给出计时停止信号,以免扬声器鸣叫。 (4)具有计分功能。在初始状态时,主持人可以给每组设置初始分值。每组抢答完毕后,由主持人打分,答对一次加1分,答错一次减1分。 (5)设置一个系统清除开关,该开关由主持人控制。 (6)具有犯规设置电路。超时抢答者,给予鸣喇叭警示,并显示规范组别。 2.设计方案 系统的输入信号有:各组的抢答按钮A、B、C、D,系统允许抢答信号STA,系统清零信号RST,计分时钟信号CLK,加分按钮端ADD、en,减分端SUB、sta,计时使能端en时钟信号clk,复位rst;系统的输出信号有:四个组抢答成功与否的指示灯控制信号输出口可用a1、b1、c1、d1表示,四个组抢答时的计时数码显示控制信号,抢答成功组别显示的控制信号,各组计分显示的控制信号。整个系统至少有三个主要模块:抢答鉴别模块;抢答计时模块;抢答计分模块,其他功能模块(输出显示模块)。 3.如图为流程图: 开始→抢答→抢答鉴别→回答→加减分数→显示↑↑ 倒计时倒计时 犯规抢答或抢答后答题时间超时鸣喇叭警告。

基于FPGA的模拟IIC接口设计与实现

研究生课程论文 课程名称基于FPGA的模拟IIC接口设计与实现授课学期2012 学年至2013 学年第一学期学院电子工程学院 专业电子与通信工程 学号2012011603 姓名 任课教师 交稿日期2013.01.10 成绩 阅读教师签名 日期 广西师范大学研究生学院制

基于FPGA的模拟I2C接口设计与实现 摘要:本文论述了I2C总线的基本协议,以及基于FPGA 的模拟I2C 总线接口模块的设计,在QuartusII软件中用Verilog HDL语言编写了部分I2C总线接口功能的程序代码,生成原理图模块。并连接好各个模块,进行了时序仿真。最后,下载到FPGA的板运行测试。 关键词:I2C 接口FPGA Verilog 1课题研究意义、现状及应用分析 目前市场上主流的嵌入式设备主要是微处理器、DSP等,但FPGA 以其独有的高抗干扰性、高安全性正在逐步取得开发公司的青睐,在FPGA上开发I2C势在必行。并且利用EDA 工具设计芯片实现系统的功能,已经成为支撑电子设计的通用平台,并逐步向支持系统级的设计方向发展。模块化的设计思想在软件设计过程中越来越被重视。I2C总线是Philips 公司推出的双向两线串行通讯标准,具有接口线少、通讯效率高等特点。因此,基于FPGA的I2C总线设计有着广泛的应用前景。

2课题总体方案设计及功能模块介绍 本设计主要分三大模块,分别是I2C 总线接口模块、按键输入控制模块、数码管显示模块。I2C总线模块集成了I2C协议用于和总线相接EEPROM的通信;按键输入控制模块用于控制I2C模块的页读、页写、字节读、字节写功能;数码管显示模块用于显示通过I2C总线读取EEPROM中的数据。 3I2C接口设计原理 I2C总线最主要的优点是其简单性和有效性。由于接口直接在组件之上,因此I2C总线占用的空间非常小,减少了电路板的空间和芯片管脚的数量,降低了互联成本。总线的长度可高达25英尺,并且能够以10 Kbps的最大传输速率支持40个组件。I2C总线的另一个优点是,它支持多主控(multimastering),其中任何能够进行发送和接收的设备都可以成为主总线。一个主控能够控制信号的传输和时钟频率。 3.1总线的构成 I2C总线是由数据线SDA和时钟SCL构成的串行总线,可发送和接收数据。在CPU与被控IC之间、IC与IC之间进行双向传送,最高传送速率100kbps。各种被控制电路均并联在这条总线上,但就像电话机一样只有拨通各自的号码才能工作,所以每个电路和模块都

8路抢答器基于fpga解析

基于FPGA的多路数字抢答器的设计 摘要:本文主要介绍了以FPGA为基础的八路数字抢答器的设计,首先对各模块的功能进行分配,此次设计主要有七个模块,依次为分频模块、抢答模块、加减分模块、倒计时模块、设置倒计时模块、蜂鸣器模块和数字显示模块。主持人按下开始键可以实现抢答开始,选手号的显示,加减分模块,积分的显示,积分的重置,并启动倒计时模块;若有选手犯规或者倒计时记到五秒,停止倒计时,开启蜂鸣器,并为进入加减分模块做准备。此次设计程序用Quartus II12.0为软件开发平台,用Verilog语言来编写,使用模块化编程思想,自上向下,通过寄存器变量来控制各个模块的运行。本次设计采用FPGA来增强时序的灵活性,由于FPGA的I/O端口资源丰富,可以在此基础上稍加修改可以增加很多其他功能的抢答器,因此后期可塑性很强,因为核心是FPGA芯片,外围电路比较简单,可靠性强、运算速度高,因此便于维护,并且维护费用低。 关键词:FPGA、抢答器、倒计时、犯规报警、加减分、显示 目录 第一章绪论................. . (2) 第二章 FPGA原理及相关开发工具软件的介绍 (3) 2.1 FPGA的简介..... . (3) 2.1.1 FPGA的发展与趋势......... .. (3) 2.1.2 FPGA的工作原理及基本特点 (4) 2.1.3 FPGA的开发流程 (5) 2.1.4 FPGA的配置... . (5) 2.2 软件介绍............... .. (6) 2.2.1 Verilog HDL的介绍........... .. (6)

2.2.2 Quartus II软件.................... .. (7) 第三章数字抢答器系统设计方案和主要模块 (8) 3.1 功能描述及设计架构...... .. (8) 3.2 抢答器程序流程图以及各模块代码分析 (10) 3.2.1 抢答器程序结构及主程序流程图 (10) 3.2.2 秒分频模块 (15) 3.2.3 倒计时以及倒计时剩5S时报警模块...... 错误!未定义书签。 3.2.4 倒计时显示及倒数计时设置显示模块 (20) 3.2.5 选手号显示及违规报警模块 (26) 3.2.6倒计时设置模块 (30) 3.2.7顶层模块 (35) 3.3 硬件电路 (37) 3.3.1 按键电路图 (38) 3.3.2 数码管显示电路图 (38) 3.3.2 蜂鸣器电路图 (39) 第四章管脚分配及功能 (40) 第五章总结 (41) 参考文献 (418) 第一章绪论 1.1 课题研究背景 随着社会的发展,各种竞赛比赛日益增多,抢答器以它的方便快捷、直观反映首先取得发言权的选手等优点,深受比赛各方的辛睐,市场前景一片大好。另一方面随着电子科技的发展,抢答器的功能以及实现方式也越来越多,产品的可靠性以及准确性也越来越强。能够实现多路抢答器功能的方式有很多种,主要包括前期的数字电路、模拟电路以及数字电路与模拟电路组合的方式,但是这种方

基于FPGA的四路抢答器的Verilog-HDL代码

module qiangda4(clk,clr,inputEn,add,stu,inputL1,inputL2,inputL3,inputL4,Led1 ,Led2,Led3,Buzzer); // 开始声明各个端口 //输入口 input clk,clr,inputEn,add,stu,inputL1,inputL2,inputL3,inputL4; //输出口 output [0:7] Led1; //倒计时时使用的LED控制端 output [0:7] Led2; //数码管控制端 output [0:7] Led3; //分数显示数码管控制端 output Buzzer; //蜂鸣器 //各个寄存器变量声明 reg [0:7] Led1; reg [0:7] Led2; reg [0:7] Led3; reg cnt=32'b0; reg Buzzer; reg score=4’hf;//分数显示寄存器 //配置寄存器,EnFlat是表明开始抢答的标志位 reg EnFlat=1'b0; //BuClk是蜂鸣器的标志位 reg BuClk=1'b0; //BuL是做蜂鸣器的延时用 reg [0:7]BuL=8'd0; //抢答选手标志位 reg answer=3’d0; //各组分数标志位 reg score1=4’d5; reg score2=4’d5; reg score3=4’d5; reg score4=4’d5; //------------初始化模块--------------- always @ (posedge clk)//捕捉时钟 begin //初始化各按键并开始抢答 begin if(inputEn==1'b0) begin //初始化各个标志位和参数

基于fpga的eeprom设计

二线制I2C CMOS 串行EEPROM 的FPGA设计 姓名:钱大成 学号:080230114 院系:物理院电子系 2011年1月1日

一、课程设计摘要: (1)背景知识: A、基本介绍: 二线制I2C CMOS 串行EEPROM AT24C02/4/8/16 是一种采用CMOS 工艺制成的串行可用电擦除可编程只读存储器。 B、I2C (Inter Integrated Circuit)总线特征介绍: I2C 双向二线制串行总线协议定义如下: 只有在总线处于“非忙”状态时,数据传输才能被初始化。在数据传输期间,只要时钟线为高电平,数据线都必须保持稳定,否则数据线上的任何变化都被当作“启动”或“停止”信号。图1 是被定义的总线状态。· ①总线非忙状态(A 段) 数据线SDA 和时钟线 SCL 都保持高电平。 ②启动数据传输(B 段) 当时钟线(SCL)为高电平状态时,数据线(SDA)由高电平变为低电平的下降沿被认为是“启动”信号。只有出现“启动”信号后,其它的命令才有效。

③停止数据传输(C 段) 当时钟线(SCL)为高电平状态时,数据线(SDA)由低电平变为高电平的上升沿被认为是“停止”信号。随着“停在”信号出现,所有的外部操作都结束。 ④数据有效(D 段) 在出现“启动”信号以后,在时钟线(SCL)为高电平状态时数据线是稳定的,这时数据线的状态就要传送的数据。数据线(SDA)上的数据的改变必须在时钟线为低电平期间完成,每位数据占用一个时钟脉冲。每个数传输都是由“启动”信号开始,结束于“停止”信号。 ⑤应答信号 每个正在接收数据的EEPROM 在接到一个字节的数据后,通常需要发出一个应答信号。而每个正在发送数据的EEPROM 在发出一个字节的数据后,通常需要接收一个应答信号。EEPROM 读写控制器必须产生一个与这个应答位相联系的额外的时钟脉冲。在EEPROM 的读操作中,EEPROM 读写控制器对EEPROM 完成的最后一个字节不产生应答位,但是应该给EEPROM 一个结束信号。 C、3. 二线制I2C CMOS 串行EEPROM读写操作 ① EEPROM 的写操作(字节编程方式) 所谓EEPROM 的写操作(字节编程方式)就是通过读写控制器把一个字节数据发送到EEPROM 中指定地址的存储单元。其过程如下:EEPROM 读写控制器发出“启动”信号后,紧跟着送4 位I2C 总线器件特征编码1010 和3 位EEPROM 芯片地址/页地址XXX 以及写状态的R/W 位(=0),到总线上。这一字节表示在接收到被寻址的EEPROM 产生的一个应答位后,读写控制器将跟着发

简易四路抢答器

单片机课程设计 预习报告 班级:建电141 姓名:付鹏鑫 学号:1412032031 设计题目:四位竞赛抢答器系统设计设计时间:2016.01.03~01.07 评定成绩: 评定教师:

目录 摘要 -------------------------------------------------------------------- 错误!未定义书签。 一、任务分析: -------------------------------------------------------------------------------- 3 二、总体方案: -------------------------------------------------------------------------------- 4 2.1 可行方案--------------------------------------------------- 错误!未定义书签。 2.2 方案设计--------------------------------------------------- 错误!未定义书签。 三、硬件设计: -------------------------------------------------------------------------------- 8 3.1 电路原理图 --------------------------------------------------------------------------- 8 1.AT89C51简介 ------------------------------------------------------------------------ 10 2.PCF8591简介 --------------------------------------------------------------------------- 9 3.RESPACK8及RX8简介 (12) 3.2 器件选择--------------------------------------------------- 错误!未定义书签。 四、软件设计: ---------------------------------------------------- 错误!未定义书签。 4.1程序处理流程 --------------------------------------------- 错误!未定义书签。 4.2 程序流程图 ----------------------------------------------- 错误!未定义书签。 4.3 程序介绍--------------------------------------------------- 错误!未定义书签。 五、调试过程: ------------------------------------------------------------------------------ 22 5.1 调试步骤----------------------------------------------------------------------------- 22 六、参考文献: ---------------------------------------------------- 错误!未定义书签。 错误!未定义书签。 摘要:抢答器作为一种工具,已广泛应用于各自智力与知识竞赛场合。本设计是基于C52单片机系统的四路抢答器。考虑到其限时回答功能,

基于FPGA芯片的最小系统设计

黑龙江大学本科生 毕业论文(设计)档案编码: 学院:电子工程学院 专业:电子信息工程 年级:2007 学生姓名:王国凯 毕业论文题目:基于FPGA 的电梯自动控制 系统设计

摘要 本文在介绍了在当前国内外信息技术高速发展的今天,电子系统数字化已成为有目共睹的趋势。从传统的应用中小规模芯片构成电路系统到广泛地应用单片机,直至今天FPGA 在系统设计中的应用,电子设计技术已迈人了一个全新的阶段。FPGA 利用它的现场可编程特性,将原来的电路板级产品集成为芯片级产品,缩小体积,缩短系统研制周期,方便系统升级,具有容量大、逻辑功能强,提高系统的稳定性,而且兼有高速、高可靠性。越来越多的电子设计人员使用芯片进行电子系统的设计,通过基于FPGA 电梯系统开发设计,说明了FAPG 芯片研究的动机和研究意义。 关键词 FPGA;电梯系统;FLEX10K;JTAG;模块设计

Ab s t ract This paper introduces the rapid development of information technology around the world today. Digitalized electronic systems have become the trend. From the traditional application of small and medium-chip circuitry to Microcontroller and FPGA application in system design, electronic design technology is stepping into a new field. By using its field programmable features, FPGA changes the original circuit board-level products to the chip-level integration products. Now FPGA has advantages of reduced the size, shorten development cycle, facilitated in system upgrades, highly capacity, strong logic functions, stable system and high speed. More and more electronic designers use FPGA to design electronic systems. This paper shows the motivation and significance of designing by FPGA through the elevator FPGA system design. Ke ywo r d FPGA; Mini-System; FLEX10K; JTAG;Module design

基于FPGA的抢答器毕业设计.

摘要 本文介绍了一种采用EDA技术,在QuartusII工具软件环境下用VHDL语言编写的数码显示8路抢答器的电路组成、设计思路及功能。 抢答器同时供8名选手或8个代表队比赛,分别用8个按钮[1]~[8]表示。设置一个系统清除和抢答控制开关,该开关由主持人控制。抢答器具有锁存与显示功能,即选手按动按钮,锁存相应的编号,扬声器发出声响提示,并在七段数码管上显示选手号码。选手抢答实行优先锁存,优先抢答选手的编号一直保持到主持人将系统清除为止。 系统主芯片采用EP2C35F484C8,由基本时钟发生电路模块,复位电路模块,键盘防抖动模块,键盘扫描模块,数码管驱动模块,报警频率选择模块组成。经编译和仿真所设计的程序,在可编程逻辑器件上下载验证,从而完成抢答器功能。 关键词:抢答器;硬件描述语言;可编程逻辑门阵列;

Abstract This article introduces an EDA technology tools in QuartusII environment using VHDL language digital display 8 answering device circuit design ideas and features. Responder same time for eight players or eight team competition, with eight buttons, respectively [1] ~ [8] said. Setting clear and answer in a system control switch, the switch control by the moderator. Responder has a latch and display, the player press the button, latch the corresponding number, speaker audible prompts, and seven-segment digital tube display in player numbers. Players answer in the implementation of the priority latch, first answer in player numbers has been maintained to host the system cleared. System main chip EP2C35F484C8, from the basic clock circuit module, reset the circuit module, keyboard judder module, the keyboard scan module, a digital control drive module, alarm frequency selection module. The compilation and simulation process is designed, in the programmable logic device to download verification, thus completing the Responder feature. Key words:Responder;Very Hardware Description Language; FPGA;

VHDL语言四人抢答器

中南林业科技大学 课程设计报告 设计名称:基于VHDL语言的四人抢答器姓名:杜涵学号:20134491 专业班级:电子信息工程一班 院(系):计算机与信息工程学院 设计时间:2015年12月8日 设计地点:东园22栋201

目录 一、设计题目……………………………………………… 二、设计要求……………………………………………… 三、设计目的……………………………………………… 四、设计背景……………………………………………… 五、使用工具……………………………………………… 六、设计原理……………………………………………… 七、设计结构……………………………………………… 八、原理图………………………………………………… 九、模块程序……………………………………………… 十、引脚分配………………………………………………十一、设计结果验证………………………………………十二、总结…………………………………………………

一、设计题目:基于VHDL语言的四路抢答器 二丶设计要求: 1、设计制作一个竞赛抢答器,每组受控于一个抢答开关,分别为S1, S2, S3, S4。 2、控制键K,用于控制整个系统清零, K=0,系统清零;抬起复位键时,K=1,抢答开始。 3、每答对一题计十分,每次答题时间不能超过60秒。 4、第一抢答者按下抢答按钮,对应的led灯点亮,同时数码管显示是第几位抢答者,并封锁其他各组的按钮,即其他任何一组按键都不会再使电路响应。与此同时,数码管开始显示60秒的倒计时。通过K键复位,开始下一轮抢答。 三、设计目的 1.通过设计竞赛抢答器的实例来体会设计实际产品的过程,在学好理论的基础上,提高动手实践能力。 2.学习怎样用vhdl语言来描述自己的设计思路,调试硬件后,能够使产品实现功能。 3.进一步掌握用vhdl语言编写数字电路。 4.在做课题过程中,掌握多位共阴极扫描显示数码管的驱动及编码,学会使用和调试硬件。

基于fpga的四路抢答器课程设计报告

一、课题设计的基础和实验条件 1.工作基础 (1)数字电路,模拟电路的学习;对所需使用的芯片管脚及 功能的了解;掌握了基本的数字电路设计流程。 (2)学会使用MAX+PLUS 软件设计数字电路; 了解EDA实验开发系统。 2.实验条件 (1)提供有目标芯片:FPGA-型号EP7128SLC84-15的实验开发系统、数码显示器、二极管、三极管、钮子开关; (2)电路设计器件: AND4、NOT、D触发器等 二、设计目标 1. 4人抢答器(四名选手分别为:R1,R2,R3,R4); 2. 主持人启动及复位开关HT; 3. 七段显示码显示选手的编号; 4. 抢答器具有“互锁”功能; 三设计电路图及仿真 该设计属于较为复杂的中小规模数字系统设计,按照系统的功能要求和自顶向下的层次化设计思想,该抢答器可以分为三个模块,他们分别为:抢答器控制模块——IN,该模块用于控制选手及主持人的动作;编码模块——qiwei,用于将选手的编号编码以便用数码管显示输出; (1)抢答器控制模块IN的设计: 该模块在任意一位选手首先按下抢答键后,其输出高电平给D锁存器,并将输出结果送至编码器qiwei, 该模块的主持人按键HOST按钮可以实现系统的复位。其原理图为:

选手的输出信号发出之后,需要把输出转换为数字,故需要加一个七位译码器。(2)七位译码器的设计: 通过编程定义生成了一个七位译码器: 生成此七位译码器的程序如下:

(3)生成完整设计图: 两个模块进行连接即得到最终的实验电路图: (4)设计图的仿真: 对设计的电路进行仿真得到仿真图如下:

从仿真结果可以看出符合功能要求。 (5)连接引脚图: 根据设计图选择适当的引脚连接得到下图的引脚图

FPGA设计方案

FPGA课程设计 题目:全天候温度纪录仪的设计与FPGA实现 姓名: 学号: 院系:信息科学与工程学院 专业:计算机技术

摘要 本设计有效的克服了传统的数字温度计的缺点,采用自上而下的设计思路,绘制出了系统结构流程图,最后又在硬件上通过对其进行调试和验证。基于FPGA在Quartus II13.0软件下应用Verilog HDL语言编写程序,采用ALTRA公司Cyclone- IV系列的EP4CE40F23I7 芯片进行了计算机仿真,并给出了相应的仿真结果。该电路能够实现很好的测温功能。 关键字:数字温度计;FPGA;Quartus II130.;Verilog HDL;EP4CE40F2317 Abstract This design effectively overcomes the traditional digital thermometer’s wea knesses and takes a top-down approach to design flow chart of system, and fi nally pass the circuits to the hardware to debug and verify it. This design is b ased on FPGA using Verilog HDL language to write program in Quartus II sof tware, adopting EP4CE40F23I7 chip of Cyclone- IV series of ALTRA company for computer simulation and at the same time showing the corresponding sim ulation result. This circuit is able to carry out excellent temperature- measurem ent function. KeyWords:Digital thermometer;FPGA;Quartus II 13.0;Verilog HDL ;EP4CE40F2317

基于FPGA技术实现智能抢答器的设计

河北工业大学城市学院 毕业设计说明书 作者:陈厚黎学号: 098063 系:信息工程系 专业:电子科学与技术 题目:基于FPGA技术实现智能抢答器的设计指导者:伍萍辉教授 (姓名) (专业技术职务) 评阅者: (姓名) (专业技术职务) 年月日

目次 1引言............................................................................................................................................. - 1 -1.1 本课题的发展现状................................................................................................................ - 1 -1.2 本课题研究的目的和意义.................................................................................................. - 1 - 1.3、实现方法概述...................................................................................................................... - 2 - 2 基本应用电路设计................................................................................................................ - 5 -2.1 抢答器设计基本要求.......................................................................................................... - 5 -2.2 硬件电路设计........................................................................................................................ - 6 - 2.3 软件程序设计........................................................................................................................ - 6 - 3 系统总体电路图...................................................................................................................... - 18 - 4 编程及测试.............................................................................................................................. - 19 -结论.......................................................................................................................................... - 20 -参考文献................................................................................................................................ - 21 -致谢.......................................................................................................................................... - 22 -附录.............................................................................................................................................. - 23 -

基于FPGA的简易的ALU设计

本科毕业设计开题报告 题目:基于FPGA的简易的ALU设计 院(系): 班级: 姓名: 学号: 指导教师: 教师职称:讲师

xxxxx学院本科毕业设计开题报告 题目基于FPGA的简易ALU设计来源工程实际 1、研究目的和意义 从20 世纪中叶的无线电时代,到21 世纪以计算机技术为中心的智能化加信息化的现代电子时代,电子系统发生了巨大的变化。现代电子系统愈发庞大和复杂,很多应用要求能够在现场进行实时的高速运算,并对系统进行有效地控制。作为这一需求的解决方案,嵌入式计算机应用系统已成为现代电子系统的核心技术。 早期的嵌入式系统是将通用计算机经改装后嵌入到被测控对象去,实现数据采集、分析处理、状态显示、输出控制等功能。随着大规模集成电路技术的发展,中央处理器CPU、随机存取存储器RAM、只读存储器ROM、输入/输出端口I/O等主要的计算机功能部件可以集成在一块集成电路芯片上,这颗芯片就被称为单片机。与改装普通计算机相比,单片机具有性能高、速度快、体积小、价格低、稳定可靠、应用广泛、通用性强等突出优点,因此迅速成为最普及的嵌入式应用系统方案。 通常,我们要实现一些功能可以用单片机来完成,但是,用可编程逻辑FPGA同样可以实现。在计算机中,算术逻辑单元(ALU)是专门执行算术和逻辑运算的数字电路。ALU是计算机中央处理器的最重要组成部分,甚至连最小的微处理器也包含ALU作计数功能。此次我要完成的设计是基于FPGA的四位ALU算数逻辑单元设计。通过对ALU功能的拓展,来实现更快更好的运算功能,相信这一功能的实现将使运算功能更加简单、快捷、准确,从而提高我们今后的学习工作效率。 2、发展情况(文献综述) 算术逻辑单元(arithmetic logic unit,缩写ALU)是进行整数运算的结构。现阶段是用电路来实现,应用在电脑芯片中。 在计算机中,算术逻辑单元(ALU)是专门执行算术和逻辑运算的数字电路。ALU是计算机中央处理器的最重要组成部分,甚至连最小的微处理器也包含ALU作计数功能。在现代CPU和GPU处理器中已含有功能强大和复杂的ALU;一个单一元件也可能含有ALU。 1945年数学家冯诺伊曼在一篇介绍被称为EDV AC的一种新型电脑的基础构成的报告中提出ALU的概念。 早期发展:1946年,冯诺伊曼与同事合作为普林斯顿高等学习学院(IAS)设计计算机。随后IAS计算机成为后来计算机的原形。在论文中,冯诺伊曼提出他相信计算机中所需的部件,其中包括ALU。冯诺伊曼写到,ALU是计算机的必备组成部分,因为已确定计算机一定要完成基本的数学运算,包括加减乘除。于是他相信计算机应该含有专门完成此类运算的部件。 ①数字系统 ALU必须使用与数字电路其他部分使用同样的格式进行数字处理。对现代处理器而言,几乎全都使用二进制补码表示方式。早期的计算机曾使用过很多种数字系统,包括反码、符号数值码,甚至是十进制码,每一位用十个管子。以上这每一种数字系统所对应的ALU都有不同的设计,而这也影响了当前对二进制补码的优先选择,因为二进制补码能简化ALU加法和减法的运算。 ②可行性分析 绝大部分计算机指令都是由ALU执行的。ALU从寄存器中取出数据,数据经过处理将运算结果存入ALU输出寄存器中。其他部件负责在寄存器与内存间传送数据,控制单元控制着ALU,通过控制电路来告诉ALU该执行什么操作。 ③简单运算 大部分ALU都可以完成以下运算∶整数算术运算(加、减,有时还包括乘和除,不过成本

相关主题