基于FPGA 的TDC设计更好的选择——易灵思Quantum架构FPGA

news2025/7/12 7:35:25
  • 时间数据转换器(TDC)常被用于测量时间间隔,被广泛应用于飞行时间测量领域。分辨率是一个重要的参数,但TDC线性度将直接影响整个系统的精度。尤其是近年来迅猛增长的汽车自动驾驶(ADAS)领域,利用光测距的激光雷达(LiDAR)应用,要求每秒多次测量,以提高可靠性。因此,在现代TDC体系结构中,不仅要提高TDC分辨率,还要提高TDC线性度,并且对采样率也有更高的要求。
  • 激烈的市场竞争增加了对较少开发时间,较快的原型实现以及较低的综合成本等方面的需求,使得更多的设备厂商选择使用 FPGA来解决。一直以来,从架构设计和制造工艺到开发工具,FPGA都在不断地进步,使得FPGA能够在性能上缩小与ASIC的差距。因此,基于FPGATDC系统开始集成到最终产品中,使FPGA不再是一个原型验证的平台。
  • TDC研究上,硬件系统的运行速度已经不再是瓶颈,所以今天无论是什么领域的应用,主要的目标是提高TDC线性度分辨率。在FPGA实现中,TDC的体系结构受到可用逻辑单元和布局布线资源的限制。所以选择更适合TDC应用的FPGA架构对TDC的算法实现和最终性能都至关重要。毫无疑问,在同样的算法实现上,使用更适合的FPGA架构可以带来更优秀的性能和更少的资源浪费。
  • 迄今为止,基于延迟链(TDL)TDC是最为普遍的,下图展示了TDL-TDC的基本原理。利用FPGA里的基本延迟单元设计延迟链(TDL)是整个FPGA TDC的核心。其中TDL的最大长度(测量范围)TDL抽头(TAP)之间的最小延迟(分辨率)和误差(线性度)是决定FPGA TDC性能的重要参数,而这些参数都由FPGA的架构来决定,直接影响整个TDC设计的性能上限。

  • 在今天的FPGA TDC用里,为了获取最好的分辨率和精度,通常都采用FPGA里的进位链构建TDL
  • 如下图所示,FPGA里拥有最短可控延迟的布线资源就是基本逻辑单元之间的进位链,因为进位链的布线受FPGA硬件架构限制,每级的相对位置不会因为FPGAPnR算法变得不受控制。
  • 进位链只能从逻辑单元里加法器的进位输出(CO)连接到相邻逻辑单元里加法器的进位输入(CI),所以相邻抽头(TAP)之间的延迟差是固定的也是最小的。采样链对抽头TAP信号进行采样获得温度计二进制编码值。

  • 可见将各基本逻辑单元串连在一起的进位链最小延迟和延迟的误差会直接影响整个链路的测量分辨率线性度连续可级联的最大级数将会影响进位链的测量范围,虽然测量范围不是主要问题,因为我们可以用采样时钟的周期计数器进行粗计数以获得更宽的测量范围,但是前面提到的基本电路里我们的总进位链延迟时间仍然需要覆盖至少一个时钟周期的时间。
  • 传统的FPGA的架构的布线资源和逻辑资源是固定的,为了更好的平衡局部布线资源和全局布线资源提高布线资源利用率和布通率,在架构上都会将基本功能组合为层级结构,并且在每个层级都有相应的局部布线资源。使用这种结构在构建TDL的时候,属于不同层级的进位链资源具有不同的延迟,从而影响整个TDL线性度分辨率
  • X家的7系列为例,基本结构为SliceSlice里的进位链架构为Carry4。使用Carry4构建的延迟链,跨越Slice的进位链和同属一个Slice内的进位链延迟是不同的。而UltraScale架构的Carry8也有同样的问题。

  • A家的Cyclone5系列情况则更为复杂一些。它的基本结构为LAB,每个LAB包含10ALM,并且被划分为上下各5ALM为一组。所以使用Cyclone5的进位链构建TDL,每个LAB内跨越两个ALM组的进位链延迟和同一组内的进位链延迟是不同的,跨越LAB的进位链延迟也不同。

  

  • 易灵思独创的Quantum架构,逻辑资源和路由开关采用小颗粒的随变单元XLR构成,不再像传统的FPGA把基本功能和布线资源组织成多级结构。XLR可以根据需求配置为逻辑单元或者是布线需要的路由开关。这样的结构不仅可以以一半的面积、一半的功耗,获得更高的性能和更低的功耗,而且在这样的架构上使用进位链设计TDC具有天然的优势:
    1. 没有传统FPGA的层级结构,进位链每级之间的延迟没有差异,在同等算法实现的前提下,使用Quantum架构FPGA实现TDC具有更好的线性度分辨率
    2. 可实现跨度为整个纵列的超长连续的进位链,具有更宽的测量范围,让TDC应用实现变得更加灵活

 

  • Trion系列FPGAT35为例,可以构建最长478级连续以50ps为步进的延迟链:

  • 钛金系列FPGA,以Ti35为例,可构建最长318级连续以21ps为步进的延迟链:

  • 当前,国产FPGA产业正在蓬勃发展,虽然总体上和国外大厂尚有较大的距离,但是国内良好的市场前景仍然为国内FPGA品牌的创新带来不少活力。
  • 易灵思独创的Quantum架构的Trion系列和钛金系列FPGA,在TDL TDC的应用上具有所有传统架构FPGA所不具备的天然优势,可以为用户的系统带来更好的性能,更低的功耗,以及更低的成本。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/406166.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

