EEJournal

专题文章
现在就订阅

使用机器学习优化FPGA布局和时序

像往常一样,我惊讶于在我的有生之年,事情发生了如此之快和如此之大的变化。当我在1980年开始我在电子和计算机领域的职业生涯时,我们认为简单的可编程逻辑器件(pld)是相当酷的,尤其是它们的创造者成功地从一小堆字母中提炼出了这么多首字母缩写(工程师如果不是首字母缩写的爱好者就什么都不是)尤其是TLA(三个字母的首字母缩写)。

最初的可编程存储器是1970年出现的可编程只读存储器(prom)。虽然这些都很简单,但大家都很礼貌,没有提及。可编程逻辑阵列(pla)大约在1975年首次出现,随后在1970年代后期出现了可编程阵列逻辑(PAL)和通用阵列逻辑(GAL)设备。随着时间的推移,除了使用可编程保险丝来配置这些设备外,电可编程版本(如eprom)和电可擦的可编程风格(如eeprom)也变得可用。

在许多方面,pld的早期就相当于设计工程师的黑暗时代。例如,在液晶显示器的情况下,我们有时开始用铅笔和纸写一个输入和输出的真值表。或者,我们可以捕获一个流程图或电路原理图(使用相同的铅笔和一张新纸),然后我们使用布尔方程、德摩根变换和卡诺映射来生成真值表。最终,我们在计算机上创建了一个表格文本文件,定义了PLD中哪个熔断点会被吹断。然后我们把这份文件交给了一个设备编程员来引爆保险丝。每个设备程序员都有自己的文件格式,因此创建这些文本文件需要熟悉设备内部架构和设备程序员使用的文件格式。(错误检查?别逗我了!)

直到20世纪80年代,我们才开始看到为我们执行繁重工作的工具,首先是联合电子设备工程委员会(JEDEC)提出了一个用于PLD编程的标准文件格式。不久之后,所有的设备程序员都被修改为接受这种JEDEC文件格式。随后引入了PALASM (PAL汇编器)、ABEL(高级布尔表达式语言)和CUPL(可编程逻辑通用工具),所有这些都涉及到基本的硬件描述语言(hdl),以及可以将这些语言中的设计描述转换为相应的JEDEC文件的软件应用程序。噢,我们的快乐!

1984年,Xilinx开始讨论一种名为现场可编程门阵列(FPGA)的新型设备。这个装置不是吹保险丝,而是使用SRAM配置单元进行编程。第一款此类设备是XC2064,于1985年上市。该设备有一个8×8阵列的可配置逻辑块(CLB)岛,每个岛包含两个3-输入查找表(lut),所有这些都在可编程互连的“海洋”中。

没有FPGA设计工具的事情是在早期,这是由设计师指定每个附近地区的内容和如何CLBs互相连接到(和设备的主要输入/输出),所有这些都是由手工完成(回到铅笔和纸)。

早期fpga的批评者喜欢指出,这些设备的时间是不确定的,因为内部有太多的连接方式。这与pld不同,后者是高度确定性的,在数据书中指定了输入到输出的延迟。

随着使用Verilog和VHDL等hdl与逻辑合成引擎结合使用的语言驱动设计(LDD)的引入,所有这些问题都消失了。现在,所有的设计师需要做的——除了捕获设计寄存器传输级(RTL)代码-指定任何时间限制的“延迟从输入到输出Y不应超过xx纳秒:从输入延迟B…”等等,让合成引擎“让”。

随着时间的推移,fpga的容量和性能不断增长。例如,当今较大的fpga可以包含数百万个等效门,这导致了越来越多的问题,即如何创建逻辑函数的最佳布局以及它们之间的路由,以最大化资源利用,同时最小化路由拥塞。所有这些都能帮我们找到Plunify在这里,这家公司的绰号是“PL”(可编程逻辑)和“统一”的组合。

Plunify是由Harnhua Ng和Kirvy Teo在2009年创建的,虽然只是一家小公司,但他们已经建立了庞大的足迹(没有双关的意思),拥有数百个客户,其中包括大约50家企业级公司。

Plunify的“Jewel in the crown”是一种叫做“皇冠上的宝石”的工具亲密的,它“位于”Xilinx、Altera(现在的英特尔)和Microchip Technology等主要FPGA供应商现有的位置和路径(P&R)和合成工具的“顶部”。

InTime分析设计的RTL代码,但不修改它。相反,它使用复杂的机器学习算法来控制现有的P&R和合成引擎,从而实现最优的布局和路由,从而实现定时关闭。P&R和合成工具有无数可以“调整”的控制参数,理解这一点很重要。此外,所有内容都是相互关联的,所以调整一个参数可能会改善设计的一个方面,同时也会对另一个方面产生负面影响。其结果是一个极其复杂的多变量问题,非常适合机器学习解决方案。说到结果,他们是非常令人印象深刻的,如下所示:

FPGA布局和路由“之前”(使用现有供应商工具)和“之后”(使用InTime增强这些工具)(图片来源:Plunify)

InTime,它集成了资源管理软件LSF上海黄金交易所的,可以在单台计算机上工作,也可以在网络上的多台计算机上工作,可以自动地跨多台计算机分布构建并聚合结果。此外,Plunify Cloud还允许您在不需要成为云专家的情况下,将构建内容卸载给Amazon Web Services (AWS)。

