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

相关文章

Python解析器安装指南分享(Mac/Windows/Linux)

《Python解析器安装指南分享(Mac/Windows/Linux)》:本文主要介绍Python解析器安装指南(Mac/Windows/Linux),具有很好的参考价值,希望对大家有所帮助,如有... 目NMNkN录1js. 安装包下载1.1 python 下载官网2.核心安装方式3. MACOS 系统安

Java嵌套for循环优化方案分享

《Java嵌套for循环优化方案分享》介绍了Java中嵌套for循环的优化方法,包括减少循环次数、合并循环、使用更高效的数据结构、并行处理、预处理和缓存、算法优化、尽量减少对象创建以及本地变量优化,通... 目录Java 嵌套 for 循环优化方案1. 减少循环次数2. 合并循环3. 使用更高效的数据结构4

Python中常用的四种取整方式分享

《Python中常用的四种取整方式分享》在数据处理和数值计算中,取整操作是非常常见的需求,Python提供了多种取整方式,本文为大家整理了四种常用的方法,希望对大家有所帮助... 目录引言向零取整(Truncate)向下取整(Floor)向上取整(Ceil)四舍五入(Round)四种取整方式的对比综合示例应

CSS3 最强二维布局系统之Grid 网格布局

《CSS3最强二维布局系统之Grid网格布局》CS3的Grid网格布局是目前最强的二维布局系统,可以同时对列和行进行处理,将网页划分成一个个网格,可以任意组合不同的网格,做出各种各样的布局,本文介... 深入学习 css3 目前最强大的布局系统 Grid 网格布局Grid 网格布局的基本认识Grid 网

linux进程D状态的解决思路分享

《linux进程D状态的解决思路分享》在Linux系统中,进程在内核模式下等待I/O完成时会进入不间断睡眠状态(D状态),这种状态下,进程无法通过普通方式被杀死,本文通过实验模拟了这种状态,并分析了如... 目录1. 问题描述2. 问题分析3. 实验模拟3.1 使用losetup创建一个卷作为pv的磁盘3.

CSS弹性布局常用设置方式

《CSS弹性布局常用设置方式》文章总结了CSS布局与样式的常用属性和技巧,包括视口单位、弹性盒子布局、浮动元素、背景和边框样式、文本和阴影效果、溢出隐藏、定位以及背景渐变等,通过这些技巧,可以实现复杂... 一、单位元素vm 1vm 为视口的1%vh 视口高的1%vmin 参照长边vmax 参照长边re

MySQL8.2.0安装教程分享

《MySQL8.2.0安装教程分享》这篇文章详细介绍了如何在Windows系统上安装MySQL数据库软件,包括下载、安装、配置和设置环境变量的步骤... 目录mysql的安装图文1.python访问网址2javascript.点击3.进入Downloads向下滑动4.选择Community Server5.

CSS3中使用flex和grid实现等高元素布局的示例代码

《CSS3中使用flex和grid实现等高元素布局的示例代码》:本文主要介绍了使用CSS3中的Flexbox和Grid布局实现等高元素布局的方法,通过简单的两列实现、每行放置3列以及全部代码的展示,展示了这两种布局方式的实现细节和效果,详细内容请阅读本文,希望能对你有所帮助... 过往的实现方法是使用浮动加

CentOS系统Maven安装教程分享

《CentOS系统Maven安装教程分享》本文介绍了如何在CentOS系统中安装Maven,并提供了一个简单的实际应用案例,安装Maven需要先安装Java和设置环境变量,Maven可以自动管理项目的... 目录准备工作下载并安装Maven常见问题及解决方法实际应用案例总结Maven是一个流行的项目管理工具

10个Python自动化办公的脚本分享

《10个Python自动化办公的脚本分享》在日常办公中,我们常常会被繁琐、重复的任务占据大量时间,本文为大家分享了10个实用的Python自动化办公案例及源码,希望对大家有所帮助... 目录1. 批量处理 Excel 文件2. 自动发送邮件3. 批量重命名文件4. 数据清洗5. 生成 PPT6. 自动化测试