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

相关文章

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. 自动化测试

10个Python Excel自动化脚本分享

《10个PythonExcel自动化脚本分享》在数据处理和分析的过程中,Excel文件是我们日常工作中常见的格式,本文将分享10个实用的Excel自动化脚本,希望可以帮助大家更轻松地掌握这些技能... 目录1. Excel单元格批量填充2. 设置行高与列宽3. 根据条件删除行4. 创建新的Excel工作表5

Redis多种内存淘汰策略及配置技巧分享

《Redis多种内存淘汰策略及配置技巧分享》本文介绍了Redis内存满时的淘汰机制,包括内存淘汰机制的概念,Redis提供的8种淘汰策略(如noeviction、volatile-lru等)及其适用场... 目录前言一、什么是 Redis 的内存淘汰机制?二、Redis 内存淘汰策略1. pythonnoe

Golang操作DuckDB实战案例分享

《Golang操作DuckDB实战案例分享》DuckDB是一个嵌入式SQL数据库引擎,它与众所周知的SQLite非常相似,但它是为olap风格的工作负载设计的,DuckDB支持各种数据类型和SQL特性... 目录DuckDB的主要优点环境准备初始化表和数据查询单行或多行错误处理和事务完整代码最后总结Duck

将Python应用部署到生产环境的小技巧分享

《将Python应用部署到生产环境的小技巧分享》文章主要讲述了在将Python应用程序部署到生产环境之前,需要进行的准备工作和最佳实践,包括心态调整、代码审查、测试覆盖率提升、配置文件优化、日志记录完... 目录部署前夜:从开发到生产的心理准备与检查清单环境搭建:打造稳固的应用运行平台自动化流水线:让部署像