《FPGACPLD硬件设计开发.ppt》由会员分享,可在线阅读,更多相关《FPGACPLD硬件设计开发.ppt(44页珍藏版)》请在三一办公上搜索。
1、2023/2/24,1,第三讲FPGA/CPLD硬件设计开发,信息与通信学院:*,2023/2/24,2,原理图/HDL文本编辑,综合,FPGA/CPLD适配,FPGA/CPLD编程下载,FPGA/CPLD器件和电路系统,时序与功能门级仿真,1、功能仿真2、时序仿真,逻辑综合器,结构综合器,1、isp方式下载 2、JTAG方式下载 3、针对SRAM结构的配置 4、OTP器件编程,功能仿真,应用FPGA/CPLD的EDA开发流程:,2023/2/24,3,下载线及下载板电路,用户板电路设计,通常,将对CPLD的下载称为编程(Program),对FPGA中的SRAM进行直接下载的方式称为配置(Co
2、nfigure),但对于OTP FPGA的下载和对FPGA的专用配置ROM的下载仍称为编程。,以Altera公司的CPLD及FPG为主说明编程与配置方法,2023/2/24,4,一、ByteBlaster并行下载方式,在实际应用中,Altera公司的器件一般采用ByteBlaster并行下载方,因为这种下载方式既方便,速度又快。Altera的ByteBlaster并行下载电缆的一端为25芯接口,可以与计算机上的25芯并口相连,另一端为l0芯接口,与含有目标器件的电路板相连。,JTAG接口,2023/2/24,5,什么是JTAG?,主要用于芯片内部测试仿真。现在多数的高级器件都支持JTAG协议,
3、如DSP、FPGA器件等。,标准的JTAG接口是4线:TMS、TCK、TDI、TDO,分别为模式选择、时钟、数据输入和数据输出线。,JTAG用来对芯片进行测试,允许多个器件通过JTAG接口串联在一起,形成一个JTAG链,能实现对各个器件分别测试。,现在,JTAG接口还常用于实现ISP(In-SystemProgrammable:在线编程),对CPLD、FLASH等器件进行编程。,2023/2/24,6,早期的Byteblaster MV下载线最新的Byteblaster II下载线USB blaster 下载线,接口各引脚信号名称,两种下载模式:,(1)被动串行同步(PS)方式(2)JTAG方
4、式,2023/2/24,7,Byteblaster II下载线,2023/2/24,8,Byteblaster II下载线,2023/2/24,9,Byteblaster MV下载线,2023/2/24,10,Byteblaster MV下载线,2023/2/24,11,2023/2/24,12,二、CPLD的编程方案,PC机,JTAG编程端口,CPLD,PC机,isp编程端口,CPLD,编程适配电路,编程适配电路,JTAG编程信号:TCK、TDO、TMS、TDI,CPLD内带有EEPROM,掉电后信息也不会丢失,只需将软件设计好的程序直接下载到芯片中就可以。,2023/2/24,13,1.C
5、PLD的JTAG方式编程,CPLD编程下载连接图,TCK、TDO、TMS、TDI为CPLD的JTAG口,对CPLD编程,2023/2/24,14,多CPLD芯片编程连接方式,CPLD的多芯片编程,2023/2/24,15,2CPLD的isp方式编程,ispLSI器件的编程采用E2CMOS元件来存储数据,编程时通过行地址和数据位对E2CMOS元件寻址。编程的寻址和移位操作由地址移位寄存器和数据移位寄存器完成。两种寄存器都按FlFO(先入先出)的方式工作。由于器件是插在目标系统中或线路板上进行编程,因此在系统编程的关键是编程时如何使芯片与外部脱离。,2023/2/24,16,CPLD,isp-IN
6、-SYSTEM-PROGRAMMERBALE,LATTICE 的isp下载方式,ISP接口,2023/2/24,17,编程时连线,器件编程时需要五根信号线用来传递编程信息:1)ispEN:编程使能信号。当=1时,器件为正常工作状态;当=0时,器件所有的I/0端被置成高阻状态,因而切断了芯片与外电路的联系。2)SDO:为数据输出线。3)SLCK:为串行时钟线。4)SDI:向串行移位寄存器提供编程数据和其它命令。5)MODE:为编程状态机的控制线,SDI与MODE一起为编程状态机的控制线。,2023/2/24,18,ISP状态机共有三个状态:,闲置态(IDLE)、移位态(SHIFT)和执行态(EX
7、ECUTE),三种状态转移图如下图所示。,2023/2/24,19,ISP功能提高设计和应用的灵活性,减少对器件的触摸和损伤不计较器件的封装形式,允许一般的存储样机制造方便支持生产和测试流程中的修改,允许现场硬件升级迅速方便地提升功能,未编程前先焊接安装,系统内编程-ISP,在系统现场重编程修改,2023/2/24,20,FPGA的3种常用的 标准下载配置模式,1、Passive Serial Mode,3、JTAG Mode,2、Active Serial Mode,三、FPGA的配置方案,FPGA是基于SRAM工艺的,掉电后信息全部丢失需加配置芯片来存储信息。,2023/2/24,21,主
8、动配置方式(AS):由FPGA器件引导配置操作过程,它控制着外部存储器和初始化过程;被动方式(PS):是由外部计算机或控制器控制配置过程。FPGA在正常工作时,它的配置数据存储在SRAM中。由于SRAM的易失性,每次加电时,配置数据都必须重新下载。在实验系统中,通常采用外部计算机或控制器进行调试,因此可以使用被动配置方式。但是当数字系统设计完毕需要正式投入使用时,在应用现场不可能在FPGA每次加电后,用一台PC手动地进行配置。因此上电后,系统自动加载配置对于FPGA来说是必须的,这时FPGA将主动从外围专用存储芯片中获得配置数据。,2023/2/24,22,FPGA配置,JTAG配置端口,FP
9、GA,PS配置端口,PC机,配置适配电路,配置器件或配置电路,AS配置端口,专用FLASH配置器件,2023/2/24,23,使用PC并行口配置FPGA,PS模式配置时序,2023/2/24,24,多FPGA芯片配置电路,2023/2/24,25,FLEX、ACEX、APEX等系列 FPGA器件配置连线图,FLEX、ACEX、APEX系列FPGA 配置电路,FPGA Passive Serial Configuration 被动串行配置模式,10针标准配置/下载接口,通过配置电路后与PC机的并行接口相接,对FPGA配置,方案1:PS端口直接配置,2023/2/24,26,FPGA使用EPC配置
10、器件的配置时序,用专用配置器件配置FPGA,2023/2/24,27,FPGA的配置电路原理图,OTP配置器件:EPC1441、EPC1、EPC1213等,方案2:PS端口OTP专用器件配置,缺点:1、芯片价格高。2、只能一次编程。3、可配置的FPGA规模小,不能用于SOPC系统配置。4、无法用于实时多任务重配置,2023/2/24,28,用专用配置器件配置FPGA,EPC2配置FPGA的电路原理图,EPC2可以多次重复编程,且是isp方式编程,外部上拉电阻1K X 5,2023/2/24,29,DCLK nCSnINIT_CONF OE DATA,PC机,FPGA,EPC2配置芯片,配置电路
11、和JTAG编程端口,DCLKCONF_DONEnCONFIGnSTATUSDATA0,TCKTMSTDOTDI,TCKTMSTDOTDI,配置,编程,利用FLASH结构的EPC2为FPGA作配置,方案3:PS端口E平方专用器件配置,缺点:1、芯片价格高。2、可多次编程次数少。3、无法用于实时多任务重配置,2023/2/24,30,方案4:AS端口FLASH专用器件配置,PC机,Cyclone系列 FPGA,EPCSX配置芯片,ByteBlasterII配置电路,配置,编程,AS配置端口,ByteBlaster(MV)配置电路ByteBlasterII配置电路,POF硬件购建配置文件,Nios工
12、作软件,Nios嵌入式系统,缺点:1、只适合于Cyclone系列器件2、无法用于实时多任务重配置,2023/2/24,31,FPGA,普通单片机,EPROM或串行E平方ROM,PS配置端口DCLKCONF_DONEnCONFIGnSTATUSDATA0,方案5:PS端口单片机软件方式配置,单片机I/O端口,单片机软件配置方案缺点:1、配置过程中易受干扰,可靠性低,不能用于可靠性要求高的领域。2、配置速度慢,不能用于反应速度要求高的领域。3、可配置的FPGA规模小,无法用于大于10K30乃至SOPC领域的器件配置。4、电路面积比较大5、实验模式不规范,2023/2/24,32,单片机产生配置时序
13、、读取EPROM中的配置数据,EPROM中放置多个不同功能的配置文件,对FPGA进行配置,2023/2/24,33,使用单片机配置FPGA,图2-54 MCU用PPS模式配置FPGA电路,2023/2/24,34,单片机使用PPS模式配置时序,2023/2/24,35,用89C52进行配置,2023/2/24,36,各种规模的FPGA,ASIC/CPLD,大容量EPROM,PS配置端口DCLKCONF_DONEnCONFIGnSTATUSDATA0,方案6:PS端口ASIC/CPLD硬件高速配置方案,I/O端口,缺点:1、电路面积比较大,2023/2/24,37,PC机选择JTAG下载模式,G
14、WAK30Z型适配板,掉电配置选择PS下载模式,掉电保护配置复位,40MHz配置时钟源,掉电保护配置器件,配置文件ROM,配置成功指示,2023/2/24,38,PC机,FPGA,应用电路系统,CPU/CPLD,大容量ROM/EPROM/FLASH芯片,FPGA,应用电路系统,CPU/CPLD,RAM,方案1,方案2,1、通用编程器2、通用仿真器3、虚拟仪表,FPGA的配置和重配置(RECONFIGURATION),2023/2/24,39,通过EDA工具中的LPM模块调用如LPM_ROM,LPM_FIFO等,FPGA中的硬件EAB/ESB,硬核IP或嵌入式硬件模块(如EAB)调用图示,通过L
15、PM编辑器或直接编辑设计(调用),以及参数设定LPM模块的相关底层文件(或元件),顶层系统调用,2023/2/24,40,产生HARDCOPY文件,ASIC无缝转化,ALTERA HARDCOPY ASIC设计流程,FPGA硬件系统测试仿真,ASIC顶层设计,STRATIX系列FPGA,2023/2/24,41,规范的配置方案,JTAG端口,FPGA,PS配置端口,PC机,配置适配电路,配置器件或配置电路,FPGA,PS配置端口,PC机,配置适配电路,配置器件或配置电路,不规范的配置方案,2023/2/24,42,四、FPGA/CPLD芯片应用电路设计,特殊功能的管脚电源脚VCC和GND,VCC一般分为VCCINT和VCCIO两种JTAG管脚:实现在线编程和边界扫描配置管脚(FPGA):用于由EEPROM配置芯片信号管脚专用输入管脚:全局时钟、复位、置位可随意配置其功能为:输入、输出、双向、三态,2023/2/24,43,I/O口,VCCIO,GNDIO,GNDINT,VCCINT,CLK,TMS,TDI,TCK,TDO,2023/2/24,44,硬件设计注意点,下载配置方式的选取供电电压 VCCINT VCCIO电源的滤波Pin to pin 兼容原则空闲I/O的处理时钟的走线输出调试信号器件选取,