《毕业设计(论文)基于FPGA的电路设置.doc》由会员分享,可在线阅读,更多相关《毕业设计(论文)基于FPGA的电路设置.doc(34页珍藏版)》请在三一办公上搜索。
1、摘要FPGA(FieldProgrammable Gate Array),即现场可编程门阵列,它是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。目前以硬件描述语言(Verilog 或 VHDL)所完成的电路设计,可以经过简单的综合与布局,快速的烧录至 FPGA 上进行测试,是现代 IC 设计验证的技术主流。这些可编辑元件可以被用来实现一些基本的逻辑门电路(比如AND、OR、XOR、NOT)或者更复杂一些的组合功能比如解码器或数学方程式。在大多数的F
2、PGA里面,这些可编辑的元件里也包含记忆元件例如触发器(Flipflop)或者其他更加完整的记忆块。系统设计师可以根据需要通过可编辑的连接把FPGA内部的逻辑块连接起来,一个出厂后的成品FPGA的逻辑块的连接可以按照设计者而改变,所以FPGA可以完成所需要的逻辑功能。本文设计的实验板目的就是验证所设计的电路的逻辑功能。实验板以EP1C6Q240C8为主,配以存储器、数据配置、复位、实时时钟、I/O口分配、扩展接口、独立按键及LED、液晶显示、数码管显示、蜂鸣器和电源等功能电路。而其中的独立按键及LED、液晶显示、数码管显示、蜂鸣器就是验证时的直接展现。关键字:FPGA,硬件原理图,测验ABST
3、RACTFPGA(FieldProgrammable Gate Array),It is based on the further development of the product of PAL、GAL、CPLD etc. It is in the field of application-specific integrated circuit (ASIC) for a half customize the circuit, it solves the shortage, and custom circuit overcomes original programmable gate dev
4、ice limited number of faults. Now completed the above circuit design by the Hardware description language, can pass by the simple integrated and layout, rapid replication to test on FPGA, it is the mainstream of modern IC design verification. These can edit component can be used to achieve some basi
5、c logic gate(such as AND、OR、XOR、NOT ) or, more complex combination of some functions such as decoder or mathematical equations. In most of the FPGA, these can edit component also includes memory devices such as flip-flop or other more complete memory block. According to the system designer, through
6、the FPGA links can edit the internal logic pieces together. One of the products of the factory, logical block of FPGA can be changed according to the designer, so the FPGA can complete the required logic functions. The purpose of this experimental plate is to verify that the logic function of circui
7、t. The primary device is EP1C6Q240C8 on this experimental plate, use with the circuit of memory, Data configuration, reset, real-time clock, I/O port, expand interface, independent buttons and LED, LCD display, digital display, buzzers and power etc. And that the independent buttons and LED, LCD dis
8、play, digital display show directly of the checkoutKey Words: FPGA, Hardware diagram, quiz目 录第1章 绪论11.1 设计背景11.2 设计目的和意义21.3 论文的结构安排2第2章 FPGA开发板原理图分析32.1 FPGA电路42.2 存储电路62.2.1 Flash存储器62.2.2 SRSM存储器72.2.3 SDRAM存储器82.3 配置电路92.4 复位电路112.5 时钟电路122.6 FPGA I/O口分配电路132.7 扩展接口电路132.7.1 外扩I/O口PACK2142.7.2 外
9、设PACK接口电路142.7.3 FPGA扩展接口电路152.8 验证功能电路172.8.1 按键及LED电路172.8.2 蜂鸣器电路182.8.3 七段数码管显示电路182.8.4 液晶显示电路192.9 实时时钟电路192.10 电源电路202.10.1 系统电源电路202.10.2 FPGA电源电路21第3章 实验板的测验243.1 读取按键信号24第4章 结论27参考文献28致谢29第1章 绪论1.1 设计背景半导体技术一直遵循著名的摩尔定律持续地发展,回顾半导体的发展历史,当一种技术具有可编程特性时,它就会处于支配的地位。目前,FPGA器件不仅是逻辑门、布线资源和I/O可编程,随着
10、半导体工艺采用90nm和65nm,乃至45nm工艺,在FPGA中增加了许多硬件核,如存储器、时钟管理和算法功能,直到增加嵌入式处理器硬核和软核等,也就是在DSP和嵌入式处理器等关键领域发展可编程技术,FPGA已经成为在单片器件上同时提供可编程逻辑、高性能DSP和嵌入式处理器的系统级(SOC)芯片。在密度和性能提高的同时,成本和功耗也极大地降低,使得FPGA在更多的应用领域成为市场的主流。FPGA/CPLD、DSP和CPU被称为未来数字电路系统的3块基石,也是目前硬件设计研究的热点。与传统电路设计方法相比,FPGA具有功能强大,开发过程投资小、周期短,可反复编程修改,保密性能好。开发工具智能化等
11、特点,特别是随着电子工艺的不断改进,低成本FPGA器件推陈出新,这一切促使FPGA成为当今硬件设计的首选方式之一。可以说FPGA设计技术是当今高级硬件工程师与IC工程师的必备技能。随着可编程逻辑技术的不断进步和创新,FPGA(现场可编程逻辑门阵列)已被广泛应用于通信、航天、医疗电子、工业控制等领域。由于其现场逻辑功能可重构且具有高集成度、高密度和高性能等特点,因而得到了迅猛发展。FPGA芯片所包含的资源越来越丰富,可实现的功能也越来越强,这使得FPGA在电子电路设计中越来越重要。目前FPGA已经渗透到人们日常生活的各个方面,在手机、电视、数码相机、洗衣机、电冰箱、空调,甚至电饭锅、手表里,都有
12、它们的身影。在工业自动化控制、通信、仪器仪表、汽车、船舶、航空航天、军事设备、消费类电子产品等领域更是它们的天下。1.2 设计目的和意义FPGA是在PAL、GAL等逻辑器件的基础之上发展起来的。和以往的PAL、GAL等相比较,FPGA/CPLD的规模比较大,可以替代几十甚至几千块IC芯片。从这种意义上来说,FPGA实际上就是一个子系统部件。具体地讲,FPGA在硬件系统设计中具有以下优越性。缩小体积、减轻重量、降低功耗,具有高集成度和高可靠性;易于获得高性能,系统设计、电路设计、工艺设计之间紧密结合,这种一体化的设计有利于获得前所未有的高性能系统;软件模拟仿真后下载到FPGA制成了专用IC,设计
13、者可以很直观地测试其逻辑功能及性能指标。利用FPGA这些优点,选择合适的FPGA芯片,用户就能轻而易举地设计自己的“计算机”和“数字系统”。本文介绍了FPGA开发板的制作和简单的测试。希望能够给予读者更多的借鉴和更好的帮助!1.3 论文的结构安排 本文的第二章介绍了FPGA实验板的硬件原理图。其中的电路包括Cyclone系列FPGA的EP1C6Q240为核心的运算控制芯片、存储器、数据配置、复位、实时时钟、I/O口分配、扩展接口、独立按键及LED、液晶显示、数码管显示、蜂鸣器和电源电路等。而第三章对做好的电路板进行简单的测试。第2章 FPGA开发板原理图分析本课题以Cyclone系列FPGA的
14、EP1C6Q240为核心的运算控制芯片。配以存储器、数据配置、复位、实时时钟、I/O口分配、扩展接口、独立按键及LED、液晶显示、数码管显示、蜂鸣器和电源电路等。数据通过配置电路下载到FPGA进行存储,由FPGA对数据进行处理。由于FPGA内部存储空间太小,数据暂时由SDRAM储存,FPGA通过读取SDRAM中的数据,并在其逻辑单元中经过相关操作后通过各种功能驱动电路,如独立按键及LED、液晶显示、数码管显示、蜂鸣器等显现测验结果。Flash存储器可以在掉电后保存数据。扩展电路方便后续功能电路的开发。 系统框图如图2-1所示串行配置器件EPCS4JTGA接口IO PACKFPGACyclone
15、系EP1C6Q24048MHz振荡器LCD蜂鸣器按键(4个)LED(8个)SRAM(两片)Flash(两片)SDRAM(两片) 5V、3.3V、1.5V(电源) I2CAS接口复位电路 图2-1 系统框图2.1 FPGA电路Cyclone系列FPGA是基于成本优化的,全铜工艺的1.5V SRAM工艺,成本低且功能强大,最高达20060个逻辑单元和288K位的RAM。除此之外,Cyclone系列的FPGA还集成了许多复杂的功能。Cyclone系列FPGA提供了全功能的锁相环(PLL),用于板级的时钟网络管理和专用I/O接口,这些接口用于连接业界标准的外部存储器器件。Altera的NiosII系列
16、嵌入式处理器的IP资源也可以用于Cyclone系列FPGA的开发。设计者只需要下载Altera提供的完全免费的Quartus II网络版开发软件就可以马上进行Cyclone系列FPGA的设计和开发。Cyclone低成本结构和Cyclone FPGA丰富的器件资源相结合,能够实现完整的可编程芯片系统(SOPC)方案,成为大批量应用的理想选择。Cyclone器件综合考虑了逻辑单元、存储器、锁相环(PLL)和高级I/O接口之间性能的平衡,实现了较低的制造成本与较高的性能,是那些对价格比较敏感的应用的一个很好的选择。Cyclone FPGA基本特性1、新的可编程构架通过设计实现低成本2、嵌入式存储资源
17、支持各种存储器应用和数字信号处理(DSP)实施3、专用外部存储接口电路集成了DDR FCRAM和SDRAM器件以及SDR SDRAM存储器件4、支持串行、总线和网路接口及各种通信协议5、使用PLLs管理片内和片外系统时序6、支持单端I/O标准和差分I/O技术,支持高达311Mb/s的LVDA信号7、处理能力支持NiosII系列嵌入式处理器8、采用新的串行配置器件的低成本配置方案9、通过QuartusII软件PoenCore评估特性,免费评估IP功能10、QuartusII网路版软件提供免费的软件支持11、嵌入式存储资源12、器件中的M4K块可用来实现软乘法器13、可实现多个乘法器14、专用外部
18、存储接口电路15、支持DDR(SDRAM).16、支持FCRAM(可用上下两种边沿存储数据)17、支持的接口及协议18、支持PIC接口19、支持10/100/1000M以太网接口20、支持SPI、I2C、IEEE1394、USB等接口21、支持E1、E3、T1、T3等通信协议22、支持NiosII嵌入式处理器23、配置IC结构简单,常用的配置芯片EPCS1和EPCS4的容量分别是1MB和4MB,8引脚封装24、支持多个NIOSII嵌入式处理器 25最快可超过200DMIPS基于Cyclone系列的FPGA拥有的众多优势,本文采用的FPGA为Altera公司Cyclone系列的EP1C6Q240
19、,它兼容EP1C12Q240。EP1C6Q240包含有5980个逻辑单元(LE)和92Kbit的片上RAM,有185个用户I/O口,封装为240-Pin PQFP。本文中所采用的FPGA器件特性如表2-1。 表2-1开发板所选用的FPGA器件特性 特性 EP1C6Q240逻辑单元(LE)5980M3K RAM块(4Kbit+奇偶校验)20RAM总量9(bit)92160PLL(个)2最大用户I/O数(个)185配置二进制文件(.rbf)大小(bit)1167216可选串行主动配置器件EPCS4Cyclone FPGA常用的配置方式有主动配置(AS)、被动配置(PS)以及JTAG配置,主动配置需
20、要使用串行主动配置器件EPCS。Cyclone FPGA是第一款支持对配置数据进行解压缩的FPGA,这使得用户可以将压缩的配置数据存储到配置器件或其他存储器中。在配置过程中,Cyclone FPGA实时的解压缩配置数据对SRAM单元编程。一般来说,配置数据经过压缩,可以减少到35%55%。如表2-1所列,EP1C6Q240配置文件的大小为1167216bit,EPCS4的容量为4Mbit。EPCS4作为配置器件可以满足EP1C6Q240的数据配置。2.2 存储电路开发板的存储器包括用于存储FPGA配置数据并进行主动配置的串行配置器件EPCS、SDRAM、Flash以及SRAM。2.2.1 Fl
21、ash存储器开发板使用2片4MB的Flash AT49BV322D-70TU。Flash电路如图2-2-1所示。 图2-2-1 Flash存储电路电路中2片Flash的片选信号独立,数据总线、地址总线共用,为了节省I/O口,将读写信号线nOE和new都共用,并且它们与所挂在总线上的总线型外设(SRAM、主板上的液晶以及外扩总线PACK)都是共用的。2片AT49BV322D-70TU的片选信号分别为FLASH_nCS1和FLASH_nCS2。电路中队芯片的片选信号线进行了上拉(R29、R30)。Flash的数据总线与所有挂在总线上的总线型外设(SRAM、主板上的液晶以及外扩总线PACK)都是共用
22、的。如果应用中,2个Flash(或某一个)不使用时,用户可能不会再FPGA中定义并设置该器件的片选引脚,该片选引脚将为高阻态,不确定的电平有可能选通芯片,从而造成总线冲突。为了避免总线上其他的总线型外设在不使用时因意外而造成总线冲突,应将这些外设的片选都上拉(低电平有效时)。2.2.2 SRSM存储器开发板使用2片512KB的IS61LV25616AL(256K*16bit),每片SRAM都可兼容1MN容量的IS61LV51216AL,这样SRAM容量最大可为2MB。SRAM可作为高速存储器使用,如显示缓存等。SRAM电路如图2-2-2所示,电路基本与Flash相同。 图2-2-2 SRAM电
23、路SRAM的28(A18)脚用于1MB容量的IS61LV25616AL。电路中2片SRAM的片选信号独立,数据总线、地址总线、读写信号线nOE和new都与Flash共用,并且也与所有挂在总线上的总线型外设(主板上的液晶以及外扩总线PACK)共用。2片SRAM的片选信号分别为SRAM_ nCS1和SRAM_ nCS2。2.2.3 SDRAM存储器 SDRAM通常用于需要大量存储且有成本要求的系统。SDRAM比较便宜,但需要实现刷新操作、行列管理、不同延时和命令序列等逻辑。 开发板使用2片16位总线的8MB SDRAM器件K4S641632H(1MB*16bit*4banks),每片SDRAM都兼
24、容16MB的K4S281632H(2MB*16bit*4banks)、32MB的K4S561632H(4MB*16bit*4banks)以及64MB,这样SDRAM的最大容量可达128MB。SDRAM存储电路如图2-2-3所示。 图2-2-3 SDRAM存储电路2片SDRAM的片选是分开的,为了节省I/O口,其数据总线是共用的。当I/O口足够时,可将数据总线分开,片选信号共用,从而构成一个32bit数据总线的SDRAM。2.3 配置电路Cyclone FPGA使用SRAM单元来存储配置数据。FPGA中的SRAM是易失性的,每次上电之前,配置数据必须重新下载到FPGA中。Cyclone FPGA
25、的配置方式包括:主动配置模式(AS)、被动配置模式(PS)以及JTAG配置模式,如表2-3-1所示。用户可以通过上述中的任一种下载配置数据到FPGA。 表2-3-1 Cyclone FPGA配置模式表配置模式 描述主动串行配置(AS)采用串行配置器件(EPCS1、EPCS4、EPCS16、EPCS64)被动配置(PS)采用专用配置器件(EPC1、EPC2、EPC4、EPC8、EPC16)采用配置控制器(单片机、CPLD等)配合Flash下载电缆 JTAG配置通过JTAG进行配置开发板提供2种配置方法:1. 调试时,使用运行在猪计算机上的QuartusII软件,通过JTAG电缆连接到电路板上电的
26、10针JTAG接口直接下载配置数据到FPGA。用户可以随时进行JTAG模式的配置,但是要注意JTAG模式配置是直接对FPGA的SRAM单元编程,掉电后丢失,因此再次上电后腰重新下载。2. 脱机运行的情况下,采用串行配置器件EPCS进行主动配置(AS)。主动串行配置模式(AS)是将配置数据存储在串行配置器件EPCS中,在每次系统上电是FPGA会自动使用EPCS中的配置数据进行配置。在脱机运行之前,腰事先将配置数据通过编程器写入EPCS中。配置电路如图2-3-2所示。图2-3-2 配置电路如图2-3-2所示,因为FPGA上的nSTATUS、CONFIG _DONE引脚都是开漏结构,所以都要接上拉电
27、阻(R19、R21)。串行配置器件的4针接口为:串行输入时钟(DCLK)、串行数据输出(DATA)、AS数据输入(ASDI)以及低有效的片选(nCS)。这4个引脚分别与FPGA的DCLK、DATA0、ASDO以及nCSO引脚相连接(这4个引脚有设有内部弱上拉,以确保悬空时状态的稳定)。此外完成主动配置还需要用到引脚nSTATUS、nCONFIG、CONFIG _DONE、nCE、MSEL0和MSEL1。可以通过设置FPGA上的MSEL0和MSEL1两个引脚的状态来选择表2-3-1中所列配置模式中的一种来进行FPGA的配置。各种配置方式的MSEL0、MSEL1设置见表2-3-3。 表2-3-3
28、配置模式设置MSEL1MSEL0配置模式00AS主动(串行配置器件)01PS被动(CPLD控制)00或1JTAG配置2.4 复位电路由于FPGA芯片的高速、低工作电压导致其噪声容限低,所以对电源的纹波、瞬态响应性能、时钟源的稳定性和电源监控可靠性等诸多方面也提出了更高的要求,开发板的复位电路使用了I2C存储器的电源监控芯片CAT1025SI-30(复位门限电压为3.03.15V)提高了系统的可靠性。复位电路如图2-4-1。图2-4-1复位电路在图2-4-1中,SW6是复位按键用于手动复位,作为调试程序是用。3脚和2脚的下拉电阻和上拉电阻必须接上。2.5 时钟电路FPGA内部没有振荡电路,使用有
29、源晶振是比较理想的选择。EP1C6Q240C8的输入的时钟频率范围为15.625387MHz,经过内部PLL电路后可输出15.625275MHz的系统时钟。当输入时钟频率较低时,可以使用FPGA的内部PLL调整FPGA所需的系统时钟,使系统运行速度更快。系统时钟电路如图2-5-1。图2-5-1 系统时钟电路 一个48MHz的有源晶振作为系统的时钟源。为了得到一个稳定、精确的时钟频率,有源晶振的供电电源经过了LC滤波。 2.6 FPGA I/O口分配电路FPGA I/O口分配电路如图2-6-1所示。图2-6-1 FPGA I/O口分配电路由于PLL输出引脚输出的时钟频率很高,考虑到高速时钟信号的
30、反射,在两个PLL输出引脚都连接了一个30的终端匹配电阻用于降低反射信号的幅度,增加电路的可靠性。2.7 扩展接口电路为了方便外设和其他功能电路的扩展,在本开发板设计方案中增加了各种接口电路。通过扩展接口电路,可以将外设及其他功能电路独立开板。这既可以防止主板面积过大,也方便后续对电路的检测。2.7.1 外扩I/O口PACK2PACK2的设计,考虑了高速电路的特性,可扩展高速外设,如高速A/D、D/A等。还可扩展其他的用户电路。PACK2的电路如图2-7-1所示。图2-7-1 PACK2接口电路2.7.2 外设PACK接口电路PACK接口电路如图2-7-2所示,通过PACK,用户可扩展各种功能
31、的总线型外设。PACK接口具有23根地址总线A0A22,16根数据总线D0D15,读/写信号OE、WE、UPPER_BYTE和LOWER_BYTE,片选信号为EXT_nCS。PACK上还有6个I/O口,这样就极大地方便了与外部I/O器件进行连接。J19和J20是用于逻辑分析仪的测试点。COM12(PACK_COM)是操作PACK的连线接口。 图2-7-2 外设PACK接口电路2.7.3 FPGA扩展接口电路FPGA扩展接口电路如图2-7-3所示。 图2-7-3 FPGA扩展接口电路各引脚的功能见表2-7-4。 表2-7-4 引脚功能接口引脚标号功能J31无孔防止插反24空用于以后扩展5、6GN
32、DGND710空用于以后扩展1117FPGA_47FPGA_55I/O口1920UPPER_BYTE、LOWER_BYTE高低字节选择2122nOE、nWE读、写信号18、2344A0A22地址信号4560D0D15数据总线J41、2VCC5来自主板的5V电源3、4GNDGND5、6I2C_SCL、I2C_SDAI2C接口744FPGA_121FPGA_175主板外设用I/O口4556EP1C6Q240的I/O口EP1C6Q240的I/O口5760空用于以后扩展2.8 验证功能电路为了使功能硬件验证实现“可见性”,本开发板除设计有FPGA、各类存储器以及扩展PACK外,还设计了按键及LED、数
33、码管显示、液晶显示蜂鸣器等电路。通过这些功能电路,硬件验证变得更加直观、明了。2.8.1 按键及LED电路按键已LED电路如图2-8-1所示。 图2-8-1所示 按键已LED电路2.8.2 蜂鸣器电路如图2-8-2所示,蜂鸣器用PNP三极管进行驱动控制,并使用交流蜂鸣器。当在BEEP输入一定频率的脉冲时,蜂鸣器蜂鸣,改变输入频率可以改变蜂鸣器的响声。因此可以利用一个PWM来控制BEEP,通过改变PWM的频率来得到不同的声响,也可以用来播放音乐。若把JP7A断开,Q4截止,蜂鸣器停止蜂鸣。 图2-8-2 蜂鸣器控制电路2.8.3 七段数码管显示电路七段数码管显示电路如图2-8-3所示,RP4B_
34、1RP4B_4、RP4_5 RP4_8、RP6_1 RP6_8是段码上的限流电阻,位码由于电流较大,采用了三极管驱动。从电路可以看出,数码股是共阳的,当位码驱动信号为0时,对应的数码管才能操作;当段码驱动信号为0时,对应的段码点亮。电路中的COM3(SEG_COM)和COM6(DIG_COM)是对外的逻辑分析仪测试点以及接口。 图2-8-3 七段数码管显示电路2.8.4 液晶显示电路主板上配有128*64图形点阵液晶屏,液晶屏内部带有液晶控制器ST7920。液晶驱动电路如图2-8-4所示。2-8-4 液晶驱动电路2.9 实时时钟电路实时时钟电路如图2-9-1所示。实时时钟芯片采用的是I2C接口
35、的低功耗的CMOS实时时钟/日历芯片PCF8563T,它提供一个可编程时钟输出,一个中断输出和掉电检测器,所有的地址和数据通过I2C总线接口串行传递。最大总线速度为400kbps,每次读/写数据后,内嵌的字地址寄存器会自动产生增量。由于I2C总线已经提供了上拉电阻,所以此处没有再加上拉电阻。PCF8563T的CLKOUT以及INT都是开漏输出,所以都需要加上拉电阻。电路中的COM16(I2C_COM)是对外的逻辑分析仪测试点及接口。 图2-9-1 实时时钟电路2.10 电源电路FPGA所有的I/O口、主板上的存储电路、串行配置器件、复位电路和LED等需要提供3.3V电源。1.5V电源提供给FP
36、GA的内核(VCCINT)以及PLL。2.10.1 系统电源电路电源电路如图2-10-1所示。通过CZ1外接5V电源。3.3V电源直接由5V电源经过3.3V LDO芯片SPX1117-3.3并且滤波以后得到。3SPX1117系列LDO芯片输出电流可达800mA,输出电压的精度在-1%+1%以内,还具有电流限制和热保护功能。使用时,其输出端需要接一个至少10uF的钽电容来改善瞬态响应和稳定性。1.5V电源由5V 电源经过1.5V LDO芯片SPX1117-1.5并且滤波以后得到。另外,经过5V电源滤波后得到一个5V的模拟电源VCC5A。模拟地和数字地是通过0电阻进行隔离,以降低噪声干扰。 图2-
37、10-1 电源电路 2.10.2 FPGA电源电路FPGA的内核供电为1.5V,I/O口供电为3.3V。FPGA供电电源电路如图2-10-2所示。 图2-10-2 FPGA供电电源电路经过对以上电路的整理我们可得到一个整体电路,如图2-10-3。将完整电路生成网络表导入PCB图,放置好原件。通过布局、布线后得到设计好的PCB图(如图2-10-4)。最后通过开板和焊接好元器件就可得到我们想要的实验板。 图2-10-3 整体电路 图2-10-4 设计好的PCB图本章以EP1C6Q240为例,介绍了FPGA实验板的设计方法。在设计FPGA实验板时,一般要注意一下几方面:(1)必需的功能:除看EP1C
38、6芯片之外,还应该包括3.3V的I/O口用稳压电源,内核用1.5V稳压电源,测试用发光二极管指示灯,JTGA口,I/O口引排阵,有源晶振电路等。(2)I/O口的引出与排列:电路板除了用于做一些简单的编程实验之外,最主要的还是用于与其他扩展板配合使用,即可以嵌入到一些复杂的系统中。因此,尽量把所有的I/O都引出,同时应分类引出,并且排列比较连贯。(3)器件的选择:对于低成本系统,一般选择EP1C6或EP1C3,稳压芯片选择1117系列。1117系列生产厂家多,并且各种不同的输出电压值都有,方便设计时灵活选择。第3章 实验板的测验本开发板除设计有FPGA、各类存储器以及扩展PACK外,还设计了按键
39、及LED、数码管显示、液晶显示蜂鸣器等测验电路。在上一章节中介绍了实验板的硬件制作,本节通过一个简单的按键控制LED显示,检测硬件成功与否。3.1 读取按键信号实验板上有4个按键K1K4,分别于FPGA的121124阵脚相连;有8个LED,分别于FPGA的4750、5355、176阵脚像连接。硬件原理图如图2-8-1所示。FPGA的所有I/O控制块允许每个I/O引脚单独配置为输入口,不过这种配置是系统自动完成的。当该I/O口被设置为输入口使用时,该I/O控制模块将直接使三态缓冲区的控制端接地,使得该I/O引脚对外呈高阻态,这样改I/O引脚即可用作专用输入引脚。正确分配并锁定引脚后,一旦在K1K
40、4中有键输入,即可在检测到键盘输入的情况下,继续判断其键盘值并作出相应的处理。本测验希望的结果是:按下按键,LED有相应的反应。例如,若按下K3,则点亮LED13发光管。实验步骤如下:启动Quartus II建立一个空白工程,然后命名为kled.qpf。新建Verilog HDL源程序文件kled.v,输入程序代码(如程序清单3.1)并保存,进行编译,若在编译过程中发现错误,则找出并更正错误,直至编译成功为止。 程序清单3.1 kled.vmodule kled(k,led); /模块名kledinput3:0 k; /定义键盘输入口output7:0 led; /定义发光管输出口reg7:0
41、 led_r; /定义寄存器reg7:0 buffer_r;assign led=led_r; /输出键值always(k) /过程1begin buffer_r=k; /读取键值 case(buffer_r)8b11111110: led_r r=8b11111110; /是键K1,则给寄存器赋值0xfe8b11111101: led_r =8b11111100; /是键K2,则给寄存器赋值0xfc8b11111011: led_r =8b11111000; /是键K3,则给寄存器赋值0xf88b11110111: led_r =8b11110000; /是键K4,则给寄存器赋值0xf0de
42、fault led_r =8b11111111; /否则给寄存器赋值0xffendcaseendendmodule选择目标器件并对相应引脚进行锁定,正在这里所选的器件为Altera公司Cyclone系列的EP1C6Q240C8芯片,引脚锁定方法如表3-2所示。将未使用的引脚设置为三态输入。表3-2 引脚锁定方法信号led 0Led 1Led 2Led 3Led 4Led 5Led 6Led 7k0k1k2 k3引脚50535455176474849121122123124 对该工程文件进行全程编译处理,若在编译过程中发现错误,则找出并更正错误,直到编译成功为止。 将Altera ByteBla
43、sterII下载电缆的两端分别接到PC机的打印机并口和实验板的JTAG下载口上,打开电源,执行下载命令,把程序下载到FPGA器件中。观察发光管LED1LED8的亮灭状态,按下K1K4的任一键,再次观察发光管的状态。 通过上面的按键控制LED实验,我们可以简单检测一下实验板。当实验板可以正确运行,此后我们就可以借助该实验板校验我们所研发的FPGA项目了。第4章 结论本文主要介绍了FPGA实验板的制作。FPGA作为现代 IC 设计验证的技术主流,系统设计师可以根据需要通过可编辑的连接把FPGA内部的逻辑块连接起来,就好像一个电路试验板被放在了一个芯片里。一个出厂后的成品FPGA的逻辑块和连接可以按照设计者而改变,FPGA可以完成所需要的逻辑功能。而制作实验板的目的是为了给予设计人员对他们所设计出来的逻辑功能进行验证。为了达到此目标,本开发板在FPGA最小系统的基础上,设计了存储器、数据配置、复位、实时时钟、I/O口分配、扩展接口、独立按键及LED、液晶显示、数码管显示、蜂鸣器和电源电路等。通过独立按键及LED、液晶显示、数码管显示、蜂鸣器等测试电路,可
链接地址:https://www.31ppt.com/p-3979269.html