你的位置:EETOP 赛灵思(Xilinx) 社区 >> >> 全部 >> 详细内容

那些年,我们曾经玩过的FPGA布局布线

发布者:jackzhang 时间:2012-12-23 10:48:35

Warren Miller






In this blog, I'm starting a mini-series on the place-and-route (P&R) software so critical to creating a working FPGA. Recently, I discussed the history of place-and-route software and algorithms with Sinan Kaptanoglu, a Microsemi fellow and chief FPGA fabric architect.

Sinan has many years of experience defining a variety of FPGA fabric architectures and their associated place-and-route algorithms. We started out talking about the key innovations that have taken us from waiting overnight for place-and-route results to just watching a short YouTube video of a pro StarCraft 2 game (typically around 15 minutes for those of you who aren't up to date on the eSports phenomenon).

Remember low utilization and long place-and-route times?
Sinan and I started out talking about how, in the early days of designing with FPGAs, getting the design to close (successfully route all the signals and meet some simple timing requirements) was a very big challenge -- both for the FPGA manufacturer and the customer. FPGA manufacturers had to trade off device capacity, place-and-route time, and the effort ("tweaking") required of the customer to optimize the design for the target architecture. Customers needed to minimize their design time, keep device utilization high (or be forced to buy a bigger, sometimes much more expensive device to fit their design), and meet their timing constraints.

Even architectures with plentiful routing resources, like anti-fuse devices, had difficulty with I/O placement. (Placing I/O signals at "problem" locations would make it difficult to successfully route signals and meet timing, since many "long lines" would be required to get signals back and forth across the chip. Long lines were a limited resource, since they completely occupied the routing channel.)

As FPGA manufacturers struggled to improve place-and-route algorithms, devices were growing dramatically in capacity. Unfortunately, the times required to successfully place-and-route FPGAs were directly related to the capacity of the device. Even more unfortunately, this relationship was not simply linear. As device capacity increased, eventually a place-and-route "mountain" was reached where run times increased dramatically. FPGA manufacturers were in a real bind.

This problem was sufficiently difficult for academic researchers to see it as a challenge. Many different proposals for improving place-and-route algorithms were proposed. One of them, first published in the mid-90s, "Pathfinder: A Negotiation-Based Performance Driven Router for FPGAs," L. E. McMurchie, and Carl Ebeling, (reprinted in the ACM International Symposium on Field Programmable Gate Arrays, 1995, page 111; and also available by clicking here) outlined a completely new approach for the place-and-route algorithms used in FPGAs.

As described in this paper's abstract:

This paper presents PathFinder, a router that balances the goals of performance and routability. PathFinder uses an iterative algorithm that converges to a solution in which all signals are routed while achieving close to the optimal performance allowed by the placement. Routability is achieved by forcing signals to negotiate for a resource and thereby determine which signal needs the resource most. Delay is minimized by allowing the more critical signals a greater say in this negotiation.




最新课程

  • 深入浅出玩儿转FPGA

    本视频基于Xilinx公司的Artix-7FPGA器件以及各种丰富的入门和进阶外设,提供了一些典型的工程实例,帮助读者从FPGA基础知识、逻辑设计概念

  • 从零开始大战FPGA基础篇

    本课程为“从零开始大战FPGA”系列课程的基础篇。课程通俗易懂、逻辑性强、示例丰富,课程中尤其强调在设计过程中对“时序”和“逻辑”的把控,以及硬件描述语言与硬件电路相对应的“

  • Verilog基础及典型数字

    课程中首先会给大家讲解在企业中一般数字电路从算法到流片这整个过程中会涉及到哪些流程,都分别使用什么工具,以及其中每个流程都分别做了