跳转到主要内容
瑞苏盈科专栏
我与瑞苏盈科板卡的开发故事

FPGA

利用FPGA进行基本运算及特殊函数定点运算

judy /

<font color="#FF8000">作者:没落骑士</font>

<strong>一、前言</strong>

  FPGA以擅长高速并行数据处理而闻名,从有线/无线通信到图像处理中各种DSP算法,再到现今火爆的AI应用,都离不开卷积、滤波、变换等基本的数学运算。但由于FPGA的硬件结构和开发特性使得其对很多算法不友好,之前本人零散地总结和转载了些基本的数学运算在FPGA中的实现方式,今天做一个系统的总结归纳。

<strong>二、FPGA中的加减乘除</strong>

1.硬件资源

独家专访:华裔CEO临危受命,Xilinx 10亿美元大杀器搏命英特尔/英伟达

judy /

他是技术出身的华人CEO兼总裁;他是被Xilinx董事长称为公司过去十年创新的规划者,他是笑傲数十重量级高竞争对手的勇者,他想重新定义FPGA的未来!

为了抗衡英特尔和英伟达,数年磨一剑的秘密武器悄然出鞘。超过10亿美元研发投入,1500人历经5年的智慧结晶,台积电最先进7纳米工艺支持。

<font size="3"><strong> 巨头的PK</strong></font>

作为FPGA的发明者,作为全行业最难设计芯片的拥有者,Xilinx一直都在王者荣耀,独孤求败。30多年来,无论是Altera,Lattice,Microsemi,Quiclogic,以及被玩丢的Agere等,都没有对它造成过真正的威胁。

2015年,当紧跟在身后的Altera突然被Intel以167亿美元跨界并购,当主要的对手从兔子突然变成了大象,这难免让Xilinx有点目瞪口呆,如临大敌。

Silexica发布多核软件开发工具SLX的最新版本,FPGA和C/C++功能得到大幅增强

judy /

2018年10月23日 - Silexica发布了多核软件开发工具SLX的最新版本,新版的FPGA和C/C++功能得到大幅增强。SLX工具是目前业界首款用于FPGA的工具,该软件全面支持Xilinx的SDSoC开发环境,在进入高阶综合(High-Level Synthesis,HLS)之前即可进行软硬件开发探索,保证HLS的进行过程更加精确高效。SLX for C/C++则可提供子对象报告和共享变量分析,为最新平台上的代码提供了更加全面的理解,无需再花费时间进行人工手动分析,更大大节省了设计时间。同时,SLX还添加了更多的平台模型(例如 Renesas R-Car H3和RISC-V),真正实现软硬件优化。

SLX 2018.10最新版本的主要新功能有:

<strong>SLX for FPGA功能增强</strong>

SLX for FPGA可对C/C++代码进行深入分析,全面了解软件相互依赖性、应用程序热点以及并行化机会,真正实现带有FPGA的异构多核SoC的代码优化。该工具可在软硬件探索后针对您的C/C++代码提供建议,甄别出适合留存ARM处理器或是适合在 FPGA架构进行加速的特定部分的C/C++代码。此外,新版更够更加紧密地与Xilinx的SDSoC开发环境进行集成。

赛灵思蝶变之路:从FPGA进入ACAP世界

judy /

<font color="#FF8000">作者:邓晓蕾,经济观察网</font>

近日,自适应和智能计算公司赛灵思(Xilinx)公布2019财年第二季度财报,财报显示该公司实现季度性收入7.46亿美元,比去年同期增长19%,这也是赛灵思连续12个季度实现了正增长。

赛灵思首席执行官Victor Peng表示,得益于5G网络、数据中心及汽车等业务需求带动FPGA的出货,加上人工智能及云计算等应用的广泛增长基础, 与上一年销售额相比,我们将2019财年的收入增长率提高到大约20%。这也意味着,赛灵思对其正进行的平台战略转型极具信心。

上任九个多月的Victor Peng,日前在赛灵思中国开发者大会上谈到赛灵思正在进行的战略转型,称赛灵思正在推进以数据中心优先,加速核心市场发展,驱动灵活应变的计算。“这就像是一个椅子的三条腿,三条腿对于整个战略的完整性来讲都是至关重要,而且是相互关联的,要超过大家的想象。”

赛灵思成立于1984 年,首创FPGA技术。经过长期的发展,其产品线已经涵盖45/28/20/16nm四个系列的FPGA以及Zynq SoC,同时还提供相应的开发软件工具及IP支持。值得注意的是,赛灵思在16nm-28nm系列产品已经在FPGA市场上占据主导优势。

Xilinx:让FFmpeg在FPGA上玩的爽

judy /

<font color="#FF8000">作者:Sean Gardner,来源:LiveVideoStack</font>

FPGA让企业和开发者有了新的选择,尤其在高运算复杂度和实时音视频场景下。不过FPGA也会带来较高的学习和开发难度,Xilinx的高级市场经理Sean Gardner告诉LiveVideoStack,Xilinx几年前就启动了FPGA对FFmpeg支持的项目,让FFmpeg开发者可以学习和使用FPGA。

