FPGA内部结构及时序分析

2023-11-04


注:本文内容来源于B站UP主小梅哥爱漂流的视屏内容,本人整理出来前三节课的视频笔记,对视频内容感兴趣的同学可以去看看小梅哥的视频,视频链接为https://www.bilibili.com/video/BV1NE411h7qP?p=4&t=2584。

FPGA内部基本结构

现场可编程门阵列FPGA(Field Programmable Gate Array)是在PAL、GAL等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。

FPGA的基本结构示意图如图所示,它由三个可编程单元和一个用于存放数据的静态存储器组成。这三种可编程的单元:输入输出(I/O)模块、可编程逻辑模块和互连资源IR,如下图所示。
在这里插入图片描述

实现基本逻辑关系的电路被称为门单元。

可编程输入输出块包括有:输出寄存器、输入寄存器、输出使能寄存器、输入延迟链、输出延迟链、上拉电阻;
可编程逻辑块的示意图如下图所示,LUT是指查找表。
在这里插入图片描述

查找表概述

Xilinx生产的FPGA采用SRAM——查找表类型的可编程原理。
一个N输入的查找表可以实现N个输入变量的任何逻辑功能。
当输入为0,选择上方通道,为1选择下方通道,四输入查找表内部结构如下图所示。
在这里插入图片描述
通过查找表,我们可以实现各种各样的逻辑电路。

数据传输路径

所以在数据传输路径的延迟时间主要包括内部走线延迟 、组合逻辑单元延迟n 和内部走线延迟n。数据传输的基本框图如下图所示
在这里插入图片描述
如果我们不考虑时钟的延时,我们可以根据数据传输路径分析一下整个数据传输的延时。
在这里插入图片描述
Tco:时钟上升沿到达D触发器 到数据传输出到Q端的延迟时间
Tsu:建立时间,目的寄存器自身特性决定,在时钟新年好上升沿到达其时钟接口时,其数据输入端(D)必须提前Nns稳定下来,负责无法保证数据正确存储。

时序分析模型

时钟树资源,全局时钟树能够让时钟信号达到寄存器的差距比较小,但是不能保证完全一致。时钟树结构示意图如下图所示:
在这里插入图片描述

时序分析的目的:通过分析FPGA设计中各个寄存器之间的数据与时钟传输路径,来分析数据延迟和时钟延迟之间的关系。系统中所有寄存器都能存储正确的寄存数据。

数据与时钟传输路径,由EDA软件,通过针对于某个特定的器件布局布线得到的。
时序约束的两作用:
①告知EDA软件,该设计需要达到怎样的时序指标,然后EDA软件就会根据时序约束的哥哥参数,尽快优化布局不信啊,以达到该约束的指标。
②协助EDA软件进行分析设计的时序路径,以产生相应的时序报告。
1、时序分析的基本模型,如下图所示。
在这里插入图片描述
基于时序分析模型,考虑时钟的延迟,我们得出下图波形图
在这里插入图片描述
分析数据传输路径建立时间余量的基本公式:Tclk1+Tdata+Tco<=Tclk+Tclk2-Tsu
满足以上公式时,目的寄存器能够正确接收源寄存器发射过来的数据。
公式变形得:Tclk+(Tclk2-Tclk1)-Tsu-Tdata-Tco>=0
Tskew=(Tclk2-Tclk1)
令Slack=Tclk+Tskew-Tsu-Tdata-Tco
Slack就是建立时间余量且要求Slack>=0;
基于建立时间余量的概念,我们有最高时钟频率的概念,也就是余量为0时的时候的最大时钟频率。

