文章目录

  • PLDs分类
    • 可编程阵列
    • SPLDs分类
      • 1. PAL
      • 2. GAL
        • 2.1 OLMC
      • 3. CPLD
      • 4. FPGA

PLDs分类

1.SPLDs:简单可编程逻辑器件,最多600门
2.CPLDs:复杂可编程逻辑器件,上千门
3.FPGAs:现场可编程门阵列,成千上万门

可编程阵列

一个由导体构成的网格,行和列之间有可熔化的连接
通过熔化指定的连接来决定输出

SPLDs分类

1.可编程只读存储器(PROM)
固定与门阵列
可编程或门阵列

2.可编程逻辑阵列(PLA)
可编程与门阵列
可编程或门阵列

3.可编程阵列逻辑(PAL)
一次可编程与门阵列(不可擦除)
固定或门阵列+固定输出逻辑

4.通用阵列逻辑(GAL)
可编程与门阵列
固定或门阵列+可编程输出逻辑(输出逻辑宏单元OLMC)

本文主要探讨其中的PAL和GAL

1. PAL

允许所有SOP表达
编程后,所有需要建立连接的保险丝将保留,其他地方将被熔断,如图所示:

这里与门之前的输入线也可以被简化成一条:

可以看到与门面前只有一条线,却表达了两个输入

输出添加一个反向器,可以使输出是 avtice-LOW 或 active-HIGH,在上方添加一个三态控制(Tristate control),可以通过控制线的HIGH或LOW来控制I/O端口是输出或是输入

PAL还可以添加一个反相器来允许输出端作为下一个电路的输入端,或让输出的信号反馈到此电路的输入端

PAL的命名方式为:PAL + (输入端口数) + L/H(LOW-avtive/HIGH-active)+ (输出端口数)
举个例子,一个PAL有10个输入端口,avtive-LOW的输出以及8个输出端口,则它的名字为:PAL10L8

如果其中有些端口既可以作为输入也可以作为输入,则将这些口加到输入中,假如上面的例子中有6个I/O口,则最终命名为:PAL16L8,也就是我们取输入端口数和输出端口数的最大值

2. GAL

GAL与PAL最大的不同在于,GAL本身以及它的输出逻辑都是可以重新编程的,不像PAL一旦熔断便无法挽回

可编程与门阵列由电可擦除CMOS(E2CMOS)单元组成,on时连接,off时断开,如图:

与PAL相同,GAL的输入线也可以被简化:

GAL的输出端也拥有三态控制,可以在输入和输出之间切换
GAL的命名方式也与PAL相似,除了GAL的名字里不区分avtive-HIGH, active-LOW,而是统一用V表示
如拥有12个专用输入端和10个I/O端的GAL称作 GAL22V10

2.1 OLMC

OLMC全称是Output logic macrocells,是PAL, GAL, CPLD的一部分, 通常由一个或门或及一些相关的输出逻辑组成
OLMC里有一个1-of-4 multiplexer(两个输入的多路复用器),它有四种输入,对应OLMC的四种配置:
1.或门输出
2.或门输出的补码
3.带寄存器的或门输出
4.带寄存器的或门输出补码

3. CPLD

CPLD是Complex Programmable Logic Devices的简称,其包含许多SPLD,每个SPLD之间由可编程的线连接,被包含的SPLD称作Logic array blocks(LAB)

4. FPGA

FPGA是Field programmable gate array的简称,拥有许多输入和输出盒(block),我们可以通过程序改变输入与盒之间,盒与盒之间的关系来获得输出

在盒子中,含有许多LUT(lookup table),他们可以产生任何基于真值表的逻辑方程

上图中我们可以看到,LUT接收到数据之后,通过下方的BAS决定到底输出哪一个,达到构建真值表的目的
如果反着查找会更容易找到输出和输入的关系

