赛灵思中国通讯-第51期

Page 1




赛灵思扩大领先一代优势,昂首迈向 UltraScale 新纪元

年快乐!随着步入 2014 年,我对赛灵思的发展前景深感欣慰。我相信,新的 一年将会成为赛灵思公司和我们的客户标志性的丰收年。过去 6 年来,我有 幸见证了在 CEO Moshe Gavrielov 的领导下赛灵思所开展的卓有成效的工作以

及所取得的重大成就。在此期间,赛灵思推出了三代产品并且开发了业界最佳的全新设 计工具套件。更重要的是,赛灵思通过在几年前推出 7 系列 All Programmable 器件,以 及在 2013 年 12 月率先推出 20nm 器件,逐渐从 FPGA 技术领导者成长成为半导体和系 统创新领域的领导者。 我认为,7 系列产品标志着赛灵思重大突破性发展的开端。公司不仅在 28nm 工艺 节点上推出市场中最出色的 FPGA 产品,而且还在 3D IC 和 ZynqSoC 这两款全新类型 的产品上实现了重要创新。 与此同时,我们的工具产品部开发了全新的 Vivado® 设计套件和 UltraFast ™设计方 法,旨在帮助客户加速创新产品的上市进程。7 系列产品的所有这些进步本身都是极其 难能可贵的,而更加令人振奋的是,这些创新不仅为赛灵思的未来发展奠定了坚实的基 础,同时也为我们的客户积极推进创新铺平了道路。过去几个季度以来,我们的成功日 益明显、毋庸置疑,同时已经得到外界的普遍认可,这一点着实令人感到欣慰。赛灵思 的 7 系列产品目前占据了 28nmFPGA 市场 70% 以上的份额,这一数据充分彰显了赛灵 思领先一代技术实力的强大地位。 我当记者时曾多次经历赛灵思和其同类竞争对手之间你追我赶的局面。此前,大 家对各自的技术各执一词,纷纷力图证明自己是最棒的,结果到头来这些争执变成了噪 声,谁都没办法胜出,就好像听两个小孩吵架一样无法分辨对错。 当然我现在倾向于赛灵思,因为我在这里工作。如果说 2013 年您还没有明显感受 到赛灵思的发展势头和领先一代的实力的话,那么我预计,2014 年您一定会有所感受。 如果看一下赛灵思过去两代产品实现的数据和率先推出市场的产品,您会明显发现赛灵 思绝不满足于现状,也绝不会坐等竞争对手的赶超。您将在本期封面报道中了解到,去 年年底赛灵思领先于同类竞争对手向客户推出业界首款 20nmFPGA(竞争对手还没推 出 20nm 的产品),而且宣布发布了面向 20nmKintex® 和 Virtex®UltraScale ™器件的产品 系列。UltraScale 解决方案包含 Virtex FPGA,其容量比同类竞争对手的最大型产品高 4 倍,继续彰显了赛灵思不容置疑的器件密度领先地位。 全新 UltraScale 系列是 ASIC 级产品,可为客户带来难以置信的价值。客户今天开 发的创新技术将能够塑造未来,其不仅仅是今后一两年的未来,更涉及了将定义电子产 业长远未来的产品。尤其令人振奋的是,这些推出的产品仅仅是赛灵思 UltraScale 时代 的开始。

Mike Santarini 发行人



目 录

视点 发行人致信

XCELLENCE BY DESIGN APPLICATION FEATURES

Xilinx 扩大领先一代优势,昂首

Profiles in Xcellence

迈向 UltraScale 新纪元 ... 4

Kintex-7 FPGA 接收器可 挖掘空白电视信号频段, 实现全新通信业务 ... 16

封面专题 Xilinx 推出业界首款 20nm All Programmable 器件


2014 年第四季度

THE XILINX XPERIENCE FEATURES Ask FAE-X 采用 Vivado HLS 为视频处理 实现中值滤波器和排序网络 ... 20 手把手课堂:FPGA101 创建最佳测试平台详解 ... 30 手把手课堂:FPGA101 如何将 RTOS 添加到您的 ZynqSoC 设计中 ... 36 手把手课堂:FPGA101 如何为 Xilinx 设计创建创建自定义 XBD 文件 ... 42

XTRA READING 出色的工具 选择合适的转换器:JESD204B 与 LVDS 对比 ... 48 如何将 SMC 生成的带 AXI4-Lite 接口 的外设导入 Xilinx 环境 ... 52 号外,号外 Vivado 2013.3 版本的最新消息 ... 60


封面专题

赛灵思推出业界首款 20nm All Programmable 器件 作者:Mike Santarini 赛灵思公司 《Xcell 杂志》发行人

6

赛灵思中国通讯

2014 第一季度


封面专题

最新产品系列创容量记录,其 中 3D Virtex UltraScale FPGA 包含多达 440 万个逻辑单元

2013 年 11 月 11 日,赛灵思向客户推出业界 首款 20nmAll Programmable FPGA 器件 Kintex® UltraScale™ XCKU040,比竞争对手的 20nm 器 件提前数月上市,凭借这一领先一代的优势,公 司完成了里程碑式的跨越。在随后的 12 月份, 赛灵思又在此基础上推出了完整的 20nm Kintex UltraScale 和 Virtex ® UltraScale 产品组合,后者 包括 Virtex UltraScale VU440。这款采用 3D IC 技 术、含有 440 万个逻辑单元的器件打破了由赛灵 思 28nm Virtex-7 2000T FPGA 器件保持的最大容 量和最多半导体晶体管数世界纪录。 赛灵思公司企业战略与市场营销高级副总裁 Steve Glaser 表示 : “我们正在开展 20nm 业务并 推出众多 20nm UltraScale 器件中的首款产品。 凭借 28nm 7 系列 All Programmable 器件的巨大 成功,我们已建立了稳固的市场领先地位,而此 次 20nm UltraScale 的推出则进一步扩大了这一 领先优势。目前,我们不仅领先竞争对手数月推 出了业界首款采用台积公司 20SoC 工艺的 20nm 器件,而且我们的器件采用的是业界最先进的芯 片架构以及 ASIC 增强型设计套件与方法。” 20nm Kintex UltraScale 和 Virtex UltraScale 产品组合中的所有器件都具备 ASIC 级的性能与 功能,而且与取得巨大成功的赛灵思 7 系列产 品组合中的对应产品相比具有更低的功耗和更 高的容量(图 1)。目前,28nm 7 系列器件占可 编程逻辑器件行业超过 70% 市场份额。此外, 赛灵思还进一步优化了 UltraScale 器件架构,并 2014 第一季度

赛灵思中国通讯

7


封面专题

逻辑单元 (LC) Block RAM (BRAM; Mb) DSP48 DSP 峰值性能 (GMAC) 收发器数量 收发器峰值线速 (Gbps) 收发器峰值带宽 (Gbps) PCI Express Block 100G 以太网 Block 150G Interlaken Block 存储器接口性能 (Mbps) I/O 引脚

图 1 – 20nm Kintex 和 Virtex UltraScale FPGA 具有众多业界领先特性,进一步完善了 Kintex 和 Virtex 7 系列器件(已列出最大数量)。

对 Vivado® 设计套件进行多项 ASIC 级

逻辑与 DSP 功能明显强于 Kintex-7。

创新产品的 20nm UltraScale 器件,而

改善。去年十月份,公司推出了名为

这是因为目前绝大多数需要高信号处

且还将与竞争对手同期推出 UltraScale

UltraFast Design Methodology 的最新设

理带宽的应用都倾向于要求 Kintex 级

FinFET 器件。我们将利用这些器件,

计方法(《赛灵思中国通讯》第 50 期

的价位和密度。如果客户的应用无需

以及 Vivado 设计套件和 UltraFast 方法

的封面专题对其进行了详细介绍)。继

更高的密度或更强大的 DSP 功能,那

的 ASIC 级优势建立起我们领先一代的

20nm UltraScale 产品组合之后赛灵思

么 Kintex-7 仍是一种非常可行的设计

优势。”

将推出 16nm FinFET UltraScale 器件,

工具。”

并称之为“多节点战略”(图 2)。

Saban 指出,这些进步都建立在坚

Saban 说,多节点方案给赛灵思

实的制造技术基础之上。他说 : “可以

赛灵思公司产品线市场营销经

广泛的客户群带来了业界最强大的 All

自信地说我们拥有业界最强大的代工

理 Kirk Saban 说 : “现在我们置身于

Programmable 器件选择,同时 Vivado

合作伙伴 —— 台积公司 (TSMC)。该

多节点世界,客户设计产品时所使

设计套件和 UltraFast 方法可实现无可

公司在产品交付与可靠性方面取得了

用的器件可能来自 7 系列,也可能

匹敌的高生产力。

令人信服的成绩。产品代工是台积公

来自 UltraScale 20nm 或即将推出的

Saban 说 : “业界有一种错误的

司的主营业务,为大多数半导体行业

UltraScale 16nm FinFET 系列,这主

观念,认为只需等竞争对手英特尔完

的公司加工产品。此外,台积公司前

要取决于哪种产品最能满足他们的系

成他们的 14nm FinFET 硅设计工艺并

CTO,现任顾问 Chenming Hu 先生是

统需求。例如,如果将 20nm Kintex

构建出新一代器件后,赛灵思就会被

FinFET 工艺的真正先驱者,同时他们

UltraScale 器件与 Kintex-7 器件进行比

竞争对手超越。我们当然不会坐以待

对于新一代工艺 FinFET 的开发工作给

较,我们会发现 Kintex UltraScale 中的

毙。我们已开始推出能帮助客户打造

我们留下了非常深刻的印象。”

8

赛灵思中国通讯

2014 第一季度


封面专题

KINTEX 与 VIRTEX ULTRASCALE 晶体管数 每种硅工艺节点都会为半导体行

Saban 说 : “如果仔细观察我们的

Kintex UltraScale 系列中速度级最低的

DSP 创新技术,就会发现我们已经采

器件也具备 12.5Gbps 出色的收发器性

用更宽输入乘法器,其可帮助我们在

能,这对于无线应用来说尤为重要。

业提出一系列新的制造与设计挑战,

每个功能上使用更少的模块并为任何

20nm 节点也不例外。这种结构在布

同时,赛灵思还在其 Virtex UltraScale

类型的 DSP 应用提供更高的精度。我

产品中提供具有 28Gbps 背板操作功能

们还在 DSP48 内部为无线通信客户额

以及 33Gbps 芯片至芯片和芯片至光学

外增加了一些 FEC、ECC 和 CRC 方面

器件接口性能的收发器。

线延迟、时钟歪斜和 CLB 封装方面 带来新挑战。然而,赛灵思能够在 Kintex UltraScale 和 Virtex UltraScale

Saban 说 : “我们已在 UltraScale

的新特性。”

器件中克服这些难题,并大大提高整

在 Block RAM 方面,赛灵思加强

中加入了一些重要的集成 IP 硬核模

体性能和利用率。(请查阅侧边栏“使

了数据级联输出,并利用一些全新的

FPGA 达到 ASIC 级特性的正确途径

块。我们将 100Gbps 以太网 MAC 作

创新型增强功能在改善功耗的同时提

为 I P 硬 核 添 加 到 Vi r t e x 和 K i n t e x

是什么?”)

高 BRAM 性能。

UltraScale 系列器件中。此外,还在

这种错综复杂的节点也使赛灵思

赛灵思在 20nm Kintex 和 Virtex

两个 UltraScale 产品系列中加入了工

能够对架构进行多项模块级改进,并

UltraScale 产品组合中提供两种不同收

作性能高达 Gen3x8 的硬化 150Gbps

发器。中 / 高速度级 Kintex UltraScale

Interlaken 接口和硬化 PCI Express ®

器件将支持 16.3Gbps 背板运行。即使

Gen3 模块。”

与 Vivado 工具套件实现协同优化,以 提供 最高带宽和最大信号处理能力。

过去 仅支持 FPGA 的单一节点

未来 多节点,同时支持 FPGA、SoC 和 3D IC 器件

28nm:寿命长,单位功耗最高性价比和 SoC 集成度 开启商用!

20nm:完善 28nm 工艺,打造新型高性能架构 16nm:采用 FinFET、多重处理和存储器,进一步完善 20nm 工艺

图 2 – 赛灵思的领先一代战略侧重于多节点产品开发,采用最适合客户需求的 节点同步推出了多条 FPGA、SoC 和 3D IC 产品线。

2014 第一季度

赛灵思中国通讯

9


封面专题

使 FPGA 达到 ASIC 级特性的正 确途径是什么?

作者:Steve Leibson 赛灵思公司 Xcell 每日博客编辑

久前发生在 ASIC 上的问题现又在 FPGA 上

CLB 已经过重新设计,这样 Vivado® 设计套件就能更高效

重演。到底是什么问题?那就是布线延迟

地将逻辑排列到 CLB 中。逻辑模块设计使排列变得更加

对于设计性能的主导作用。多年以来,登纳

紧密,因此 CLB 间的布线资源需求量就会变得更少。布

德缩放比例定律(Dennard scaling)增加了

线路径也变得更短。UltraScale 架构中 CLB 的变化包括 :

晶体管速度,同时摩尔定律的扩展增加了每平方毫米的晶

为 CLB 中的每个触发器增加专用输入与输出(这样触发

体管密度。糟糕的是对于互联来说其效果正好相反。电线

器就能单独使用从而实现更高利用率);添加更多触发器

因摩尔定律扩展而变得更细更扁,但速度却变得更慢。最

时钟使能 ;为 CLB 的移位寄存器和分布式 RAM 组件添

终,晶体管延迟降低到无足轻重的程度,而布线延迟却成

加独立时钟。从概念上讲,改进后的 CLB 使用和排列情

为主导。随着 FPGA 密度的增加以及赛灵思 UltraScale ™

况如图 1 中的框图所示。

All Programmable 器件进军 ASIC 级设计领域,相同的问

该实例显示,之前采用 16 个 CLB 的电路模块现在用

题又出现了。UltraScale 器件经过重新设计后能够克服这

9 个改进后的 UltraScale CLB 即可实现。图中蓝色小方块

种问题,但解决方案却并不方便简单。以下来介绍一下解

和三角形的分布情况表明 CLB 的利用率已提高,红线的

决方案的各个步骤。

减少说明对布线数量的需求也在降低。

步骤 1:压缩模块,以使信号无需传送太远。 听起来很明确是不是?必要性是新发明的原动力,是时候

步骤 2:添加更多布线资源。 这种情况下的收效会快速递减,除非采取措施解决该问

在 UltraScale 密度方面采取行动了。UltraScale 架构中的

题。对于 UltraScale 架构来说,解决方案涉及添加更多的

图 1 –UltraScale 架构中的 CLB 利用率有所提高,而布线需求则在降低。

10

赛灵思中国通讯

2014 第一季度


封面专题

本地布线资源,从而使可布线性能够随 CLB 密度的增加 更快速地提高。图 2 显示了该结果。 但是,仅仅增加硬件布线资源是不够的。您还必须 加强设计工具的布局布线算法,以便其能够利用这些新资 源。赛灵思 Vivado 设计套件已相应地进行了升级。 步骤 3:处理不断增加的时钟歪斜。 您可能不知道,过去的 FPGA 时钟分配过于简单了。早 期几代的 FPGA 依靠一个由 IC 几何中心成扇形散开的中 央时钟分配中枢为所有片上逻辑提供时钟。这种全局时 钟方案在诸如 Virtex UltraScale 和 Kintex UltraScale All Programmable 器件系列的 ASIC 级 FPGA 中行不通。不断 提高的 CLB 密度和持续增加的时钟速率不允许这样做。 因此,UltraScale 器件采用了一种经过彻底改进的时钟方 案,如图 3 所示。 UltraScale 架构的时钟分配网络包含一个区域化的分 段时钟基础架构(segmented clocking infrastructure),该

图 3 – 全新的时钟方案可将多个时钟分配节点放置在 众多片上时钟域的几何中心。