Tclk:时钟周期
Tclk1:时钟信号从时钟源端口出发到达源寄存器时钟端口的时间
Tclk2:时钟信号从源寄存器时钟端口出发到达目的寄存器时钟端口的时间 Tco:时钟上升延到寄存器时钟端到数据输出到寄存器Q端口的时间
Tdata:时钟从源寄存器Q端出发到目的寄存器D端口的时间 Tsu:寄存器要求其数据端口的值必须提前于时钟上升沿达到其时钟端口的时间值。
Tskew:始终从源端口出发达到目的寄存器和源寄存器时钟端口时间的差值。
Slack:数据需求时间和数据到达时间的差值,如果为正值,则表明数据被目的寄存器正确接收;如果为负值则反之。
Tclk1+Tdata+Tco:数据到达时间 Tclk+Tclk2-Tsu:数据需求时间

知识补充

问题:这个代码所描述的逻辑电路在cyclone IV E的EP4CE10F17C8(65nm)这个器件能最高运行在多少频率的时钟?
这个需要时序分析软件告诉我们答案。
时序分析一定要基于特定器件(该器件需要具体到一个特定型号的特定速度等级);
时序分析一定是基于某个逻辑设计在该特定期间上经过布局布线之后的网表(该网表包含了设计中每个逻辑具体在该器件的什么资源上面实现,而且还包括该资源在器件内的具体位置,还包括信号从每一个节点传输到下一个节点的具体延迟时间)。时序分析不是在对代码分析,而是在对真实的门级传输路径进行分析。

如果用户没有对时钟信号加约束,软件就会自动对分析出的时钟信号加入约束,这个约束会按照最大的可能来约束.。

温度越高,芯片内部信号传输速度越慢,因为温度可以改变硅片材料,泄漏电流和电子移动能力等特性,导致较高温度下芯片内信号传输速度变慢。传输速度变慢,延时就会增加,余量就会减少,从而导致时序不满足。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

FPGA内部结构及时序分析 的相关文章

