学习笔记——FPGA逻辑基础 from altera
2014-07-20 22:36
387 查看
(本BLOG仅限个人学习笔记记录,其中内容均源自altera FPGA免费教学视频,摘录内容仅限参考。)
目标:
可编程逻辑设计的发展
分析构成可编程逻辑基础技术
学习并对比当代CPLD和FPGA的结构体系
理解设计软件如何在FPGA中实现设计
内容:
数字逻辑设计发展:
开始是为TTL逻辑,由独立的分立的元器件(每个元件包含多个逻辑门)构成逻辑,比如Nor, Nand等等。其中产品由德州仪器开发的7400系列,风靡一时。那个时候,通常都有成本(用尽量少的逻辑门)和可用的器件来决定设计。
采用TTL构建数字逻辑,先列出真值表,然后用卡诺图简化逻辑。
可编程逻辑的实现:
有逻辑门阵列和寄存器实现。
可编程逻辑阵列选择需要的输入,然后输入到与门,这就是线与操作。
可编程逻辑的优点:
需要的器件数量少,占用更少的电路板,低成本,节省功耗,测试简单,设计安全性,设计灵活性。在某种程度下,可以进行再编程。
什么事CPLD?
在这之前有PLD,PLD是有PAL演化而来,在PAL的基础之上,PLD加入了真正的可编程宏单元,和可编程逻辑乘积项。
22v10中的宏单元提供多种可编程选择,使得可编程逻辑器件的灵活性大大地增加。输出有多种组合,当选择组合逻辑时,其中输出引脚尚可作为输入来反馈至源阵列。
PLD理念的进一步扩展遍产生了复杂的PLD-CPLD。即,在一个器件当中,采用可编程互联和I/O,链接多个逻辑器件(PLD)。
CPLD中的逻辑模块通常被称为逻辑阵列模块,即Logic Array Block, LAB. 这是因为他们每个都含有自己的逻辑阵列,含有多个宏单元,本地可实现逻辑互联,然而这样的逻辑阵列中含有额外的乘积项逻辑可实现逻辑乘积的扩展,代价是额外的时延。
采用JTAG进行在系统编程(TSP)。采用简单的四线或五线接口,移位数据通过电路板上的一个或者多个器件(JTAG链)。
CPLD的优势,丰富的逻辑和高级的可配置IO。可编程布线。瞬时接通工作。低成本,数据非易失,可重新编程。
CPLD相对于老的PLD器件主要在于,它可以在单个的器件当中容纳大量的逻辑。理论上,可以不断的在CPLD当中加入LAB。但是高密度的CPLD需要额外的全局布线,其布线的复杂度将呈指数增长,不够灵活,解决方法就是讲LAB排列哎一个阵列当中。
FPGA讲LAB排列在阵列当中,行列可编程逻辑互联。互联可以跨过所有或者部分整列。
LUT替代了CPLD当中的乘积项存在。LUT来建立组合函数。LUT的输入是复用器选择先。由MUX选择。虽然相比原来的乘积项,现在LUT需要经历多层逻辑选择项,但是这张结构有助于简化逻辑,配合当前的FPGA,减少资源。
可编程寄存器有多钟选择,可以配置为D,T,JK或者SR触发工作。一般用全局时钟来驱动时钟,这些触发器都可以实现异步控制,包括清零复位等操作,这些控制信号可以由IO引脚导入,也可以由其他逻辑产生。寄存器上的输入,可以返回LUT。
目前,当前讨论的FPGA确实要比PLD更加的灵活和方便。但是仍然有一些问题,这就是ALM,自适应逻辑模块的产生。由ALM输入和加法器哈哈有LUT产生,这些器件都是自适应的。
FPGA可以使所有的器件资源都可以和任何的器件布线连接。针对不同的时序都调整不同的固定长度,随着密度的增加而先行增长。
IO器件一般分为输入通(输入单元输入寄存器),输出通道和输出使能控制。
在现代的FPGA当中,有一些功能硬件可以替代某些LAB,这些包括存储器模块(建立板上存储器机构,以支持单端口RAMROM),嵌入式乘法器(DSP)和高速收发器。
FPGA时钟,采用同步控制。特殊的结构控制并向器件中的同步逻辑扇出时钟。先进的PLL,还包括DLL。时钟控制模块,选择与信号最匹配的时钟信号。
对比CPLD和FPGA
目标:
可编程逻辑设计的发展
分析构成可编程逻辑基础技术
学习并对比当代CPLD和FPGA的结构体系
理解设计软件如何在FPGA中实现设计
内容:
数字逻辑设计发展:
开始是为TTL逻辑,由独立的分立的元器件(每个元件包含多个逻辑门)构成逻辑,比如Nor, Nand等等。其中产品由德州仪器开发的7400系列,风靡一时。那个时候,通常都有成本(用尽量少的逻辑门)和可用的器件来决定设计。
采用TTL构建数字逻辑,先列出真值表,然后用卡诺图简化逻辑。
可编程逻辑的实现:
有逻辑门阵列和寄存器实现。
可编程逻辑阵列选择需要的输入,然后输入到与门,这就是线与操作。
可编程逻辑的优点:
需要的器件数量少,占用更少的电路板,低成本,节省功耗,测试简单,设计安全性,设计灵活性。在某种程度下,可以进行再编程。
什么事CPLD?
在这之前有PLD,PLD是有PAL演化而来,在PAL的基础之上,PLD加入了真正的可编程宏单元,和可编程逻辑乘积项。
22v10中的宏单元提供多种可编程选择,使得可编程逻辑器件的灵活性大大地增加。输出有多种组合,当选择组合逻辑时,其中输出引脚尚可作为输入来反馈至源阵列。
PLD理念的进一步扩展遍产生了复杂的PLD-CPLD。即,在一个器件当中,采用可编程互联和I/O,链接多个逻辑器件(PLD)。
CPLD中的逻辑模块通常被称为逻辑阵列模块,即Logic Array Block, LAB. 这是因为他们每个都含有自己的逻辑阵列,含有多个宏单元,本地可实现逻辑互联,然而这样的逻辑阵列中含有额外的乘积项逻辑可实现逻辑乘积的扩展,代价是额外的时延。
采用JTAG进行在系统编程(TSP)。采用简单的四线或五线接口,移位数据通过电路板上的一个或者多个器件(JTAG链)。
CPLD的优势,丰富的逻辑和高级的可配置IO。可编程布线。瞬时接通工作。低成本,数据非易失,可重新编程。
CPLD相对于老的PLD器件主要在于,它可以在单个的器件当中容纳大量的逻辑。理论上,可以不断的在CPLD当中加入LAB。但是高密度的CPLD需要额外的全局布线,其布线的复杂度将呈指数增长,不够灵活,解决方法就是讲LAB排列哎一个阵列当中。
FPGA讲LAB排列在阵列当中,行列可编程逻辑互联。互联可以跨过所有或者部分整列。
LUT替代了CPLD当中的乘积项存在。LUT来建立组合函数。LUT的输入是复用器选择先。由MUX选择。虽然相比原来的乘积项,现在LUT需要经历多层逻辑选择项,但是这张结构有助于简化逻辑,配合当前的FPGA,减少资源。
可编程寄存器有多钟选择,可以配置为D,T,JK或者SR触发工作。一般用全局时钟来驱动时钟,这些触发器都可以实现异步控制,包括清零复位等操作,这些控制信号可以由IO引脚导入,也可以由其他逻辑产生。寄存器上的输入,可以返回LUT。
目前,当前讨论的FPGA确实要比PLD更加的灵活和方便。但是仍然有一些问题,这就是ALM,自适应逻辑模块的产生。由ALM输入和加法器哈哈有LUT产生,这些器件都是自适应的。
FPGA可以使所有的器件资源都可以和任何的器件布线连接。针对不同的时序都调整不同的固定长度,随着密度的增加而先行增长。
IO器件一般分为输入通(输入单元输入寄存器),输出通道和输出使能控制。
在现代的FPGA当中,有一些功能硬件可以替代某些LAB,这些包括存储器模块(建立板上存储器机构,以支持单端口RAMROM),嵌入式乘法器(DSP)和高速收发器。
FPGA时钟,采用同步控制。特殊的结构控制并向器件中的同步逻辑扇出时钟。先进的PLL,还包括DLL。时钟控制模块,选择与信号最匹配的时钟信号。
对比CPLD和FPGA
相关文章推荐
- FPGA学习笔记5-可编程逻辑基础
- 【Java学习笔记】基础知识学习2【条件逻辑控制语句】
- 蓝鸥Unity开发基础——关系运算和逻辑运算学习笔记
- FPGA基础知识2(Xilinx Altera FPGA中的逻辑资源 --Slices VS LE比较)
- 深度学习FPGA实现基础知识5(网友一致认可的----Deep Learning(深度学习)学习笔记整理及完整版下载)
- 深度学习FPGA实现基础知识3(Altera与百度展开合作在云数据中心使用FPGA加速)
- FPGA学习笔记1-基础与配置
- FPGA学习笔记之Altera FPGA使用JIC文件配置固化教程(转)
- 浮点数定化--altera 乘除法ip使用FPGA学习笔记
- 零基础入门学习Python学习笔记第四讲【短路逻辑】
- 6.vue入门基础学习笔记-逻辑控制指令介绍
- FPGA基础知识2(Xilinx Altera FPGA中的逻辑资源 --Slices VS LE比较)
- 蓝鸥Unity开发基础——关系运算和逻辑运算学习笔记
- Altera FPGA/CPLD 学习笔记
- 《面向对象基础:C++实现》学习笔记之三
- 《JAVA2核心技术 卷一 基础知识(原书第七版)》《Core java2,Volume I-Fondamentsls Seven Edition》 学习笔记(二)BREAK和CONTINUE的区别
- MOM2005基础架构设计学习笔记3
- Java2核心技术第七版的学习笔记(三) Fundamental Programming Structures in Java(Java语言的基础)(二)
- 《JAVA2核心技术 卷一 基础知识(原书第七版)》《Core java2,Volume I-Fondamentsls Seven Edition》 学习笔记(三)对象的克隆
- Pro visua 4000 l c++/cli and .net 2.0 platform2 学习笔记(6 第二章 C++/CLI基础=1 )