结构可将多个时钟分配节点放在众多片上时钟域的几何 中心。再由独立的时钟分配节点驱动从适当大小的基础 架构分段(infrastructure segment)中构建的独立时钟树。 这种方案至少有三个主要优势 : 1. 时钟歪斜快速减小 ; 2. 可用的时钟资源显著增多 ; 3. 时序收敛立刻变得更加简单。 然而,这样不足以改善时钟基础架构,除非设计工 具也能支持新的时钟方案。为此,Vivado 设计套件相应 地进行了升级,因为该套件针对的是步骤 2 中讨论的改 良型 CLB 间布线。 赛灵思必须针对以上三大步骤的每个步骤进行硬件 架构和设计工具方面的重大更改。这就是赛灵思所指的 可对 UltraScale 架构和 Vivado 设计套件进行协同优化。 这需要做出很大的努力,并且也绝对是实现 ASIC 级 All 图 2 – 蓝色曲线表示因晶体管密度的增加,CLB 呈指数型增长。红色直线 表示在使用前一代布线资源时,CLB 间的互联呈现较慢的线性增长。可 以注意到红色直线正迅速偏离蓝色曲线。红色曲线表明在 UltraScale 架构 中使用的增强型本地 CLB 间互联方案可实现更高的可布线性。

Programmable 器件组合必须要做的工作。 如欲了解更多相关信息,敬请查阅白皮书“用于高 性能 Smarter 系统的赛灵思 UltraScale 架构”(http://china. xilinx.com/support/documentation/ white_papers/wp434ultrascale-smarter-systems.pdf).

2014 第一季度

赛灵思中国通讯

11


封面专题

UltraScale 系列均支持 DDR4 内

现了重大性能增强,从而提高了多晶

Virtex-7 2000T 实现了晶体管数量和

存。该内存的数据速率比 7 系列器件

片(multidice)技术的芯片间带宽。

FPGA 逻辑单元容量世界纪录。凭借

中的高出 40%,同时还可使存储器接

Saban 表示 : “SSI 技术可使多晶片作

Virtex UltraScale XCVU440,赛灵思推

口的总体功耗降低 20%。

为一个整体在超大器件中工作,从而

出了一款用于编程且具有 440 万编程

实现单片器件。”

逻辑单元(相当于 5000 万 ASIC 门)

Saban 指出,在安全方面,赛灵思 添加了多项特性以提供更大的键值保

赛灵思利用 SSI 技术又一次打破

的 20nm 器件,打破了自己保持的纪

护能力,并实现更加详细和复杂的认

了自己保持的最大容量 FPGA 和最高

录。此外,该器件还是迄今为止世界

证方案。他补充道,Vivado 工具套件

IC 晶体管数量世界纪录。

上密度最高的 IC,包含超过 200 亿个

可支持所有这些最新增强功能。 S a b a n 提 到 Vi r t e x 和 K i n t e x

晶体管。

UltraScale 器件也享有相同的架构性

创世界记录的容量 20nm UltraScale 系列中的一

能。他说 : “Kintex UltraScale 单就密

颗 闪 亮 明 星 当 属 Vi r t e x U l t r a S c a l e

度(而非性能)方面而言其实是一款

XCVU440。该器件是赛灵思利用其屡

中型 FPGA。”

获殊荣的 3D 堆叠硅片互联技术实现

Saban 表示 : “我们预计具有该容 量等级的器件将成为 ASIC、ASSP 以 及系统仿真和原型设计的理想选择。” 一些厂商专门开发用于 ASIC 原型设计 的大规模商用板,但更多的公司则构

最后同样重要的一点是,20nm

的。该技术将多个芯片并列插在硅中

UltraScale 建立在赛灵思大获成功的

介层上,使每个芯片都连接在一起。

3D IC 技术基础之上,该技术在 7 系列

这种方法使赛灵思能够在 28nm 节点

产品中已率先使用。赛灵思利用公司

上提供“大于摩尔定律”的容量,

的 FPGA。凭借 Virtex-7 2000T 器件,

的第二代堆叠硅片互联(SSI)技术实

并利用具有 1,954,560 个逻辑单元的

赛灵思无疑是 28nm 节点领域的领先

建自己的原型设计系统。他们中的绝 大多数都在为其原型设计寻找最高容量

400G OTN 交换机

4X4 混合模式无线电

400G 转发器

100G 流量管理 NIC

400G MAC-to-Interlaken 桥接器

超高视觉处理

2x100G 复用转发器

256 通道超声

ASIC 原型设计

48 通道 T/R 雷达处理

图 3 – 赛灵思 UltraScale 器件是新一代 Smarter 系统创新的理想选择。

12

赛灵思中国通讯

2014 第一季度


封面专题

者。Saban 说 : “我可以告诉您,我们 的原型设计客户对于 Virtex UltraScale XCVU440 的性能真是再满意不过了。 ULTRASCALE 可 实 现 带 CFP4 的 400G 网络 Saban 表示,赛灵思尽心规划的 20nm UltraScale 产品组合为其整个用 户群提供了新一代功能,使他们能够 开发出新一代 Smarter 系统(图 3)。 20nm Kintex 和 Virtex 产品线的特性集 尤其适合网络、数据中心和无线通信

ULTRASALE 可实现无线通信 在无线通信设备领域,厂商正在 可支持 400G 系统所需的海量数据流。” 宽。新一代布线和 ASIC 式的时钟功能 此 外 , S a b a n 还 谈 到 , Vi r t e x

同步推出 LTE 和 LTE Advanced 设备,

UltraScale 也可支持分数 PLL,能减少

与此同时他们已着手开发更具前瞻性

设计所需的外部压控振荡器的数量。

的项目。新系统势必将以更加精密的

Saban 说 : “在 UltraScale 中,我们可

架构浮出水面,用以实现多重发送、

使用一个 VCXO 并在内部生成所需的

多重接收和波束形成功能。

任何其它频率。这样,您就可以通过

S a b a n 表 示 , 位 于 LT E 和 LT E

系统集成降低 BOM 成本和功耗 ——

Advanced 系统核心的最新一代波束

而且这仅仅是线卡自身带来的成效,

形成设备普遍采用的架构都使用两个

还不包括 CFP4 光学器件所带来的成本

Virtex-7 X690T FPGA,客户之所以

削减和功耗降低。”

这样选择是因为它们同时具备充足的

领域中的关键应用。 如今,网络领域正在经历 100G 应

DSP 和 BRAM 资源。Saban 说,赛灵 思现在可凭借 Kintex UltraScale 产品提

经开始采用 100G 技术,同时该技术正

ULTRASCALE 可实现成本和功耗更低 的 NIC 随着当前云计算应用的快速发

快速成为主流,并扩展至可将设备连

展,IT 部门需要为其数据中心选用更

接到 100G 网络的外设市场。与此同

他指出 : “Kintex UltraScale 系列中

加精密、功耗和成本更低的计算资源。 赛灵思 Virtex-7 XT 器件包含集成式 x8

端器件的 DSP 模块数量增加了 40%。

时,领先的网络客户已经着手新一代 400G 和 Tb 级设备的开发工作。最新

Gen3 模块,已成为大部分高级数据中

累加器反馈路径,这样就能获得更出色

的 UltraScale 器件非常适合为那些开发

心架构核心网络接口卡的核心组件。

的 DSP48 效率、方程式叠合以及更高

用的大发展。Saban 表示,前沿系统已

100G 解决方案的客户以及那些向更先 进 400G 技术转移的客户提供帮助。

对于网络接口卡(NIC)而言, PCI Express 侧的吞吐量(出口)必须

赛灵思的第一代 SSI 技术使公司

与以太网侧的吞吐量(入口)保持一

能够交付屡获殊荣的 Virtex-7 H580T 器

致。Saban 表示 : “对于 100G NIC 而

件。客户可利用该产品为采用 CFP2 光

言,需要多个 PCIe® Gen3 集成模块。

学模块的网络创建片上 2x100G 转发器

在上一代产品中,Virtex-7 XT 器件是

(参阅《中国通讯》第 80 期的封面专

唯一具有集成式 x8 Gen3 模块并满足

题)。现在,赛灵思正凭借第二代 SSI

这些要求的产品。”

供完成相同工作所需成本更低的独立 器件。

此外,它还包含预加法器平方及其它

效的计算。这意味着可利用 UltraScale 将双芯片的 Virtex 应用简化为可实现 48 通道处理的单个 Kintex KU115 应 用。”Kintex UltraScale KU115 具有 5,520 个 DSP 模块和 2,160 个 BRAM, Saban 对其评价甚高 : “业界最高信号 处理性能,且大大强于 GPU。” 此 外 , 赛 灵 思 的 Vi v a d o 设 计 套

技术协助客户推出单 FPGA 转发器线

随着 UltraScale 产品的推出,我

件还具备同类最佳的高层次综合工具

卡和 CFP4 光学模块,并取得更出色的

们现在可利用成本更低、功耗更低的 Kintex UltraScale FPGA 满足相同的性

Vivado HLS。赛灵思对该工具进行了

成绩。

协同优化,以帮助用户高效地为波束

Saban 指出 : “对于希望迁移到

能要求。Kintex UltraScale 具备多个

形成和其它数学运算量大的应用实现

CFP4 模块并将 400G 设计放到单个

PCI Express Gen3 集成模块以及一个集

复杂算法。

FPGA 器件的设计师来说,出于诸多

成式 100G 以太网 MAC(在 7 系列中

原因而需要使用 UltraScale 器件。首

是软 IP 核)。

先,该器件具有非常多的 32G 收发

Saban 指出 : “利用 UltraScale

器,可用于通过新一代芯片至芯片接口

Kintex 实现 NIC 不仅能在中端器件中

(CAUI4)连接到 CFP4 光学器件。同

实现该应用,而且还能为更多差分的

样重要的是,该器件能支持 400G 的带

2014 第一季度

如欲了解有关赛灵思的 20nm UltraScale 产品组合的更多详情,敬请 访问 :http://china.xilinx.com/products/ technology/ul- trascale.html。

包处理功能释放逻辑资源。”

赛灵思中国通讯

13


精彩应用

Kintex-7 FPGA 接 收器可挖掘空白 电视信号频段,实 现全新通信业务 作者:Mike Santarini 赛灵思公司 《赛灵思中国通讯》发行人

Adaptrum 率 先 针 对 利 用 开 放式频谱的业务向市场推出 完整传输系统。该产品采用 了 赛 灵 思 All Programmable FPGA 器件。

14

赛灵思中国通讯

2014 第一季度


精彩应用

邦通信委员会 (FCC) 在 2009 年制定了模拟电

视向数字电视强制转换的规定,这对于大多 数人来说并不重要,但对于通信服务提供商

来说却标志着巨大的业务增长机遇。转换规定出台后不 久,FCC 向通信公司、应急服务及其它实体组织拍卖了 模拟电视广播频谱中数字广播不需要的部分。但拍卖完 后,最初为超高频电视频道 UHF TV 20 及以上而设计的 300MHz 无线电频谱(范围是 400 至 700 MHz)仍有空 余,如今这部分频段也只是稀疏地被数字广播商所使用。 当认识到这部分主要频段并没得到充分利用后, FCC 几年前开始与包括谷歌、微软 Xbox 团队、三星、 戴尔、英特尔和飞利浦在内的几家技术巨头合作,以寻 找出可行的方法能够让通信公司与电视广播公司共享 400MHz 至 700MHz 之间的频谱。其构想是让他们在称 为“空白电视信号频段”或已用广播频道之间的未使用 频道中(见图 1)提供新的移动业务。谷歌和微软等公 司希望利用该空白电视信号频段(世界各国类似的空白 电视信号频段)并通过相当于信号稳定性加强版的更长 距离 Wi-Fi 提供一种全新的通信业务。而第一家推出可 实现这项新业务的完整商用接收器和传输系统的设备厂 商是赛灵思的客户 —— 位于美国加利福尼亚州圣何塞 市的 Adaptrum 公司。 Adaptrum 的创始人兼首席执行官 Haiyun Tang 说 : “空白电视信号频段是一个全新市场。这与美国西部拓 荒很相似 —— 空白电视信号频段中开放式频谱的利用 空间正在增大,而且标准仍在不断演进。” 尽管该市场的出现相对比较晚,但 Adaptrum 仍 能快速发现其中的机遇,而且开发空白电视信号频段 通信设备已有数年时间。Tang 拥有加州大学伯克利分 校的无线通信博士学位,在其职业生涯中致力于认知 无线电技术的开发工作。他与伯克利分校的退休教授 Bob Brodersen 在 2005 年成立 Adaptrum 公司,最初得 到了 Air Force SBIR 计划的拨款支持。自此,该公司 取得了令人瞩目的发展,并赢得了后续的创业融资。 2008 年,Adaptrum 开始协助 FCC 制定空白电视信号 频段规则,并确立了与谷歌、微软及其它公司的合作 关系。2012 年 4 月,Adaptrum 开发出经 FCC 认证可 与 FCC 核准的 Telcordia 数据库配合使用的空白电视信 号频段设备,成为首个可生产此类设备的厂商之一。目 前,该公司正将此项技术从概念验证阶段转向商业化阶

2014 第一季度

赛灵思中国通讯

15


精彩应用

图 1 – 在美国,空白电视信号频段基本上只存在于 400k 至 700k 的频谱范围内,如上图蓝色区域所示。 ( http://www.ntia.doc.gov/files/ntia/publications/spectrum_wall_chart_aug2011.pdf)

段。2013 年 11 月,FCC 为 Adaptrum

备具有最高五英里的传输距离。”因

和夜店中使用的无线麦克风,或者使

的 ACRS 空白电视信号频段解决方案

此,Tang 补充道,“凭借采用 400MHz

用无线电波的 MRI 产品等医疗设备。

授予谷歌空白电视信号频段数据库证

至 700MHz 频谱的电视空白电视信号

Tang 说 : “广播的通道数和每个通道所

书。该系统的最新型号是以赛灵思的

频段设备,您尽管只能获得 20Mb 的

用的频率每天都会发生变化,并因不

数据速率,但此速率可保持几英里不

同区域而发生变化。此外,不同公司

变,而非几英尺。”

针对空白电视信号频段设备使用的频

®

Kintex- 7 FPGA 为基础构建的。 ACRS 包含一个饭盒大小的基本 单元,可安装在电线杆、建筑物侧

Tang 认为在有 Wi-Fi 和移动服务

面、山上以及类似位置上的传统基站

的地区,服务提供商可将这种新技术

集群上 ;ACRS 还包括一个大小接近

作为确保连接性的补充服务。但在农

Ta n g 说 , 为 了 应 对 这 些 挑 战 ,

桌面路由器或调制解调器的住宅接收

村地区和不发达国家,空白电视信号

空白电视信号频段设备厂商正在开发

器,用户可将此接收器安置在家中(见

频段方案则可以成为主要的数据服务

的系统普遍采用以下两种方案中的一

图 2)。该系统使服务商能够以 6MHz

方式,特别是在出于经济性考虑不适

种。第一种被称为数据库方案。提供

的频率提供 20Mb 的传输速率(3 比特

合安装有线网络或卫星宽带的地区更

商每天从 FCCS 收集电视传输数据(适

/ 赫兹)的连接服务,虽没有 Wi-Fi 速

是如此。

用美国传输)并利用一种传播模型来

度快,但传输距离要长得多。

谱也不同,因此设备必须灵活且极易 操作。”

确定每个发射塔的覆盖范围。覆盖范

务的原因之一是其具有很好的传播特

合规性与性能 围以外的部分是空白电视信号频段通 为 了 建 立 可 行 的 商 用 解 决 方 案 , 信设备可以公平使用的频谱。 Adaptrum 必须解决一些与使用空白电 第二种被称为感测技术,是一

性。电视信号能穿过树木、墙壁甚至

视信号频段有关的复杂技术挑战,空

种对可用通道进行即时自主感测的方

高山。传统的 Wi-Fi 移动服务很难穿

白电视信号频段既要满足法规要求又

案。在该方案中,空白电视信号频段

过树木、墙壁及其它常见障碍物。

要确保在消费者期望的成本水平上实

设备不断感测哪些通道正在使用,哪

如果您紧挨着 Wi-Fi 发送器,可获得

现高性能。Adaptrum 首先需要确保系

些未使用,以确定哪些通道可用于通

300Mb 的数据速率,但如果远离发

统中将用于发送和接收信号的带宽绝

信任务。Tang 说,然而,目前只有数

送器并且中间隔上几道墙,数据速率

对不能干扰授权数字广播。另一个复

据库方案经过了 FCC 的批准和认证。

就会显著降至数 Mb 或者根本无法连

杂问题在于 400 至 700MHz 频谱中未

接。400MHz 至 700MHz 频谱则要稳

用于广播的其它部分可能随机地已被

为 FCC 还没有对基于感测的空白电视

健得多。它的传播特性可使我们的设

其它设备占用,例如体育赛事、教堂

信号频段设备进行完全测试,也未证

Tang 说 : “上世纪五十年代广播 商选择此部分无线电频谱提供广播服

16

赛灵思中国通讯

他说 : “到目前为止这是默认方案,因

2014 第一季度


精彩应用

明感测方案 100% 可靠。”

说: “该标准旨在提供比传统 Wi-Fi 范

赛灵思 7 系列 FPGA。Tang 说 : “我们

Adaptrum 的系统采用的是数据

围更大的连接功能。其宣传的传输距

在收发器解决方案中使用 Kintex-7 All

库方案。每天早上,每台基站都要从

离至少为 10 英里,最大数据速率为每

Programmable FPGA 的原因在于它具有

FCC(针对美国市场)下载最新的数

6 MHz 传输 20Mb(3 比特 / 赫兹)。” 很高的灵活性。该器件能根据设计规范

据库 ,确认本地基站当天使用哪部分

与此同时,竞争标准 IEEE 802.11AF

的变化而改变,并随标准的确定可进一

带宽进行广播。

正希望将空白电视信号频段用于更加

步调整,这对我们来说很宝贵。”

FCC 只将屈指可数的几家公司授

传统的 Wi-Fi 操作。Tang 说 : “到目前

Tang 说,Kintex-7 FPGA 的灵活

权为数据库服务提供商,包括 Telcordia

为止时日还尚早,没人能确定市场将

性有助于将系统销售给服务提供商,

(Ericsson)、Spectrum Bridge 以及最近

采用哪种标准。但由于该领域提供的

因为该器件具有最大的可编程性。这

授权的谷歌。其中谷歌公司似乎要将电

范围以及在城市地区以外还有更广泛

是因为 FPGA 即便在服务提供商将空

视空白电视信号频段作为突破口,以使

的可用频谱这一事实,使得该频段具

白电视信号频段通信业务销售给客户

其服务能在全球得到更广泛的应用 ( 敬

有很大的可用空间。”

后也能重新编程和更新。这种现场更

请查阅 http://www.google.org/spectrum/

由于目前正在发展服务提供商且

新能力意味着运营商可以随时添加增

标准也仍在制定中,因此当前只有少量

强功能和特性。这样,他们就有机会

此外,还有一些新出现的竞争标

公司(大部分处于创业期)在开发空

向客户销售高价值计划或者向原有计

准也在极力定义空白电视信号频段的

白电视信号频段设备(发送器和接收

划中添加更多的服务,因此,与固定

最佳使用方式。例如,IEEE 802.22 正

器),但 Adaptrum 似乎已领先其它公

硬件解决方案相比,该平台可实现更

尝试定义局部区域网络的标准。Tang

司一步。原因之一就是该公司采用了

多的价值。

whitespace/channel/ )。

图 2 –ACRS 2.0 采用针对室外环境进行了密封和加强的铝外壳结构。 可安装在电线杆或墙壁上,并通过以太网供电。

2014 第一季度

赛灵思中国通讯

17


A S K FA E - X

采用 Vivado HLS 为视频 处理实现中值滤波器和 排序网络 作者:Daniele Bagni DSP 专家 赛灵思公司 daniele.bagni@xilinx.com

18

赛灵思中国通讯

2014 第一季度


ASK FAE-X

Vivado 的高层次综合 功能将帮助您为嵌入 式视频应用设计更好 的排序网络。

汽车到安全系统再到手持设备,如今采用嵌 入式视频功能的应用越来越多。每一代新产 品都需要更多的功能和更好的图像质量。但

是,对于一些设计团队来说,实现高质量的图像并非 易事。 作为赛灵思的一名 DSP 设计现场应用工程师, 我经常被问到有关 IP 和高效视频滤波实现方法这方 面的问题。我发现利用最新 Vivado ® 设计套件的高层 次综合 (HLS) 功能,很容易在任何赛灵思 7 系列 All Programmable 器件中实现基于排序网络的高效中值滤 波方法。 在详细探讨该方法之前,我们先来回顾一下设计 人员在图像完整性方面所面临的一些挑战以及解决这 些问题常用的滤波技术。 数字图像噪声大多出现在系统获取或传输图像的过 程中。例如,扫描仪或数码相机的传感器和电路可以产 生几种类型的不规则噪声。通信通道中的随机比特错误 或模数转换器错误会导致特别麻烦的“脉冲噪声”。这 种噪声经常被称为胡椒盐 (salt-and-pepper) 噪声,因为它 以随机白点或黑点的形式出现在显示器的图像表面,严 重降低了图像质量(图 1)。 为降低图像噪声,视频工程师通常会在设计中应 用空间滤波器。这些滤波器利用噪声点周围像素的优 质特性或数值对图像中渲染较差的像素进行替换或加 强。空间滤波器主要分为线性和非线性两种。最常用 的线性滤波器被称为均值滤波器。它用邻近像素的均 值替换每个像素值。这样,渲染较差的像素就可根据 图像中其它像素点的平均值得到改善。均值滤波器能 以低通方式快速去除图像噪声。但是,该方式通常伴 有副作用 —— 使整体图像的边缘变得模糊。 大多数情况下,非线性滤波法比线性均值滤波法 更好。非线性滤波特别善于消除脉冲噪声。最常用的 非线性滤波器是次序统计滤波器。而最受欢迎的非线 性次序统计滤波器是中值滤波器。 中值滤波器广泛用于视频与图像处理,因为此种 滤波器具有出色的降噪能力,而且模糊程度比相同尺 寸的线性平滑滤波器低得多。与均值滤波器类似,中 值滤波器也要依次分析图像中的每个像素,并观察其 邻近的像素以判定该像素是否能代表其周围像素。但 是,中值滤波器并非简单地将像素值用周围像素的平

2014 第一季度

赛灵思中国通讯

19


ASK FAE-X

图 1 – 受脉冲噪声影响的输入图像。仅有 2% 的像素受到破坏,但足以严重降低图像质量。

图 2 – 经 3x3 中值滤波器过滤后的同一图像 ;脉冲噪声已被完全消除。

20

赛灵思中国通讯

2014 第一季度


ASK FAE-X

图 3 – 五个输入样本的排序网络方框图。较大的方块是比较器(有一个时钟周期的延迟),小方块是延迟元

均值进行替换,而是用周围像素值的 中值来替换。由于中值必须是邻近某 个像素的实际值,因此中值滤波器在 跨越边缘时不会创建新的虚拟像素 值(避免了均值滤波器的边界模糊影 响)。因此,中值滤波器在保留锐边方 面比其它任何滤波器做得都要好。这 种滤波器在计算中值时,首先将周围 窗口中的所有像素值按数值大小顺序 进行排序,然后用中间像素值替换待 过滤的像素(如果待计算区域包含偶 数个像素,那么使用中间两个像素的 平均值)。 例如,假设一个 3x3 像素窗口以 值为 229 的像素为中心,该窗口值如下 39 83 225 5 229 204 164 61 57 我们可以对像素进行排序,获得顺序 列表为 5 39 57 61 83 164 204 225 229。 中值就是位于中间的像素值,即 83。在输出图像中用该值替代初始值 229。图 2 表明在图 1 噪声输入图像中 应用 3x3 中值滤波器后的效果。待过 图 4 – 在 C 语言中通过排序网络实现中值滤波器 2014 第一季度

赛灵思中国通讯

21


ASK FAE-X

滤像素周围的窗口越大,滤波效果越

诉人们,可以根据排序网络概念在 C

显著。

语言中运用一种简单而有效的方法来

什么是排序网络? 排序是指将阵列中的元素按照

设计中值滤波器。我们可使用 Vivado

升序或降序的方式重新进行排列的过

中值滤波器具备出色的降噪能

®

力,因此也被广泛应用于扫描速率视

HLS [3] 来获得 Zynq -7000 All Pro-

程。排序是很多嵌入式计算系统中最

频转换系统的内插级,例如为实现隔

grammableSoC 的 FPGA 架构的实时性

重要的操作之一。

行视频信号而将场速率从 50Hz 转换为

能 [4]。

由于排序在众多应用中起到关键

100Hz 的运动补偿内插程序,或者隔行

下面的内容里,我们假设图像格

作用,因此很多科学文献中的大量文

至逐行转换中的边缘定向内插程序。如

式是每像素 8 位,每行 1,920 像素,每

章都对众所周知的排序方法的复杂性

欲了解有关中值滤波器更详尽的介绍,

帧 1,080 行,帧速率为 60Hz,因此最

和速度进行了分析,例如冒泡排序、

有兴趣的读者可以参考 [1] 和 [2]。

小像素速率至少为 124MHz。不过,

希尔排序、归并排序和快速排序。对

在运用中值滤波器时最为关键

为了设置一些设计难度,我将要求

于大数据集来说快速排序是速度最快

的是确定使用哪种排序方法,以获得

Vivado HLS 工具提供 200MHz 的目标

的排序算法 [5],而冒泡排序是最简单

用来生成每个输出像素的像素排序列

时钟频率,如果得到比 124MHz 更大

的。通常,所有这些技术都应该以软

表。排序过程需要大量计算时钟周期。

的频率值效果会更好(由于实际视频

件任务的形式在 RISC CPU 上运行,

目 前 , 赛 灵 思 在 Vi v a d o 设 计 套

信号中还包含空白数据,因此时钟速

而且每次只执行一个对比。它们的工

率比活动像素所要求的速率高)。

作负载不是恒定的,而是取决于有多

件中可提供高层次综合。我通常会告

少输入数据已部分排序。例如,需要 对一套 N 个样本进行排序,假设快 速排序的计算复杂性在最差、一般和 最 好 的 情 况 下 分 别 是 N 2、 N l o g N 和 NlogN。同时,冒泡排序的复杂性分 别是 N 2 、N 2 和 N。不得不承认我还 尚未发现关于此类复杂性数字的统一 观点。但在我读过的有关此问题的所 有文章中似乎都赞同一个观点,那就 是计算某种排序算法的复杂性并不简 单。这本身似乎成为了寻找备选方案 的主要原因。 在进行图像处理时,我们需要在 排序方法上获得确定的行为,以便以 恒定的吞吐量产生输出图片。因此, 上述算法都无法成为采用 Vivado HLS 的 FPGA 设计的理想备选方案。 排序网络可通过使用并列执行实 现更快的运行速度。排序网络的基础 构成模块是比较器。比较器是一种简 单组件,能对 a 和 b 两个数据进行排 序,然后将最大值和最小值分别输出 图 5 – 未将视频线路缓冲器行为考虑在内的初始 Vivado HLS 代码

22

赛灵思中国通讯

2014 第一季度


ASK FAE-X

到顶部和底部输出结果中,必要时还 可进行交换。排序网络对于经典排序 算法的优势在于比较器的数量在给定 输入数量下是固定的。因此,排序网 络在 FPGA 硬件中易于实现。图 3 举 例说明了一个针对五个样本的排序网 络(采用赛灵思 System Generator 生成 [6])。需要注意到的是处理延迟正好 是五个时钟周期,且与输入样本数值 无关。此外还应注意到右侧的五个并 行输出信号包含排序后的数据,其中 最大值在顶部,最小值在底部。 在 C 语言中通过排序网络实现中 值滤波器是很简单的,如图 4 中的代 码所示。Vivado HLS 指令被嵌入到 C 语言代码自身内 (#pragma HLS)。 Vivado HLS 只需要两个优化指令即可 生成最佳 RTL 代码。首先是利用 1 的 图 6 – 初级中值参考滤波器作为有效顶层函数使用时的 Vivado HLS 性能估算 ; 吞吐量与理想值相距甚远。

初始间隔 (II) 将整个函数流水线化,使 输出像素速率等于 FPGA 时钟速率。 第二步优化是将像素窗口重新划分为 单独的寄存器,以便同步并行访问所 有数据,从而提高带宽。 顶层函数 图 5 中的代码段是中值滤波器 的初级实现,我们将其作为参考。最 里面的回路已进行流水线化处理,以 便在任何时钟周期内都能生成一个输 出像素。为了生成延迟估计报告,我 们需要利用 TRIPCOUNT 指令通知 Vivado HLS 编译器有关回路 L1 和 L2 中可能出现的迭代次数,因为它们是 “不受控”的。也就是说,假设该设 计可在运行期间处理低于最大允许分 辨率为 1,920 x 1,080 像素的图像分辨 率,这些环路的极限值就是图片的高 度和宽度,而这两个值在编译期间都 是未知的。

图 7 – 顶层中值滤波器函数的 Vivado HLS 性能估算 ; 帧速率为 86.4Hz,超过我们所需性能。 2014 第一季度

赛灵思中国通讯

23


ASK FAE-X

在 C 语言代码中,待滤波的像素 窗口可访问图像中不同的行。因此, 利用存储器位置来降低存储带宽需求 的优势比较有限。尽管 Vivado HLS 可 对代码进行综合,但吞吐量并未达到 最优值,如图 6 所示。回路 L1_L2 的 初始化间隔(最里面回路 L2 完全展开 的结果,由 HLS 编译器自动执行)为 五个时钟周期,而非一个,因此得到 的输出数据速率无法支持实时性能。 从整个函数的最大延迟中也能明确这 一点。在一个 5 纳秒的目标时钟周期 中,用来计算输出图像的周期数量为 10,368,020,这意味着帧速率为 19.2Hz 而非 60Hz。正如参考文献 [7] 中详细 描述的,Vivado HLS 设计人员必须明 确地将视频线路缓冲器的行为代码写 入用于生成 RTL 的 C 语言模型中,因 为 HLS 工具无法自动将新存储器插到 用户代码中。 全新的顶层函数 C 语言代码如图 8 所示。由于当前的像素坐标(行, 列)显示为 in_pix[r][c],因此需在坐 标 (r-1, c-1) 中的待滤波输出像素周围 创建一个滑动窗口。对于 3x3 大小的 窗口,其结果是 out_pix[r-1][c-1]。需 要注意到的是当窗口尺寸为 5x5 或 7x7 的时候,输出像素坐标分别为 (r-2, c-2) 和 (r-3, c-3)。静态阵列线路 _ 缓冲器 可存储 KMED 视频线路数量等同于中 值滤波器中垂直样本的数量(当前情 况下的数量为 3 个);而且由于静态 C 语言关键字的原因,Vivado HLS 编译 器可自动将内容映射到 FPGA 双端口 Block RAM (BRAM) 元件中。 这样仅需很少的 HLS 指令就可实 现实时性能。需对最里面的回路 L2 进 行流水线化处理,以便在任何时钟周 期内都能生成一个输出像素。输入与 输出图像阵列 in_pix 和 out_pix 被映射 图 8 – 将视频线路缓冲器行为考虑在内的全新顶层 C 代码

24

赛灵思中国通讯

为 RTL 中的 FIFO 流接口。将该线路 _

2014 第一季度


ASK FAE-X

缓冲器阵列划分成多个 KMED 独立阵 列,以便 Vivado HLS 编译器将每个 阵列映射到独立的双端口 BRAM 中。 由于这样会有更多的可用端口,从而 增加了载入 / 存储操作次数(每个双 端口 BRAM 在每个周期内能完成两 次载入或存储操作)。图 7 是 Vivado HLS 性能估算报告。目前,最大延迟 为 2,073,618 个时钟周期。在 5.58ns 的估计时钟周期下,我们可以获得 86.4Hz 的帧速率。这已超越了我们的 需求值!回路 L1_L2 正如我们所希望 的那样得到 II=1。应注意到的是需要 两个 BRAM 以存放 KMED 线路缓冲 存储器。 利用高层次综合进行架构探索 在我看来,Vivado HLS 的最佳特 性之一是能够通过改变工具的优化指令 图 9 – 中值滤波器函数单独在 3x3、5x5 和 7x7 三种窗口尺寸下的 Vivado HLS 性能估算对比

或 C 语言代码本身这样的方式来探索 不同设计架构并对性能进行权衡,从而 实现富有创造性的设计自由度。两种操 作方式都非常简单而且并不耗时。 如果需要更大的中值滤波器窗口 该怎么做?例如需要 5x5 而不是 3x3 的窗口尺寸。我们只需将 KMED 在 C 语言代码中的定义从“3”变为“5”, 并再次运行 Vivado HLS 即可。图 9 是 单独在 3x3、5x5 和 7x7 三种窗口尺寸 情况下对中值滤波器例程进行综合所 得到的 HLS 对比报告。在所有三种情 况下,例程已完全流水线化 (II=1),并 且满足目标时钟周期 ;延迟分别为 9、 25 和 49 个时钟周期,与人们对于排序 网络的预期表现相符。显然,由于待 排序的数据总量从 9 增至 25 甚至达到 49,因此所使用的资源(触发器和查 找表)也相应增加。 由于独立函数已完全流水线化, 因此顶层函数的延迟保持恒定,同时

图 10 –7Z02 器件处理 11 位或 7K325 器件处理 8 位两种 情况下 3x3 顶层函数的 Vivado HLS 对比报告 2014 第一季度

当增大窗口尺寸的时候时钟频率会略 有减小。 赛灵思中国通讯

25


ASK FAE-X

到目前为止我们只讨论了将 Zynq-

灰色图像时的资源使用情况,我们可

5x5) 中值滤波器的情况下,由 Vivado

7000 All Programmable SoC 作为目

通过应用 ap_int C++ 类型来改变 pix_t

HLS 自动生成的 RTL 只在 ZynqSoC 器

标 器 件 的 这 种 情 况 , 但 采 用 Vi v a d o

数据类型的定义,这样就可规定任意

件上占用很小面积(-1 速度级),布

HLS 时我们可在相同项目中轻松尝

位宽的定点数。我们只需通过启动 C

试不同目标器件。例如,如果我们选 用 Kintex ®-7 325T 并对相同的 3x3 中 值滤波器设计进行综合,所用的布

局布线完成后,FPGA 时钟频率为 206 语言预处理符号 GRAY11 就可重新编 (5x5 版本为 188)MHz,有效数据速 译该项目。在这种情况下,ZynqSoC 率为 206(或 188)MSPS。 上的资源使用估算量为四个 BRAM、

局布线资源包括两个 BRAM、一个

一个 DSP48E、1,156 个触发器和 1,407

DSP48E、1,323 个触发器和 705 个

个查找表。图 10 给出了最后两种情况

查找表 (LUT),时钟和数据速率为

的综合估算报告。

403MHz ;而使用 ZynqSoC 器件时,则 需使用两个 BRAM、一个 DSP48E、 751 个触发器和 653 个查找表,时钟和

短短数个工作日

得到这些结果所需的总设计时间 仅为五个工作日。其中大部分时间都 用于构建 MATLAB ® 和 C 模型,而非 运行 Vivado HLS 工具本身 ;后者所需 时间不足两个工作日。

此外,我们还可以看到,对于具 有不同窗口尺寸甚至不同位数 / 像素的

数据速率为 205MHz。 最后,如果我们想查看 3x3 中值

中值滤波器,生成时序和面积估算值

滤波器处理每样本为 11 位(而非 8 位) 到底有多简单。尤其是在使用 3x3 ( 或

Xilinx 投片首款 VirtexUltraScale All Programmable 器件 行业唯一高端 20nm 产品系列即將上市 赛灵思上个月开始投片的

的互联技术和扩展瓶颈。UltraScale

系列拥有业界唯一的 ASIC 级架构,

Virtex UltraScale, 再次领先一代竞争

架构能从 20nm 平面 FET 扩展为

在市场没有直接的竞争对手,只有赛

对手为行业提供了高达 1.5 至 2 倍的

16nm FinFET 技术,并从单芯片电路

灵思能提供新一代智能和高性能系统

性能和集成度

扩展为 3D IC 。

所需的技术。Virtex UltraScale 系列

2014 年 1 月 28 日,中国北京

可提供 1.5 至 2 倍的系统性能和集成

- All Programmable 技术和器件的全

VU095 ,采用台积公司( TSMC) 度,领先竞争对手整整一代,是取代

球领先企业赛灵思公司(Xilinx, Inc.

的 20SoC 工艺,具备 94 万逻辑单元

ASIC、ASSP 和其它 FPGA 设计方案

®

以及六个集成式 150G Interlaken 和四

的最佳选择。”

UltraScale ™器件投片,在 20nm 工

个 100G 以太网内核 —— 相当于额

Vi r t e x U l t r a S c a l e V U 0 9 5 是

艺领域再创另一项行业第一。作

外增加了 83.3 万逻辑单元。该器件

4x100G 转发器和 4x100G MAC-to-

为业界唯一高端 20nm 产品,基于

还配有具备芯片至芯片和芯片至光学

Interlaken 桥接器等各种高端有线通

UltraScale 架构的 Virtex UltraScale 系

接口功能的 32.75 Gb/s 收发器以及全

信基础设施架构应用,以及测试测

列可为多种应用提供前所未有的高性

球首款 all programmable 28Gb/s 背板

量、航空航天与国防、高性能计算等

能、系统集成度和带宽。UltraScale

支持。

应用的理想选择。

(NASDAQ:XLNX))宣布首款 Virtex

26

首款 Virtex UltraScale 器件名为

架构拥有多项 ASIC 技术,从而能为

赛灵思 FPGA 产品管理与市场营

客户带来众多 ASIC 级优势。同时采

销高级总监 Dave Myron 表示 : “采

用最新的布线架构消除了新一代器件

用 20nm 工艺技术的 Virtex UltraScale

赛灵思中国通讯

2014 第一季度


业界首款 All Programmable SoC


手把手课堂:FPGA 101

创建最佳测试平台详解

28

赛灵思中国通讯

2014 第一季度


手把手课堂:FPGA 101

验证 RTL 模块或 FPGA 是否满足要求可能颇具

证 FPGA 或 RTL 模块可能 是一个非常耗时的过程,因 为工程师要极力确保设计

能够按照规范要求并在可能导致模块

挑战。

错误的极端状况下正确运行。工程师

但有些方法可用来优化

通常采用测试平台来达到验证目的, 测试平台是一种为测试设计而创建的

验证流程,以确保验证

文件。然而,测试平台可简可繁。下

成功。

用测试平台,而又不会使其过于繁琐。

面,就让我们来了解一下如何充分利

什么是验证? 验证是指确保被测单元 (UUT) 同 时满足设计要求和设计规范,适合其 作者:Adam P. Taylor e2v 系统首席工程师 aptaylor@theiet.org

预期目的。很多情况下是由独立于设 计团队之外的团队来执行验证工作, 对项目有个全新的认识。这样,设计 UUT 的人并非是断定其能否正确工作 的人。 鉴于现代 FPGA 设计的尺寸之 大、复杂程度之高,要确保 UUT 按 规范运行可能是一项艰巨的任务。因 此,工程设计团队必须在项目初期确 定采用哪种验证策略。选择策略技巧 如下 : 仅功能仿真 —— 该技术检查设计是 否正确运行。 功能仿真和代码覆盖率 —— 该方法 在检查功能正确性的同时,还要检 查设计中所有代码是否都经过测试。 门级仿真 —— 该技术同样验证设计 的功能性。当用来自最终实现的设 计的时序信息进行后端注释时,执 行这种仿真方法会耗费大量的时间。 静态时序分析 —— 该方法对最终设 计进行分析,以确保模块达到时序 性能。 形式等效校验 —— 工程师使用该技 术检查网表与 RTL 文件的等效性。

2014 第一季度

赛灵思中国通讯

29


手把手课堂:FPGA 101

边界条件是指输入中有一个达到极值, 而极端情况是指所有输入均达到极值。 无论使用哪种验证策略,工程设

自检测试平台具有多种优势。首

UUT 模块的内部情况。相比之下,当

计团队都需要制定一个测试计划,规

先,用肉眼验证仿真波形的这种方法非

UUT 为 FPGA 时,由于顶层需要更长

定如何对每个模块和最终 FPGA 进行

常耗时而且极其复杂,而自检测试平台

的验证与仿真时间,您需要使用顶层

验证并满足所有要求。

则能为您省去这种人力成本。此外,自

的黑盒测试法。

检测试平台还能提供综合而全面的通过

为了根据要求验证设计的功能

自检测试平台 为激励 UUT 而创建的测试平台

或是失败报告,您可在后续的设计流程

性,测试平台所应用的激励必须与模

中将其作为测试凭证保存并使用。若

块预期在运行中能看到的激励相同。

既可以是自检式也可以是非自检式。

UUT 需要在后续阶段进行设计迭代,

然而,测试所有可能的输入以证明功

如果您倾向于使用非自检式,那么需

那么返回测试平台并确定测试是否通过

能合规性可能是一个非常耗时的过

要用肉眼观察电脑显示器上的测试结

或失败(该流程通常称为回归测试流

程。因此,工程师会将重点集中在边

果,以确定测试平台能够按预期工

程)所需的时间就会远远少于采用传统

界条件和极端情况上,并测试一些典

作。而自检式测试平台与传统测试平

测试平台所耗费的时间。

型操作值。

台的区别在于,除了施加激励外,还 要依照预期结果对 UUT 的输出进行检

边界条件是指输入中有一个达到 极值,而极端情况是指所有输入均达

查,如图 1 所示。这样就可以明确地

极端条件、边界条件和应力测试 使用测试平台的目的是确保模块

说明

按照功能要求执行,任何极端状况都 UUT 是否通过测试。将该功能与

例是简单的 16 位加法器,用于累加两

能得到解决,同时,最重要的是测试 平台应充分执行 UUT 代码。因此在

个数值并得出结果。图 2 给出了这种

通过文本文件的控制与汇报功能相结 合,就能创建一种功能非常强大的验

验证设计模块时,经常用到“玻璃盒”

证工具。

测试法,因为这样可以了解和观察

激励

激励 文件

UUT

激励

到极值。能较好体现这两种情况的实

情况下的边界条件和极端情况。 您可以清楚地看到,极端情况是当 A 和 B 输入都等于 0 ;当 A 等于 0,B 等

结果

结果

结果 文件

测试平台

图 1 – 自检式测试平台架构 30

赛灵思中国通讯

2014 第一季度


手把手课堂:FPGA 101

于 65535 ;当 A 和 B 都等于 65535 ;以及

面给出了一系列需要考虑的参数。

当 A 等于 65535,B 等于 0。边界条件

检查每个可执行语句,以确定执行

是极端情况之间的值。

次数。

对于有些应用,可能要对 UUT 进 行应力测试,以确保在正常运行之外 有一定的裕量。应力测试会根据模块 而变化,但可能涉及重复操作,从而 使缓冲器和 FIFO 溢出。对设计采取应 力测试可减少验证工程师损坏 UUT 的 几率。

执行所有 IF、CASE 和 SELECT 的 可能分支。

验证团队还需要一个指标来确保

测试函数与程序 验证团队应为经常使用的测试例 程建立一个库,使团队中的所有成员 都可针对该项目甚至其它项目使用该

测试代码分支内的条件和子条件,

库。建立该库不仅能加速开发,而且

以查看是什么条件导致此分支为真。

还能从测试平台中得到标准化输出。

遍历通过 HDL 的所有路径,以识别

这种标准化输出有助于模块的分析与

未经过的路径。

验证。

监控 VHDL 过程敏感列表中的信号 代码覆盖率

只解决了 UUT 内部问题。

以及等待语句,以确保所有触发条 件都经过测试。

您可以将这些标准函数和程序运 用于众多应用中。一些常用方法为 : 激励生成器 :例如,用来测试复位

测试平台已正确执行 UUT。该指标通

100% 满足上述参数并不能证明

常通过使用代码覆盖率来提供,以确

UUT 满足功能要求。不过,这样能轻

标准方法

保 UUT 被正确

易识别出哪段 UUT 未被测试平台执

输出检查 :依照预期结果检查输出

行。这里需要重点提一下代码覆盖率

结果,并通过副本或文件进行报告

执行。对于代码覆盖率问题,下

应用程序和释放 , 或驱动通信接口的

极端情况

边界条件

图 2 – 16 位加法器的边界条件与极端情况 2014 第一季度

赛灵思中国通讯

31


手把手课堂:FPGA 101

果。验证工程团队随后便可创建一些

过程中将与 FPGA 或模块实现接口

行为模型 有时候您可以参照不可综合的行

相连

为模型验证 UUT 的性能,该模型执行

方案很有效,因为改变激励可变得与

日志函数 :用于显示结果的标准化

的是与 UUT 相同的函数(见图 3)。

更新文本文件一样简单。如此便能实

报告格式,可简化分析。日志功能

该模型与 UUT 都采用来自测试平台的

现简单而快速的更新,同时对可能在

还提供设计要求的验证证明,用以

相同激励,且对两个模块的输出进行

实验室或最终硬件中引起问题的情况

表明合规性。

逐周期对比,以确保它们的行为方式

进行测试。

模型 :器件的标准化模型,在运行

用来检测 UUT 的激励测试文件。这种

相同。模型或测试平台可能需要考虑

在 VHDL 中,STD 测试程序包支

信号属性“stable”、“delayed”、“last_

UUT 的时延问题,以便对正确结果进

持与文本文件的交互,而且如果仿真

value and”和“last_event”。这些属性

行比较。

器支持 VHDL 2008,还允许使用 std_

良好的输出检查函数可利用 VHDL

在确认 UUT 能否与用于存储器的时序 接口或其它接口兼容时非常重要。这 些函数还能用来确保 UUT 达到“设 置 - 保持”时间,并可在未达到时发出 错误报告。

激励

logic 和 std_logic_ 矢量。如果您的仿

使用 TEXTIO 文件 如果您使用 VHDL 来验证设计, 那么可以利用 TextIO 程序包从文本

激励 文件

可以利用非标准但很常用的 std_logic_ textio 程序包来提供相同的支持。

文件中读入激励矢量,并在结果文本

Verilog 可提供用以读取和写入文本文

文件中记录包括通过或失败在内的结

件的同类工具。

模型

结果

检查

激励

真器不支持 VHDL 2008,那么您始终

UUT

结果

结果

激励 结果

结果 文件

测试平台

图 3 — 针对 UUT 进行模型检查

32

赛灵思中国通讯

2014 第一季度


手把手课堂:FPGA 101

验证设计比创建可实现的设计更加艰巨。在项目生命 周期早期阶段仔细斟酌验证策略,团队方能准备好必要的 测试计划和基础设备,全力支持这一关键流程。 我们还需要考虑什么? 测试平台应具备时间无关性,这

正在执行测试的仿真工具进行控制。 这种方案能支持可重复性更高的流

计划与基础设备 验证设计往往比创建可实现的设

意味着测试平台既可测试 RTL 也能测

程,因为在 GUI 中设定的所有选项以

计更加艰巨。在项目生命周期早期阶

试行为 UUT 以及后端注释有 SDF 时

及仿真运行之间的变化都能在用来控

段仔细斟酌设计验证策略,团队方能

序信息的后布局布线网表。尽管门级

制仿真的 Tcl 文件中加以定义。此外,

准备好必要的测试计划和设备,全力

仿真会因分辨率的原因而占用大量时

这些文件还能实现自我编制,从而减

支持这一关键流程。考虑以上几点有

间,但有时这样做是必要的。

少 UUT 验证所需的文档编制工作。

助于建立合适的测试平台,灵活完成

验证团队还应考虑使用 Tcl 脚本对

当前的任务。

Xilinx 推出全新汽车级器件 进一步扩展 All Programmable Artix-7 FPGA 系列 全新符合 AEC-Q100 质量认证标准的 Artix FPGA 可为高级驾驶员辅助系統、 车载信息娱乐系統和驾驶员信息系统提供业界一流的单位功耗性能 2014 年 2 月 24 日,北京 — All

XA Artix-7 产品系列包括

电压传感器组成的集成模拟混合信

Programmable 技术和器件的全球领先

XA7A35T、XA7A50T、XA7A75T 和

号 (AMS) 模块,通过上述优势实现

企业赛灵思公司 (NASDAQ: XLNX)

XA7A100T 四款器件,可提供 30,000

ECU 整体材料清单成本的最优化。

今天宣布针对汽车应用进一步扩展其

至 101,000 个逻辑单元,以及业界

XA Artix-7 FPGA 进一步扩

Artix®-7 现场可编程门阵列 (FPGA)

领先的 I/O 与封装尺寸比例(多达

充了汽车级 XA Zynq-7000 All

系列。全新的 XA Artix-7 FPGA 产品

285 个 I/O 且封装尺寸仅为 10mm x

Programmable SoC 系列。这两种器件

组合,进一步丰富了赛灵思市场领先

10mm)。该系列器件集成了丰富的

系列均采用台积公司的高性能低功耗

的 AEC-Q100 质量认证的汽车 (XA)

DSP 功能,可提供高达 264 GMAC

(HPL) 28nm 工艺制造,与前代产品

FPGA 产品系列。该系列器件可为高

的信号处理性能,尤其适用于 ADAS

或同类竞争产品相比,可将总体功耗

级驾驶员辅助系统 (ADAS)、车载汽

应用中的图像数据处理任务。其内置

锐降一半(50%)。

车娱乐 (IVI) 系统和驾驶员信息 (DI)

的千兆位收发器的数据速率高达 6.25

XA Artix-7 系列为客户提供多

系统提供业界一流的单位功耗性能。

Gb/s,可帮助客户实现 PCI Express

种器件 / 封装组合,允许他们根据

除了性能优势外,系统设计人员还能

Gen 2 等全面集成的连接解决方案。

项目需求修改设计。这种器件架

受益于功耗较前代产品显著降低的

此外,该系列器件还具备动态部分重

构还允许在其与 XA-Zynq-7000 All

优势,以及针对汽车电子控制单元

配置 (DPR)、AES 加密等高级功能,

Programmable SoC 之间将 IP 或完整

(ECU) 狭小空间设计特点的小尺寸封

并包含一个由 12 位 17 通道 1Msps 模

设计平滑移植。

装优势。

数转换器 (ADC) 和内部温度和电源

2014 第一季度

赛灵思中国通讯

33


手把手课堂:FPGA 101

如何将 RTOS 添加到您的 Zynq SoC 设计中 作者:Adam P. Taylor

e2v 公司系统工程部主管 aptaylor@theiet.org

34

赛灵思中国通讯

2014 第一季度


手把手课堂:FPGA 101

想从最大限度地发挥赛灵思 Zynq®-7000

要想最大限度地发挥 Zynq All Programmable SoC 的优势,您需要一款

All Programmable SoC 处理系统的地优 势,采用操作系统肯定比使用简单的

物理硬件解决方案更加有效。Zynq SoC 设计的开 发人员有很多种操作系统可供选择,可以根据最 终应用选择实时操作系统。如果您正在多个应用

操作系统。本文将介绍如

领域需要快速响应和可靠性能来避免损失或实现

何安装实时操作系统——

SoC,那么 RTOS 无疑是您的最佳选择。

严格性能目标的极具挑战性的环境中使用 Zynq 我们将利用最流行的实时操作系统之一,

这里特指 µC/OS-III。

Micrium 的 µC/OS-III 来演示如何以最佳方式将 RTOS 添加到 Zynq SoC 系统中。RTOS 或其早 期版本已被用于包括好奇号火星探测器在内的 多种激动人心的系统中。RTOS 的最新版本目前 正在进行 MISRA-C、DO178B A 级、SIL3/4 和 IEC61508 标准的认证,这意味着它将吸引广泛 Zynq SoC 用户的目光。但是在介绍具体实现方 法之前,我们先回顾一下实时操作系统的基本知 识,这对此很有帮助。 什么是实时操作系统? 实时操作系统与标准操作系统有什么区别? 实时操作系统是确定的,意思是指系统需要在明 确的截止时间内做出响应。这种确定性很重要, 其原因有多种,例如,如果最终应用正在监控工 业流程,那么必须在特定时段内对事件做出响 应,工业控制系统就属于这类情况。 可根据满足截止时间的能力对 RTOS 进一步 分类为三种不同类型的 RTOS,每种类型都以不 同方式满足截止时间。在 hard RTOS 中,错过 截止时间被视为系统错误。而对于 firm RTOS 就 不是这样,偶尔错过截止时间是可以接受的。在 soft RTOS 中,错过一次截止时间会减少结果的有 效性,但系统在整体上对此是可以接受的。 实时操作系统以运行任务(有时称为进程) 为核心,每项任务执行规定的功能。例如,某个 任务可能通过接口读取数据,或对数据执行某种 操作。简单的系统可能只运行一项任务,但更多 情况下处理器上会同时运行多项任务。这些任务 间的转换被称为“上下文切换”,它要求将与每

2014 第一季度

赛灵思中国通讯

35


手把手课堂:FPGA 101

采用分时法,每个任务都会获得处理 器上的一个专用时间档,而更高 优先级的任务还可分配多个时间档。 项任务关联的处理器状态存储并添加

这种方法通常称为“抢先式调度”。

到任务栈中。 下一步运行哪项任务将由内核来 控制。该内核是 RTOS 的核心,用来 管理软件的输入与输出请求,并将它 们转换为处理器中央处理单元和功能 元件能识别的数据处理指令。任务调 度可能比较复杂,尤其是当需要避免 死锁(指两个或更多任务相互锁定) 时更是如此。两种基本调度方法分别 是分时法和事件驱动法。采用分时 法,每项任务都会获得处理器上的一 个专用时间档,而更高优先级的任务 还可分配多个时间档。时间分段通过 定期中断或定时器进行控制,这种方 法通常被称为“轮询调度”。而采用事 件驱动方案,只有当具有更高优先级 的任务需要运行时才会进行任务切换。

统来说是非常不好的。 当某个进程因为所需要的资源总

死锁、资源共享 和互斥等待 当两个或两个以上进程(例如 UART、ADC 或 DAC)需要使用相同 资源时,它们可以同时对该资源提出 请求。这种情况下,应对访问进行控 制以防出现争用现象。如何对此进行 管理非常重要,若不采用正确的管理 方法,就会出现“死锁”或“互斥等待” 这样的问题,从而导致系统错误。 当某个进程占用一种资源且无法 将其释放时,就会出现死锁,因为在 这种情况下无法完成该项任务。该进 程需要使用当前被另一进程占用的另 一种资源。由于系统无限期地处于这 种状态,因此可以说应用程序已被锁 死。可以想象,死锁对于实时操作系

是被分配给其它进程而无法运行时, 就会发生互斥等待。 多年来,已经有很多关于这类主 题的文章和资料,也推荐了很多解决 方案,对此您可能并不会感到意外, 例如 Dekker 算法,这是一种用于并 行程序中互斥问题的经典解决方法。 处理这类情况的最常用方法是信号量 法,通常分为二进制信号量和计数信 号量这两种类型。 通常,为每种资源会分配一个二 进制信号量。请求进程会在任务执行 之前等待资源变为可用资源。一旦任 务完成,请求进程就会释放该资源。 这些信号量通常被称为等待 (WAIT) 和发信号 (SIGNAL) 操作。进程首先 等待信号量。如果资源闲置,进程将

图 1 – 目录结构显示演示文件的位置

36

赛灵思中国通讯

2014 第一季度


手把手课堂:FPGA 101

图 2 – 目录结构显示演示文件的位置

被赋予该资源的控制权,并运行直到 完成,此时进程会发出完成信号。但 是,如果进程在等待信号量时资源已 被占用,那么进程将会被暂停直到该 资源被释放为止。当前正在执行的进 程一旦完成,暂停状态就会立刻终 止,但如果具备更高优先级的进程 抢先占用该资源,那么就需要等待 更长的时间。通常使用名为互斥锁 (mutexes) 的特殊二进制信号量来防止 优先级反转的发生(mutexes 一词源于 “mutual exclusion”)。 计数信号量的工作方式与二进制 信号量相同,但是只有当特定资源类 型有一个以上的实例时才会使用计数 信号量(例如数据存储)。由于每个资 源都被分配到一个进程中,因此计数 数值会减少以显示剩余的可用资源数 量。当数值减至为零时可用资源就没 有了,同时提出请求的进程就会被暂 停,直到有一种资源被释放为止。

2014 第一季度

图 3 – 选择 µCOS-III 演示 赛灵思中国通讯

37


手把手课堂:FPGA 101

图 4 – 更正设置

不同进程之间经常进行通信是

要将一些 ZIP 文件解压到电脑上赛灵

File > New > Application Project 选项,

很有必要的。有以下几种方法可供使

思安装程序中的正确文件夹(路径)。

命名新项目并选择操作系统 µC/OS-III

用,其中最简单的方法是按如上所诉

应确保将名为 Zynq-7000-ucosiii- (见图 2)。然后选择用于 µC/OS-III 的演示程序(见图 3)。

的方式使用数据存储和信号量。更为

bsp.zip 的 ZIP 文件解压到 \<XILINX>

复杂的技术包括消息队列。采用消息

\ISE_DS\EDK\ sw\ lib\bsp\ 文件夹。

完成后,点击 Finish 按钮。在

队列,当一个进程需要向另一个进程

您会在此文件夹下看到一些其它操作

SDK 中将会创建应用和板支持包(如

发送信息时,它会向队列 POST 一条

系统,包括独立系统和 xilkernel。随

选择该项)。如果您选择了 Auto Build

消息。当一个进程需要从队列中接收

后,如图 1 所示,将名为 Zynq-7000-

选项,会发现若干错误报告。这是因

消息时,它会 PEND 队列。因此,消

ucosiii-demo.zip 的 ZIP 文件解压到

为并不是所有项目参考都是正确的。

息队列的工作原理就像 FIFO(先入先

\<XILINX>\ISE_DS\EDK\sw\lib\sw_

要设定这些项目参考,您需要导入在

出)存储器一样。

apps\ 文件夹。您会在此文件夹内看到

Project > Src > Settings 选项中找到的演

一些其它应用的演示。

示设置。右击 XML 文件并查看属性。

µC/OS-III 操作系统 Micrium 的 µC/OS-III 是一种优 先式 RTOS,意思是指它总是运行已

安装完这两组文件后,我们就可 以在软件开发套件 (SDK) 中创建项

这样便可选择并复制文件位置,如图 4 所示。

目。我们将会使用之前创建的相同基

位置复制后,右击项目并选择

做好执行准备并具有最高优先级的任

础硬件,但由于想添加该操作系统,

属性。在项目 C/C++ General 下,选

务。要想将该操作系统添加到您的

因此还需要一个新的应用程序和板支

择 Paths 和 Symbol 选项。然后选择

Zynq SoC 系统设计中,第一步需要从

持包 (BSP)。

Import Settings,并粘贴到设置文件的

Micrium 网站下载 µC/OS-III RTOS。

在 SDK 中,应关闭基础硬件设

下载后,安装工作非常简单。您只需

计外所有已打开的项目。下一步选择

38

赛灵思中国通讯

位置。 另外必须确保资源库能正确指向

2014 第一季度


手把手课堂:FPGA 101

您之前所添加的库。您可以通过设置

这是因为存在一个未声明的函数警

RTOS。现在,您可继续在 Zynq SoC

Xilinx Tools > Repositories 对其进行检

告。在 bsp.c 文件中加入如下声明可纠

上正确实现软件设计。一旦您创建了

查 ;该选项应显示之前 µC/OS-III BSP

正这个问题。

软件应用,并且工程设计团队也已做

的安装位置。

#include "xil_cache.l

由 于 我 们 希 望 用 U A RT 输 出 演 示的状态(显示完成的初始化值和正 在运行的任务),因此您可能需要在 BSP 设置下将 stdin 和 stdout 设置到 UART。 执行完这些工作后,您会发现目 前就可以创建项目了。但是仍存在一

一旦添加“include”头文件后,项 目就可按照预期构建并在 ZedBoard 上 运行,( 登陆 http://www.youtube.com/ watch?v=uRB4La5ijrA 观看 YouTube 视 频 )。

些警告,如果您尝试在硬件上运行该

启动并运行 启动并运行实例项目后,您大

项目,项目并不能如演示那样执行。

可放心您的系统上肯定正确实现了

好了在硬件上进行测试的准备后,您 就可以创建一个编程文件 —— 创建方 法与物理硬件系统完全相同(见赛灵 思中国通讯杂志第 48 期中的“如何配 置 Zynq SoC 物理硬件解决方案”,从 而让采用 RTOS 的应用从配置存储器 中启动并执行。

Xilinx 为业界首款 All Programmable MPSoC 推出 UltraScale 多重处理架构 下一代 Zynq Ultra ScaleMPSoC 将针对不同任务集成 合适的引擎,带来超越工艺节点的价值 2014 年 2 月 26 日,北京 — All Programmable 技术和器件的全

世,让赛灵思又开始了业界首款 All Programmable MPSoC 的发明。

这些全新的架构特征结合 Vi v a d o ® 设 计 套 件 和 抽 象 设 计 环

球领先企业赛灵思公司 (NASDAQ:

这个全新的 All Programmable

境,能大幅简化编程并提高生产

XLNX) 宣布推出面向下一代 Zynq®

MPSoC 架构可为处理器提供从 32

力。其中抽象设计环境包括基于

UltraScaleMPSoC 的 UltraScale ™

位到 64 位的扩展能力,并可支持虚

C、C++ 和 OpenCL 的设计抽象、

多重处理(MP)架构。全新

拟化,集成了用于实时控制与图形

来自 Mathworks 和美国国家仪器公

UltraScaleMPSoC 架构以业界成功

/ 视频处理、波形和包处理的软硬件

司 (NI) 的第三方系统级抽象以及基

的 Zynq-7000 All Programmable SoC

引擎、新一代互联技术和存储器、

于 IP 的设计抽象与自动化。这些环

产品系列为基础,进一步扩展了赛

高级电源管理,以及可实现多级安

境支持从业界标准 28nm Zynq-7000

灵思 ASIC 级 UltraScale FPGA 和

全可靠性的增强型技术。通过整合

All Programmable SoC 轻松进行软件

3D IC 架构,实现了“为合适任务提

异构多重处理和业界最高速 FinFET

移植。全新 MPSoC 架构将得到有关

供合适引擎”的异构多重处理器。

以及充分利用台积公司的 16nm

Zynq 器件的软件、中间件、操作系

Zynq-7000 的推出让 Xilinx 成为业

FinFET 工艺技术,UltraScaleMPSoC

统、调试器、IP 工具、开发板以及

界首款 All Programmable SoC 的发

架构在系统性能和集成度方面取得

设计服务等一系列不断发展壮大的

明者,随着 UltraScaleMPSoC 的问

了重大突破,同时降低了系统功耗。

生态系统的鼎力支持。

2014 第一季度

赛灵思中国通讯

39


手把手课堂:FPG A101

如何为 Xilinx 设计 创建创建自定义 XBD 文件

创建自定义赛灵思板级描述 (XBD)文件不仅有助于节 省时间,而且还能确保设计 项目按计划推进。为您设计 的任意开发板创建一个 XBD 文件并非难事。

40

赛灵思中国通讯

2014 第一季度


手把手课堂:FPGA 101

作者:Manish Nalamwar,科学家 D

F

发系统的基础。不过有时设计项目需

documentation/sw_manuals/xilinx11/psf_

雷达搜索器实验室

要的功能可能在评估板上并未提供,

rm.pdf)。

IMARAT 研究中心 印度海德拉巴国防研究和发展组织 nalamwar.manishkumar@rcilab.in

PGA 厂商推出了许多出色的评

遵循 XBD 语法。赛灵思已在平台规范

估板和专用开发板,既可用于

格式参考手册中介绍了 XBD 语法(敬

评估 FPGA,甚至还能作为开

请查阅 :http://china.xilinx.com/support/

或者需要一款较小型的终端系统。在

您的定制开发板极可能需要串行

此情况下,设计团队必须构建一款定

通信(RS232 和 RS422)、模数转换器

制开发板。

(ADC)、数模转换器 (DAC)、RAM 和

赛灵思每款评估板都配套提供一

闪存存储器。正好赛灵思和安富利的评

份 XBD 文件,其列出了 FPGA 的板

估板也提供这些外设,所以找到有类似

载外设、配置、控制寄存器和引脚。

部件的开发板并参考其相关 XBD 文件

XBD 文件不仅可确保设计团队工作有

就能加快自定义 XBD 文件的开发进程。

条不紊地开展工作,而且还有助于他

每个 XBD 文件都有不同的模块,

们为当前乃至未来在开发板上实现的

其定义了开发板支持的 FPGA 接口,

设计制定最佳策略。

并且每个模块都有一系列属性、参数

当然,如果您创建的是定制开

和端口。因此文件第一项记录就是全

发板,那就无法获得赛灵思提供的

局属性命令、厂商信息、开发板名称

XBD 文件支持。但是花时间开发自己

及其版本号、辅助 Web URL 以及开发

的 XBD 文件还是值得的。专门制作

板描述的简明版本和详细版本。

的 XBD 文件能帮助设计团队管理项

文件的本地属性命令在 BEGIN-

目,简化设备驱动程序和固件开发。

END 模块之间进行定义,并用特定格

所幸的是,经过一番研究和努力,用

式表达,这也可以查阅平台规范参考

户不费周折就可以为自己的开发板创

手册。就本实例来说,我们将使用面

建 一 份 自 定 义 X B D 文 件 。( 对 使 用

向 Virtex-5FX30T FPGA 的 ISE 设计套

Vivado 设计套件的用户而言,赛灵思

件 12.4 版本。Virtex-5FX30T FPGA 含

在随 Vivado 设计套件 2014.1 版本一

有可配置逻辑单元和 PowerPC® 440 硬

并推出的新型实用工具 Board Manager

核。

中提供了 XBD 优化功能。如欲了解

除了 FPGA 之外,定制开发板

更 多 信 息 , 敬 请 查 阅 “ Vi v a d o 设 计

将根据设计需要还包括不同外设,如

套件用户指南”http:/china.xilinx.com/

串行通信接口(RS232、RS422)、

support/docu-mentation/sw_manuals/

ADC、DAC、SRAM 等。您可通过

xilinx2013_3/ug898-vivado-embedded-

使用串行通信专用 IP 模块来满足多

design.pdf。)

个 UART 需求。例如,您可用外部存

下面我们来看看开发自定义 XBD

储器控制器 (EMC) IP 实现 SRAM 与

文件的方法之一。就本实例设计而

FPGA 的连接,并用通用 I/O (GPIO) IP

®

言,我们针对采用 Virtex -5 FX30T FPGA 的定制开发板创建 XBD 文件。

2014 第一季度

将 ADC 和 DAC 与 FPGA 相连接。 在我们的实例设计中,我们制作

我们从赛灵思和分销商安富利

自定义 XBD 文件来满足器件数据手册

(Avnet) 提供的技术文档入手。由于我

中列出的功能及器件需求。FPGA 的输

们必须自己编写 XBD 文件,因此必须

入时钟信号为 20 MHz。处理器运行频 赛灵思中国通讯

41


手把手课堂:FPGA 101

接下来我们要在文件中逐一列出开发板的所有外设。 (对每个外设模块详细编码信息感兴趣的读者可查阅配套提 供的 PDF 文件《定制开发板 XBD 编码详情》,敬请访问 : http://china.xilinx.com/publications/xcel- lonline/xbd_coding. pdf。) 数模转换器 让我们从 Analog Devices 提供的数模转换器 AD7841 开始,该数模转换器 (DAC) 具有 8 个通道、3 条地址线和 14 位数据线以及一些可处理器件功能的控制信号。该器件 通过赛灵思的 GPIO IP 核与 FPGA 相连。而器件的地址线 (A0-A2)则与处理器地址线相连。 该 DAC 具有 4 种控制信号 :LDACN、CSN、WRN 图 1 – 定制硬件设计的方框图

率为 200MHz,而处理器本地总线 (PLB) 工作频率为 100 MHz。根据上述信息,我们能够保证维持本地器件驱动时 序。图 1 给出了定制硬件的方框图。 让我们开始创建自定义文件。首先从全局属性命令 着手,随后是时钟信号,这是所有开发板都必须遵循的步 骤,如下所示 :

和 CLRN。组建这些信号有两种方法,您既可以给每个信 号分配一个位,也可以直接设计一个 4 位寄存器,具体取 决于您的应用所需的信号处理方式。该 DAC 为 14 位 D0D13。 现在我们已经了解 XBD 文件中所列首个器件 DAC 的 一个细节,下面我们来了解一下如何写入固件。在开发器 件驱动程序时,我们应认真研究数据手册和时序示意图。 时序示意图如图 2 所示。 器件数据手册说明了用户必须阅读时序示意图并生 成控制信号。时序信息 t0-t11 完全遵照 Analog Devices 提 供的数据手册(AD7841)。第一步要设置信号方向为出 口,然后通过写入 1 到相应地址将其拉高。例如,将方向 LDACN 信号设为出口,然后通过以下语句将其拉高 :

信号之间的延迟可用“for”循环,也可选择“NOP” 指令来实现。每个信号的序列和建立 - 保持时序也同样重 要,这些规范均在器件数据手册中予以提供。这里,当处 理器运行频率为 200 MHz 时,每个增量相当于 5 纳秒。 42

赛灵思中国通讯

2014 第一季度


手把手课堂:FPGA 101

图 2 –AD7841 DAC 的时序示意图

图 3 –AD7891 ADC 的时序示意图

2014 第一季度

赛灵思中国通讯

43


手把手课堂:FPGA 101

借助赛灵思 EMCIP 核与 XBD 文件,存储器的接口 连接和控制变得轻松简便。我们在器件数据 手册中找到了时序约束,并将其列在 XBD 文件中。 通信与 SRAM 接口 我们将使用赛灵思的 XIL UART IP 将 RS232 和 RS422

与 5V ADC 连接,而端口 A 则与 3.3V FPGA 连接。该配置

驱动程序 IC 与 Virtex-5 FPGA 实现接口相连。我们针对

方向引脚设为低,将端口 B 的数据传输至端口 A。若设

RS422 和 RS232 通信分别选择了 MAX3079 和 MAX3237 这

为高,则情况正好相反,端口 A 的数据将被传输到端口 B。

两款 Maxim 器件。我们通过 GPIO IP 核来生成 RS422 IC 的

要读取 ADC 的数据,需要将输出使能(OEN)和方向(DIR)

控制信号。

引脚设为低。在写入操作中,FPGA 将向 ADC 发送指令,

支持从 5V 到 3.3V 的信号转换,反之亦然。

就存储器而言,我们选择赛普拉斯的静态 RAM,即

且方向引脚为高而输出启用引脚为低。在我们的实例设计

CY7C1061BV33 器件,从而利用赛灵思外部存储器控制

中,我们将缓冲器的输出启用引脚进行拉高,从而避免了总

器 IP 核(XIL_EMC)将其连接到 FPGA。借助该 IP 核和

线冲突。我们在该设计中使用了两个缓冲器和两个 ADC。

XBD 文件,存储器的接口连接和控制变得轻松简便。我们

图 3 为并行接口模式的时序示意图,我们用它来生成

在器件数据手册中找到了时序约束,并将其列在 XBD 文件

控制信号。从 t0 到 t11 的信号时序通过 Analog Devices 的

中。由于赛灵思 IP 核足以处理该存储器,因而无需使用单 独的器件驱动器。 ADC 接口 在该设计中,将 ADC 与 FPGA 进行接口相连是一个难

设计需求

题,因为来自不同传感器的所有输入模拟信号都在 ±10V 范围之内。为了满足实例板的功能要求,我们选用了

选择组件

Analog Devices 的 AD7891-1。该 ADC 具有 8 个通道和一个 12 位数据总线,并提供可选的串行和并行接口。在该设计 中,经实践证明并行接口是更好的选择。 该器件工作在 5V 输入上,由于 FPGA I/O 电压为

参考数据手册

3.3V,因此我们的设计需要可实现与 FPGA 接口相连的收 发器。接下来我们将会把此收发器作为缓冲器。收发器在 一侧连接到 FPGA,而在另一侧则连接到 ADC。FPGA 可 处理缓冲器的控制信号。我们需要认真处理器件的方向引

创建 XBD

脚和输出启用引脚,以便控制 FPGA 到 ADC 的数据流,反 之亦然。可将器件控制信号归组为 5 位寄存器。 器件的转换端(EOCN)应在自定义 XBD 文件中分开

写入固件

列出,因为这是一个非常重要的信号。EOCN 表明转换已 经完成且新数据可用于 FPGA 进行处理。 缓冲器接口 在本设计中,我们选择了德州仪器的 SN74ALVC164245 电平位移收发器作为缓冲器。其是一款 16 位非反相总线收 发器,拥有 2 个单独的端口及供电轨。可将器件的端口 B 44

赛灵思中国通讯

测试固件

图 4 – 硬件 / 固件开发进程

2014 第一季度


手把手课堂:FPGA 101

器件数据手册引用。 您可用 Notepad 或 WordPad 等任何编辑程序创建或修

此外,针对任何应用的硬件或固件开发也应遵循特定 的步骤,如图 4 所示。

改该文件。您必须将此文件保存扩展名为 .xbd 的格式文 件。完成后,文件必须保存到特定的路径下,当创建新项 目时,对 EDK 工具直接可见。启动新项目时,应为定制开 发板选择该文件。

加速开发进程 打造定制硬件以便为自己的特定应用开发器件驱动 程序,这对于嵌入式设计人员来说是一项充满挑战性的工

例如,假设开发一个名为“customboard”的开发板,

作。赛灵思提供了大量有关开发过程的文献资料,也为开

该开发板对 EDK 工具可见,您应当遵循特定的目录结构要

发工作提供了通用板级描述文件。您可轻松定制并修改该

求。这是很重要的一步。我们的实例“customboard_RevX_

文件以满足您自身定制硬件的需求。硬件配置如需任何修

vX_X_0.xbd”一旦创建后,必须保存到以下目录下 :

改或改动,您只需参考一个统一的文件即可,并将所有器

示例路径 :

能提高生产力,加速开发进程。

2014 第一季度

件相关的改动整合到该文件中。这样,自定义 XBD 文件就

赛灵思中国通讯

45


出色的工具

选择合适的转换 器:JESD204B 与 LVDS 对比 作者:Ian Beavers 应用工程师 高速转换器团队 Analog Devices 公司

作者:Jeff Ugalde 产品工程师 接口技术部 Analog Devices 公司

46

赛灵思中国通讯

2014 第一季度


出色的工具

根据最新 JESD204B

着数据转换器架构和 FPGA

率,但目前该市场上的转换器厂商可

不断采用更高级更小型化几

提供的最大 LVDS 数据速率仍然为 0.8

何体,系统设计人员面临着

至 1 Gbps。LVDS 技术一直难以满足

新的数据接口挑战。更小工艺几何体

转换器的带宽要求。LVDS 受 TIA/EIA

支持更高带宽转换器在不断提高的分

644A 规范控制,这是一项 LVDS 核心

FPGA。在采用这些

辨率及速度下运行,其可实现更高的

制造商的行业标准。该规范可作为设

数据吞吐量。而且,它们还可提供更

计人员的最佳实践指南,提高不同厂

器件进行设计时,应

高的串行 / 解串(串行解串器)速率,

商的 LVDS 发送器及接收器兼容性。

以适应在以前较大几何体上无法实现

考虑 I/O 注意事项。

同样,没有完全遵守 LVDS 规范的设

的带宽占用。更小的工艺几何体也可

计人员构建的产品将不符合规范,并

实现将更多的数据转换器集成在单个

会因兼容性问题在市场上遇到更大的

器件中。这些数据转换器的接口解决

挑战。

标准构建的转换器 非常适合新型高速

方案不仅需要支持高数据速率,而且

像 LVDS 一样,JESD204B 归属

还必须与复杂 FPGA 器件兼容,并保

Jedec 标准组织,其可针对不同制造商

证 I/O 数。

之间的互操作性提供电气及物理需求

JESD204B 接口是一个串行解串器

指导。JESD204B 的最大数据速率定义

链路规范,允许 12.5Gbps 的最大数据

为 12.5 Gbps,可实现比实际 LVDS 吞

速率传输。使用高级工艺(例如 65nm

吐量高出 10 倍以上的优势。该性能不

或更小)的转换器支持该最大数据速

仅可为数据转换器系统降低 I/O 需求及

率,还可提高电源效率。系统设计人

封装尺寸,而且还可通过降低静态功

员可充分利用该技术相对于低压差分

耗显著节省系统成本。

信号 (LVDS) DDR 的优点。

JESD204B 规范支持 AC 耦合,

几个开放市场 FPGA 可为串行收

可实现与使用不同供电级的不同技术

发器提供 12.5Gbps 乃至更高的数据

节点的兼容。例如,28nm 及更小的

速率,其中包括赛灵思 Virtex ® -7 与

FPGA 处理节点是典型的前沿制造工

Kintex ®-7 系列。尽管 FPGA 具备这种

艺技术。转换器晶体管节点由于需要

功能有一定时间了,但转换器现在才

自定义模拟设计,一般会落后于业界

能达到这种性能。该技术可允许多个

最佳 FPGA 几代。相反,LVDS 通常

转换器的同步,比如常用的转换器内

采用 DC 耦合策略,其会提高转换器

部多个通道同步,能够在单个 FPGA

与更低功耗电源 FPGA 的连接难度。

器件中实现。

共模电压的不匹配度越大,静态电流 消耗就越高,不会受数据速率影响。

2014 第一季度

为不同应用提供不同选择 对于数据转换器的高速串行传

为此,JESD204B 现已成为高分辨率

输,不同的应用有不同的选择。十多

的差分信号技术。除了电气规范以

年来,数据转换器制造商一直选择

外,JESD204B 还具有针对三种物理

LVDS 作为主要差分信号技术。尽管

层的相关眼图性能要求。性能指标包

有些 LVDS 应用可使用更高的数据速

括定义的眼图和总体抖动预算。光互

及高速数据转换器制造商极具诱惑力

赛灵思中国通讯

47


出色的工具

图 1 — 12.5Gbps JESD204B 眼图与 LV-OIF-11G-SR 发送眼图模板

联网络论坛 (OIF) 具有成熟的物理层

Gbps、6.375Gbps 以及 12.5 Gbps,如

因为它可根据需要提供电平移动。AC

(PHY) 规范和眼图标准,JESD204B

下所示 :

耦合数据通道的第二个优势是 :可在

接口可利用其实现相同的串行数据速

基于 LV-OIF-SxI5 的运行 :

发送器和接收器之间对共模噪声进行

率。JESD204B 链路可使用 OIF 低电压

312.5 Mbps 至 3.125 Gbps ;

去耦,从而有助于缓解系统设计人员

基于 LV-OIF-6G-SR 的运行 :

关于信号质量的顾虑。DC 耦合更容易

11 Gbit 短距离规范 (LV-OIF-11G-SR) 允许的总体抖动最大值,即单位间隔 (UI) 的 30%。图 1 是 12.5 Gbps 下原始 JESD204B 眼图及模板的示图。模板可 在水平轴及垂直轴上提供确定的裕量

312.5 Mbps 至 6.375 Gbps ; 基于 LV-OIF-11G-SR 的运行 : 312.5 Mbps 至 12.5 Gbps。

受到耦合在数据线路中的共模噪声影 响。AC 耦合的第三个优势是 :其可降 低来自多个厂商的不同发送器 (V tt) 及 接收器最终电压需求,从而可使接收

总数。值得注意的是,12.5Gbps 眼图

每个类别的最大及最小电气规

器工作在其最佳共模电压下。这有助

符合 LV-OIF-11G-SR 规范,该规范建

范略有不同,以适应因所支持的广泛

于 JESD204B 发送器与接收器在需要

立在 11.1 Gbps 的速度基础之上,比其

数据速率而导致的必要差别。图 2 是

高度的电源电压灵活性的系统设计中

他的 12.5 Gbps 数据速率下的规范要求

LV-OIF-11G-SR 物理层变量的电气规

以不同的最终电压运行。

更严格。

范参数,其可用于 12.5 Gbps 的最大 JESD204B 数据速率。

此外,JESD204B 接口还可针对单 个链路上的多个转换器进行数据分区。

三种 PHY 模式 JESD204B 支持针对串行数据传输

该规范的一个优势是 :与 DC 耦

随着链路速率提升至 12.5 Gbps,更多

合使用案例相比,其可在链路上支持

的转换器可部署在相同的链路(对应不

的三种 PHY 模式,其由 LV-OIF 规范

更宽泛的共模电压。这可降低有关

定义并根据最大 JESD204B 通道速率

同变量的数据,请参见图 3)上。这特

JESD204B 发送器及接收器(它们可能

分类。定义三种物理层的速率为 3.125

别适合在单个封装中提供 2 个、4 个、

来自不同的厂商)的系统设计要求,

8 个以及 16 个转换器的器件,同时这

48

赛灵思中国通讯

2014 第一季度


出色的工具

JESD204B 所提供的明确规范 既支持从相同 pin 脚上 串行发送多个转换器综合数据。 也是与 LVDS 接口相比的一大独

JESD204B 数据输出 测试条件/ 评论

参数

最小值

最大值

单位

特优势。LVDS 可作为一个 I/O 结 构,将一个单通道转换器做为终

每通道数据速率 (NRZ)

1

12.5

Gbps

点/起点进行直接输入输出,但

单位间隔 (UI)

80

1000

ps

是不能明确定义一个方法来整合

上升时间 (tR)(20%/80% ;100Ω 负载)

24

ps

下降时间 (tF)(20%/80% ;100Ω 负载)

24

ps

整个 I/O 中多个转换器的数据。有

输出共模 (T_CM)

了 JESD204B,就有了实现从多个

AC 耦合

0

1.8

V

Vtt=1.2V

735

1135

mV

Vtt=1.0V

550

1060

mV

Vtt=0.8V

490

850

mV

差分电压 (Vdiff)

360

770

mV

差分阻抗

80

120

ohms

拟转换器”滤波器,该滤波器作

差分回波损耗 (RLddif)

8

dB

为真实转换器的数字处理的一部

共模回波损耗 (RLdcm)

6

dB

分,输出一分为二,包括实数路

转换器在相同的 pin 上串行发送综 合数据的明确规范。每块器件数 据的来源甚至不需要是真实的固 定硬件转换器。它可来自一个“虚

径和复数路径。针对 90 度相移的

图 2 — LV-OIF-11G-SR JESD204B、12.5-Gbps 发送器的电气规范 可看出链路上共模电压终端的高度灵活性

IQ 通信系统就可充分利用虚拟转 换器的特性。

LVDS 引脚 JESD204B 引脚 (1Gbps 时) (12.5Gbps 时)

转换器通道

采样速率 (MSPS)

最大分辨率 (比特)

16

78.125

16

40

4

系统的最佳转换器 更高速转换器的带宽需求正

8

156.25

16

40

4

4

312.5

16

40

4

在推动设计向更高级 CMOS 工艺

2

625

16

40

4

8

78.125

16

20

2

4

156.25

16

20

2

2

321.5

16

20

2

1

625

16

20

2

1

1,250

16

40

4

DDR 通道,也无法满足更高采样

1

2,500

16

80

8

速率下的带宽速度及性能需求。

1

5,000

16

160

16

转换器数字接口的引脚 I/O、耦合

1

10,000

16

320

32

以及供电范围需求,将有助于您

图 3 — 具有不同采样速率及通道数的转换器对比可显示出 I/O 数的差别。与工作速率为 1Gbps 的 LVDS 相比,工作速率为 12.5Gbps 的 JESD204B 接口只需其引脚数的 1/10

2014 第一季度

节点发展,以降低功耗,提高性 能。这种趋势将为其带来新的接 口挑战。12.5 Gbps 最高速度的 JESD204B 接口有助于解决其中一 些问题,否则即便需再多的 LVDS

为系统选择合适的转换器。

赛灵思中国通讯

49


出色的工具

如何将 SMC 生成的带 AXI4-Lite 接口的外设导入 Xilinx 环境

作者:Sheetal Jain

Synopsys 公司高级研发工程师 skj@synopsys.com

50

赛灵思中国通讯

2014 第一季度


出色的工具

SMC 主 机 接 口 模 块可轻松将通过 Synphony 模 型 编 译器创建的设计集

S

ynphony 模型编译器(SMC) 是一款 Synphony 提供的、 基于模型的工具,其可综合

在 Simulink ® 及 MATLAB ® 中创建的 设计,从而可为 ASIC 和 FPGA 目标 应用生成优化的 RTL。SMC 包含一 个综合而全面的高级模型库,可在

成在赛灵思嵌入式

Simulink 环境中创建数学、信号处理

平台中。

环境中简化定浮点单速率或多速率算

及通信设计。该库可在高级模型设计 法的捕获及功能调试。SMC RTL 生成 引擎可使用这些经过验证的模型自动 创建 RTL,为占位面积、性能、功耗 以及吞吐量利弊权衡实现多架构的硬 件实施及快速探索。SMC 的高级综合 引擎采用顶级设计以及 MATLAB 语 言输入,可生成针对所选硬件目标而 优化的 RTL。此外,SMC 还可针对 设 计 自 动 生 成 一 个 RT L 测 试 平 台 , 并配以比特及周期高精度的 C 模型与 SystemC 封装程序,可在 SystemC 仿 真环境中实现对所生成硬件的验证。 在许多应用中,设计人员通过 创建外设来执行一些信号处理功能, 并必须通过主机处理器(例如赛灵思 MicroBlaze ™软处理器内核)来配置 该外设。主机处理器通常采用标准总 线接口(例如 AMBA® AXI4 或 AXI4Lite)连接外设。SMC 库包括主机接口 模块,其可来实现主机处理器的从接 口。该主机接口模块不仅支持 AXI4Lite、APB、通用接口以及 Avalon-MM 总线接口协议标准,而且还可通过实 现必要的内存映射的寄存器来配置 SMC 设计,其中包括 FIR 滤波器系 数、数控振荡器(NCO)的频率与相 位设置以及各种长度 FFT 模块的 FFT 长度。此外,该主机接口模块在实现 内存映射的控制寄存器时可以采用任 意需要的采样频率,可以与总线接口

2014 第一季度

赛灵思中国通讯

51


出色的工具

图 1 — SMC 总线接口协议规范

接口端口遵循赛灵思 EDK 要求的命名

中指定总线接口及存储器映射设置。

第 1 步:使用 SMC 库创建外设 您要做的第一件事是使用 SMC 库

设计人员可使用主机接口模块将 SMC

模块创建外设的算法实施,并验证功

称添加“S_AXI_”。例如,AXI 地址

设计连接至总线互联或者总线主控。

能性。然后根据两个因素配置 SMC 主

编写通道(AWADDR)的地址信号应

现在我们来详细了解一下,如何

机接口模块 :算法部分的配置数据(其

该命名为 S_AXI_AWADDR。如果信

将通过 SMC 主机接口模块设计的外

可定义存存储器映射参数)与系统的

号不遵循 AXI4-Lite 的命名惯例,则在

设导入并集成到赛灵思嵌入式开发套

互联总线协议(其可定义总线接口参

外设导入赛灵思 EDK 时就有可能将端

件(EDK)项目中。此外,我们还将

数)。然后将主机接口模块与外设算法

口名称映射到 AXI4-Lite 信号名称上。

考证如何仿真通过标准总线互连连接

部分联系起来。主机接口模块的一些

另外,Simulink 模型名称中不要使用

的从 MicroBlaze 主机处理器到外设的

参数(例如总线互连、地址宽度与基

大写字母,因为 EDK 不支持其名称中

AXI4-Lite 总线的数据传输。该过程有

址)将取决于您的目标平台。例如,

带有大写字母的外设。

时钟异步。您可在主机接口模块的 UI

四个主要步骤 : 1. 使 用 I P 、 主 机 接 口 模 块 以 及 S M C RTL 生成引擎在 Simulink 中创建外 设,为设计生成优化的 RTL 实施方 案; 2. 将该外设导入赛灵思 EDK 工程,并 将其与余下的设计集成 ; 3. 在 SDK 中开发软件应用 ; 4. 生成 RTL 并对其进行仿真,以检查 软硬件功能是否正确。

52

赛灵思中国通讯

®

惯例。请为标准 AXI4-Lite 接口信号名

我们选择赛灵思 Virtex -7 FPGA 作为

添加、配置和连接主机接口模块

平台,并选择 AXI4-Lite 作为总线接

后,就可使用 SMC 的 RTL 生成引擎

口。该平台对每个外设的地址宽度、

为 外 设 生 成 RT L 。 请 在 S M C U I 中

基址以及地址空间都有一定的限制。

指定目标设备、实施参数和优化限

地址宽度必须为 32 位,而基址必须为

制,以促使 RTL 生成引擎为目标设备

4K 字节的倍数,最小可用地址空间为

生成优化的硬件。在 SMC 生成的顶

4K 字节。图 1 和图 2 是总线接口协议

级 RT L 中 添 加 两 个 虚 拟 参 数 ( 顶 层

及存储器映射如何使用主机接口模块

RTL 一般为 VHDL),命名为 : “C_

进行配置的视图。

BASEADDR”和“C_HIGHADDR”。

为了便于集成,虽然不是强制性

根据 IP 要求将其默认值分配给存储器

的,但也强烈推荐 SMC 模型中的总线

映射空间的基址和存储器映射空间的

2014 第一季度


出色的工具

为了便于集成,虽然不是强制性的, 但也强烈推荐 SMC 模型中的总线接口端口 遵循赛灵思 EDK 要求的命名惯例。 最大地址。这一步必需确保 EDK 可识 别外设的存储器映射地址空间。SMC 生成型设计的顶级 Verilog RTL 的实例 如下所示,有两个参数需要高亮显示。

第 2 步:将外设导入赛灵思 EDK 并对 其进行集成 下一步是将外设硬件导入 EDK 的赛灵思 Platform Studio(XPS),并

成的 RTL 文件。成功编译 RTL 之后, 您需要识别外设支持的总线接口,即 AXI4-Lite 从接口,如图 3 所示。 在向导的下一个页面中选择外设

在系统中进行必要的连接(总线接口

的 AXI4-Lite 端口,并将其映射到标

端口以及功能端口)。在本示例中,

准 AXI4-Lite 端口上,以便 EDK 能够

我们已经创建了具有 MicroBlaze 处 理器的基本系统、用于存储可执行软

连接总线接口。如果 SMC 模型中定义 的总线接口端口名称与标准总线端口

件的模块 RAM (BRAM)、本地存储

名称相匹配,则 EDK 将自动映射端口 器总线 (LMB)、AXI4-Lite 互连以及 (参见图 4)。 MicroBlaze 调试模块。 如果端口名称不匹配,则可能 在 XPS GUI 的硬件目录下选择

要覆盖自动映射,如 AXI4-Lite 时钟

“创建或导入外设”选项。这将打开

(Clk-Div3) 和复位 (GlobalReset) 信号

创建并导入外设向导。在该向导中选

所示。

择“导入现有外设”选项。然后指定

然后,按照第一步中插入 RTL 的

外设的存储路径、设计名称以及文件

C_BASEADDR 和 C_HIGHADDR 参

类型(HDL)。现在添加所有 SMC 生

数,指定寄存器空间基址和高位地

图 2 — SMC 主机接口模块存储器映射参数设置

2014 第一季度

赛灵思中国通讯

53


出色的工具

图 3 — 指定外设支持的总线接口 — 此处为 AXI4-Lite

图 4 — 将 RTL 端口映射至相应的 AXI4-Lite 总线接口信号

54

赛灵思中国通讯

2014 第一季度


出色的工具

图 5 — 为时钟和复位端口指定的、带信号类型的 *.mpd 文件

图 6 — 由 SMC 生成并连接至 AXI4-Lite 总线和 MicroBlaze 处理器的设计

址。请取消选择存储器空间选项,因

录)验证是否成功。浏览该目录,检

PCores 下的“用户”子目录中。请右

为主机接口模块具有可寻址的配置寄

查 RTL 文件是否正确导入。

键点击外设名称,并选择“添加 IP”。

存器空间。但是在下个页面中要保持

此外,XPS 还将创建一个与 HDL

XPS 核心配置窗口将打开。不要编辑

RTL 参数的默认属性不变,以确保与

目录并列的目录,名为“数据”。该数

本窗口中的任何参数,保持默认设置

主机接口模块中指定的参数一致。

据目录包含微处理器外设描述 (*.mpd)

不变,以符合赛灵思 EDK 流程。如果

下个页面的标题为“端口属性”。

文件以及相关外设参数及其端口信

EDK 不接受指定的地址空间,则代表

在这里,您必须指定时钟属性,或者

息。查看 SIGIS = CLK 和 SIGIS = RST

指定的存储器映射与设计中的某些其

所有其它时钟上的复位或设计中的复

参数是否已在时钟及复位端口上定

它外设有冲突。您必须返回 SMC,使

位。请点击下个页面中的“完成”,添

义。如果没有定义,则需要编辑 *.mpd

用新的基址值重新生成 RTL,并重复

加外设至 XPS 项目。SMC 外设现已成

文件并手动添加定义。图 5 是添加了

上述步骤导入 SMC 外设。当正确的基

功导入 XPS。您可通过查看 <project_

这些参数的文件实例。

址及高位地址值可用时,请点击核心

working_directory>/pcores 文件夹

现在,您将在 XPS GUI 的 IP 目

配置窗口中的“确定”按钮。XPS 将

(XPS 使用外设名称在此创建一个目

录部分看到您的外设位于项目本地

打开“举例说明并连接 IP”GUI。您

2014 第一季度

赛灵思中国通讯

55


出色的工具

的硬件。该文件一般会在 <project_ working_directory>/SDK/SDK_Export/ hw 文件夹中创建。 第 3 步:使用赛灵思 SDK 开发软件驱 动程序 集成的下个步骤是使用赛灵思 SDK 开发软件驱动程序。请启动 SDK 并创建一个硬件平台规范项目,以源 出 *.xml 文件。如果已经在 EDK 中选 择了“导出并启动”选项,则会自动 图 7 — 插入在 *.mhs 文件中的时钟与复位端口连接

创建该项目,而且 IP 模块和地址映射 信息已在 SDK 项目中提供。 在创建板级支持包 (BSP) 之前, 您必须为您的外设创建驱动程序文 件。典型的驱动报头文件必须定义存 储器映射的寄存器偏移地址以及读取 和写入这些寄存器的原型。 将驱动程序文件复制到 SDK 项目 资源库中,用以识别驱动程序并创建 BSP 项目。打开一个新的空白应用项 目创建软件,然后从外设读取和写入 数据。在该项目中,请指定按照该步 骤第一个任务创建的硬件目标平台以 及您刚刚创建的 BSP。请在 BSP 设置 窗口中查看设计的外设驱动程序内核。 应用项目包含一个 main.cc 文件,

图 8 — 生成测试平台模板与行为仿真模型的项目设置

其中写有用于应用的软件代码。创建 该文件后,SDK 会自动编译代码,并 创建一个 *.el f 文件,其可用于仿真

既可命令工具自动链接外设与互联总

下一步,使用系统装配视图窗口

线(由可用处理器驱动),也可选择手

的端口选项卡连接设计中的非 AXI4-

动连接外设。连接完成以后,就会看

Lite 端口。在系统装配视图的地址选

应用项目包含一个 main.cc 文

到图 6 中显示的接口连接。

项卡中,请确保外设地址空间可见,

件,其中写有用于应用的软件代码。

并确保地址范围已锁定。

例如可将各种值写入存储器映射前两

在图形设计视图选项卡中的总线

RTL 仿真环境中的软件代码。

接口连接中再次检查与 AXI4-Lite 相关

现在,通过在 XPS GUI 的项目目

个寄存器(Status_register 和 Control_

的时钟与复位是否已连接。如果没有

录中选择“导出硬件设计至 SDK”将

register)中的程序。创建该文件后,

自动连接,请编辑 <project_working_

硬件导出至赛灵思软件开发套件。如

SDF 会自动编译代码并创建一个 *.elf

directory> 中的微处理器硬件规范文件

果 你 只 想 运 行 RT L 仿 真 , 则 不 需 要

文件,其可用于仿真 RTL 仿真环境中

<project_name>.mhs。图 7 是添加了时

生成比特流。完成后,XPS 会创建

的软件代码。该 *.elf 文件随后可用于

钟与复位端口的 *.mhs 文件。

一个 *.xml 文件,用以描述导入 SDK

验证功能性,见第 4 步。

56

赛灵思中国通讯

2014 第一季度


出色的工具

通过 AXI4-Lite 从接口使用主机 接口模块将 SMC 生成的外设与赛灵思 嵌入式平台集成非常简单。 第 4 步:在 XPS 中生成 RTL 文件 最后一步是在 XPS 中生成 RTL,

HDL 仿真器,以检查功能的正确性。

入式平台集成非常简单。SMC 和赛灵

图 9 是 MicroBlaze 处理器针对 SDK

思嵌入式平台的完美结合可带来一款

并对其进行仿真,以便验证软硬件功

项目中的软件 C 代码发起的 AXI4-

功能强大的工具套件,能够帮助您设

能是否正确无误。在 XPS GUI 中的项

Lite 事务处理。请注意,外设的前两

计和开发与主机处理器集成的 DSP 外

目目录下选择“选择 Elf 文件”选项,

个寄存器(Status_register 和 Control_

设。SMC 中的主机接口模块不仅可提

然后选择“选择仿真 Elf 文件”,以指

register)可根据计划改变其值。位于

供完成无缝集成所必需的接口,而且

定 Elf 文件(SDK 创建的)的路径。该

外设接口的相应 AXI4-Lite 信号显示,

还可为嵌入式平台创建功能强大的解

文件在应用项目文件夹中提供。要创建

SMC 创建的外设已经成功集成在嵌入

决方案。

测试平台模板与行为仿真模型(参见图

式项目中。

如欲了解有关 SMC 的更多详

8),您需要在 GUI 的项目目录下选择

情,敬请访问 :http://www.synopsys.

强大的工具套件 通过 AXI4-Lite 从接口使用主机接 然后,通过选择“生成 HDL 文件” ® 创建 HDL 文件,并启动 ISE (ISim) 口模块将 SMC 生成的外设与赛灵思嵌

com/Systems/BlockDesign/HLS/

项目选项的设计流程选项卡设置。

P a g e s / S y n p h o n y - M o d e l - C o m p i l e r. aspx?cmp=fpga-xcell-85-smc.

图 9 — MicroBlaze 处理器发起的 AXI4-Lite 事务处理

2014 第一季度

赛灵思中国通讯

57


号外,号外

Vivado 2013.3 版本 的最新消息 赛灵思不断改进其产品、IP 和设计工具,努力帮助设计人员提高工作效率。本文将介绍赛 灵思设计工具的当前最新更新情况,其中包括为加速赛灵思 All Programmable 器件设计而构 建的以 IP 及系统为中心的全新一代革命性创新性设计环境 Vivado 设计套件。如欲了解有关 Vivado 设计套件的更多信息,敬请访问 china.xilinx.com/vivado。 通过产品升级,赛灵思设计工具的功能将得到显著增强并新增一些新特性。保持及时更新升 级是确保实现最佳设计结果的简单方式。 Vivado 设计套件 2013.4 版本可从赛灵思下载中心 china.xilinx.com/download 上下载。

VIVADO 设计套件 2013.4 版本亮点

Vivado 设计套件 2013.4 版本支持 UltraScale ™器件,并且其 IP 生成 器 (IP Integrator)、Vivado 高层次综合 (VivadoHLS)、Vivado 综合和增 量设计流程 (Incremental Design Flow) 等功能得到显著增强。 器件支持 支持以下生产就绪型器件 :

VIVADO 设计套件 : 设计版本升级 Vivado IP 生成器 Vivado 设计套件 IP 生成器支持 50 多种 新 IP 核,其中包括 : 连接功能 IP CPRI™和 JESD204

®

GMII 到 RGMII

®

Virtex®-7 PCIe(二代和三代)

Artix -7 XC7A35T 和 XC7A50T FPGA Zynq -7000 XC7Z015 All Programmable SoC 赛灵思 PCIe® IP 的串联配置 以下器件已开始投产 : Kintex®-7 7K410T FPGA Virtex®-7 X550T FPGA

RXAUI 和 XAUI 10G 以太网 MAC 和 PCS PMA SelectIO™ Wizard 整个 Block Design(BD) 可设为“非关 联模块”,以便在进行设计迭代时减 少不变模块的综合次数。 目前用户 IP 可在加入原理图后再重新 打包,并且该项目使用的所有 IP 实例 都可更新以反映变化。

58

赛灵思中国通讯

2014 第一季度


添加对“远程资源”的支持。用户

增量设计流程会默默忽略掉该限制。

需创建临时项目来构建远程位置的

未来版本将就 Pblock 行为提供更好的

初始 BD。

控制。更多增量设计流程变化包括 :

了解有关 VIVADO 设计套件和 UltraFast 设计方法的更多信息

IP 集成器现在支持采用“写入 _bd”

写入 _ 检查点 – 增量后可发出自动

UltraFast 设计方法 为了进一步增强该版本特性,加速设

的“非项目流程”。

增量重复使用报告。

计周期,实现可预见的设计结果,赛

新 设 计 辅 助 围 绕 A X I 从 设

全新的增量重复使用报告部分列出

灵思目前推出了可编程行业首款综合

备、BRAM 控制器、Zynq All

了当前设计中重复使用的布局和物

设计方法。赛灵思精心挑选出专家的

Programmable SoC 开发板预设和

理限制之间的冲突。

最佳实践,并将其整合为一套权威的 方法指南,称为 Vivado 设计套件的

AXI- 以太网提供。 IP 集成器现可支持 32 位到 64 位的 地址宽度,这对在 IP 集成器中设计 多端口存储器控制器很有用。 现在能用 CTRL-F 在 IP 集成器设计 图 (IP Integratorcanvas) 上查找 IP 或 对象。 “Make Connection”新选项能同时连 接多个对象。 用户能在原理图中根据 AXI4 接口类 型定制 AXI4 接口颜色,默认情况下 所有接口仍显示为相同色彩。

VIVADO 设计套件 : 系统版本升级 Vivado 高层次综合功能 Vivado 设计套件 2013.4 版本 HLS 的 更新内容包括 : 借助可自动调谐数据以适应 8 位边 界的全新数据包选项,能够更顺利

为 DSP 提供一些结果质量改进,包

块上。

通过优化流水线寄存器的分配得到

协调来源、限制和设置,从而准确预 测日程安排。全新“设计方法指南” 涵盖以下各方面 : 开发板和器件规划

成。

实现和设计收敛

为 AXI4 主接口提供增强功能,用户

配置和硬件调试

端口现在可视需要包含到接口中。

资源利用率。这些除法运算现在能 自动受益于较小的实现。 DSP 系统生成器 借助 AXI4-Lite 从驱动程序以及现有的 裸金属驱动程序支持,DSP 系统生成

包含一个以上 DSP 模块的宽乘法器

理和工程师加速产品上市进程,快速

设计创建和 IP 集成

括乘累加函数等,可采用动态操作 模式,并完全映射到统一的 DSP 模

UltraFast 设计方法有助于项目经

地实现 HLS 设计与 AXI4 系统的集

为采用除法运算的设计提供更高的 Vivado 综合功能

UltraFast™设计方法。

器模块的系统集成现在变得更快速便 捷了。

改进。

Vivado QuickTake 教程 Vivado 设计套件 QuickTake 视频教程 是介绍 Vivado 设计套件内在功能的示 范视频。主要内容包括高层次综合、 仿真与 IP 生成器等并定期更新。 Vivado 培训 如需了解有关 Vivado 设计套件的讲师 指导的培训课程,敬请访问 :china. xilinx.com/training。

对硬件协仿真中的非存储器映射接 FIR 滤波器推理得到按钮 QoR(参

口的支持使验证得以改进。

见 UG479 中介绍的 741-MHz 滤波 器)。 Vivado 实现工具 在 Pblock 限制与重复使用布局发生冲 突而履行该限制将影响时序性能时,

2014 第一季度

赛灵思中国通讯

59


实例

应用指南 如果您希望进一步了解我们的 FPGA 如何适用于众多应用, 建议您阅读以下应用指南。 XAPP1179:利用串列配置在 KINTEX-7 互联 TRD 中实现 PCIE http://china.xilinx.com/support/documentation/application_ notes/xapp1179-tandem-config-pcie.pdf

题,因为千兆位收发器(GT)通常会消耗大量处理器循环

PCI Express ® 规范要求 PCIe ® 链路在电源稳定后 120 毫秒

Express 架构(PIPE)的 PHY 接口是连接 PCI Express 模

内做好连接准备。由于可用编程比特流的大小和配置速

块和 GT 的规范。由 K. Murali Govinda Rao 和 A. V. Anil

率,对采用闪存存储器配置的大型 FPGA 而言要想满足这

Kumar 撰写的本应用指南介绍了将 Avery 设计系统中 PCI

个要求的确是一个挑战。赛灵思的串列配置法(Tandem

X-actor BFM(根联合体模式)的 PIPE 接口连接到赛灵

Configuration)是缩短 FPGA 配置时间以满足 120 毫秒 PCIe

思 7 系列 FPGA 集成 PCI Express 端点模块的 PIPE 接口

链接时间要求的一种现实可行的方法。

的方法。当采用适当选项进行配置时,Xilinx PCIe 端点能

由 Sunita Jain、Mrinal Sarmah 和 David Dye 撰写的本应 用指南介绍了如何将运行在 KC705 评估板(采用 Kintex-7

来进行仿真。正因如此,而且也由于 GT 通常对上层 PCI Express 层的功能行为影响很小,因此许多验证项目在大 部分验证工作中选择避开这些问题,只仿真 GT 用于 PCI

让 PIPE 端口位于内核顶层。您可将端口连接到 X-actor RC BFM,从而绕开 GT 仿真。

XC7K325T FPGA)上的 Kintex ®-7 Connectivity Targeted

本应用指南不仅可演示具体的 Avery BFM 连接,而

Reference Design(TRD)与 Tandem PROM 和 Tandem PCIe

且还可作为一个通过 PIPE 接口将其它第三方 BFM 连接

配置法结合使用。设计描述了 TRD 调节以适应串列配置法

到集成 PCIe 端点模块的模型。PIPE 模式仿真对复杂 PCI

的情况。采用该方法,当使用 Tandem PROM 时基本比特

Express 应用缩短验证仿真时间非常有用。

流大小以及初始配置时间可减少 85% 以上,而使用 Tandem PCIe 时可减少 80% 以上。 XAPP1184:采用 GEN2 X8 配置中的集成 PCI EXPRESS 端点模块实现 PIPE 模式仿真 http://china.xilinx.com/support/documentation/application_ notes/xapp1184-PIPE-mode-PCIe.pdf

XAPP1097:采用 FPGA GTP 收发器实施 SMPTE SDI 接口 http://china.xilinx.com/support/documentation/application_ notes/xapp1097-smpte-sdi-a7-gtp.pdf 电影电视工程师协会(SMPTE)的串行数字接口(SDI)系 列标准在专业广播工作室和视频制作中心广泛采用,可传输 未压缩数字视频以及多音频通道等嵌入式辅助数据。赛灵思

涉及到 PCI Express 等高速串行协议的验证设计可能相

SMPTE SD/HD/3G-SDI LogiCORE™ IP 是一种通用 SDI 接

当复杂且耗时。许多验证项目采用第三方总线功能模型

收 / 传输数据路径,其不具备任何具体器件的控制功能。本

(BFM),可降低验证过程的复杂性,也可加速运行实际

应用指南提供的模块包含控制逻辑,可将 Xilinx SDI 内核

仿真所需的时间。千兆位收发器对验证来说尤其构成问

与 Artix ®-7 FPGA GTP 收发器整合形成完整的 SDI 接口。

60

赛灵思中国通讯

2014 第一季度


应用指南的作者 John Snow 对这种额外的控制和接口逻辑

随后将 BSP 导入到 DS-5 工具中进行构建。接下来创建首级

进行了介绍,并提供了必要的 Verilog 和 VHDL 源代码控

启动加载器,最后调试 Zynq SoC 定制设计的目标配置。

制和接口模块。此外,还提供有封装文件,其包含用于 GTP 收发器和 SDI 内核的带有二者间必要连接的控制模块 实例。封装文件简化了创建 SDI 接口的进程。本应用指南 还提供了运行在 Artix-7 FPGA AC701 评估板上的两个示例 SDI 设计。

XAPP1182:采用带 XADC AXI 接口的 ZYNQ-7000 AP SOC 处理系统对系统进行监控 http://china.xilinx.com/support/documentation/application_ notes/xapp1182_zynq_axi_xadc_mon.pdf 由 Mrinal J. Sarmah 和 Radhey S. Pandey 撰写的本应用指南

XAPP1094:用于 7 系列 FPGA GTX 收发器的 CTLE 适应逻辑 http://china.xilinx.com/support/documentation/application_ notes/xapp1094-ctle-adaptation-gtx.pdf

介绍了如何用赛灵思模数转换器(XADC)满足系统监控应

数字前端(DFE)模式中的 7 系列 FPGA GTX 接收器包括

用报警输出信号,能根据当前事件触发。运行在 Zynq SoC

自动增益控制(AGC)块和持续时线性均衡器(CTLE)块,

的 ARM Cortex-A9 CPU 上的 Linux 应用控制 XADC 的报警

可补偿通道损失。AGC 块和 CTLE 宽频增益级都能在 GTX

阈值,监控报警输出。此外,该设计还探索通过 AXI4-Lite

收发器工作频率范围内提高频率,从而优化接收信号眼图

接口使用外部辅助通道的可能性,并具备用该接口能监控

高度。AGC 是自动适应性的,CTLE 宽频级则不是。默认

的最大信号频率的特性。

用的需求。XADC Wizard IP 核提供 AXI4-Lite 接口,可连 接到 Zynq-7000 All Programmable SoC 处理系统中的 AXI 通 用端口,以从 XADC 获得系统控制信息。XADC 块提供专

情况下,用户可通过分析通道损失调节宽频增益。由 David Mahashin 撰写的本应用指南介绍了如何使用 FPGA 逻辑 实施的模块来自动调节 CTLE 宽频增益。GTRXRESET、 RXPMARESET 或 RXDFELPMRESET 去断言后进行一次 校准,该特性支持动态调节均衡器增益,无需通道损失分 析。该模块包含在 7 系列 FPGA 收发器向导设计中,是一 个可选的特性。

XAPP1183:采用带 XADC AXI 接口的 ZYNQ-7000 AP SOC 处理系统实施模拟数据采集 http://china.xilinx.com/support/documentation/application_ notes/xapp1183-zynq-xadc-axi.pdf 上述作者还撰写了另一篇应用指南,继续介绍 XADC 如何 通过专用 Vp/Vn 模拟输入采集模拟数据。Mrinal J. Sarmah 和 Radhey S. Pandey 的设计实施了这样一个使用案例 :直

XAPP1185:采用 ARM DS-5 工具链实现 ZYNQ-7000 平台软件开发 http://china.xilinx.com/support/documentation/application_ notes/xapp1185-Zynq-software-development-with-DS-5.pdf

接用赛灵思 DMA IP 核将 XADC 输出数据传输到系统存 储器 ;而运行在 Zynq-7000 All Programmable SoC 处理系 统上且基于 Linux 的应用从存储器中读取缓冲 ;然后,基 于 LabVIEW 的应用 GUI 收集数据并执行快速傅里叶变换

®

本文介绍了如何采用 ARM Development Studio 5(DS-5) (FFT)处理,以量化 XADC 输出数据的信噪比(SNR)。 设计套件开发、构建和调试基于 ARM Cortex ™ -A9 处理 ®

该设计为采用 XADC Wizard IP 核的 AXI4-Stream 接

器的 Xilinx Zynq -7000 All Programmable SoC 的裸金属软

口支持模拟数据采集应用提供了一个平台。两位作者介绍

件。作者 Simon George 和 Prushothaman Palanichamy 将帮

了如何用 AXI DMA 将 XADC 采样传输到处理器存储器,

助您一步步完成这项工作,首先是在赛灵思软件开发工具

而且无需处理器的干预。该设计能够对针对不同频调的

包(SDK)中创建用于定制硬件设计的板支持套件(BSP),

XADC 性能参数进行量化分析。

2014 第一季度

赛灵思中国通讯

61



Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.