随机推荐

  • CSS的基本使用

    CSS的基本使用一 1 CSS基本语法 CSS样式由选择器和一条或多条以分号隔开的样式声明组成 每条声明的样式包含着一份CSS属性和属性值 选择器名 属性 属性值 属性 属性值 div background color red 注意 css
  • 详解 http

    TCP IP 基础 在学习http之前 我们需要先了解一下TCP IP 网络基础 我们通常使用的网络 包括互联网 都是在TCP IP协议族的基础上运行的 而http则属于它内部的一个子集 TCP IP 分层 TCP IP 协议族按层次分 可
  • 前端Vue自定义加载loading组件 通过设置gif实现loading动画 可用于页面请求前loading

    前端Vue自定义加载loading组件 提高用户体验的关键 随着技术的发展 前端开发也变得越来越复杂 传统的一次性整体开发方式已经无法满足现代Web应用程序的需求 为了解决这个问题 我们引入了一种新的开发方式 组件化开发 组件化开发可以将一
  • 将编程上升为中小学主要学科课程,真的靠谱吗?

    近日 有人建议将 编程 上升为中小学主要学科课程 并列入 中高考升学考试体系 此话题瞬间引发广大家长及IT互联网圈内人士热议 褒贬不一 对此 我觉得网上的一种观点非常对 孩子们现阶段需要的是思想和素质教育 而不是单纯地通过某一类技工学科的学
  • 2023最新信息安全毕业设计题目选题大全

    0 简介 毕业季马上就要开始了 不少同学询问学长网安专业选题以及开题相关的问题 今天跟大家分享信息安全毕设选题 最新的信息安全 网络安全 专业毕设选题 难度适中 适合作为毕业设计 大家参考 学长整理的题目标准 相对容易 工作量达标 题目新颖
  • STM32CubeMX之RTC的使用

    本篇文章介绍STM32实时时钟 RTC 的使用方法 前期准备 STM32硬件电路板及仿真器 以STM32F407ZGT6单片机为例 Keil v5以上版本 MDK ARM 串口助手 实时时钟 RTC 是STM32单片机的标配 每个系列的都有
  • yolov5运行报错之RuntimeError: The size of tensor a (80) must match the size of tensor b (56) at.....

    错误 RuntimeError The size of tensor a 80 must match the size of tensor b 56 at non singleton dimension 3 如图 解决方法 https gi
  • idea登录github时出现Invalid authentication data. connect time out问题解决方法

    辛辛苦苦注册好GitHub 安装了git客户端 弄好ssh后 用IDEA登录GitHub账号 又出现问题了 好吧 一番搜查之下终于找到了解决办法 问题图如下 解决办法 file gt setting gt system settings去掉
  • Style 中的 ‘>>>‘ 与 ‘ /deep/(sass/less)‘介绍

    Vue style 深度作用选择器 这两个深度选择器的主要作用就行修改UI库中的默认样式 gt gt gt page gt gt gt van skeleton margin top 10px gt gt gt van skeleton t
  • 合理利用泛型擦除

    曾几何时 一直痛恨java的泛型擦除 为了适配老版的jdk java引入泛型的同时 引入了泛型擦除机制 导致想要获取类中的泛型 需要都个圈子 具体可以看我这篇博客 获取泛型的类 前不久使用Mybatis plus分页 但发现PO对象不满足接
  • Transformer《Attention Is All You Need》精读

    文章目录 1 研究背景 2 研究动机 3 模型结构 3 1编码器 3 2 解码器 3 3 Attention 3 4 Multi Head Attention 3 5 模型中Attention的应用 3 6 Position wise Fe
  • 计算机指令——从纸带说起

    前言 其实很多时候我都会感叹计算机的伟大 通过一个个电路就完成了如今各种系统 通过各种各样的语言就能够指挥设备完成不同的动作 当写下第一个hellow world的时候我就在想他什么怎么出现 今天搞明白其中的原理 我在这和大家分享 打孔卡
  • 使用ROS连接两台电脑时,只能看到对方设备的IP,但是订阅不到ros消息

    ROS连接两台设备 利用Ros通信 两台电脑需要处于同一局域网下 1 查看主机 从机 ip hostname ifconfig 查看ip 如果电脑连接的时有线网 则显示结果中 etho 部分的 inet addr 后面就是该电脑的 IP 地
  • java kotlinlang_Kotlin与Java互操作

    1 Kotlin 调用Javaimport java util fun demo source List val list ArrayList for item in source list add item for i in 0 sour
  • redis基本命令

    转 https www cnblogs com woshimrf p 5198361 html 目录 全局操作 1 redis是key value存储的 放在内存中 并在磁盘持久化的数据结构存储系统 2 redis提供原子自增操作incr
  • 学习算法之路(转载)

    第一阶段 练经典常用算法 下面的每个算法给我打上十到二十遍 同时自己精简代码 因为太常用 所以要练到写时不用想 10 15分钟内打完 甚至关掉显示器都可以把程序打 出来 1 最短路 Floyd Dijstra BellmanFord 2 最
  • Recent Advances in Deep Learning for Object Detection

    Recent Advances in Deep Learning for Object Detection Abstract 1 Introduction 2 Problem Settings 3 Detection Components
  • python修饰器原理_Python修饰器的函数式编程

    Python的修饰器的英文名叫Decorator 当你看到这个英文名的时候 你可能会把其跟Design Pattern里的Decorator搞混了 其实这是完全不同的两个东西 虽然好像 他们要干的事都很相似 都是想要对一个已有的模块做一些
  • 【RDMA】降低CPU除了RDMA (vbers)还是VMA ?

    前言 看介绍 像是mellonx针对其kernel bypass网卡 RDMA网卡 提供的一个lib库 该lib库对外提供socket api 使得用户的程序不需要修改就可以直接使用kernel bypass网卡 如RDMA网卡 我们都知道
  • FPGA内部结构及时序分析

    FPGA时序分析 FPGA内部基本结构 查找表概述 数据传输路径 时序分析模型 知识补充 注 本文内容来源于B站UP主小梅哥爱漂流的视屏内容 本人整理出来前三节课的视频笔记 对视频内容感兴趣的同学可以去看看小梅哥的视频 视频链接为https