现在,尽管像“人工智能”和“机器学习”这样的术语可能有某种“流行词”的威望,但用户真的不在乎这种方式或其他方式。他们所关心的是工具是否工作,以及它是否提高了结果的质量(QoR),提高了生产力,降低了开发成本,并加快了上市时间(TTM)。我只想说,InTime在所有这些属性上得分很高。例如,在某些设计中,InTime从FPGA工具中提取了超过50%的设计性能提升。InTime还解决了95%的现有项目出现严重的地点和路线故障。

记住,人工智能和机器学习在学术界基本上与世隔绝,直到算法和处理能力的发展允许他们大约2015年横空出世,我惊人的Harnhua和Kirvy思考机器学习应用到电子设计自动化(EDA)早在2009年。你呢?你和我一样印象深刻吗?

PS如果你想了解更多关于这一切,那么,除了访问Plunify网站上,这些小流氓会有一个海报会议使用机器学习预测地点和路线的时间瓶颈-在未来与英飞凌技术合作设计自动化会议(DAC),将于2021年12月5-9日在旧金山举行。

2关于“利用机器学习优化FPGA布局和时序”的思考

  1. 这是我的错——我打算把下面的内容贴在我的“曲折拓扑环面变换”(又名“甜甜圈数学”)专栏上(//www.morningcaffee.com/article/tortuously-topological-toroidal-transformations-a-k-a-donut-math/

    - - -
    我的朋友彼得·特拉纽斯·安德森(又名特拉纽斯·雷克斯)正确地回答了我问题的第一部分,如下:

    曲折= 0.25
    边缘= 1
    面临= 1
    轨道= 4

    彼得接着又提出了一个他自己的难题:

    对于绕甜甜圈旋转的0弧度扭转,我们有0度的情况。
    对于弧度每旋转的扭转,我们有180度的情况。
    对于/2弧度旋转,我们有90度的情况。
    每旋转一个弧度,我们有…?

    这是个棘手的问题,你知道答案吗?

  2. 我的好友Jay Dowling给我发邮件说:

    “嗨,Max,你的FPGA P&R文章-我有一个宏,我将用于Altera获得最好的结果。他们使用一些设计的散列作为随机数生成器的种子,而随机数生成器作为奖罚规则的起点。通过改变一个无用的参数(需要最大频率0.1 MHz增量),我可以实现我的目标。通常较低的数值会得到最好的结果。”

留下一个回复

有特色的博客
2021年11月17日,
我们解释了高性能计算(HPC)应用程序的发展,以及将经过硅验证的SoC IP用于HPC处理器设计的芯片设计优势。从Zoom到Netflix:迈向无处不在的高性能计算机的旅程和对强大的硅解决方案的需求出现了……
2021年11月17日,
在最近的三星铸造论坛上,GH Choi展示了卓越制造:有史以来最好的礼物。他是三星铸造制造技术中心的负责人。他的报告花了……点击标题可以在Cadence社区网站....上访问完整的博客
2021年11月16日
在使用led时,我们是应该先修改亮度再进行伽马校正,还是应该先进行伽马校正再修改亮度?
2021年11月8日
英特尔®FPGA技术日(IFTD)是一个为期四天的免费活动,将于2021年12月6日至9日在北美、中国、日本、EMEA和亚太地区虚拟举办。IFTD 2021的主题是“加速构建智能互联世界”。这个虚拟事件…

有特色的视频

Achronix VectorPath加速卡使用PCIe Gen4 x16与AMD Ryzen PC通信

Achronix

在这个演示中,Achronix VectorPath™加速器卡通过PCIe Gen4 x16接口连接到基于AMD Ryzen的PC。主机PC发出命令,使VectorPath加速器卡上的Speedster™7t FPGA写入和读取到板上的外部GDDR6内存。这些数据事务是使用Speedster7t FPGA的片上2D网络或NoC来执行的,这消除了编写复杂的RTL代码来设计主机PC到GDDR6内存接口的需要。

Speedster7t FPGA演示请联系Achronix

了纸

使用1线接口为自动终端添加身份验证安全性

Maxim Integrated(现在是Analog Devices的一部分)

通过添加单一认证IC,汽车设计人员可以只用ECU和端点组件之间的一个信号来认证组件。这一点尤其重要,因为假冒和盗窃在汽车应用中日益严重。本应用说明描述了如何在系统中实现DS28E40 Deep Cover 1-Wire Authenticator,为光学摄像机、前照灯、电动汽车电池、乘员传感器甚至方向盘等提供认证。

点击阅读更多

以注入式教学法亚博里的电子竞技

IsoMOV

逮老鼠的电子产品柏恩斯

今天,您的电路保护装置需要是多功能的,处理广泛的条件与长寿命低电容,低泄漏,和最先进的能源处理密度。在这一集的Chalk Talk中,Am亚博里的电子竞技elia Dalton与来自Bourns的Paul Smith讨论IsoMOV——一种新的集成电路保护,它将最重要的电路保护功能整合在一个有效的封装中。

有关Bourns IsoMOV™系列混合保护组件的更多信息,请点击这里

Baidu