CPLD相关.ppt_第1页
CPLD相关.ppt_第2页
CPLD相关.ppt_第3页
CPLD相关.ppt_第4页
CPLD相关.ppt_第5页
已阅读5页,还剩48页未读 继续免费阅读

下载本文档

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

文档简介

1、可编程器件PLD,可编程逻辑器件原理 电路图输入 示例,可编程逻辑器件的发展历程,PROM和PLA器件,改进的PLA器件,GAL器件,EPLD器件,CPLD器件,FPGA器件,内嵌复杂功能模块 SOPC,可编程逻辑器件分类,可编程逻辑器件PLD,简单PLD,复杂PLD,PROM,PLA,PAL,GAL,CPLD,FPGA,可编程器件概述,输入缓冲电路,与 阵 列,输出缓冲电路,或 阵 列,基本PLD器件原理结构图,简单PLD原理,PROM基本原理,逻辑表达式,简单PLD原理,PROM的逻辑阵列结构,逻辑表达式,简单PLD原理,PROM表达的PLD图阵列,简单PLD原理,用PROM完成半加器逻辑

2、阵列,简单PLD原理,PLA逻辑阵列示意图,CPLD结构与工作原理,CPLD是在PAL、GAL的基础上发展起来的阵列型PLD 具有高密度、高速度的优点 CPLD包括三大部分 可编程I/O单元 可编程阵列块(宏单元) 可编程内部连线(PIA),可编程I/O单元,目前大多数CPLD的I/O单元被设计为可编程模式,即通过软件的灵活配置,可适应不同的电器标准与I/O物理特性;可以调整匹配阻抗特性,上下拉电阻;可以调整输出驱动电流的大小等。 CPLD的I/O单元应用范围局限性较大,I/O的性能和复杂度与FPGA相比有一定的差距,支撑的I/O标准较少,频率也较低,基本逻辑单元,CPLD中基本逻辑单元是宏单

3、元。所谓宏单元就是由一些与、或阵列加上触发器构成的,其中“与或”阵列完成组合逻辑功能,触发器用以完成时序逻辑。 与CPLD基本逻辑单元相关的另外一个重要概念是乘积项。所谓乘积项就是宏单元中与阵列的输出,其数量标志了CPLD容量。乘积项阵列实际上就是一个“与或”阵列,每一个交叉点都是一个可编程熔丝,如果导通就是实现“与”逻辑,在“与”阵列后一般还有一个“或”阵列,用以完成最小逻辑表达式中的“或”关系。,可编程“与-或”阵列,可编程逻辑宏单元,可编程内部连线(PIA),CPLD中的布线资源比FPGA的要简单的多,布线资源也相对有限,一般采用集中式布线池结构。所谓布线池其本质就是一个开关矩阵,通过打

4、结点可以完成不同宏单元的输入与输出项之间的连接。由于CPLD器件内部互连资源比较缺乏,所以在某些情况下器件布线时会遇到一定的困难。由于CPLD的布线池结构固定,所以CPLD的输入管脚到输出管脚的标准延时固定,被称为Pin to Pin延时,用Tpd表示,Tpd延时反映了CPLD器件可以实现的最高频率,也就清晰地表明了CPLD器件的速度等级。,CPLD结构与工作原理,FPGA结构与工作原理,与CPLD相比,具有更高的集成度、更强的逻辑功能和更大的灵活性 FPGA属于阵列型PLD 输入/输出模块(IOB) 可编程逻辑块(CLB) 可编程互连线(PIA) 嵌入式块RAM 底层嵌入功能单元和内嵌专用硬

5、核,可编程逻辑单元,FPGA的基本可编程逻辑单元是由查找表(LUT)和寄存器(Register)组成的,查找表完成纯组合逻辑功能。FPGA内部寄存器可配置为带同步/异步复位和置位、时钟使能的触发器,也可以配置成为锁存器。FPGA一般依赖寄存器完成同步时序逻辑设计。一般来说,比较经典的基本可编程单元的配置是一个寄存器加一个查找表。 简单的衡量FPGA规模的方法是用器件的Register或LUT的数量衡量。,FPGA内部的逻辑块,查找表是一个存储器,直接将用户需要的输入输出关系存储在内,查找表,查找表(Look-Up-Table)简称为LUT,LUT本质上就是一个RAM。 目前FPGA中多使用4输

