《EDA技术实用教程(第六版(黄继业, 潘松))》学习笔记——第二章

这篇具有很好参考价值的文章主要介绍了《EDA技术实用教程(第六版(黄继业, 潘松))》学习笔记——第二章。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

《EDA技术实用教程(第六版)》学习笔记——第二章

1、专业名词英文缩写

  • PLD(Programmable Logic Device):可编程逻辑器件
  • RAM(Random Access Memory):随机访问存储器
  • DRAM(Dynamic Random Access Memory):动态随机访问存储器
  • SRAM(Static Random Access Memory):静态随机访问存储器
  • ROM(Read-Only Memory):只读存储器
  • PROM(Programmable Read-Only Memory):可编程只读存储器
  • EPROM(Erasable Programmable Read-Only Memory):紫外线可擦除PROM
  • EEPROM (Electrically Erasable Programmable Read-Only Memory):电可擦除PROM
  • PLA(Programmable Logic Array):可编程逻辑阵列
  • PAL(Programmable Array Logic):可编程阵列逻辑
  • GAL(Generic Array Logic):通用阵列逻辑
  • EPLD(Electrically Programmable Logic Device):可编程逻辑器件
  • LAB(logic array block):逻辑阵列块
  • PIA(programmable interconnect array):可编程连线阵
  • LUT(look up table):查找表
  • LE(logic element或LC:logic cell):逻辑宏单元

2、 PLD的发展进程

总的发展过程为:PROM→PLA→PAL→GAL→CPLD/FPGA→SOPC

  • PROM:或阵列可编程,与阵列不可编程
  • PLA:或阵列可编程,与阵列可编程
  • PAL:或阵列不可编程,与阵列可编程
  • GAL:采用了EEPROM工艺,延续PAL结构,增加了输出逻辑宏单元OLMC(output logic macro cell),可配置成多种模式,且具有结构重构性。

3、 PLD的分类

  • 按原理分为“与-或”阵列类型和查找表类型
  • 按芯片集成度的高低:
    ①简单PLD:PROM、PLA、PAL、GAL
    复杂PLD:CPLD、FPGA
  • 按编程工艺分:
    熔丝(fuse)型器件:早期的PROM器件。
    反熔丝(antifuse)型器件。在编程处通过击穿漏层使得两点之间获得导通。如Actel 公司早期的FPGA器件就采用了此种编程方式。无论是熔丝还是反熔丝结构,都只能编程一次,因而又被合称为OTP(one time programming)器件,即一次性可编程器件。
    EPROM型。称为紫外线擦除电可编程逻辑器件,是用较高的编程电压进行编程(烧写),当需要再次编程时,用紫外线进行擦除。EPROM可多次编程。
    EEPROM型。即电可擦写编程器件,现有的部分CPLD及GAL器件仍采用此类结构。
    SRAM型。即SRAM查找表结构的器件目前大部分FPGA器件采用此种编程工艺,如Xilinx和Altera(现为Intel)公司的FPGA。SRAM型器件的编程信息存放在 RAM中,在断电后就丢失了,再次上电需要再次编程(配置),因而需要专用器件来完成这类配置操作。
    Flash型现在许多CPLD器件采用了Flash 工艺。采用此工艺的器件的编程次数可达数万次以上,且掉电后不需重新配置。

4、 CPLD结构原理

早期CPLD是从GAL的结构扩展而来,但针对GAL的缺点进行了改进,如Lattice的ispLSI1032器件等。在流行的CPLD 中Altera(现intel)的MAX7000和MAX3000A系列器件具有一定典型性。
MAX3000A结构中包含五个主要部分,即逻辑阵列块、宏单元、扩展乘积项(共享和并联)、可编程连线阵列、I/O 控制块。

  • 逻辑阵列块 LAB:
    一个LAB由16个宏单元的阵列组成。多个LAB通过可编程连线阵(programmable interconnect array,PIA)和全局总线连接在一起,全局总线从所有的专用输人、I/0引脚和宏单元馈入信号。

  • 宏单元:
    MAX3000A系列中的宏单元由三个功能块组成:逻辑阵列、乘积项选择矩阵和可编程寄存器。它们可以被单独地配置为时序逻辑和组合逻辑工作方式。其中逻辑阵列实现组合逻辑,可以给每个宏单元提供五个乘积项。

  • 扩展乘积项:
    虽然大部分逻辑函数能够用在每个宏单元中的五个乘积项实现,但更复杂的逻辑函数需要附加乘积项。

  • 可编程连线阵列PIA:
    不同的LAB通过在可编程连线阵列 PIA 上布线,以相互连接构成所需的逻辑。这个全局总线是一种可编程的通道,可以把器件中任何信号连接到其目的地。

  • I/O控制块:
    I/O控制块允许每个I/O引脚单独被配置为输人、输出和双向工作方式。
    《EDA技术实用教程(第六版(黄继业, 潘松))》学习笔记——第二章,EDA,学习,笔记,fpga开发
    《EDA技术实用教程(第六版(黄继业, 潘松))》学习笔记——第二章,EDA,学习,笔记,fpga开发

  • 组合逻辑可编程采用:
    乘积项可编程(乘→与,积、和→或),即与-或阵列可编程
    i、(常见)与阵列可编程,或阵列不可编程
    ii、与阵列可编程,或阵列可编程

  • 时序逻辑可编程采用:
    乘积项可编程+可配置触发器

