当前位置: 首页 > news >正文

FPGA开发:可编程逻辑器件概述

PLD

1、什么是PLD?

PLD指Programmable Logic Device,翻译为"可编程逻辑器件"。是20世纪70年代发展起来的一种新的集成电路,是一种半定制的集成电路

PLD具有逻辑功能实现灵活。集成度高、处理速度快的特点。

  • PLD就像是一个可定制的积木盒,里面装满了各种各样的"电子积木"(逻辑门、触发器、寄存器等)。这些积木在盒子里原本没有固定的连接方式,但你可以根据自己的想法,像搭积木一样,将它们连接起来,创造出各种形状的玩具(即实现各种逻辑功能)。当你完成了这个定制过程,这个积木盒(PLD)就变成了一个专为你设计的玩具,能够执行你想要的任何逻辑操作。

2、PLD基本框架

任何组合逻辑表达式都可表达为"与-或"形式,因此通过对与、或阵列编程就可以得到任何我们想要的组合逻辑功能。

PLD基本框架
  • 首先外面信号加进来后,经过输入电路模块后,会得到一个互补输入(假如输入信号为A,经过输入电路模块后,会输出A和A');
  • 来到与门阵列,此模块将所有的互补过的变量根据要求去相与(假如此时有A、A'、B、B'、C、C'这几个变量,通过此模块后会输出若干乘积相,例如:ABC、AB、AC'、B'C'等等);
  • 再到或门阵列,此模块就是将前面输出的若干乘积项按要求相加(继续上述假设,则输出为ABC+AB+AC'+B'C'),最后输出即可。

3、PLD表示方式

由于PLD的与阵列和或阵列的规模很大,为了便于表达,其逻辑图的画法与传统画法不同,具体如下:

  • 连接的表示

其中硬线连接单元被编程接通单元都是指两条线是被连起来的,其区别为前者不可以编程的,后者是可编程的(连或不连可以控制)。

  • 基本门电路的表示

【注意】其中(b)是输出恒等于0的与门结构,通常打个"×"来表示。(d)是实现互补输出的结构。


4、PLD的分类

  • 按集成度

低密度器件:1000门以下为低密度(如PLA、GAL、PROM);

高密度器件:1000门以上为高密度(如CPLD、FPGA);

  • 按PLD结构体系

分为简单PLD(如PAL、GAL)、复杂可编程逻辑器件CPLD、现场可编程门阵列FPGA。

  • 按照与、或阵列是否可编程
与阵列固定、或阵列可编程PROM
与、或阵列均可编程PLA
与阵列可编程、或阵列固定PAL

 

  • 按逻辑函数实现方式
基于与、或阵列的PLD
基于查表LUT的PLD

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • vue中的css深度选择器
  • 基于STM32的RTOS--freertos的使用(HAL实现多任务)
  • react 子组件调用父组件方法,获取的数据不是最新值
  • 用RNN(循环神经网络)预测股票价格
  • 前端技术(六)—— AJAX详解
  • 为什么 2!=false 和 2!=true 返回的都是true
  • Java-IO:浅谈对IO的认识
  • 【大规模语言模型:从理论到实践】Transformer中PositionalEncoder详解
  • java 给list对象根据给定条数进行分组工具类
  • 视频中的噪点怎么去除?
  • ES之三:springboot集成ES
  • JavaScript基础面试题:(第二天)
  • 搞定JavaScript异步原理,深入学习Promise
  • 什么是TypeScript?
  • python测试开发基础---multiprocessing.Pool
  • 【前端学习】-粗谈选择器
  • Android优雅地处理按钮重复点击
  • axios请求、和返回数据拦截,统一请求报错提示_012
  • Date型的使用
  • Gradle 5.0 正式版发布
  • JavaScript 基本功--面试宝典
  • Java精华积累:初学者都应该搞懂的问题
  • LeetCode刷题——29. Divide Two Integers(Part 1靠自己)
  • Linux学习笔记6-使用fdisk进行磁盘管理
  • MobX
  • MQ框架的比较
  • Python 使用 Tornado 框架实现 WebHook 自动部署 Git 项目
  • SQLServer插入数据
  • Terraform入门 - 3. 变更基础设施
  • ubuntu 下nginx安装 并支持https协议
  • underscore源码剖析之整体架构
  • vue2.0一起在懵逼的海洋里越陷越深(四)
  • elasticsearch-head插件安装
  • ​LeetCode解法汇总2583. 二叉树中的第 K 大层和
  • $.ajax()
  • (10)STL算法之搜索(二) 二分查找
  • (11)MSP430F5529 定时器B
  • (el-Transfer)操作(不使用 ts):Element-plus 中 Select 组件动态设置 options 值需求的解决过程
  • (Redis使用系列) Springboot 使用Redis+Session实现Session共享 ,简单的单点登录 五
  • (补充):java各种进制、原码、反码、补码和文本、图像、音频在计算机中的存储方式
  • (附源码)spring boot公选课在线选课系统 毕业设计 142011
  • (附源码)ssm高校志愿者服务系统 毕业设计 011648
  • (附源码)计算机毕业设计SSM教师教学质量评价系统
  • (四)搭建容器云管理平台笔记—安装ETCD(不使用证书)
  • .mp4格式的视频为何不能通过video标签在chrome浏览器中播放?
  • .NET Core 控制台程序读 appsettings.json 、注依赖、配日志、设 IOptions
  • .NET/C#⾯试题汇总系列:⾯向对象
  • /ThinkPHP/Library/Think/Storage/Driver/File.class.php  LINE: 48
  • [012-1].第12节:Mysql的配置文件的使用
  • [AI Google] Ask Photos: 使用Gemini搜索照片的新方法
  • [ai笔记9] openAI Sora技术文档引用文献汇总
  • [Big Data - Kafka] kafka学习笔记:知识点整理
  • [C++] 容器适配器:深入理解Stack与Queue的底层原理
  • [C++基础]-初识模板
  • [caffe(二)]Python加载训练caffe模型并进行测试1