6、入的LUT,所以每一个LUT可以看成一个有4位地址线的16x1的RAM。 当用户通过原理图或HDL语言描述了一个逻辑电路以后,PLD/FPGA开发软件会自动计算逻辑电路的所有可能的结果,并把结果事先写入RAM 每输入一个信号进行逻辑运算就等于输入一个地址进行查表,找出地址对应的内容,然后输出即可。,可编程互连线(PIA),布线资源连通FPGA内部所有单元,连线的长度和工艺决定着信号在连线上的驱动能力和传输速度。 全局性的专用布线资源:以完成器件内部的全局时钟和全局复位/置位的布线 长线资源:用以完成器件Bank间的一些高速信号和一些第二全局时钟信号的布线 短线资源:用来完成基本逻辑单元间的逻辑

7、互连与布线 其他:在逻辑单元内部还有着各种布线资源和专用时钟、复位等控制信号线。 由于在设计过程中,往往由布局布线器自动根据输入的逻辑网表的拓扑结构和约束条件选择可用的布线资源连通所用的底层单元模块,所以常常忽略布线资源。其实布线资源的优化与使用和实现结果有直接关系,嵌入式块RAM,目前大多数FPGA都有内嵌的块RAM。嵌入式块RAM可以配置为单端口RAM、双端口RAM、伪双端口RAM、CAM、FIFO等存储结构。 CAM,即为内容地址存储器。写入CAM的数据会和其内部存储的每一个数据进行比较,并返回与端口数据相同的所有内部数据的地址。简单的说,RAM是一种写地址,读数据的存储单元;CAM与R

8、AM恰恰相反。 除了块RAM,Xilinx和Lattice的FPGA还可以灵活地将LUT配置成RAM、ROM、FIFO等存储结构。,底层嵌入功能单元,不同厂商以及不同型号的器件内部嵌入的资源都有所不同,内嵌专用硬核,与“底层嵌入单元”有区别 这里指的硬核主要是那些通用性相对较弱,不是所有FPGA器件都包含硬核。,可编程逻辑器件的设计过程,数字系统设计,数字系统设计的一般过程 自顶向下(Top-down)的设计方法 系统功能级设计 行为级设计 寄存器传输级设计 工具: 原理图 硬件设计语言 Verilog HDL VHDL,QUARTUS II 软件,如何建立工程、编译、综合、仿真 原理图输入法

9、进行设计 Verilog HDL语言进行设计,原理图输入法进行设计,组合逻辑设计 异或电路 半加器、全加器 译码器、选择器 行波计数器 加法 减法 移位寄存器,Verilog HDL 设计方法简介,算法实现 用于数字信号传输中所必需的滤波、变换、加密、解密、编码、解码、纠检错、压缩、解压缩等操作。 硬线逻辑 由与门、或门、非门、触发器、多路器等基本逻辑部件造成的逻辑系统。 从算法设计到硬线逻辑的实现,传统处理器的问题,算法问题 研究并行快速算法 电路实现问题 设计并研制具有并行结构的数字和计算逻辑结构。 电路实现的两个方向: FPGA 专用集成电路 Verilog HDL建模、仿真、综合和全面

10、验证。,什么是复杂的数字逻辑系统?,嵌入式微处理机系统 数字信号处理系统 高速并行计算逻辑 高速通信协议电路 高速编码/解码、加密/解密电路 复杂的多功能智能接口 门逻辑总数超过几万门达到几百甚至达几千万门的数字系统,有哪几种硬件描述语言?各有什么特点?,Verilog HDL 较多的第三方工具的支持 语法结构比VHDL简单 学习起来比VHDL容易 仿真工具比较好使 测试激励模块容易编写,Verilog HDL 的抽象级别,语言本身提供了各种层次抽象的表述,可以用详细程度有很大差别的的多层次模块组合来描述一个电路系统。 行为级:技术指标和算法的Verilog描述 RTL级:逻辑功能的Veril

