FPGA设计

【视频】PBX:从边缘到云端的 FPGA 设计服务

本视频由 Atomic Rules 公司带来,Atomic 公司从事高速网络的设计服务,在亚马逊与赛灵思联合发布了 AWS EC2 F1 实例后,Atomic 公司积极跟进,并为客户提供从边缘到云端的 FPGA 设计服务。

深度解析FPGA四大设计要点

FPGA的用处比我们平时想象的用处更广泛,原因在于其中集成的模块种类更多,而不仅仅是原来的简单逻辑单元(LE)。早期的FPGA相对比较简单,所有的功能单元仅仅由管脚、内部buffer、LE、RAM构建而成,LE由LUT(查找表)和D触发器构成,RAM也往往容量非常小。现在的FPGA不仅包含以前的LE,RAM也更大更快更灵活,管教IOB也更加的复杂,支持的IO类型也更多,而且内部还集成了一些特殊功能单元,包括:

DSP:实际上就是乘加器,FPGA内部可以集成多个乘加器,而一般的DSP芯片往往每个core只有一个。换言之,FPGA可以更容易实现多个DSP core功能。在某些需要大量乘加计算的场合,往往多个乘加器并行工作的速度可以远远超过一个高速乘加器。

SERDES:高速串行接口。将来PCI-E、XAUI、HT、S-ATA等高速串行接口会越来越多。有了SERDES模块,FPGA可以很容易将这些高速串行接口集成进来,无需再购买专门的接口芯片。

CPU core:分为2种,软core和硬core。软core是用逻辑代码写的CPU模块,可以在任何资源足够的FPGA中实现,使用非常灵活。而且在大容量的FPGA中还可以集成多个软core,实现多核并行处理。硬core是在特定的FPGA内部做好的CPU core,优点是速度快、性能好,缺点是不够灵活。

简述基于EDA技术的FPGA设计

物联网、人工智能、大数据等新兴技术的推动,集成电路技术和计算机技术得到蓬勃发展。电子产品设计系统日趋数字化、复杂化和大规模集成化,各种电子系统的设计软件应运而生。在这些专业化软件中,EDA(Electronic Design Automation)具有一定的代表性。EDA技术是一种基于芯片的现代电子系统设计方法。它的优势主要集中在能用HDL语言进行输入、进行PEn(可编程器件)的设计与仿真等系统设计。现场可编程门阵列FPGA作为集成度和复杂程度最高的可编程ASIC。是ASIC的一种新型门类,它建立在创新的发明构思和先进的EDA技术之上。

EDA技术主要包括大规模可编程逻辑器件、硬件描述语言、开发软件工具及实验开发系统4个方面。其中,大规模可编程逻辑器件是利用EDA技术进行电子系统设计的载体硬件.描述语言是利用EDA技术进行电子系统设计的主要表达手段。开发软件工具是利用EDA技术进行电子系统设计的智能化与自动化设计工具。实验开发系统则是提供芯片下载电路及EDA实验、开发的外围资源。

作者:stark

众所周知FPGA的硬件资源被划分为若干个不同的bank,Xilinx一些高端的FPGA器件由22个甚至更多个bank组成,这样设计主要是为了提高灵活性。FPGA的I/O支持1.8V、2.5V和3.3V等多种电平输入输出,为了获得这些I/O电平,就需要在对应bank的供电引脚输入对应的电源电压,这样就节省了很多总线转换器。

Flash是一种具有电可擦除的可编程ROM存储器,掉电内容不会丢失,按接口可以分为两大类:并行Flash和串行Flash,并行Flash存储量大,速度快;而串行Flash存储量相对较小,但体积小,连线简单,可减小电路面积,节约成本。SPI Flash是内嵌SPI总线接口的串行Flash,它比起传统的并行总线接口Flash,节省了很多的I/O口资源。

SDRAM(Synchronous Dynamic Random Access Memory,同步动态随机存储器)也是FPGA设计中经常采用的内存器件,掉电后不能保存数据,功耗也比较大。因此Flash用于保存FPGA系统启动所需的配置文件,SDRAM则用于系统的数据的缓存,所有程序的运行都在内存中进行,速度快。

FPGA应用和设计要点详细解析

FPGA的应用

FPGA的用处比我们平时想象的用处更广泛,原因在于其中集成的模块种类更多,而不仅仅是原来的简单逻辑单元(LE)。早期的FPGA相对比较简单,所有的功能单元仅仅由管脚、内部buffer、LE、RAM构建而成,LE由LUT(查找表)和D触发器构成,RAM也往往容量非常小。现在的FPGA不仅包含以前的LE,RAM也更大更快更灵活,管教IOB也更加的复杂,支持的IO类型也更多,而且内部还集成了一些特殊功能单元,包括:

DSP:实际上就是乘加器,FPGA内部可以集成多个乘加器,而一般的DSP芯片往往每个core只有一个。换言之,FPGA可以更容易实现多个DSP core功能。在某些需要大量乘加计算的场合,往往多个乘加器并行工作的速度可以远远超过一个高速乘加器。