5、 FPGA结构原理

诸如GAL、CPLD之类都是基于乘积项的可编程结构,即可编程的与阵列和固定的或阵列组成。而FPGA采用可编程的查找表(look up table,LUT)结构,LUT是可编程的最小逻辑构成单元。大部分FPGA采用基于SRAM(静态随机存储器)的查找表逻辑形成结构,就是用SRAM来构成逻辑函数发生器。一个N输入LUT可以实现N个输人变量的任何逻辑功能,如N输人“与”、N输人“异或”等。
《EDA技术实用教程(第六版(黄继业, 潘松))》学习笔记——第二章,EDA,学习,笔记,fpga开发
Cyclone 4E 系列器件是Intel(原Altera)公司的一款低功耗、高性价比的FPGA,它的结构和工作原理在 FPGA 器件中具有典型性。Cyclone4E器件主要由逻辑阵列块(logicarray block,LAB)入式存储器块、嵌入式硬件乘法器、IO单元和人式 PLL 等模块构成,在各个模块之间存在着丰富的互连线和时钟网络。

Cyclone4E系列FPGA器件的可编程资源主要来自逻辑阵列块LAB,而每个LAB都由多个逻辑宏单元LE(logic element,或LC;logic cell)构成。LE是Cylone 4E FPGA器件的最基本的可编程单元, LE主要由一个4输入的LUT、进位链逻辑、存器链逻辑和一个可编程的寄存器构成。4输人的LUT 可以完成所有的4输人1输出的组合逻辑功能。每一个LE的输出都可以连接到行、列、直连通路、进位链、寄存器链等布线资源。
《EDA技术实用教程(第六版(黄继业, 潘松))》学习笔记——第二章,EDA,学习,笔记,fpga开发

6、 JTAG边界扫描

IEEE的联合测试工作组(Joint Test Action Group,JTAG)开发了IEEE1149.1-1990边界扫描测试技术规范。该规范提供了有效的测试引线间隔致密的电路板上集成电路芯片的能力。大多数 CPLD/FPGA 厂家的器件遵守JTAG规范,并为输人引脚和输出引脚以及专用配置引脚提供了边界扫描测试(board scantest,BST)的能力
《EDA技术实用教程(第六版(黄继业, 潘松))》学习笔记——第二章,EDA,学习,笔记,fpga开发
《EDA技术实用教程(第六版(黄继业, 潘松))》学习笔记——第二章,EDA,学习,笔记,fpga开发
在FPGA开发中,JTAG口更多地被用在对其进行编程、配置、内嵌存储器内容的测试编辑,以及处理器内核系统的软硬件测试和调试。

JTAG在FPGA中的应用:

  • 边界扫描
  • 下载:编程或配置、多芯片下载、部分配置
  • 片内介入式测试
  • 在线调试:嵌入式逻辑分析仪、虚拟IO、片内RAM更新
  • 制造测试

7、 FPGA/CPLD编程与配置

  • 编程——Flash/EEPROM/AntiFuse工艺:
    CPLD编程、反熔丝结构FPGA编程、内嵌Flash的FPGA的内嵌Flash编程

  • 配置——SRAM工艺:
    FPGA配置、FPGA部分配置

  • 配置器件编程——FPGA外接Flash

8、PLD厂商

  • Xilinx

  • Intel PSG( Altera)

  • Microsemi (收购Actel)Lattice Semiductor

  • 国内:紫光同创、高云、安路、京微齐力

Intel PSG(AItera)产品:

  • FPGA
    Agilex/Statix 10/Stratix V、Cyclone 10/Cyclone V/Cyclone IV、Array 10/ Array 、VMAX 10

  • CPLD
    MAX 10/MAX V/MAXII 、MAX3000A

如有需要课本PDF与课件可以评论区联系发邮箱。文章来源地址https://www.toymoban.com/news/detail-802614.html