数字电路:可编程逻辑器件PLDs相关推荐

  1. FPGA零基础学习:半导体存储器和可编程逻辑器件简介

    FPGA零基础学习:半导体存储器和可编程逻辑器件简介 大侠好,欢迎来到FPGA技术江湖.本系列将带来FPGA的系统性学习,从最基本的数字电路基础开始,最详细操作步骤,最直白的言语描述,手把手的&quo ...

  2. 数电学习(八、九、可编程逻辑器件)

    文章目录 概述 基本特点 发展和分类 FPLA PAL GAL EPLD CPLD FPGA 可编程的数据开关 概述 基本特点 数字集成电路从功能上分为通用型.专用型两大类 PLD的特点:是一种按通用 ...

  3. 可编程逻辑器件期末复习总结

    FPGA期末考试复习总结 2021年下学年可编程逻辑器件(FPGA)期末复习总结,仅供参考 判断题 关于端口定义:一般有输入(input).输出(output).双向端口(inout). Verilo ...

  4. 复杂可编程逻辑器件CPLD

      CPLD(Complex Programmable Logic Device)复杂可编程逻辑器件,是从PAL和GAL器件发展出来的器件,相对而言规模大,结构复杂,属于大规模集成电路范围.是一种用户 ...

  5. 4x4矩阵键盘工作原理及扫描程序_基于复杂可编程逻辑器件实现键盘接口电路的设计...

    1 引言 无功补偿装置是用于补偿电网无功功率的不足,提高功率因数,保证供电系统安全运行和节约电能的设备,其核心是控制仪.本控制仪集无功补偿.电度量计量.电能质量监测及通信于一体,对电网参数进行实时采样 ...

  6. 【Computer Organization笔记07】实验课:可编程逻辑器件介绍,硬件编程方法与原则,硬件编程流程

    本次笔记内容: P13 计算机组成原理(13) P14 计算机组成原理(14) 本节课对应幻灯片: 组成原理52 verilogHDL 组成原理53 fpgahardware 本节课内容为" ...

  7. 可编程逻辑器件之按键消抖实验

    一.实验目标 能够熟练的进行可编程逻辑器件开发,能够通过具体工程需求进行需求分析.模块划分.代码编写.功能仿真.综合分析.板级验证,能够独立正确的进行实验操作,培养学生的工程实践研究能力和动手实践能力 ...

  8. 可编程逻辑器件与专用集成电路——《Verilog 与数字ASIC设计基础》读书笔记

    早期电子系统硬件设计采用分立元件,随着集成电路的出现和应用,人们选用功能固定的标准集成电路(例如各种逻辑门,编码器,译码器,触发器,和计数器等)构成硬件系统,后来,又以微处理器为核心构成系统,现在则广 ...

  9. EDA技术 一:EDA技术概况及大规模可编程逻辑器件

    标题第一章:EDA概况 1.EDA发展阶段 1.早期电子CAD阶段 20世纪70年代,EDA技术发展初期,利用计算机,二维图形编辑与分析的CAD工具,完成布局布线等高度重复性的繁杂工作. 2.20世纪 ...

最新文章

  1. 经典面试题(24):以下代码将输出的结果是什么?
  2. python中sys模块是什么意思_python之sys模块详解
  3. 百度计算机视觉暑期实习面经(成功上岸!已拿offer)
  4. 【Flask】 结合wtforms的文件上传表单
  5. python生成html表格
  6. lucene.net 3.0.3、结合盘古分词进行搜索的小例子(转)
  7. mysql5.7.22.zip使用,mysql5.7.22 zip 版安装
  8. Auto.js 支付宝 跳转意图
  9. SQL Server无法安装问题
  10. 0501 0503 模块区别_关于博途STEP7仿真软件究竟与真实PLC有哪些区别?
  11. 正确理解文件与目录的可读、可写、可执行权限
  12. Git Branching基础操作学习笔记
  13. upyun java_又拍云Java SDK
  14. 100部伴随我们长大的电影
  15. 数据库原理与应用 构建音乐商店,实现复杂查询和批量操作及视图练习
  16. H2/H∞半车悬架控制仿真分析
  17. 在linux上编译错误,Daemontools 在 Linux上编译错误解决
  18. 抢先看:DHS和NIST发布IoT安全指南
  19. 线性代数学习笔记——行列式的性质及拉普拉斯定理——3. 根据定义计算简单的行列式
  20. Namp在内网扫描,帮助解决内部网络问题

热门文章

  1. 格林函数一阶常微分方程方法介绍
  2. STM32F4学习笔记1
  3. 高通打开内核阶段串口log
  4. codevs1373 射命丸文
  5. 每日C语言代码(The fourth day)——冒泡排序与地址传递
  6. 用JavaSwing也能写出win10扁平风的软件
  7. xp远程linux打印,在Ubuntu下访问xp打印机
  8. 游戏思考系列03:游戏匹配机制(MMR、ELO、trueskill2、皇家战争、Glicko等,详细讲ELO,其他的简略)
  9. 解决:RuntimeError: CUDA out of memory. Tried to allocate 64.00 MiB (GPU 0; 4.00 GiB total capacity; 2
  10. EF6 批量更新删除数据