可编程逻辑器件

数字领域三种基本器件:(思考数字领域的系统构成)包括存储器、微处理器、逻辑器件。其中逻辑器件又分成:固定逻辑器件和可编程逻辑器件。(历史发展角度分)。

什么是固定逻辑器件:电路和逻辑是永久的,用于完成一种或一组功能,一旦制造完成就无法改变。
什么是可编程逻辑器件:可以由用户进行逻辑编程或配置实现所需逻辑功能的数字集成电路。具有集成度高、设计灵活、可靠性高、设计周期短等优点。相对于固定逻辑器件而言,可编程逻辑器件有更好的灵活性,可以多次配置完成不同的逻辑功能。
PLD使用步骤:逻辑设计输入->编译->综合->功能仿真->时序仿真->逻辑烧录(配置)->调试->验证。
PLD发展趋势:数字技术发展->半导体技术发展->集成电路快速发展
*随着集成度的提高,标准数字逻辑电路和大规模集成电路的差距越来越大,通用定制器件存在很多的缺点:1.集成度低,占用空间大,功耗大,可靠性较差2.定制器件功能固定,每个芯片的功能并不一定能得到充分发挥3.调试改进时必须要修改印刷板,使研制周期增大。大量芯片的连接、布线,使电路设计复杂化,性能难以提高,尤其对高速电路。专用集成电路ASIC:1.很好,可以具有相当高的系统集成度和较小的功耗2.可靠性高、速度快、体积小3.可以克服使用标准数字逻辑集成电路的诸多问题4.开发周期长、开发费用高,具有较大的投资风险5.只有在准备大批量生产前提下才可能,对一般的科研设计几乎不可能。
*结构化ASIC,结合FPGA和ASIC的优点
可编程逻辑器件的发展历史四个阶段:一、PROM、PLA。与或阵列,PROM或可编程,但只能一次,PLA都可以编程二、PAL。输出回路增加了寄存器,但与可编程。三、GAL。电可擦写,结构同PAL。四、CPLD/FPGA。可多次编程可多次擦写,不断完善的结构。补充:EPLD是GAL的改进,内部互连功能较弱,包括:可编程的与或阵列、可编程的寄存器、可编程的I/O。
可编程逻辑器件的发展趋势:1.降低互连延时,提高速度,互连延是目前主要延时原因2.设计技术向高层设计转移3.向模数混合编程技术发展4.各种逻辑软核的开发应用(FIR、FFT、PCI、CPU、DSP、Bridge)5.产品日益丰富,性能渐趋完善。
PLD分类:1.按集成度分:1)低密度可编程逻辑器件:PROM、PLA、PAL、GAL。2)高密度可编程逻辑器件:EPLD、CPLD、FPGA。2.按机构分:1)简单PLD:PROM、PLA、PAL、GAL、EPLD。2)CPLD,与EPLD相比,增加了内部互连线。结构:可编程逻辑宏单元、可编程I/O、可编程的内部连线。3)FPGA。逻辑功能块排列为阵列,由可编程的内部连线连接这些功能块。
CPLD和FPGA的区别(考虑结构,考虑特征):1)CPLD基于乘积项技术,EEPROM工艺(或FLASH);FPGA基于查找表技术。SRAM工艺。2)CPLD速度比FPGA快,芯片尺寸小,时序特性更加确定和可靠,CPLD更容易设计,开发周期短。3)CPLD逻辑之间固化在EEPROM中,断电不丢失,FPGA不能固化在芯片内部,每次上电要将EEPROM内的数据下载到FPGA进行配置。4)CPLD功耗较小。5)CPLD可以加密,不易破解,FPGA不能加密。
三种编程元件:1)熔丝和反熔丝 2)浮栅编程元件,EPROM和EEPROM 3)SRAM配置存储器元件
PLD公司:1.Xilinx:XC系列,spartan系列,virtex系列2.Altera:MAX、FLEX、cyclone、stratix系列3.Lattice:ispLSI系列。4.ACTEL:反熔丝,用于军工和航天。
PLD的几个重要参数:1)Tpd:I/O pin input to non-registered output delay(propagate delay)。组合逻辑的传输延时。2)Tsu:Global clock setup time.D触发器的数据d在clock(全局时钟)到来前多长时间必须建立。3)Tfsu同Tsu。4)Thold:在时钟上跳后,数据必须保持的时间。5)Tco:Global clock to output delay.该时间是时钟上升沿来后到Q有数据输出的延时时间。6)Fcnt最大计数器时钟频率。
MAX7000结构:分为五个部分:1)逻辑阵列块LAB 2)宏单元Microcells 3)扩展乘积项 4)可编程连线阵列PIA 5)I/O控制块。1LAB由16 Microcells组成;一个Microcell由三个功能组成:逻辑阵列、乘积项选择矩阵和可编程寄存器;扩展乘积项由两部分组成:20并行扩展乘积项(提供给宏单元或逻辑)和16共享扩展乘积项(反馈到逻辑阵列);PIA:所有的专用输入脚,I/O脚和宏单元的输出都连接到PIA;I/O控制块可以独立的配置为输入、输出和双向,所有脚都是三态buffer,可以被全局使能信号控制或直接连接到GND或Vcc,当三态门控制端连到GND,输出为三态,I/O脚可以用做输入,接vcc,允许输出。
可编程的速度和功耗控制:支持高速和低功耗模式。设计中影响速度的关键逻辑路径工作在高速态,其它的逻辑路劲工作在节能态。
输出配置:1)多电压I/O接口,其中VCCINT供内部电路和输入缓冲器buffers使用,VCCIO供给I/O输出缓冲器。VCCINT管脚必须一直连到5V电源。VCCIO脚能够被连接到或者3.3V、或者5V电源,这取决于输出要求。2)较快的电压摆率可以为高性能系统提供很高的速度转换,但会引入高噪声。
OD门:实现线与功能,一般用法是会在漏极外的电路上添加上拉电阻,任何一个OD门输出为低,则总的输出为低;如果OD门不接上拉电阻,则只能输出低电平,不能输出高电平;上拉电阻的阻值决定了逻辑电平转换的沿的速度。阻值越大,速度越低功耗越小。
编程有两种方法:专用设备编程(MPU),在系统编程。
在系统编程:In-system Programmability。它通过工业标准的4-脚JTAG接口实现,设计或调试时,ISP允许快速高效的修改。外部提供5v电压,内部自动产生编程所需电压。在线编程过程中,I/O脚都是三态,内部通过相当50K欧的电阻上拉,以消除板级冲突。
FLEX10K包括一个嵌入式阵列(实现高效MEMORY)和一个逻辑阵列(普通逻辑)。
FLEX10K结构模块:嵌入式阵列,逻辑阵列,快速互连通道FastTrack,I/O单元。
嵌入式阵列用来实现RAM或一些特殊逻辑功能,逻辑阵列用来实现普通逻辑。
EAB嵌入式阵列块:用来实现MEMORY功能时,每一个EAB可以提供2048个bit,这些位可以用作RAM、ROM、双端口RAM或FIFO;用来实现复杂逻辑功能时,每个EAB可以提供100-600个逻辑门。
逻辑阵列LAB:每个LAB由8个逻辑单元LE以及之间的进位和级联链、LAB控制信号和一个局部互连线。
LE是最小的逻辑单位,每个LE包含一个4输入LUT、一个带同步使能的可编程触发器、一个进位链、一个级连链。
fasttrack是遍布于整个芯片的、一系列水平和垂直的快速、连续的行列互联线带。
I/O单元:每个I/O管脚都是由I/O单元驱动的。IOE由一个双向的I/O缓冲器和一个触发器组成;IOE支持JTAG的BST、摆率控制、支持三态缓冲输出和OD门输出。
clocklock和clockboost :1)时钟锁定电路利用同步PLL,减小时钟延时和偏差,从而减小Tco和Tsu的延时时间,同时维持0 hold time。2)时钟自举允许设计者使用低速时钟,在片内提供时钟乘法器实现倍频。注:Clocklock和clockboost特性只在芯片内部使用,是不能输出的(所有设备均如此)。Clocklock和Clockboost是锁定输入时钟的上升沿的。Clocklock和clockboost是锁定输入时钟的上升沿的。Clocklock和clockboost电路的输出只能直接驱动寄存器的时钟输入,而不能再与其它门作用或反向。
VHDL代码的一些提示:1)使用ieee.std_logic_1164.all库。2)entity a is port();END entity a;(最后一个端口申明后不加;)3)architecture c of a is (signal a:std_logic;)(可不要)begin end b;4)process()begin ...end process;5)CASE a IS WHEN "00"=>b<=a;
一个可综合的VHDL描述的最小和最基本的逻辑结构包括:库说明,标准库中的STD_LOGIC_1164,实体,端口描述,结构体。
VHDL语句分为:顺序执行语句和并行语句。顺序执行语句包括:IF语句,CASE语句,LOOP语句,NEXT语句,EXIT语句。
APEX20K系列三个部分构成:LUT、乘积项、以及embedded memory。APEX20K组成:MegaLAB(16LAB,一个ESB,一个MegaLAB互联线),FastTrack互连线,IOE。
高级clockboost倍频和分频:Fclock0 = (m/(n*k))Fin,Fclock = (m/(n*v))Fin。m=1-160,n*k=1-280。
外部时钟输出有三种模式:零延时缓冲(相位一致,没有延时,不能扩频,只能分频)、外部反馈(相位一致,没有延时,可以消除器件之间的时钟延时和skew)、正常模式(有一定的相位延时)。
clockshift:移位精度与输入频率、用户输入的扩频和分频因子有关。lock=1,锁相成功。
CAM:CAM区的搜索,在全部地址搜索是并行的,在一个是时钟周期内即可并行的搜索完全部地址。CAM写入,两个时钟周期,同一个地址。don't care位:需要三个时钟周期。
CAM读有三种模式:单匹配、多匹配、快速匹配。每个模式又分为编码模式和非编码模式。
CAM应用:1)数据压缩 2)网络交换器 3)IP过滤 4)多权限IP过滤等等。
SignalProbe:1)观察一些内部信号 2)多加一个管脚和布线会影响真实逻辑的适配。3)利用FPGA内空闲的连线和端口,且不影响已有设计的适配,不需要完整编译。
SignalTapII:可以实际测量FPGA管脚的输入数字信号,测量得到的波形在QuartuasII的界面上显示,不需要焊接任何连接线,非常方便。操作、设定和传统的独立逻辑分析仪很相似。

posted on 2012-12-31 20:13  超人也要飞行翼  阅读(1086)  评论(0编辑  收藏  举报

导航