数字电路的FPGA设计与实现-基于Quartus Prime和Verilog HDL-第1讲-FPGA基础概念_第1页
数字电路的FPGA设计与实现-基于Quartus Prime和Verilog HDL-第1讲-FPGA基础概念_第2页
数字电路的FPGA设计与实现-基于Quartus Prime和Verilog HDL-第1讲-FPGA基础概念_第3页
数字电路的FPGA设计与实现-基于Quartus Prime和Verilog HDL-第1讲-FPGA基础概念_第4页
数字电路的FPGA设计与实现-基于Quartus Prime和Verilog HDL-第1讲-FPGA基础概念_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

数字电路的FPGA设计与实现——基于QuartusPrime和VerilogHDLFPGADesignandImplementationofDigitalCircuits——BasedonQuartusPrimeandVerilogHDL第1讲FPGA基础概念1什么是FPGAWhatisFPGA“

FPGA(FieldProgrammableGateArray)中文名称为现场可编程门阵列,是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物,是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数量有限的缺点。简而言之,FPGA就是一个可以通过编程来改变内部结构的芯片。1.12FPGA与MCU3读取指令分析指令执行指令程序程序指令MCUFPGA×N程序工作设计图纸外部配置FLASHFLASHSRAM应用场景4通信领域数字信号处理领域视频图像处理领域高速接口设计领域医学成像领域IC验证领域——实现无线通信中的高速数字信号处理、高速通信协议处理

——FIR等重复性数字滤波、高速并行的数字信号处理任务

——处理对图像稳定性、清晰度、亮度和颜色要求较高的图像数据——实现不同的接口逻辑,减少专用接口芯片数量

——超声、核磁共振等成像的高频采样、各种影像算法的处理——把IC的代码移植到FPGA上生成接近真实IC芯片的电路,验证IC设计FGPA基本结构BasicstructureofFGPA“

FPGA的基本结构包括可编程输入输出单元,基本可编程逻辑单元,布线资源,全局时钟资源,嵌入式块RAM,内嵌的底层功能单元,内嵌专用IP单元。1.25基本结构——可编程输入输出单元(IOB)6

可编程输入/输出单元(IOB)是芯片与外界电路的接口部分。为了便于管理和适应多种电器标准,FPGA的IOB被划分为若干个组(Bank),每个Bank的接口标准由其接口电压决定,一个I/OBankX只能有一种VCCIOX,但不同Bank的VCCIOX可以不同。目前大多数FPGA的I/O单元被设计为可编程模式,即通过软件的灵活配置,可适应不同的电器标准与I/O物理特性。基本结构——基本可编程逻辑单元(CLB)7

基本可编程逻辑单元主要由查找表和寄存器组成的。其中,查找表完成组合逻辑功能,寄存器可配置为带同步/异步复位和置位、时钟使能的触发器,也可以配置成为锁存器,用于完成时序逻辑功能。一般来说,比较经典的基本可编程单元的配置是一个寄存器加一个查找表,但不同厂商的寄存器和查找表的内部结构有一定的差异,组合模式也各不相同。基本结构——查找表(LUT)8

查找表(Look-Up-Table)简称为LUT,其本质上就是一个RAM。目前FPGA内部中多使用4输入的LUT,每一个LUT可以看成一个有4位地址线的RAM。当通过原理图或硬件描述语言设计了一个逻辑电路以后,FPGA开发软件会自动计算逻辑电路的所有可能结果,并把真值表(即结果)事先写入RAM中。这样,每输入一个信号进行逻辑运算就等于输入一个地址进行查找表操作,通过地址找到对应的RAM中的结果,最后将其输出。基本结构——布线资源9

在FPGA芯片内部有着丰富的布线资源,连通了内部的所有单元,其长度和工艺决定着信号在连线上的驱动能力和传输速度。根据工艺、长度、宽度和分布位置的不同而划分为4类不同的类别:全局布线资源、长线资源、短线资源及分布式的布线资源。基本结构——全局时钟资源10

FPGA器件的时钟信号源一般来自外部,通常使用晶体振荡器(简称晶振)产生时钟信号。全局时钟是FPGA内的一种时钟网络,可以覆盖FPGA中各种资源的时钟输入,为其提供高频、低抖的时钟信号。

CycloneIVE器件提供了多达15个专用时钟管脚(CLK[15..1]),以用于驱动全局时钟(GCLKs)。这些时钟管脚能够驱动高达20个GCLK。基本结构——嵌入式块RAM(BRAM)11

块RAM是FPGA内部一种SRAM结构的块状存储器,以阵列的方式排布于FPGA的内部,是实现各种存储功能的主要部分,可被配置为ROM、RAM、内容地址存储器(CAM)以及FIFO等常用存储结构。使用BRAM时不会占用额外的逻辑资源,并且读写速度非常快,但是使用时消耗的BRAM资源只能是其块大小的整数倍,就算只存了1bit的数据也要占用一个块RAM的资源。在实际应用中,块RAM的数量也是选择芯片的一个重要因素。基本结构——内嵌专用IP单元12

