《EDA设计技术教学课件第2章可编程逻辑器件uwc.pptx》由会员分享,可在线阅读,更多相关《EDA设计技术教学课件第2章可编程逻辑器件uwc.pptx(56页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、VerilogHDLVerilogHDL与与与与CPLD|FPGACPLD|FPGA设计设计设计设计淮南师范学院电子工程学院第3-1页电子教案电子教案第2章 可编程逻辑器件EDA设计技术设计技术VerilogHDLVerilogHDL与与与与CPLD|FPGACPLD|FPGA设计设计设计设计淮南师范学院电子工程学院第3-2页电子教案电子教案基本结构 基本结构均包含必不可少的逻辑单元、逻辑阵列块、用户存储器块、输入输出口、时钟网络、配置或编程接口等结构块。VerilogHDLVerilogHDL与与与与CPLD|FPGACPLD|FPGA设计设计设计设计淮南师范学院电子工程学院第3-3页电子教
2、案电子教案2.1 可编程逻辑阵列PLA VerilogHDLVerilogHDL与与与与CPLD|FPGACPLD|FPGA设计设计设计设计淮南师范学院电子工程学院第3-4页电子教案电子教案2.2 可编程阵列逻辑器件PLD16个输入端(I1I10和IO2IO7)、8个输出端O1、IO2IO7和O8,PAL16L8、PAL20L8即PLD的典型结构。PAL16L8的输出口都增加了一个带控制端的三态反相器门:当控制端为0时,三态门处于高阻状态,O1和O8被封锁,IO2IO7只能作为输入端使用,此时PAL16L8有16个输入口,两个输出口;当控制端为1时,使能三态门,经反相器至双向口IO2IO7,此
3、时PAL16L8有16个输入口、8个输出口。VerilogHDLVerilogHDL与与与与CPLD|FPGACPLD|FPGA设计设计设计设计淮南师范学院电子工程学院第3-5页电子教案电子教案2.3 2.3 通用逻辑阵列器件通用逻辑阵列器件GALGALVerilogHDLVerilogHDL与与与与CPLD|FPGACPLD|FPGA设计设计设计设计淮南师范学院电子工程学院第3-6页电子教案电子教案2.4 CPLD结构CPLD由行列式二维结构组成:逻辑阵列块逻辑互联输入输出全局时钟网络单元用户闪存存储块VerilogHDLVerilogHDL与与与与CPLD|FPGACPLD|FPGA设计设
4、计设计设计淮南师范学院电子工程学院第3-7页电子教案电子教案LAB(逻辑阵列块)包含10个逻辑单元LE,逻辑单元是实现用户逻辑功能的最小单位,CPLD的规模按照逻辑单元的数目来评价。逻辑互联为逻辑阵列块之间提供快速颗粒的时间延时和逻辑互联;CPLD四周分布的输入输出单元与行列式逻辑阵列块连接,同时将输入输出引脚反馈到输入输出单元。CPLD还提供驱动整个器件所有资源的全局时钟网络,用于存储用户数据的用户闪存存储器块UFM。VerilogHDLVerilogHDL与与与与CPLD|FPGACPLD|FPGA设计设计设计设计淮南师范学院电子工程学院第3-8页电子教案电子教案2.4.1 逻辑阵列块每个
5、逻辑阵列块由10个逻辑单元、逻辑单元进位链、逻辑阵列块控制信号、本地互联、查找表链、寄存器链组成。本地互联负责LAB内各逻辑单元的信号传输查找表链、寄存器链各自负责本逻辑阵列块内逻辑单元查找表的输出与邻近逻辑单元之间的快速传输VerilogHDLVerilogHDL与与与与CPLD|FPGACPLD|FPGA设计设计设计设计淮南师范学院电子工程学院第3-9页电子教案电子教案VerilogHDLVerilogHDL与与与与CPLD|FPGACPLD|FPGA设计设计设计设计淮南师范学院电子工程学院第3-10页电子教案电子教案逻辑阵列块每个逻辑阵列块通过控制信号独立地驱动阵列块内的10个逻辑单元控
6、制信号包括两个时钟信号、时钟使能信号、异步清零信号,一个同步清零信号、异步加载/预置信号、同步加载信号和加法/减法控制信号VerilogHDLVerilogHDL与与与与CPLD|FPGACPLD|FPGA设计设计设计设计淮南师范学院电子工程学院第3-11页电子教案电子教案2.4.2 逻辑单元逻辑单元LE是CPLD逻辑器件实现逻辑功能的最小单位VerilogHDLVerilogHDL与与与与CPLD|FPGACPLD|FPGA设计设计设计设计淮南师范学院电子工程学院第3-12页电子教案电子教案2.4.3 用户Flash存储器块用户Flash存储器块UFM是某些CPLD自带的、专门向用户提供的E
7、EPROM型非易失性信息存储器UFM经逻辑互联与逻辑阵列连接在一起,而且可与逻辑单元接口,其接口的总线宽度最多到16位512字节UFM分为UFM0和UFM1两个扇区使用、共8192位的存储空间实现编程、数据擦除、自动增量寻址、可编程接口、内部时钟等功能VerilogHDLVerilogHDL与与与与CPLD|FPGACPLD|FPGA设计设计设计设计淮南师范学院电子工程学院第3-13页电子教案电子教案2.4.4 输入输出口CPLD提供了丰富的器件资源和功能,特别是输入输出口的端口数目、访问与控制方式CPLD的IO口支持LVTTL、LVCMOS标准可以在1.5V、1.8V、2.5V和3.3V等多
8、电压内核多电压内核下工作利用集成开发软件进行可编程控制端口的驱动强度、转换速率、输入延时,可配置弱上拉电阻、三态缓冲、开路集输出、施密特触发器输入VerilogHDLVerilogHDL与与与与CPLD|FPGACPLD|FPGA设计设计设计设计淮南师范学院电子工程学院第3-14页电子教案电子教案遵循JTAG协议对CPLD进行编程或边界扫描测试CPLD增加了快速输出口,以大幅度减少输出延时和传输延时而不需要使能信号或输入信号VerilogHDLVerilogHDL与与与与CPLD|FPGACPLD|FPGA设计设计设计设计淮南师范学院电子工程学院第3-15页电子教案电子教案2.5 FPGA结构
9、FPGA的器件内核由逻辑阵列块、M4K/M9K/M144K存储器块、时钟网络、锁相环、输入输出块、配置接口等组成逻辑单元采用4输入口的查找表结构,各结构块与CPLD基本相同(1个FPGA逻辑阵列块含16个逻辑单元)VerilogHDLVerilogHDL与与与与CPLD|FPGACPLD|FPGA设计设计设计设计淮南师范学院电子工程学院第3-16页电子教案电子教案2.5.1嵌入式乘法器为了在FPGA上实现DSP处理系统的低功耗、低价格和高性能要求,很多FPGA都嵌入规模不等的乘法器每个乘法器的位数是可编程的可选择并配置为18x18或9x9乘法器将乘法器进行级联VerilogHDLVerilog
10、HDL与与与与CPLD|FPGACPLD|FPGA设计设计设计设计淮南师范学院电子工程学院第3-17页电子教案电子教案嵌入式乘法器VerilogHDLVerilogHDL与与与与CPLD|FPGACPLD|FPGA设计设计设计设计淮南师范学院电子工程学院第3-18页电子教案电子教案2.5.2 输入输出口与CPLD不同的是,FPGA的输入输出口可选择直接连通或经过触发器锁存两种方式,前者主要是为了满足输入输出口高速连通性能的需要VerilogHDLVerilogHDL与与与与CPLD|FPGACPLD|FPGA设计设计设计设计淮南师范学院电子工程学院第3-19页电子教案电子教案FPGA的输入输出
11、口VerilogHDLVerilogHDL与与与与CPLD|FPGACPLD|FPGA设计设计设计设计淮南师范学院电子工程学院第3-20页电子教案电子教案2.5.3时钟网络和锁相环逻辑块FPGA的时钟网络由数目不等的时钟CLK、时钟选择开关MUX、锁相环逻辑PLL、时钟控制块等组成。每个锁相环逻辑模块生成五路时钟信号,经多路开关和时钟控制块,输出全局时钟。VerilogHDLVerilogHDL与与与与CPLD|FPGACPLD|FPGA设计设计设计设计淮南师范学院电子工程学院第3-21页电子教案电子教案时钟选择和时钟控制块VerilogHDLVerilogHDL与与与与CPLD|FPGACP
12、LD|FPGA设计设计设计设计淮南师范学院电子工程学院第3-22页电子教案电子教案锁相环逻辑PLL由时钟输入、时钟切换逻辑、分频计数器、锁定控制电路、相位比较器、滤波器、压控振荡器、多路开关、范围检测电路、延时补偿等组成。PLL分为两种:通用PLL和多用途PLL,通用PLL主要用于FPGA的外设或接口时钟,多用途PLL用于收发器时钟。VerilogHDLVerilogHDL与与与与CPLD|FPGACPLD|FPGA设计设计设计设计淮南师范学院电子工程学院第3-23页电子教案电子教案多用途锁相环逻辑PLL结构VerilogHDLVerilogHDL与与与与CPLD|FPGACPLD|FPGA设
13、计设计设计设计淮南师范学院电子工程学院第3-24页电子教案电子教案2.5.4高速差分接口FPGA的高速差分接口支持LVDS、BLVDS、RSDS、PPDS等多种高速I/O标准,利用高速串行接口(HSSI)的输入参考时钟和差分端口,发送或接收数据。LVDS I/O标准的最大差输出电压可达600mV,根据不同的频率范围,输入电压范围可低至1.0V_1.6V,0.5V_1.85V或0V_1.8V。VerilogHDLVerilogHDL与与与与CPLD|FPGACPLD|FPGA设计设计设计设计淮南师范学院电子工程学院第3-25页电子教案电子教案FPGA的LVDS接口电路结构VerilogHDLVe
14、rilogHDL与与与与CPLD|FPGACPLD|FPGA设计设计设计设计淮南师范学院电子工程学院第3-26页电子教案电子教案FPGA的BLVDS接口电路结构VerilogHDLVerilogHDL与与与与CPLD|FPGACPLD|FPGA设计设计设计设计淮南师范学院电子工程学院第3-27页电子教案电子教案2.5.5 存储器块FPGA以9K位每块或144K位每块构成不同规模的嵌入式存储器块,便于用户以寻址方式访问片上存储器可将存储器配置为RAM、ROM、移位寄存器、FIFO等不同类型存储器,可选择单端方式存储器、简单双端方式存储器、纯双端方式存储器、移位寄存器、ROM和FIFOVerilo
15、gHDLVerilogHDL与与与与CPLD|FPGACPLD|FPGA设计设计设计设计淮南师范学院电子工程学院第3-28页电子教案电子教案2.5.5.1 单端存储器单端存储器不能同时对同一地址单元进行读写操作。在写操作的同时,若读使能信号rden有效,存储器的输出可能是新写入的数据,也可能是过去写入的数据被当前寻址的结果;在写操作的同时,若读使能信号rden无效,则读出的数据是前一次写入的数据。VerilogHDLVerilogHDL与与与与CPLD|FPGACPLD|FPGA设计设计设计设计淮南师范学院电子工程学院第3-29页电子教案电子教案单端存储器的框图及其时序VerilogHDLVe
16、rilogHDL与与与与CPLD|FPGACPLD|FPGA设计设计设计设计淮南师范学院电子工程学院第3-30页电子教案电子教案2.5.5.2 简单双端方式存储器简单双端存储器可以同时对不同地址单元进行读写操作,对同一地址同时进行读写操作,结果可能是未知数据或前一次写入的数据。若不考虑同时读写同一地址单元的结果,可通过与QUATUS II同类的Megawizard插件管理器将该情况下的输出结果设定为“Dont Care”或“Old Data”。VerilogHDLVerilogHDL与与与与CPLD|FPGACPLD|FPGA设计设计设计设计淮南师范学院电子工程学院第3-31页电子教案电子教案
17、2.5.5.3 纯双端方式存储器纯双端方式存储器支持存储器A和B两端口在不同时钟频率下的任意地址的读写组合操作:两端口同时读、两端口同时写、一个端口读另一端口写。不过,应尽量避免在同一时间对两端口的同一地址进行写操作,此时将发生写操作冲突,导致写入未知结果。VerilogHDLVerilogHDL与与与与CPLD|FPGACPLD|FPGA设计设计设计设计淮南师范学院电子工程学院第3-32页电子教案电子教案纯双端方式存储器框图及其时序VerilogHDLVerilogHDL与与与与CPLD|FPGACPLD|FPGA设计设计设计设计淮南师范学院电子工程学院第3-33页电子教案电子教案2.5.5
18、.4 移位寄存器一个规模为w*m*n的移位寄存器是指输入数据的数据宽度为w、长度为m、抽头数为n,存储空间必须小于或等于M9K存储块或M144K存储块的最大位数(9K位或144K位),而且 必须小于或等于存储块的最大数据宽度(36位)。若一个存储块的容量不够,可将M9K或M144K存储块级联使用。VerilogHDLVerilogHDL与与与与CPLD|FPGACPLD|FPGA设计设计设计设计淮南师范学院电子工程学院第3-34页电子教案电子教案FPGA的嵌入式移位寄存器VerilogHDLVerilogHDL与与与与CPLD|FPGACPLD|FPGA设计设计设计设计淮南师范学院电子工程学院
19、第3-35页电子教案电子教案2.5.5.5 ROM存储器 FPGA的嵌入式ROM存储器以指定文件格式的初始化文件写入ROM数据,例如Altera公司的Cyclone II/III/IV系列,使用.mif格式的ROM初始化格式文件。将ROM存储器当作单端口方式存储器进行读操作VerilogHDLVerilogHDL与与与与CPLD|FPGACPLD|FPGA设计设计设计设计淮南师范学院电子工程学院第3-36页电子教案电子教案2.6配置与编程配置或编程:CPLD或FPGA是电子系统运行的物理载体,在投入正式运行阶段(即用户工作模式)之前,必须将物理载体的逻辑关系和互联关系映射到逻辑器件配置或编程的
20、区别:存储逻辑和互联数据的存储器是易失性存储器(如SRAM)还是非易失性存储器(如EEPROM)VerilogHDLVerilogHDL与与与与CPLD|FPGACPLD|FPGA设计设计设计设计淮南师范学院电子工程学院第3-37页电子教案电子教案配置FPGA利用SRAM存储逻辑和互联映射数据。每次接通电源、复位结束、进入配置状态之后,SRAM都要重新从EEPROM、Flash等外部存储器加载逻辑和互联映射数据,以初始化FPGA内部的寄存器和输入输出口,最后进入用户工作模式的运行状态。因此,向FPGA的EEPROM、Flash等外部存储器写入数据的过程称为配置。VerilogHDLVerilo
21、gHDL与与与与CPLD|FPGACPLD|FPGA设计设计设计设计淮南师范学院电子工程学院第3-38页电子教案电子教案FPGA的配置过程VerilogHDLVerilogHDL与与与与CPLD|FPGACPLD|FPGA设计设计设计设计淮南师范学院电子工程学院第3-39页电子教案电子教案FPGA的配置方式激活串行方式(AS方式)被动串行方式(PS方式)快速被动串行方式(FPP方式)JTAG配置方式VerilogHDLVerilogHDL与与与与CPLD|FPGACPLD|FPGA设计设计设计设计淮南师范学院电子工程学院第3-40页电子教案电子教案CPLD的编程CPLD采用非易失性的EEPRO
22、M存储器存储逻辑和互联映射数据;每次对CPLD上电之后,直接读取EEPROM,使CPLD进入用户工作模式。向CPLD的ROM写入数据的过程称为编程,其状态转换机制与FPGA类似VerilogHDLVerilogHDL与与与与CPLD|FPGACPLD|FPGA设计设计设计设计淮南师范学院电子工程学院第3-41页电子教案电子教案2.6.1 在系统编程接口在系统编程(ISP)接口:在配置或编程之前将FPGA或CPLD组装在印刷电路板上,与编程、测试设备一起构成系统开发、验证、评估平台,快速、高效地实施编程和调试需求而设立的接口。该接口遵循IEEE Std.1149.1-1990或IEEE Std.
23、1149.6-1990的联合测试行动组(JTAG)接口标准。VerilogHDLVerilogHDL与与与与CPLD|FPGACPLD|FPGA设计设计设计设计淮南师范学院电子工程学院第3-42页电子教案电子教案在系统编程:经在电路测试(在系统编程:经在电路测试(ICTICT)、嵌入式)、嵌入式处理器或专用下载电缆,按照处理器或专用下载电缆,按照IEEE Std.1532IEEE Std.1532和相关标准规定的编程算法,经过进入和相关标准规定的编程算法,经过进入ISPISP、器件器件IDID检查、擦除数据、编程、校验、退出检查、擦除数据、编程、校验、退出ISPISP共共6 6个状态,实现在系
24、统编程。个状态,实现在系统编程。VerilogHDLVerilogHDL与与与与CPLD|FPGACPLD|FPGA设计设计设计设计淮南师范学院电子工程学院第3-43页电子教案电子教案2.6.1.1 JTAG接口JTAG接口是遵循IEEE Std.1149.1标准,使用四个功能引脚的信号线。CPLD或FPGA与JTAG电缆一起构成JTAG链,实现边界扫描测试(BST)、访问CPLD或FPGA内部资源。引脚引脚描述描述功能功能TDI测试数据输入在TCK的上升沿,输入串行数据和指令,正常工作状态下,需外部上拉电阻,TDO测试数据输出在TCK的上升沿,输出串行数据和指令。TMS测试方式选择控制IEE
25、E Std.1149.1 JTAG状态机的输入引脚。TCK测试时钟为JTAG电路提供时钟信号,最大工作频率为10MHz。正常工作状态下,需外部下拉电阻,VerilogHDLVerilogHDL与与与与CPLD|FPGACPLD|FPGA设计设计设计设计淮南师范学院电子工程学院第3-44页电子教案电子教案2.6.1.2 JTAG编程/配置方式JTAG配置方式用于FPGA的在系统实时调试,将配置目标文件直接下载到FPGA的SRAM,从FPGA或CPLD读出测试信息,实现边界扫描测试,具有速度快、接口简单的特点。VerilogHDLVerilogHDL与与与与CPLD|FPGACPLD|FPGA设计
26、设计设计设计淮南师范学院电子工程学院第3-45页电子教案电子教案JTAG的单片配置/编程VerilogHDLVerilogHDL与与与与CPLD|FPGACPLD|FPGA设计设计设计设计淮南师范学院电子工程学院第3-46页电子教案电子教案JTAG链的多片配置/编程VerilogHDLVerilogHDL与与与与CPLD|FPGACPLD|FPGA设计设计设计设计淮南师范学院电子工程学院第3-47页电子教案电子教案2.6.1.3 PS配置方式被动串行配置方式(PS方式)将FPGA当作从机,被动地接收、执行CPLD或微处理器等外部主机发来的配置数据和配置命令VerilogHDLVerilogHD
27、L与与与与CPLD|FPGACPLD|FPGA设计设计设计设计淮南师范学院电子工程学院第3-48页电子教案电子教案PS配置方式VerilogHDLVerilogHDL与与与与CPLD|FPGACPLD|FPGA设计设计设计设计淮南师范学院电子工程学院第3-49页电子教案电子教案2.6.1.4 AS配置方式激活串行方式(AS方式)将FPGA当作桥接器件,将JTAG接口的配置数据文件经FPGA传递,保存在EPCS系列非易失性存储器中,文件格式为EPCS JTAG间接配置器件编程文件(.jic文件)。第一阶段,加载SFL设计。第二阶段,配置器件的在系统编程。第三阶段,重配置。VerilogHDLVe
28、rilogHDL与与与与CPLD|FPGACPLD|FPGA设计设计设计设计淮南师范学院电子工程学院第3-50页电子教案电子教案AS配置方式VerilogHDLVerilogHDL与与与与CPLD|FPGACPLD|FPGA设计设计设计设计淮南师范学院电子工程学院第3-51页电子教案电子教案2.6.2 设计安全设计安全是为了保护基于CPLD或FPGA的系统知识产权被非法获取或利用而采取的设计方法:防复制防逆向工程防调和。VerilogHDLVerilogHDL与与与与CPLD|FPGACPLD|FPGA设计设计设计设计淮南师范学院电子工程学院第3-52页电子教案电子教案2.6.2.1 防复制F
29、PGA的防复制机制VerilogHDLVerilogHDL与与与与CPLD|FPGACPLD|FPGA设计设计设计设计淮南师范学院电子工程学院第3-53页电子教案电子教案防逆向工程逆向工程是从CPLD或FPGA读出设计数据,恢复或还原原始设计资料的过程。由于CPLD或FPGA的配置、编程目标文件文件采用既定的加密算法,一般以专利权的文件格式生成目标文件,配置文件的数据量达上百万位。一般来说,即使获得加密的配置数据,也很难恢复原始设计资料。VerilogHDLVerilogHDL与与与与CPLD|FPGACPLD|FPGA设计设计设计设计淮南师范学院电子工程学院第3-54页电子教案电子教案防调和
30、防调和采用限制JTAG指令集,以防止经JTAG回读配置数据,最终提供设计安全保护。部分FPGA还采用错误检测机制,周期性地检测RAM数据的故意或无意修改。VerilogHDLVerilogHDL与与与与CPLD|FPGACPLD|FPGA设计设计设计设计淮南师范学院电子工程学院第3-55页电子教案电子教案Bye-byeVerilogHDLVerilogHDL与与与与CPLD|FPGACPLD|FPGA设计设计设计设计淮南师范学院电子工程学院第3-56页电子教案电子教案谢谢观看/欢迎下载BY FAITH I MEAN A VISION OF GOOD ONE CHERISHES AND THE ENTHUSIASM THAT PUSHES ONE TO SEEK ITS FULFILLMENT REGARDLESS OF OBSTACLES.BY FAITH I BY FAITH