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内存优化的实战技巧分享

《Python内存优化的实战技巧分享》Python作为一门解释型语言,虽然在开发效率上有着显著优势,但在执行效率方面往往被诟病,然而,通过合理的内存优化策略,我们可以让Python程序的运行速度提升3... 目录前言python内存管理机制引用计数机制垃圾回收机制内存泄漏的常见原因1. 循环引用2. 全局变

Linux从文件中提取特定内容的实用技巧分享

《Linux从文件中提取特定内容的实用技巧分享》在日常数据处理和配置文件管理中,我们经常需要从大型文件中提取特定内容,本文介绍的提取特定行技术正是这些高级操作的基础,以提取含有1的简单需求为例,我们可... 目录引言1、方法一:使用 grep 命令1.1 grep 命令基础1.2 命令详解1.3 高级用法2

使用IDEA部署Docker应用指南分享

《使用IDEA部署Docker应用指南分享》本文介绍了使用IDEA部署Docker应用的四步流程:创建Dockerfile、配置IDEADocker连接、设置运行调试环境、构建运行镜像,并强调需准备本... 目录一、创建 dockerfile 配置文件二、配置 IDEA 的 Docker 连接三、配置 Do

OpenCV在Java中的完整集成指南分享

《OpenCV在Java中的完整集成指南分享》本文详解了在Java中集成OpenCV的方法,涵盖jar包导入、dll配置、JNI路径设置及跨平台兼容性处理,提供了图像处理、特征检测、实时视频分析等应用... 目录1. OpenCV简介与应用领域1.1 OpenCV的诞生与发展1.2 OpenCV的应用领域2

Python中你不知道的gzip高级用法分享

《Python中你不知道的gzip高级用法分享》在当今大数据时代,数据存储和传输成本已成为每个开发者必须考虑的问题,Python内置的gzip模块提供了一种简单高效的解决方案,下面小编就来和大家详细讲... 目录前言:为什么数据压缩如此重要1. gzip 模块基础介绍2. 基本压缩与解压缩操作2.1 压缩文

Go语言代码格式化的技巧分享

《Go语言代码格式化的技巧分享》在Go语言的开发过程中,代码格式化是一个看似细微却至关重要的环节,良好的代码格式化不仅能提升代码的可读性,还能促进团队协作,减少因代码风格差异引发的问题,Go在代码格式... 目录一、Go 语言代码格式化的重要性二、Go 语言代码格式化工具:gofmt 与 go fmt(一)

Python虚拟环境与Conda使用指南分享

《Python虚拟环境与Conda使用指南分享》:本文主要介绍Python虚拟环境与Conda使用指南,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、python 虚拟环境概述1.1 什么是虚拟环境1.2 为什么需要虚拟环境二、Python 内置的虚拟环境工具

Python处理大量Excel文件的十个技巧分享

《Python处理大量Excel文件的十个技巧分享》每天被大量Excel文件折磨的你看过来!这是一份Python程序员整理的实用技巧,不说废话,直接上干货,文章通过代码示例讲解的非常详细,需要的朋友可... 目录一、批量读取多个Excel文件二、选择性读取工作表和列三、自动调整格式和样式四、智能数据清洗五、

JDK9到JDK21中值得掌握的29个实用特性分享

《JDK9到JDK21中值得掌握的29个实用特性分享》Java的演进节奏从JDK9开始显著加快,每半年一个新版本的发布节奏为Java带来了大量的新特性,本文整理了29个JDK9到JDK21中值得掌握的... 目录JDK 9 模块化与API增强1. 集合工厂方法:一行代码创建不可变集合2. 私有接口方法:接口

电脑系统Hosts文件原理和应用分享

《电脑系统Hosts文件原理和应用分享》Hosts是一个没有扩展名的系统文件,当用户在浏览器中输入一个需要登录的网址时,系统会首先自动从Hosts文件中寻找对应的IP地址,一旦找到,系统会立即打开对应... Hosts是一个没有扩展名的系统文件,可以用记事本等工具打开,其作用就是将一些常用的网址域名与其对应