11、og描述 门级 :逻辑结构的Verilog描述 开关级:具体的晶体管物理器件的描述,Verilog HDL 的抽象级别,行为级:有关行为和技术指标模块,容易理解 RTL级:有关逻辑执行步骤的模块,较难理解 门级:有关逻辑部件互相连接的模块,很难理解 开关级:有关物理形状和布局参数的模块,非常难理解,抽象级别和综合与仿真的关系,行为仿真:行为的验证和验证模块分割的合理性 前仿真:即RTL级仿真,检查有关模块逻辑执行步骤是否正确。 逻辑综合:把RTL级模块转换成门级 。 后仿真:用门级模型做验证,检查门的互连逻辑其功能是否正确。 布局布线:在门级模型的基础上加上了布线延时 布局布线后仿真:与真实的

12、电路最接近的验证。,结构级,Moduletan (out, a, b, sl); input a,b,sl; output out; not u1(ns1,sl); and #1 u3(selb,b,sl); and #1 u2(sela,a,nsl); or #2 u4(out,sela,selb); endmodule,module myadder(clock, reset, a, b, sum); parameter width = 8; input clock, reset; input width-1:0 a, b; output width :0 sum; reg width-1:

13、0 a_reg, b_reg; reg width : 0 sum; always (posedge clock or negedge reset) if (!reset) begin a_reg = b0; b_reg = b0; sum= b0; end else begin a_reg = a; b_reg = b; sum = a_reg + b_reg ; end endmodule,有关Verilog HDL的几个重要基本概念,综合: 通过工具把用Verilog HDL描述的模块自动转换为用门级电路网表表示的模块的过程。 寄存器传输级Verilog HDL模块: 也可称为RTL (

14、Verilog) HDL模块。它是符合特定标准和风格的描述状态转移和变化的 Verilog HDL模块。能用综合器把它转换为门级逻辑。 Verilog HDL测试模块: 用Verilog HDL描述的模块,可以用来产生测试信号序列并可以接收被测试模块的信号,用于验证所设计的模块是否能正常运行,往往不可综合成具体门级电路。,有关Verilog HDL的几个重要基本概念,Verilog HDL顶层(测试)模块: 同上。 布局布线: 把用综合器自动生成的门级网表(EDIF)通过运行一个自动操作的布局布线工具,使其与具体的某种FPGA或某种ASIC工艺库器件对应起来,并加以连接的过程。 Verilog

15、 HDL后仿真测试模块: 同上,但被测试的模块至少是一个门级描述的或用具体FPGA(ASIC)库器件(带时间延迟信息)描述的结构型Verilog HDL 模块。,Verilog HDL模块的结构,Verilog 模块的结构由在module和endmodule 关键词之间的四个主要部分组成: - 端口信息: module block1(a, b, c, d ); - 输入/输出说明 : input a, b, c ; output d ; - 内部信号: wire x; - 功能定义: assign d = a | x ; assign x = ( b endmodule,Verilog HDL

16、模块中的逻辑表示,在Verilog 模块中有三种方法可以生成逻辑电路: - 用 assign 语句: assign cs = ( a0 end,并行和顺序逻辑关系的表示,如在模块中逻辑功能由下面三个语句块组成 : assign cs = ( a0 end 三条语句是并行的,它们产生独立的逻辑电路; 而在 always 块中: begin 与 end 之间是顺序执行的。,Verilog模块中的信号,只有两种主要的信号类型: - 寄存器类型: reg 在always 块中被赋值的信号,往往代表 触发器,但不一定是触发器。 - 连线类型: wire 用 assign 关键词指定的组合逻辑的信号 或连

17、线 寄存器 ( reg )类型不一定是触发器。 它只是在 always 块中赋值的信号。,Verilog中reg与wire的不同点,用寄存器 (reg)类型变量生成组合逻辑举例: module rw1( a, b, out1, out2 ) ; input a, b; output out1, out2; reg out1; wire out2; assign out2 = a ; always (b) out1 = b; endmodule,Verilog中reg与wire的不同点,用寄存器 ( reg )类型变量生成触发器的例子: module rw2( clk, d, out1, out2 ) ; input clk, d; output out1, out2; reg out1; wire out2; assign out2 = d end endmodule,Verilog中两种不同的赋值语句,不阻塞(non-blocking) 赋值语句: always (posedge clk) begin b = a ; c = b; end,Ve

温馨提示

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

评论

0/150

提交评论