内嵌专用IP单元指的是由FPGA厂商预先设计好,经过严格测试和优化过的软核IP和硬核IP。如DLL、PLL、DSP、CPU等通用程度较高的软核,以及专用乘法器、浮点运算单元、串并收发器等处理能力强大的专用硬核。这些丰富的内嵌专用IP单元,使得FPGA成为了系统级的设计工具,逐步具备了软硬件联合设计的能力,性能和应用场景得到了进一步的提升。基本结构13电源定义Definitionofpowersupply“

FPGA涉及的电源有很多,其中,数字电路实验用到的CycloneIVE芯片的电源主要有内核电源VCCINT,I/O供电电源VCCIO,PLL模拟电源VCCA和PLL数字电源VCCD_PLL这几部分,这里主要介绍内核电源和I/O供电电源。1.314内核电源VCCINTVCCINT是FPGA芯片的内核电压是用来给FPGA内部的逻辑门和触发器上的电压。即芯片的晶体管开关是由核心电压提供。当内部逻辑工作时钟速率越高使用逻辑资源越多,则核心电压供电电流会更大,可高达几安,此时芯片必然会发烫,需要散热装置辅助散热。随着FPGA的发展,核心电压可支持的电源输入从5V减小到了现在的1.2V,由核心电压引起的芯片发烫、功耗等也变的越来越低。15I/O供电电源VCCIOVCCO用于FPGA驱动IO模块的电压,因为FPGA经常要与多种不同电平接口的芯片通信,所以都会支持非常多的电平标准,为此,VCCO通常以Bank为界,相互之间是独立的,即一个Bank块只能存在一种IO电压,每个I/OBnak可以与一种电平芯片通信,如VCCIO3接3V3的电源,与之对应的Bank3引脚便与3.3V电平的器件通信,

VCCIO4接1.5V,Bank4的引脚则与1.5V电平的器件通信。16数据存储及配置模式Datastorageandconfigurationmethods“1.417数据存储的载体

在FPGA内部,用来作为数据存储的载体主要有3种,分别是触发器、查找表和块RAM。触发器:可以在非时钟有效沿期间记忆并保持某个状态,主要用于时序逻辑电路中;查找表:也被称为分布式RAM,一般用于保存组合逻辑的真值表,实现组合逻辑的功能;块RAM:FPGA实现各种存储功能的主要部分,可以配置为ROM、RAM、FIFO以及STACK等常用存储结构。如果外部有大量数据交互时,就要通过增加外设来对数据进行暂时性的存储,如SDRAM存储器或者DDR3存储器,暂存在外设中的数据最终也要通过FPGA内部的RAM进行存储与处理。18编程数据的存储

FPGA的编程数据一般存储在块RAM中的SRAM单元里,在运行时,FPGA会将编程信息读出,根据信息配置好硬件资源后,FPGA便开始工作;由于SRAM掉电就会丢失内部数据,因此往往都会外接一个能够掉电保存数据的片外存储器以保存程序。这样一来,上电时FPGA便将外部存储器中的数据读入片内RAM以完成配置,对FPGA编程完成后便进入工作状态;掉电后FPGA内部SRAM中存储的数据丢失,逻辑清零。以这种方式配置FPGA不仅能反复使用,还无需重复的手动配置。完成一次主动配置之后每次上电便会自动的实现FPGA的内部编程。19配置模式

FPGA的配置方式灵活多样,根据芯片是否能够自己主动加载配置数据可分为主模式、从模式以及JTAG模式。主模式:由FPGA内部产生时钟,从片外FLASH中加载配置所需的比特流,读入到SRAM中,实现内部结构映射。从模式:FPGA作为从设备,微处理器控制器或或者其他终端提供配置所需的时序,实现配置数据的下载。JTAG模式:通过JTAG将PC中的比特文件流下载到FPGA中进行调试,断电即丢失。20开发流程Developmentprocess“1.521

FPGA的设计流程就是利用EDA开发软件和编程工具对FPGA芯片进行开发的过程。原理图和HDL(Hardwaredescriptionlanguage,硬件描述语言)是两种最常用的数字硬件电路描述方法。其中,运用HDL设计方法具有更好的移植性、通用性以及利于模块划分的特点,在工作学习中被广泛使用。HDL语言

HDL(HardwareDescripTIonLanguage)语言又称为硬件描述语言,是一种用文本的方式把硬件电路描述出来的语言。目前最主要的硬件描述语言是VHDL和VerilogHDL。VHDL发展的较早,语法严格,而VerilogHDL是在C语言的基础上发展起来的一种硬件描述语言,语法较自由。我们在阅读HDL程序的时候,在脑子里应该能反映出一个完整的硬件电路结构。也就是说,我们在编写HD

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论