<strong>LiveVideoStack:你好Sean,请向我们LiveVideoStack读者介绍下自己及加入Xilinx的相关背景。</strong>

<strong>Sean Gardner:</strong>没问题,大家好,我是Sean Gardner,现任Xilinx的高级市场经理,负责制定视频云的营销策略,非常高兴参加本届LiveVideoStackCon。

一文教你搞定FPGA有符号数、无符号数难题

judy /

在设计中,所有的算数运算符都是按照无符号数进行的。如果要完成有符号数计算,对于加、减操作通过补码处理即可用无符号加法完成。对于乘法操作,无符号数直接采用“*”运算符,有符号数运算可通过定义输出为 signed 来处理。

通过“*”运算符完成有符号数的乘法运算。
module ceshi (out, clk, a, b);
output [15:0] out;
input clk;

//通过 signed 关键字定义输入端口的数据类型为有符号数
input signed [7:0] a;
input signed [7:0] b;

//通过 signed 关键字定义寄存器的数据类型为有符号数
reg signed [7:0] a_reg;
reg signed [7:0] b_reg;
reg signed [15:0] out;

wire signed [15:0] mult_out;
//调用*运算符完成有符号数乘法
assign mult_out = a_reg * b_reg;

用FPGA对ASIC进行原型验证的过程

judy /

鉴于芯片设计的复杂度提升, 成功设计一个芯片所牵扯的步骤与过程也愈加复杂,所需花费的资金也成倍增加,一个典型的芯片开发项目的周期和花销如下所示
<center><img src="http://xilinx.eetrend.com/files-eetrend-xilinx/article/201810/13736-398…; width="670"></center>

可以见到在芯片制造出来之前,很多精力会花费在RTL代码验证工作上,另外软件的相关开发工作,也会在得到芯片前开始,这2方面都需要借助FPGA原形来模拟芯片的行为,帮助硬件开发和软件开发者,共同提升工作效率。

在云端加速FPGA回归项目,只需一个Tcl指令

judy /

严谨的软硬件开发都会有一套回归测试。连续的整合,每日自动测试,以及手动执行脚本等等 –—— 这一系列方法可以让开发人员来定义、创建、运行验证环节,从而决定产品的质量、性能和可靠性。

本文将聚焦那些需要多次FPGA设计编译的测试,以及如何缩短周转时间同时保证测试平稳运行。

1. 使用云服务器来加速编译

如果您有多个 FPGA 设计和参数组合,而且编译机器的数量又有限,运行测试编译是十分困难的。您需要手写脚本来自动运行编译,但是随着您添加特征和用例,总会有越来越多的情况需要测试。随着测试数量的增加,很多工程师都说每当测试设计的编译结束的时候,下一轮的回归周期又要开始了。由此可见,这种情况让测试范围很受限制,同时为了发布新产品,周转时间的要求也十分严峻。

秒杀GPU:FPGA发明以来最伟大的技术详解

judy /

今年3月份,赛灵思(Xilinx)历史上第四位全球CEO Victor Peng 先生在北京正式宣布赛灵思将推出“自适应计算加速平台”ACAP。Victor 表示:“作为可以和CPU、GPU与FPGA 相提并论、并且性能远超后二者的产品,ACAP可以覆盖更加广泛的应用,帮助人们实现智能互联并且驱动自适应的世界。”

ACAP采用台积电7纳米技术,在机器学习的计算能力方面比16纳米级提升20倍,在5G通信方面能够支持4倍的带宽,在性能功耗比方面具有优越的表现。ACAP是赛灵思公司“Everest 行动”(内部称为“珠穆朗玛”行动)的重大成果。“Everest 行动”已经历经四年,投资10亿美元、动用1500名工程师,无疑是一个重磅级新型产品。可以说,ACAP的问世,对业界来说是一项重大的技术颠覆,也是自赛灵思公司发明FPGA以来最卓著的工程成就。

高速FPGA的PCB设计技术

judy /

如果高速PCB设计能够像连接原理图节点那样简单,以及像在计算机显示器上所看到的那样优美的话,那将是一件多么美好的事情。然而,除非设计师初入PCB设计,或者是极度的幸运,实际的PCB设计通常不像他们所从事的电路设计那样轻松。在设计最终能够正常工作、有人对性能作出肯定之前,PCB设计师都面临着许多新的挑战。这正是目前高速PCB设计的现状--设计规则和设计指南不断发展,如果幸运的话,它们会形成一个成功的解决方案。

绝大多数PCB是精通PCB器件的工作原理和相互影响以及构成电路板输入和输出的各种数据传输标准的原理图设计师与可能知道一点甚至可能一点也不知道将小小的原理图连线转换成印刷电路铜线后将会发生什么的专业版图设计师相互合作的成果。通常,对最终电路板的成败负责的是原理图设计师。但是,原理图设计师对优秀的版图技术懂得越多,避免出现重大问题的机会就越多。

如果设计中含有高密度的FPGA,很可能会有许多挑战摆放在精心设计的原理图前面。包括数以百计的输入和输出口数量,超过500MHz(某些设计中可能更高)的工作频率,以及小至半毫米的焊球间距等,这些都将导致设计单元之间产生不应有的相互影响。

<strong>并发开关噪声</strong>