到了这里,关于《EDA技术实用教程(第六版(黄继业, 潘松))》学习笔记——第二章的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 计算机网络(第六版)复习提纲4

    计算机网络的体系结构: 三类体系结构: OSI七层:物理层比特位传输,链路层相邻链路传输检验,网络层进行路由选择,运输层实现端到端进程通信,会话层连接管理,表示层数据格式,应用层应用通信;(ISO提出,周密的结构) TCP/IP四层:网络接口层是OSI物理链路层合并

    2024年01月19日
    浏览(33)
  • 计算机网络(第六版)复习提纲6

    SS2.3 导引型传输媒体 1.三类位非导引型传输媒体 a)双绞线:两根铜线平行会相互干扰,垂直干扰最小,双绞线近似垂直,绞合度越高,可用的数据传输率越高。 i.无屏蔽双绞线UTP(便宜) ii.屏蔽双绞线(带铝层) iii.五类线(100Mbps) iv.超五类线(200Mbps) b)同轴电缆:最里面

    2024年01月22日
    浏览(40)
  • 计算机网络(第六版)复习提纲5

    SS2.2 有关信道的几个基本概念 2.通信模型 三个主要部分:信源、信道、信宿 3.通信方式: a)术语:消息(传递的内容)、数据(传递的形式)、信号(数据表现形式,有模拟信号和数字信号两种)、时域(使用时间域)、码元(在时域内离散值……看书吧)、信道:一般用来

    2024年01月21日
    浏览(36)
  • 计算机网络(第六版)复习提纲7

    SS2.4 信道复用技术(填空简答) 1.信道复用概念: a)复用:允许用户使用一个共享信道进行通信,发送方复用(多合一),接收方分用(一分多) 2.频分复用FDM:最基本,将整个带宽分为多份,用户分到一定的频带后,在通信工程中自始至终都占用这个频带。(比如广播和有

    2024年01月23日
    浏览(32)
  • 计算机网络(第六版)复习提纲2

    二、物理层 2.1 物理层基本概念 物理层协议常常成为物理层规程 物理层的主要任务为确定与传输媒体的接口有关的一些特性: 1.机械特性:指明接口所用接线器的尺寸等; 2.电气特性:指明接口电缆各条线上的电压范围; 3.功能特性:指明某条线上出现某一电平的电压的意义

    2024年01月20日
    浏览(40)
  • 计算机网络(第六版)复习提纲1

    计算机网络历程 一、计算机网络体系结构 1974年 美国IBM公司: SNA(系统网络体系结构) 1977年 国际标准化组织: OSI/RM(开放系统互连基本参考模型)【抽象概念】 1983年 国际化标准组织: ISO 7498 (七层协议的体系结构)【具体实现】 法律上的国际标准 20世纪90年代初期 T

    2024年01月17日
    浏览(27)
  • C Primer Plus(第六版)12.9 编程练习 第5题

    #include stdlib.h   #include stdio.h   #include time.h   #define TIMES 100 void bubble_sort(int arr[], int len); int main (void) {     int i;     int roll[TIMES];     srand((unsigned int)time (NULL));     for(i=0;iTIMES;i++)     {         roll[i] = rand()%10+1 ;         printf(\\\"roll[%d]=%dn\\\",i,roll[i]);     }     bubble_s

    2024年01月20日
    浏览(33)
  • C Primer Plus(第六版)13.11 编程练习 第7题

    #include stdio.h #include stdlib.h   #include string.h  #define LEN 40 //abc-1.txt abc-2.txt int main() {     FILE  *in, *in1;        int ch1,ch2,i;     char name[LEN];     char name1[LEN];          fprintf(stdout, \\\"input your filename,name1 name2:\\\");     scanf(\\\"%s %s\\\",name,name1) ;     if ((in = fopen(name, \\\"r\\\")) == NULL)     {    

    2024年01月23日
    浏览(33)
  • C Primer Plus(第六版)13.11 编程练习 第10题

    /* 编写一个程序打开一个文本文件,通过交互方式获得文件名。通过一个循环,提示用户输入一个 文件位置。然后该程序打印从该位置开始到下一个换行符之前的内容。用户输入负数或非数值字 符可以结束输入循环。 */ //13.11-10.txt #include stdio.h #include stdlib.h #define MAX 41 int

    2024年01月24日
    浏览(30)
  • C Primer Plus(第六版)13.11 编程练习 第11题

    /* 编写一个程序,接受两个命令行参数。第1个参数是一个字符串,第2个参数是一个文件名。然 后该程序查找该文件,打印文件中包含该字符串的所有行。因为该任务是面向行而不是面向字符 的,所以要使用fgets()而不是getc()。使用标准C库函数strstr() (11.5.7节简要介绍过) 在每

    2024年01月24日
    浏览(27)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包