GCN-图卷积神经网络算法简单实现(含python代码)

本文是就实现GCN算法模型进行的代码介绍,上一篇文章是GCN算法的原理和模型介绍。 代码中用到的Cora数据集: 链接:https://pan.baidu.com/s/1SbqIOtysKqHKZ7C50DM_eA 提取码:pfny 文章目录 目的 一、数据集介绍 二、实现过程讲…

[闪存 2.1] 闪存芯片物理结构与_SLC/MLC/TLC/QLC

固态硬盘(Solid State Drives),简称SSD。它是一种电脑存储设备,由闪存(FLASH)、 闪存控制器、高速缓存(DRAM)组成。这是是固态硬盘的三个基本部件,对性能有关键影响。 闪存芯片简介闪存颗粒是固态

MySQL数据库的基础语法总结(1)

MySql一.数据库,数据表的基本操作1.数据库的基本操作2. 数据表的基本操作2.1 数据库的数据类型2.1.1 整数类型2.1.2 浮点数类型和定点数类型2.1.3 字符串类型2.1.4 日期与时间类型2.2 数据表的基本操作2.2.1 创建一个数据表2.2.2 查看数据表2.2.3 查看表的基本信息的MySQL指令2…

设计模式(上)

目录 1.设计模式概述 1.什么是设计模式 2.学习设计模式的意义 3.23种设计模式 4.七大设计原则 2.创建者模式 1.单例模式 2.工厂模式 3.抽象工厂模式 4.建造者模式 5.原型模式 3.结构型模式 1.适配器模式 2.桥接模式 3.代理模式 4.组合模式 5.装饰模式 6.享元…

[架构之路-24]:目标系统 - 系统软件 - C语言的结构与程序的工作原理 - 程序控制、函数调用栈、函数调用性能优化

目录 前言: 第1章 结构化程序与分层编程系统 1.1 计算机软硬件模型 1.2 程序的经典框架:算法数据结构 1.3 程序的结构化框架 1.4 程序的层次模型 1.5 程序设计的层次模型 第2章 C语言概述 2.1 C语言本质 2.2 C语言关键字 2.3 C语言在编程语言的…

js算法 字母大小写转换