SERDES:高速串行接口。将来PCI-E、XAUI、HT、S-ATA等高速串行接口会越来越多。有了SERDES模块,FPGA可以很容易将这些高速串行接口集成进来,无需再购买专门的接口芯片。

机器学习终将改变FPGA设计--Plunify新款神奇Kabuto

新加坡的Plunify公司于2017年6月6日推出了Kabuto----一款可最大限度地减少和消除FPGA设计中性能错误的软件。

Kabuto完美的配合了Plunify的InTime时序收敛和性能优化功能以解决各个行业关键设计问题,包括了数据中心,高级驾驶员辅助系统和高频交易等市场。 Plunify的首席执行官兼联合创始人黄翰华(Harnhua Ng)的评论说:“我们的机器学习功能用于时序收敛和优化FPGA的设计可使我们的用户能够胜过其竞争对手。

什么是Kabuto
Kabuto是一款使用机器学习技术的专业软件,它可以帮助RTL设计师写出更好的代码来解决时序问题,提升设计性能。它的核心是一个模式识别引擎,该引擎可以检测出“不良”RTL代码,也就是导致时序或性能问题的Verilog或VHDL代码。Kabuto优先处理设计中的关键路径,并且提供如何修改相关的RTL部分的智能建议。设计师最终决定是否接受这些建议,还是修改这些建议。Kabuto和InTime也可以协同工作。

Plunify®基于机器学习技术的现场可编程门阵列(FPGA)时序收敛和性能优化软件供应商,今天推出了Kabuto™,可最大限度地减少和消除性能错误。

Kabuto完美的配合了Plunify的InTime™时序收敛和性能优化功能以解决各个行业关键设计问题,包括了数据中心,高级驾驶员辅助系统和高频交易等市场。 Plunify的首席执行官兼联合创始人黄翰华(Harnhua Ng)的评论说:“我们的机器学习功能用于时序收敛和优化FPGA的设计可使我们的用户能够胜过其竞争对手。

Plunify将在美国德克萨斯州奥斯汀的奥斯汀会议中心的设计自动化大会(DAC)上展出,日期:6月19 - 21日,时间:上午10点至下午6点,展位号1631号展位,期间将持续提供其完整产品组合的演示。

介绍Kabuto修复RTL代码性能
日本术语Kabuto“头盔”通过推荐基于定时路径和RTL代码分析的寄存器传输级(RTL)代码修复来保护FPGA设计免受性能错误的影响。它读取关键路径信息并确定相应的源代码段,分析它们,然后提出RTL修复。

例如,Kabuto判断确定需要pipeline流水设计,建议要修改的确切的代码行,并确保正确检查依赖关系。与linting工具不同,Kabuto建议在错误的时序路径上如何修正寄存器传输级(RTL)代码。

作者:清风流云

背景:
DFC设计公司是一家传统的电子设计服务公司,其产品主要涉及基于FPGA和DSP技术的高端电子硬件及PCB设计、专用电子产品设计、机器视觉设计以及下面将会重点介绍的FPGA设计。FPGA设计的工作范围包括简单的逻辑、DSP、视频、网络功能和IP核集成。在FPGA设计中,DFC推出的Xenie是一个通用的FPGA模块系列,该系列模块都集成了一个10Gbit的以太网物理层芯片、1GB的DDR3 SDRAM、可配置的SPI Flash存储区以及最关键的Xilinx Kintex系列芯片。

Xenia FPGA模块:

简化和传统FPGA设计流程步骤主要由以下图为代表:

简化和传统FPGA设计流程步骤

FPGA设计所需优化时序的主要三大步骤为:

主要方式:改代码/约束
• 需要资深的工程师,要懂得改。
• 接近项目过点或是已验证过,不好改代码,避免造成新的问题

提升至更高器件等级、型号
• 提升速度等级或型号
• 成本高

FPGA工具的综合与布局布线选项
• 尝试种子(placement seeds)
• 时盲目尝试,但是时序相差太大就会无效

现今技术的飞跃和进步,运算资源价格的逐步下降,机器学习的崛起,但在大数据没有很好被有效利用的情况下,Plunify通过这些技术优势的结合,继续创新与推出新的InTime版本,以其促使颠覆旧有的FPGA设计步骤与流程。Plunify倡导新的FPGA设计流程如下图:

从UFDM看目前FPGA设计流程(1)

作者: East  FPGA那点事儿

目前xilinx 在FPGA设计上总结出了UFDM这个名词,也有ug949这篇经典的文档,将FPGA设计的流程、方法、注意事项都有详细介绍,总结了很多成功的经验,提升到设计方法学的高度。可能很多FPGA设计者使用Altera FPGA,也可能即使使用xilinx FPGA ,但还未阅读过UG949,我想这都没关系,一起看下当前FPGA设计流程以及重点考虑的方方面面。

同步内容