2. 分享三篇早期的FPGA 布局布线论文

2024-01-18 12:12

本文主要是介绍2. 分享三篇早期的FPGA 布局布线论文,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1. PathFinder:一种基于协商和性能驱动的FPGA布线器

Larry MCMURCHIE, Carl EBELING. PathFinder: A Negotiation-Based Performance-Driven Router for FPGAs, February 1996[J/OL]. February 1996

针对FPGA布线中存在的布线性能与可布通性之间的矛盾,该文提出了PathFinder,平衡了这一对矛盾。PathFinder使用一种迭代算法,在给定布局前提下,使布线结果最终可以收敛到这样一个解的状态:所有信号都可以布通,同时取得最高的性能。可不通性目标的达成方法:通过强制信号协商而决定哪个信号最需要资源从而获得相应布线资源。时延目标的达成方法:允许关键信号在协商中具有更大的发言权。该算法由于仅使用了有向图描述布线资源的基础架构,因而其适用的FPGA产品很广。该算法的速度比当时的商业布线工具快11%,在关键路径时延上,只比最优布线增加4.5%。

2. VPR:一种适用于FPGA研究的新型封装、布局布线工具

Vaughn BETZ, Jonathan ROSE. VPR: a new packing, placement and routing tool for FPGA research[M/OL]//Field-Programmable Logic and Applications, 1997.
该文描述了一种用于新型FPGA CAD工具的算法及其能力,该算法被作者命名为VPR(Versatile Place and Route)。从最小化布线面积的角度,VPR优于当时所有FPGA布局布线工具。该算法是对已有的算法的改进和增强,最终在运行时间和取得的性能上都有显著改善。该方法在一些新的大规模电路上进行了基准测试,能适应未来工业设计发展的潮流。该方法适应性广。源代码可以从网上下载,它附带提供的网表翻译/聚类工具VPACK已用于世界范围内的大量研究项目,能用于FPGA架构研究的许多领域。

个人评论:该算法已经在github上公开,是学术研究的必备工具。

3. FPGA布线架构:分段与缓冲-用以优化速度与密度

Vaughn BETZ, Jonathan ROSE. FPGA Routing Architecture: Segmentation and Buffering to Optimize Speed and Density[J/OL]. Proceedings of the 1999 ACM/SIGDA Seventh International Symposium on Field Programmable Gate Arrays, February 1999

这是BETZ的又一篇力作,该文研究了FPGA的布线架构对布线结果的影响,重点在于:确定布线分段长度的最佳分布,PNP晶体管与三态缓冲器的最佳混合比例。大部分商业FPGAs芯片中包含1条导线的长度(跨越1个逻辑块),作者的研究与此想法,FPGA布线分段的长度最佳的范围应该是4至8个逻辑块的长度,50%-80%的布线开关应该采用PNP晶体管,剩下的才是三态缓冲器。按照这样的比例,作者在研究中发现,其速度比与Xilinx XC4000X类似的FPGA要快11%-18%,而且架构更简单。

评述:本文的结果对于FPGAs架构设计工程师有参考价值。

更多论文,后续继续分享。

这篇关于2. 分享三篇早期的FPGA 布局布线论文的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/618950

相关文章

Golang使用etcd构建分布式锁的示例分享

《Golang使用etcd构建分布式锁的示例分享》在本教程中,我们将学习如何使用Go和etcd构建分布式锁系统,分布式锁系统对于管理对分布式系统中共享资源的并发访问至关重要,它有助于维护一致性,防止竞... 目录引言环境准备新建Go项目实现加锁和解锁功能测试分布式锁重构实现失败重试总结引言我们将使用Go作

Python中列表的高级索引技巧分享

《Python中列表的高级索引技巧分享》列表是Python中最常用的数据结构之一,它允许你存储多个元素,并且可以通过索引来访问这些元素,本文将带你深入了解Python列表的高级索引技巧,希望对... 目录1.基本索引2.切片3.负数索引切片4.步长5.多维列表6.列表解析7.切片赋值8.删除元素9.反转列表

Python中处理NaN值的技巧分享

《Python中处理NaN值的技巧分享》在数据科学和数据分析领域,NaN(NotaNumber)是一个常见的概念,它表示一个缺失或未定义的数值,在Python中,尤其是在使用pandas库处理数据时,... 目录NaN 值的来源和影响使用 pandas 的 isna()和 isnull()函数直接比较 Na

HarmonyOS学习(七)——UI(五)常用布局总结

自适应布局 1.1、线性布局(LinearLayout) 通过线性容器Row和Column实现线性布局。Column容器内的子组件按照垂直方向排列,Row组件中的子组件按照水平方向排列。 属性说明space通过space参数设置主轴上子组件的间距,达到各子组件在排列上的等间距效果alignItems设置子组件在交叉轴上的对齐方式,且在各类尺寸屏幕上表现一致,其中交叉轴为垂直时,取值为Vert

Ilya-AI分享的他在OpenAI学习到的15个提示工程技巧

Ilya(不是本人,claude AI)在社交媒体上分享了他在OpenAI学习到的15个Prompt撰写技巧。 以下是详细的内容: 提示精确化:在编写提示时,力求表达清晰准确。清楚地阐述任务需求和概念定义至关重要。例:不用"分析文本",而用"判断这段话的情感倾向:积极、消极还是中性"。 快速迭代:善于快速连续调整提示。熟练的提示工程师能够灵活地进行多轮优化。例:从"总结文章"到"用

【专题】2024飞行汽车技术全景报告合集PDF分享(附原数据表)

原文链接: https://tecdat.cn/?p=37628 6月16日,小鹏汇天旅航者X2在北京大兴国际机场临空经济区完成首飞,这也是小鹏汇天的产品在京津冀地区进行的首次飞行。小鹏汇天方面还表示,公司准备量产,并计划今年四季度开启预售小鹏汇天分体式飞行汽车,探索分体式飞行汽车城际通勤。阅读原文,获取专题报告合集全文,解锁文末271份飞行汽车相关行业研究报告。 据悉,业内人士对飞行汽车行业

AI hospital 论文Idea

一、Benchmarking Large Language Models on Communicative Medical Coaching: A Dataset and a Novel System论文地址含代码 大多数现有模型和工具主要迎合以患者为中心的服务。这项工作深入探讨了LLMs在提高医疗专业人员的沟通能力。目标是构建一个模拟实践环境,人类医生(即医学学习者)可以在其中与患者代理进行医学

论文翻译:arxiv-2024 Benchmark Data Contamination of Large Language Models: A Survey

Benchmark Data Contamination of Large Language Models: A Survey https://arxiv.org/abs/2406.04244 大规模语言模型的基准数据污染:一项综述 文章目录 大规模语言模型的基准数据污染:一项综述摘要1 引言 摘要 大规模语言模型(LLMs),如GPT-4、Claude-3和Gemini的快

论文阅读笔记: Segment Anything

文章目录 Segment Anything摘要引言任务模型数据引擎数据集负责任的人工智能 Segment Anything Model图像编码器提示编码器mask解码器解决歧义损失和训练 Segment Anything 论文地址: https://arxiv.org/abs/2304.02643 代码地址:https://github.com/facebookresear

java常用面试题-基础知识分享

什么是Java? Java是一种高级编程语言,旨在提供跨平台的解决方案。它是一种面向对象的语言,具有简单、结构化、可移植、可靠、安全等特点。 Java的主要特点是什么? Java的主要特点包括: 简单性:Java的语法相对简单,易于学习和使用。面向对象:Java是一种完全面向对象的语言,支持封装、继承和多态。跨平台性:Java的程序可以在不同的操作系统上运行,称为"Write once,