题目:输入字符串将大写转换成小写,小写转换成大写? js字母大小写转换方法: 1、转换成大写:toUpperCase() 2、转换成小写:toLowerCase()方法一:把输入的字符串转成数组用split(&…

chatgpt 无法登录报错Access denied、OpenAl‘s services are not available in yourcountry. (error=unsupported )

一、主要解决有账号无法登录问题,共包含两种情况。 1、Oops! OpenAls services are not available in yourcountry.(errorunsupported country) 2、Access denied You do not have access to chat.openai.com. The site owner may have set restrictions that p…

Linux命令之nano命令

一、nano命令简介 nano是一个小型、免费、友好的编辑器,旨在取代非免费Pine包中的默认编辑器Pico。nano不仅复制了Pico的外观,还实现了Pico中一些缺失(或默认禁用)的功能,例如“搜索和替换”和“转到行号和列号”。nan…

Element Plus的el-tree-select组件,懒加载 + 数据回显

目录一、背景说明二、使用1. dom2.methods三、回显一、背景说明 技术:Vue3 Element Plus需求:在选择组织机构时以树结构下拉展示。用到组件:TreeSelect 树形选择组件(el-tree-select) 官网文档地址: ht…

Vue如何启动项目

文章目录 文章目录 前言 一、首先了解vue-cli脚手架 二、安装脚手架 三、启动项目 总结 前言 废话就不多说了,直接进入正题 一、首先了解vue-cli脚手架 vue-cli 是一个基于 Vue.js 进行快速开发的完整系统 vue-cli是 基于 webpack 构建 vue 前端模块工程环境webpa…

Vue.js介绍

目录 一、 Vue.js是什么 二、 Vue.js优点 三、 前提条件 四、 安装Vue 1. 直接用 script 标签 引入 2. 命令行工具 (CLI) 3. 其他方法或细节应用 五、声明式渲染 六、 理解什么是MVVM MVVM模式的组成部分 MVVM优点 一、 Vue.js是什么 Vue.js (vue读音 /vjuː/&am…

【CSS扩展】VUE如何使用或修改element plus中自带的CSS全局变量来定义样式

目录 一、CSS声明全局变量 二、使用el plus 和 el ui的自带样式 1、element plus—— var.scss位置 2、element ui—— var.scss位置 三、修改el plus 和 el ui中的自定义样式变量(方法一致) 本萌新最近在写网页时使用到了element plus中自带的CSS全…

Vue中如何解决跨域问题

跨域 跨域报错是前端开发中非常经典的一个错误,报错如下 Access to XMLHttpRequest at ...... from origin ...... has been blocked by CORS policy: No Access-Control-Allow-Origin header is present on the requested resource. 跨域错误源自于浏览器的同源…

《中秋佳节倍思亲》——2022年这场中秋

中秋佳夜,圆的是月,满的是情,但一人终究扛下离愁 作为一个杭漂者,虽不及北漂般艰难困苦,但也举步维艰啊! 或许,这对我而言,正是一个别样的中秋,也正是一个值得我一生纪念…

多端统一开发解决方案---Taro

Taro 一套代码,多端运行,释放双手的摸鱼神器 文章目录Taro 一套代码,多端运行,释放双手的摸鱼神器1. 简介2. 准备工作2.1 安装及使用2.1.1 开发者工具2.1.2 tarojs2.1安装tarojs工具3. Taro 使用4.限制5.路由跳转汇总6.注意事项7.…

vue3:安装配置sass

目录 前言: 1. 安装sass 2. 新建style目录,存放scss文件 3. main.ts 4. vite.config.ts 5. Test.vue 前言: 对于前端开发人员来说,css预处理的语言已经是家常便饭了,如sass,less等等,那么…

深度学习实战 1 YOLOv5结合BiFPN

目录 1. BiFPN论文简介 2. 在Common.py中添加定义模块(Concat) 3. 将类名加入进去,修改yolo.py 4. 修改train.py 5. 修改配置文件yolov5.yaml 1. BiFPN论文简介 论文《EfficientDet: Scalable and Efficient Object Detection》地址:https://arxiv…

微信小程序云开发的具体使用教程

小程序云开发介绍 云开发官方文档 一个小程序在开发时,除了考虑界面功能逻辑外,还需要后端的数据支持。而为了获得后端的数据支持,开发者需要提前考虑服务器、存储和数据库等需求,并且会花费时间精力在部署应用、依赖上。因此官方…

【JavaScript 逆向】网易易盾滑块逆向分析

声明本文章中所有内容仅供学习交流,相关链接做了脱敏处理,若有侵权,请联系我立即删除!案例目标验证码:aHR0cHM6Ly9kdW4uMTYzLmNvbS90cmlhbC9qaWdzYXc以上均做了脱敏处理,Base64 编码及解码方式:…

MongoDB数据库性能监控详解

目录一、MongoDB启动超慢1、启动日常卡住,根本不用为了截屏而快速操作,MongoDB启动真的超级慢~~2、启动MongoDB配置服务器,间歇性失败。3、查看MongoDB日志,分析“MongoDB启动慢”的原因。4、耗时“一小时”,MongoDB启…