FPGA时序分析和约束学习笔记(1、FPGA基本原理)

ops/2024/10/20 11:52:37/

FPGA时序分析和约束学习笔记-(1、FPGA基本原理)

Field现场Programmable可编程Gate门Array阵列

1、FPGA基本资源组成

  • 可编程逻辑功能块(logic elements ,缩写LE)

  • 片内互联线(interconnect,缩写IC)

  • 输入输出块(IO)

1.1、可编程逻辑功能块

组成

  • 查找表(look up table,缩写LUT)

  • D触发器(缩写DFF,D输入,Q输出)

逻辑实现

  • 只用LUT时实现组合逻辑

  • 只用DFF时,实现单纯打一拍

  • LUT和DFF都用,实现时序逻辑

1.2、输入输出块

组成

  • 输出寄存器

    • 离引脚最近的寄存器,延迟短
  • 输入寄存器

    • 离引脚最近的寄存器,延迟短
  • 输出使能寄存器

    • 控制输入还是输入
  • 输入延迟链

  • 输出延迟链

  • 上拉电阻

    • IIC会用到

1.3、内部互联资源

包括连线线段和可编程开关,将可编程逻辑功能块、输入输出块连接起来,从而构成特定功能电路

  • Altera FPGA采用行、列、局部快速通道

  • 局部快速通道的速度最快;布局布线时,尽量将关键信号放在一个阵列块中,通过局部通道交互

2、FPGA可扩展资源

  • 存储器资源(块RAM、分布RAM)

  • 数字时钟管理单元(分频、倍频、数字延迟、时钟锁定)

  • 算数运算单元(高速硬件乘法器,乘加器)

  • 告诉串行IO接口

  • 特殊功能模块(PCIE、DDR等硬IP核)

  • 微处理器(Cortex-M3、Cortex-A9、Cortex-A53、PowerPC)

3、FPGA可编程原理

3.1、FPGA和CPLD的区别

FPGA基于LUT,可以实现复杂的逻辑功能

3.2、FPGA编程方式

  • SRAM-查找表类型(Intel Xilinx)

  • 反熔丝的多路开关类型FPGA(Actel)

  • 基于Flash的FPGA(Lattice)


http://www.ppmy.cn/ops/124657.html

相关文章

Flutter包管理(三)

1、作用 在APP的实际开发过程中往往会依赖很多包,而这些包之间存在着交叉依赖、版本依赖,由开发者自己管理手动管理会非常麻烦,每种开发生态或编程官方会提供一些包的管理工具,在Flutter中我们在pubspec.yaml文件中来管理第三方依…

毕设分享 大数据用户画像分析系统(源码分享)

文章目录 0 前言2 用户画像分析概述2.1 用户画像构建的相关技术2.2 标签体系2.3 标签优先级 3 实站 - 百货商场用户画像描述与价值分析3.1 数据格式3.2 数据预处理3.3 会员年龄构成3.4 订单占比 消费画像3.5 季度偏好画像3.6 会员用户画像与特征3.6.1 构建会员用户业务特征标签…

Python基础之List列表用法

1、创建列表 names ["张三","李四","王五","Mary"] 2、列表分片 names[1]:获取数组的第2个元素。 names[1:3]:获取数组的第2、第3个元素。包含左侧,不包含右侧。 names[:3]等同于names[0:3]&…

深入浅出MongoDB(六)

深入浅出MongoDB(六) 文章目录 深入浅出MongoDB(六)分析查询性能原子性和事务字段名称带句点和美元符号查询计划 分析查询性能 mongodb compass提供解释计划标签页,其中显示有关查询性能的统计信息。这些统计信息可用…

[CSP-J 2022] 逻辑表达式

题目来源:洛谷题库 [CSP-J 2022] 逻辑表达式 题目描述 逻辑表达式是计算机科学中的重要概念和工具,包含逻辑值、逻辑运算、逻辑运算优先级等内容。 在一个逻辑表达式中,元素的值只有两种可能: 0 0 0(表示假&#x…

leetcode-10/9【堆相关】

1.数组中的第K个最大元素【215】 思路: 1.1.要使得时间复杂度为O(n),自己实现大顶堆,通过K次调整,顶部元素就是想要的第K个最大元素 1.2.实现大顶堆的过程中,先建堆,建堆是利用递归,本…

Github 2024-10-05Rust开源项目日报Top10

根据Github Trendings的统计,今日(2024-10-05统计)共有10个项目上榜。根据开发语言中项目的数量,汇总情况如下: 开发语言项目数量Rust项目10HTML项目1Move项目1Python项目1精选Rust资源清单 创建周期:3733 天开发语言:Rust协议类型:Creative Commons Zero v1.0 Universal…

如何将 cryptopp库移植到UE5内

cryptopp是一个开源免费的算法库,这个库的用途非常多,我常常用这个库来做加解密的运算。这段时间在折腾UE5.4.4,学习的过程中,准备把cryptopp移植到游戏的工程内,但UE的编译环境和VS的编译环境完全不同,能在…