赛灵思中国通讯第四十七期 - 用PlanAhead启动并运行Zynq SoC设计

Page 1

赛灵思 第 四 十 七 期

2013年

S O L U T I O N S

F O R

PlanAhead Zynq SoC

A

中 国 通 讯 Xilinx News ISSUE

47,

S P R I N G

P R O G R A M M A B L E

2 0 1 3

W O R L D

Zynq SoC上的软件可编程数字预失真 在硬件

中采

FPGA的基本要点

Vivado 2012.4版本的最新消息

请即浏览赛灵思中国通讯 网络版的全部精彩内容 www.xilinx.com/cn/xcell47


行業首款面向開源社區的

ZynqTM -7000 ALL PROGRAMMABLE SOC 開發套件

特性: u Zynq-7000 XC7Z020-CLG484-1 u 存儲器 u 512 MB DDR3 u 256 Mb Quad-SPI Flash u 4 GB SD 卡

ZedBoard是一款基於賽靈思ZynqTM-7000器件的低成本開發板,也是 行業首款面向廣大開源社區的ZynqTM -7000 ALL PROGRAMMABLE

u 板載 USB-JTAG 編程 u 10/100/1000 以太網 u USB OTG 2.0 和 USB-UART

SOC開發套件。開發板為基於Linux、安卓、Windows或其它操作系

u PS & PL I/O 擴展 (FMC, PmodTM, XADC)

統/實時操作系統的設計開發提供了所需的一切。另外,該平臺提供

u 支持多顯示器 (1080p HDMI, 8-bit VGA, 128 x 32 OLED)

數款擴展連接器,便於用戶訪問處理系統和可編程邏輯。Zynq-7000

u I2S 音頻編解碼器

系列緊密集成了ARM ®處理系統和7系列可編程邏輯,充分利用它們 的優勢,並結合ZedBoard可以開發出獨樹一幟且功能強大的設計。 為推動ZedBoard套件的創新分享和交流,安富利公司還專門打造了 www.zedboard.org開源社區,用戶可以通過這個社區與其他同樣從 事Zynq設計的工程師開展各種各樣的協作。

目標應用: u 視頻處理 u 電機控制 u 軟件加速 u Linux/Android/實時操作系統開發 u 嵌入式 ARM® 處理

套件組成部分: u u u u u u u

u 通用 ZynqTM -7000 原型設計

Avnet ZedBoard 7020 基礎板 12 V AC/DC 電源 4 GB SD 卡 Micro-USB 電纜 USB 適配器: Micro-B (公頭)對 Standard-A(母頭) 入門指南 ISE® WebPACKTM, 配器件專用 ChipScope 許可證

價錢 : USD$ 395.00 型號 : AES-Z7EV-7Z020-G 更多關於ZedBoard的信息,請訪問: http://www.zedboard.org 或聯繫以下安富利辦事處

北京:010-8206 2506

重慶:135-9422 8267

上海:021-3367 8387

西安:029-8832 8891

武漢:027-8732 2719

瀋陽:024-8290 2597

南京:025-8483 8138

廣州:020-2808 7301

成都:028-8652 8262

青島:0532-8097 0718

杭州:0571-8580 0667

深圳:0755-8378 1886

廈門:0592-516 2777

香港:00852-2212 7848

蘇州:0512-6956 7753

www.em.avnetasia.com Copyright © 2012 Avnet Electronics Marketing



封面专题

用PlanAhead启动并运行 Zynq SoC设计 赛灵思的All Programmable SoC使设计人员 虽然开发工作乍看起来很复杂,但事实上并非如此。

4

赛灵思中国通讯

47期

2013年春季刊


作者:Adam Taylor 首席工程师 EADS Astrium aptaylor@theiet.org 这是Adam Taylor计划中推出的系列 Zynq-700 All Progammable SoC实际操作辅导资料中的首篇文章。 Adam经常为Xcell 杂志撰稿,在本期中他还发表了 一篇介绍如何在硬件设计中采用FPGA的文章。 他也在All Progrmmable 星球社区 (http://www.programmableplanet.com/profile_content.asp?piddl_userid=450978)撰写博客。

Z

Cover story

ynq™-7000 All Programmable SoC 是在单芯片上将双核 ARM® Cortex™A9 处理器与可编程逻辑 相结合的最

新系列赛灵思器件中的首款产品(参见《赛

灵思中国通讯》第四十期的封面专题)。因 此,该产品在系统灵活性以及性能和集成度 方面均实现了飞跃。不过,这款片上系统平

台 确 实 需 要 F P G A 工 程 师

考虑采用与传统逻辑FPGA略有不同的开发 方法。 所幸的是,开发工作并不像您想象的那 么困难,这在很大程度上要归功

赛灵思推

出的PlanAhead™工具。我们不妨更细致地 看看生成Zynq-7000 系统的步骤,我们可用

JTAG载入该系统。

大量FPGA资源

Zynq-7000 系列将双核 ARM Cortex-

A9 处理器(该芯片的处理系统(PS))与相 当

赛灵思Artix™或Kintex™系列器件的可

编程逻辑(PL)资源完美结合在一起。根据您 所选器件和速度级别,处理系统的工作频率

可高达1 GHz。

Zynq SoC的处理系统侧负责为众多存 储器和通信外设提供支持硬件。该架构使得 处理系统能作为主设备并自主工作,甚至无 需加电或配置可编程的逻辑系统。处理系统 支持的主要特性包括: • 动态 RAM 接口: DDR SDRAM ,支持 DDR 2和DDR 3标准,包括LPDDR2。

• 静态RAM接口:支持SRAM器件以及 NAND、NOR和QSPI闪存存储器。

• 通信接口:USRT、CAN、I 2 C、SPI、 USB、千兆以太网和SD/SDIO。

• 通用I/O:支持多达4个32位通用I/O。 2013年春季刊

赛灵思中国通讯 47期

5


封面专题

除了DRAM链路以外,其余接口

都采用 Multiuse I/O、一组54个I/O引 脚,可根据需要分配用

不同功能。

当然,这意味着您不能同时实现所有 外设,不过您可根据需要将接口扩展 到可编程逻辑。 处理系统侧和可编程逻辑侧之间可 全面互联传输,包括: • 高级微控制器总线架构(AMBA ® )和 高级可扩展接口(AXI)均提供主/从接 口,包括直接链接到外部DDR和片 上存储器。此外,加速器联接端口

(ACP)提供了从可编程逻辑侧到CPU 存储器空间的一致存取。 • 扩展的 Multiuse I/O 使用户能够通过 可编程逻辑I/O增加处理系统外设的 数量。 • 直接存储器存取和中断,包括从PL

图1 - AXI总线的基础系统构建器

到PS的16个中断以及4个DMA通道。 • 从处理系统到可编程逻辑的4个时钟 和复位端口。

我们需要

Zynq配置不同

么工具

大多数FPGA工程师都熟悉ISE。

赛灵思以前众多

创建片上系统(SoC)所需的工作

系列FPGA的配置过程,甚至也不同 Virtex®-2 Pro、Virtex-4和Virtex-5等

比开发逻辑型FPGA设计略多,但仍

采用硬核宏处理器的系列产品的 配置。在Zynq系统中,处理侧为主设 备,根据正常的软件引导过程引导, 从非易失性存储器载入应用,随后开 始执行或使用更复杂的引导载入程序 交叉载入应用至速度更快的DDR存储

比较直观,而且工具链也提供很好的 指南。要创建 Zynq SoC 设计方案, 至少需要4款工具:Xilinx

Platform

Studio(XPS)、ISE ® 设计套件、赛灵 思的软件开发套件(SDK)和iMPACT。 您可用Xilinx

Platform

Studio

这款赛灵思工具链支持包括XPS网表 在内的HDL设计,可生成所需的比特 文件。软件开发套件(SDK)则帮助您开 发处理系统所需的软件。要正确 生成软件,SDK应了解系统的硬件

配置。最后,iMPACT工具可帮助您将 比特文件编程到系统中并生成比特流 格式。 您可孤立地分别使用上述4款工具

(XPS)创建处理系统,可以是

创建All Programmable SoC,不过

分或完整配置。您也始终能通过JTAG

的帮助,它能够将这些工具集成在一

接口配置该器件。由

Zynq器件复杂

中的Zynq PS。在XPS中您可定义配

赛灵思的PlanAhead工具可提供更大

置、接口、时序和地址范围,也就是

起,大幅简化开发工作。下面我们就

性较高,能提供更多常见的FPGA模式

生成处理器系统所需的一切。这个过

在进一步深入了解Zynq流程的同时重

引脚,从而可支持各种配置方法。

程将生成定义系统的HDL网表。

点谈谈PlanAhead方法。

器。Zynq的可编程逻辑侧通过处理器 配置访问端口(PCAP)载入,可支持部

6

赛灵思中国通讯

47期

PowerPC ® 、MicroBlaze™或本案例

2013年春季刊


封面专题

图2 - 处理系统的XPS视图

次级设计”按钮,并输入选定的处理

创建硬件 开发进程的第一步就是打开

PlanAhead并创建新的RTL项目,

系统名称。

的RTL网表,这可通过项目设置选

定您想用的语言。生成HDL文件 很简单,只需右击处理系统名称并选

下面,工具会用所谓“基础系统构

没有现成的RTL、IP或约束,因此就

建器(BSB)向导”带您通过一系列

择“生成HDL”选项即可。

步骤创建基础系统,如图1所示。这

件选择标签为止。如果您使用开发

一步中会打开 Xilinx Platform Studio,

“添加源”选项为器件的可编程逻

板,那么请选择您希望使用的开发

您会看到器件中的处理系统图示

板,否则请根据您的系统选择所需

(见图2)。

RTL后,您还需通过右击选择“设置顶

这项工作相当直观。由

您一开始

一直选择“下一选项”直到看到器

的器件。

如果您针对某款开发板开展工

创建项目后,您会看到PlanAhead

作,工具会自动为该开发板配置外设接

的默认屏幕。这时您应添加源文件到

口,不过如果您针对某个单一器件开展

设计方案中,您可从位

屏幕左侧的

“流程选项标签”下的“项目管理选 项”中勾选“添加源”来实现这一操 作。我们首先感兴趣的是让Zynq的处 理系统侧启动并运行起来,因此请选

设计,那么您就需要在系统中实现自己 的外设,比方说 DDR

时序和 MIO

连接等。操作起来非常直观,您可在离 开XPS并返回PlanAhead之前运行设计 规则检查程序确保没有出错。

择“添加或创建嵌入式源”,这会打

返回PlanAhead之后,您需要为

开另一个标签,从中您可选择“创建

处理系统生成一份VHDL或Verilog语言

2013年春季刊

您随后也可在PlanAhead中通过

辑侧创建RTL设计。创建了所需的

层”选项来定义顶层模块。如果您的设 计同时包含处理系统和可编程逻辑系 统,那么您应创建顶层RTL文件根据需 要将其连接起来。 SoC完成和比特文件生成前的最后 一步就是创建含有 Zynq-7000 器件 PL 侧管脚信息的约束文件,这只需在Plan

Ahead中右击源窗口中的约束选项,然

后选择“添加源”即可。现在点击“运 行实现”按钮便可实现设计。

赛灵思中国通讯 47期

7


封面专题

板支持包(BSP)特定

您的硬件实现,

包含外设驱动程序以及多种特定硬件C报头文件。

创建软件

用PlanAhead 和 Xilinx Platform

Studio 定义系统后,您现在应创建在

处理系统上运行的软件。大部分开发 工作,您将采用软件开发套件,不过 采用PlanAhead来设计,还要再做一 件事,那就是通过PlanAhead中的“ 导出选项”导出硬件配置到SDK。 执行导出工作会打开SDK并导入

硬件实现,包含外设驱动程序以及

还是在Linux操作系统中实现项目。

一系列特定硬件的C报头文件,如定义

完成这一步骤并创建好您的项目后,

系统存储器映射的

您就可以开始为应用编写代码。

xparameters.h

以及其它系统配置参数。创建BSP时, 请确保选择您的目标处理系统和

CPU0。(我们分析的是一个简单的系 统,多核工作在这里暂不涉及。)

下一步就是创建实际的软件项目 本身了。这里您应选择C或C++语言以 及一系列模板,既可以是简单的

如果您是开发嵌入式软件的新 手,这项工作乍看起来可能有点可 怕,不过SDK能为新手和经验丰富的 开发人员提供大量的支持与协助。如 果您不清楚系统中的外设驱动程序或 者如何驱动,那么工具Project Explorer中BSP下的system.mss文件

world”,也可以是一级引导

可提供存储器映射,您在此可获得有

完成硬件导入后,您应为硬件创

载入程序。您还可选择是在裸机系统

用的链接列表,连接到有关技术文档

建板支持包(如图4所示)。该BSP特

(也就是说不带操作系统的系统)上

和示例。

硬件规范(如图3所示)。

“hello

图3 - 导入硬件到SDK 8

赛灵思中国通讯

47期

2013年春季刊


封面专题

图4 - 创建板支持文件

项目中可调入大量C报头文件,

器内的位置。虽然您最初编程的文件

硬件进行编程(使用“FPGA编程”选

一些常用的文件包含驱动外设的参数

可能比较小,完全能放在片上存储器

项)。确保比特文件准确,并对器件

和函数。

中,但最好的办法通常是把它放在

编程。

• Stdio.h定义标准输入输出,许

DDR存储器中(如果使用DDR的

多以前用过C语言的人都很熟悉

话),以表明该接口已正确配置。您

完成配置后,您现在能下载ELF文

该文件。

可通过右键点击项目并选择“生成链

件并测试程序了。这很简单,只需在Pl

• Platform.h 定义实现与平台初始 化的基本功能,并支持清空。 • Xil_types.h定义赛灵思IP所需的 一系列类型。 • Xgpio.h定义AXI连接的通用I/O 模块驱动程序。 • Xparameters.h定义硬件架构以

接脚本”来创建链接脚本。

择您的项目,然后右击“作为……运 最后要做的事情就是设置运行配置

行”和“在硬件上启动”即可。如果

run,右击弹出的菜单中)。

您此前没有创建或编译过自己的代

这里您可定义STDIO连接,即您针对

下也会自动创建出设计方案。

(project explorer -> project -> run ->

STDIO所采用的串行端口(如果使 用该连接的话)。圆满完成上述工作后, 可应用配置并关闭(不要点击

及实现的配置。

“运行”,因为我们现在还没完全做好

编写代码并成功编译后,您当然

准备呢)。最后一步就是连接开发板到

希望把应用下载到开发板上了。要实

PC上,连接JTAG电缆以及包括

现这一目的,首先应创建链接文件脚

RS232串行电缆等在内的其它各种

本,其将决定可执行文件在系统存储

所需电缆,并通过赛灵思工具对

2013年春季刊

anAhead 的 Project Explorer 中选

码,那么运行该命令在设计无误情况 Zynq-7000器件提供了全新的All

Programmable SoC 开发流程,新手 乍看起来可能觉得复杂,不过赛灵思

的PlanAhead内集成的工具链,可

供方便使用,打造出了一个无缝的、 入门级开发进程,可确保您能够相对 轻松地创建Zynq系统。

赛灵思中国通讯 47期

9


专家观点

故障的设计 安全关键 系统规 需要 硬件故障率和冗余。

10

赛灵思中国通讯

47期

2013年春季刊


专家观点

作者:Austin Lesea 首席工程师 赛灵思实验室 austin.leasea@xilinx.com

安全关键

系统(飞机、

(每10亿小时的故障次数)。这相当

火车、汽车等)或安全工

于每隔4,756年才会发生一次故障。假

业控制(风车、工厂蒸汽

车间等)而言,设计人员必须考虑到

们现场部署1万个系统,那么一个

客户遇到现场故障的频率平均为每

诸多因素。首先,必须考虑到故障始

174天出现一次。这就是基准,也就

终有可能发生,而且肯定会发生。[1]

是假设系统只包含一个赛灵思28nm7

其次,当故障发生时,您的任务就是

系列FPGA器件时(“没有其它特殊

确保故障不会导致财产损失或人员

情况”)的故障率。然而,现在没有

伤亡。

商业系统发生故障,会带来不便 或令人沮丧,然而安全关键

应用发

生故障则后果非常可怕。因此故障安 全系统的设计人员必须区分并采用适 当的设计理念来消除或至少最大限度 地减少故障的发生。 在服务器、路由器、电话系统、 手机交换机或其它商业系统中,故障 造成损失、破坏或危及生命的可能性 极低。根据服务级别(受影响的客户 数量)和设备用途(商业电话交换机

系统只包含一个组件。系统还

会包含印刷电路板、电源、连接器、

LED、开关等。

含有所有相关组件的典

系统,

其使用寿命比含有单个赛灵思FPGA 器件的系统要短得多。系统的典

障率为 1000 到 10000 FIT,而7 系列FPGA仅仅只作为其中的一小部 分。这相当于每隔114年或甚至每隔

11.4年发生一次故障,也就是说每隔4

天或甚至不到1 天就会出现客户产品

或911呼叫中心),也有可能实施一

返修问题。仍要说明的一点是,在

套更严格的规定。然而,如果系统被

非安全关键

视为非安全关键

不便,不会造成人员伤亡或财产损失

系统,一旦出现故

障,仅会造成服务损失,虽然令人不

系统中,故障只会造成

破坏。

愉快,但仍可被接受。当然,故障率

不是所有组件的故障率都保持恒定

低的美誉有助于赢得客户的欢心并愿

不变。大多数器件的平均故障间隔时间

意为之付费。

都有一个所谓的“浴缸”曲线,即边缘

下面

们在讨论无法接受故障

陡峭而底部平坦。使用初始阶段的故障

的系统之前先来进一步看看可接受故

较后一阶段多,这就是所谓的“早期故

障、仅意味着造成服务损失的系统。

障期”。初始阶段之后的较长时间内故 障率较低,这就是所谓的“正常工作寿

发生故障也“OK”的系统 一般情况下,设计人员都希望尽 可能加强设计的可靠性。可靠性季度

报告[2]在表1-16中按技术分

障率又开始增加,这就是所谓的“使用 寿命终止”阶段。 比方说,一台笔记本电脑的一般

别列出了赛灵思FPGA器件的硬故障

使用寿命为3年,刚买之后和使用3年

率。就7系列器件的硬故障率来说,截

后的故障率最高,而在此期间的故障

至2012年8月22日为24FIT 2013年春季刊

命”。接近组件使用寿命的末期时,故

率要低得多。 赛灵思中国通讯 47期

11


专家观点

赛灵思设计的商业和工业产品最

两个系统仍可能同时发生故障。

要是有人声称出售给您的FPGA

低使用寿命为15年。根据结温不同,

这种可能性为每个系统故障可能性的

器件通过了26262认证(IEC汽车标

这一使用周期有长有短。可靠性和用

乘积,即每隔1.3亿年出现一次同时发

准),那他肯定在说谎。同样地,说

户指南介绍了各种有关赛灵思FPGA

生故障。这样的性能水平应该能够满

使用寿命的详细信息。

足要求。

发生故障不“OK”的系统 如果系统安全影响到生命或环境 安全,那对故障率就有严格的规定要 求。这种规定可能非常严,不过没有 任

系统是完美的,任

设计也不可

能做到绝对的安全,因此肯定会有故

个冗余系统,只有这5个系统都没问

别的,那自然很容易发现故障率。如

题才能发射。发射后,只要5个系统

果是赛灵思组件的话,查询UG116就

中的3个可以工作,系统仍然被视为

行了。但现实情况绝非如此,因为所

安全。同样,商用飞机在飞行控制中

参考文献

设计人员通常忘了,可靠性是一

车一旦发生故障,可能导致风车的叶

项永无止尽的工作,除非已有明确规

片掉落,设备彻底损坏,甚至可能导

定的可靠性目标。就上述例子而言,

致附近的人员伤亡。让

如果赛灵思7系列产品某组件的软故

生一次故障。首先 没有任

们要明确的是,

单个设备的可靠性能达到这

一标准要求,系统肯定要有某种形式 的冗余。 由于组件的硬件故障率太高,无 法满足要求,因此设计人员必须为所

障率(大气中子造成的软故障)为

低于硬件故障率,就能实现很长时间 的安全工作,可靠性任务就完成了。

会发生故障。子系统的设计通常要保

冗余)。

证一点,即使发生故障,也能保证一

现在有标准了

不妨设想一下有两个完全独立的

幸运的是,设计人员现在有了工

设备,每个设备的故障率均为10,000

业、航空、汽车、医学等其它系统的

障为四线或UART,但任

故障均可

quotes/a/adamsa vage207580.html

2. http://www.xilinx.com/support/documentation/user_guides/ug116.pdf

tions/aerospace-and-defense/avion-

怎么办呢?通常而言只要这种故障率

或许是架构设计错了(比方说没有

的2个UART作为通信通道)。单点故

http://www.brainyquote.com/quotes/

故障率就是这样),那么设计人员该

系统,还要辅助其它方法才能确保不

相互校验(比方说每个系统中四线上

Savage,资料来源:Myth Busters:

3. 如需了解更多详情和有趣的阅读材料,

如果最终系统不满足要求,那么

FIT,二者都通过一个冗余通信通道

1. “ 故 障 始 终 有 可 能 发 生 ” , A d a m

1 FIT(PicoBlaze™软处理器的实际

有关键组件、子系统和电源提供冗余

定的安全性。

有系统都不止包含一个器件。

也采用三重冗余安全性。

比方说风车的电源控制系统。风

率为10 FIT,也就是每隔11,416年发

和它的设计,并不是组件。当然,如 果系统中只有一个FPGA器件而没有

时能完成工作?

们假设故障

是在说谎。要满足标准的是整个系统

再举一个例子。航天飞机采用5

障率,要实现如此严格的故障率要求 也会非常困难

器件通过了DO-254飞机标准认证也

国际标准。[3]IEC 61508是适用于所 有要求的最高级伞形标准,其下每个 不同的行业都有自己的子标准。关于

敬请访问:www.xilinx.com/applicaics/。您在此可找到DO-254

和SEU白皮书。另一个有用的链接为: http://en.wikipedia.org/wiki/IEC_61508

Austin Lesea毕业于加 州大学伯克利分校, 1974年获得电气工程

与计算机科学系电磁 理论专业理学士学位, 1975年获得通信和电气工程与计算机科学系通 信与信息理论专业硕士学位。他在电信领域 工作了20年,主要设计光学、微波和铜传输系 统。Austin曾在赛灵思IC设计部工作过10年,

主要开展Virtex ® 产品线工作。过去3年来他一

被检测到,子装配件不能跟另一个子

这些标准要记住的一点是,认证的不

装配件进行通信,但系统仍能立即安

是组件制造商,而是要认证最终系统

直在赛灵思研究实验室工作,研究现有技术发

全地彻底关断。

和最终系统的制造商。

展的问题。此外,Austin还拥有70项专利。

12

赛灵思中国通讯

47期

2013年春季刊


Zynq SoC上 字 无线

信领域

出色表

赛灵思 Zynq All Programmable SoC和 无线 字前端应用 Vivado HLS工具为 提供高效灵活 径 作者:Baris Ozgul 赛灵思爱尔兰都柏林分部研究科学家 baris.ozgul@xilinx.com Jan Langer 赛灵思爱尔兰都柏林分部研究科学家 jan.langer@xilinx.com Juanjo Noguera 赛灵思爱尔兰都柏林分部研究科学家 juanjo.noguera@xilinx.com Kees Vissers 赛灵思公司杰出工 师 kees.vissers@xilinx.com

13

赛灵思中国

47期

2013年春季刊


无线

(DPD)是一种先

字 进

( P A )

放 大

中功率

非 线

DPD在为3G/4G基站甚至

统提供高效无线电

线

和一

输出反馈路径上

整体

变化

率放大

DPD解决 应当为 法 算法

根据调制类型、功

技术和传输带宽 因

统而异

不 因此

DPD

型FPGA是一种极具前景 用于

包含DPD

字前端解决

DPD

据所用估 功

算法

复杂

All

进行灵活分区

际就是一

主要优势是

这样 而且还

图2给出了

一大部分是:两 1 GHz

概览

工作频率高达

支持基础架构

其包括

无线

AXI4

应用 与验

为处理

根据需要将

逻辑来完成 建议 涉及到在纯

并对

需要进行硬

进行全面

第二步所进行

揭示出应用瓶颈 函

第一步与典型

没什么两样

主要组成部分

嵌入式ARM Cortex™-A9处

和他

供高带宽

密集型任务交给

包括两

FPGA

端口在FPGA和嵌入式处理

算平台

逻辑区域

传统

SoC是一款混合型

第二大组

成部分就是:一

开发

和验

单指令

据路径

这也使得

内核

支持128位

Zynq-7000

完整

ARM处理

据(SIMD)扩展功

法是根

由于采用了

工作效率大幅提升

Zynq-7000

灵活

使用

无需任何FPGA

配套提供了被称为NEON 宽

这部分本身就是一

在单芯片中

估算

图1 - Zynq All Programmable SoC上 2013年春季刊

从而提高

Vivado™高层次综合(HLS)工具

Zynq™-7000 All Programmable SoC 将 逻辑架构和 核ARM ® 处理

I/O外

出色表

构、存储控制

嵌入式平台

用以在Zynq-7000

ZYNQ上

赛灵思

高速缓存分级

团队创建了一款

字前端(DFE)提供灵活 这有助于

全部必要功

和集成

标平台

DFE

为一种

如图1所示

Programmable SoC

该估 以反映操作

分区

位于PA

用于 特

进行功

在PA输入之前补偿非

影响

无线

Zynq-7000 All Pro-

grammable SoC 之

DPD

一般

合在一起

选择

字前端解决

面发挥着关键作用 统包括一

很好

字信号处理技术 减小无线发射

统完美

信领域

比如

描述

算密集型子

加速

字前端 赛灵思中国

讯 47期

14


无线

信领域

出色表

C/C++代码、 量要求

指令和目标吞吐

这些工具

生成高

线化

架构

此外这些工具也

支持

自动

水线级插入和资源共享

从而

减少硬

资源

使用

采用了图3所示 整 构

第一步就是重

从MATLAB ® 功

人员

述中获得

整体硬

参考C/C++代码

这里所

谓重构就是指修改原始代码( 写

考虑概念

理解

需求

而不是

化)

将其变为一种

所谓 些功

信基础架构 映射等

此外

加速

而不是原始

C函

做一些必要

例化

修改

经验丰富

资源量等 信组

接下来 加速

最后

和处理

统综合生成比

描述语言来

待加速

这类似于重

而有了赛灵思Vivado HLS工具 以用原

加速

自动生成相应

一转变需要手动分步执行几 步骤

包括给代码添加指令

重构算法

从而

在此 执行

这样

与验

环境

高效 中

人员就

赛灵思中国

硬 作为 使用原

这相对于传统

而言是一大优势

47期

优化 甚至要

代码仍

HLS工具

无需手动硬

逻辑

抽象层级 存

提高 让耗

传输级(RTL)

这种工具 述

吞吐量

任务变得透 高级描

加速

使其代表一

从而

或者

并生

重写代码

型HLS工具接受无 描述作为输入

从中

序C/C++

解释输入/输

出行为顺序语义及架构规范

根据

以便

特 代码

C/C++ 用

采用传统

(如gcc)

并重复利

开发

平台

代码外

约束和

指令(如代码中插入

译指

FPGA

C/C++级

对参考代码验 除了

另外两

基本约束为目标

列(即技术)和目标

自然 架构中 人员

类型

指令

钟频

这两种因素都会对所生成 水线级 就不 比

量产生影响 代码段应用不

循环展开(loop unrolling)

成RTL

所需

高效利用嵌入式DSP宏等特定FPGA

重要输入

且容易出错

上 代码

令(pragma))是HLS工具

逻辑

输入是特定算法 对目标硬

涉及重写代码

高层次综合

安排

面向FPGA

种某种架构规范

逻辑进行

面向

适合目标处理

以便在DSP处理

集成

(如DMA)进行

以支持硬 互动

钟频率

进行优

应用代码

人员会用VHDL或Verilog等

15

约束

说满足所要求

步骤要求对 之

在传统

以满足

和所需硬

为了调用硬

Vivado HLS工具会生成硬

加速

还要确定适当

是用DMA传输还是

存储

优化后

格式

重构

概览

分区不仅要选择哪

需要进行加速

要对

开发

清晰和易于

引擎需要 高效 图2 - 始于

常在

令用于限制特定功

或运算

指令

还有

指 例

以便最大限度地减少相应FPGA资源 使用 2013年春季刊


无线

信领域

值得注意

类型

重构

要求为止 念

代码

直到最后满足

要记住这样一

架构来验 您不必在寄存

兴无线

一大问题

所生成

架构不

量要求

或指令

或者对两者

架构

说宽频码分

以修改

满足吞吐

C/C++代码 进行修改

架构满足吞吐量要求

那么您

2013年春季刊

发射信号在传输

增加

对这

解决

中会

其处在PA

线

这种

告只有在运行逻辑综合和布局布线后

低下

这会导致

成本增加

生成

或FPGA资源与

未满足 期不符

C/C++代码或

(DPD)

序要求 那么您应 指令

问题有一种简单直观

那就是PA输入后退

钟频率和使用FPGA资源量

图4 -

址(WCDM

常会导致带外杂散发射

用RTL输出作为赛灵思Vivado或 ISE ® /EDK工具 输入 最终

修改

非恒包

址(OFDMA)信号)

高级综合

吞吐

有利

由于PAPR较高以及PA

非线

并报告所生成

RTL仿

统中广泛使用

A)和正交频分

输出

传输级进行验

峰均功率比(PAPR)是3G/4

络信号(比

C/C++代码、约束和指令)生成RTL

统模型

较高

G和

HLS工具用所有这些输入(

基础

整体开发

DPD

逻辑

关键理

任何改动

从而避免耗

图3 -

要经

那就是要重复利用C级验

这是一种迭代式

因此 历不

出色表

工作范围内

最大弊端就是PA使用效率 相

输出功率

另一种解决

DPD

是采用

抵消PA

非线

响并提高其效率

算法视图 赛灵思中国

讯 47期

16


无线

信领域

出色表

从而

使用

活动 就

97%

次运行

据路径

3%

使得

0%

之前采用 路径上

RF电路

采样

和最小二乘法(LS)估

转换

以及其

模拟硬 参

PA输出y匹配于z

为了避

影响

负责估

之前应对齐

存储 响

滤波

齐和LS估

非线

泛应用于非线

模型

这种模型广

从而

模型生 而CC则

主要目标 这样

高效地校正 支持

满足

要求

字 在

开发

DPD

响应 此外

复杂

DPD解

环境

从参考矢量读取z和y采样

(如图4所示) 后

采用

并写入一组

将其与写入MATLAB中

进行比较

以看出两组

之 特

gprof

瓶颈

首先 并采用

描述工具估算出首 在ARM处理

而后根据gprof

调用Zynq All Programmabale

SoC

全局CPU定

从而

上运行

其次

运行

差异 描述

在标准x86服务

加快对变化条

速度越快也

近似估

输入

这里 总

解决

统不

常采用

对宽带DPD应用来说

算最复杂

模块不以采样率运行

就不工作

所依靠

这有助于高效

解决

两步进行

因为DPD

模型用来描述PA

基于Volterra

算(CC)模块

强度、延迟和

相位变化 和参

算(AMC)模

它采用基于Volterra

根据PA输入输出

PA输出y0在估

自相关矩阵

块是LS估

算出

DPD

发生重大变化 图4中

详情

高效对齐

统采用这些模块在电源动态信号

不含PA输入输出处

免PA行为受到 齐

以及PA输出反馈 (请注意

和模 统

下面来看看图4中

图是算法视图 模转换

统包括放大

深入分析一下

型无线发射

DPD

如图4所示

天线基站要求

DPD

描述

从而 DPD解决

高效

下面 图5 - 初始特

这种

满足

以串行

进行调节

CPU频率 循环

对感兴趣

该定

一半

开销就

运行频率为

这样只需几

得到出色

模块

工作

分辨率

图5显示了运行在ARM处理 要功

上3

描述

由此

以看出AMC模块是应用瓶颈

它占用

加速

97%

成了硬

主要对象 特

描述之前

算所用 分 言

图6 - 采用NEON 17

赛灵思中国

47期

并行32 x 32位乘法

解算

图4中 占用较大部

因为相对于其它功 它要执行双精度浮点运算

ARM

浮点单元

非常高效

而 不

处理这

一任务 2013年春季刊


无线

AMC模块硬

正 前

加速

要分析潜在

ARM处理

有128位宽

据路径

因此NE

执行两

并行

不是采用低级汇

访问NEON引擎 列类似于函 被称作内部函

在C代码中应用内部函 提高一倍 理简单 和指

封装 还

提供类型

在NEON运算期 如循环条

而NEON引擎则

并行

C变量

自动

此外

AMC加速

加速

种不

下面来进一步分析有关 代码重写和

重写C/C++代码 FPGA资源

用特定 序

标准

这种类型

sharedMul = x.real * preAdd3; res.real = sharedMul - y.imag * preAdd1; res.imag = sharedMul + y.real * preAdd2; return res;

源占用

乘法代码

图8 - 循环展开

定点

据类型

AMC加速

据类型 支持采用

C++模板

而言

采用这些模板类型来减少FPGA资 并最大限度地降低对

影响 C++代码片段是体

码重写、位宽优化和DSP48s高效利用 最好例

1: void amc_accelerator_top(_) 2: { 3: #pragma HLS allocation instances=mul limit=3*UNROLL_FACTOR operation 4: 5: <function body> 6: CINT64 Marray[MSIZE]; 7: 8: #pragma HLS array_partition variable=Marray cyclic factor=UNROLL_FACTOR dim=1 9: 10: 11:#pragma HLS resource variable=Marray core=RAM_2P 12: <function body> 13: label_compute_M: for (int i=0; i < MSIZE; ++i) 14: { 15:#pragma HLS pipeline 16:#pragma HLS unroll factor=UNROLL_FACTOR 17: <loop body> 18: } 19: <function body> 20: }

需要字长而不 倍

图7所示 优化

据类型(如short、

任意位宽代表整 类型

图7 - 经

高效利用

Vivado HLS工具

preAdd1 = (ap_int<33>)x.real + x.imag; preAdd2 = (ap_int<33>)x.imag - x.real; preAdd3 = (ap_int<33>)y.real + y.imag;

优化

法是在参考C/C++代码中

是字节长度整 在这里

改善

例:位宽优化和

采用内置C/C++ 但

高效地利

从而也

小占位面积

int)

}

2013年春季刊

生成全

所用

具体

例如

CINT64 CMULT32(CINT32 x, CINT32 y){ CINT64 res; ap_int<33> preAdd1, preAdd2, preAdd3; ap_int<65> sharedMul;

C++

码RTL

嵌入式DSP模块(DSP48)

typedef struct { ap_int<64> real; ap_int<64> imag; } CINT64;

DPD配

从而以比手动

有两种非常典型

typedef struct { ap_int<32> real; ap_int<32> imag; } CINT32;

用相

再次修改

指令

列模型中灵活

支持几种不

您还

代码和

出色表

这样

AMC加速

指令

用Vivado HLS工具根据图3所示 配置支持

AMC加速

为了

在Volterra

选择非线

工作

以腾出来继续处

非NEON指令

增量等

让速度

指令来

这些封装

(intrinsics)

此外

ARM处理

正常

而是为指令提供一

划安排到NEON寄存 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24:

由于AMC算法

据类型工作

ON引擎如图6所示

安全运算

优化

SIMD NEON引擎

对64位定点

信领域

在AMC加速

乘法

标准 乘法

中广泛使用

复 算

重点突出了

乘法运算要进行4次 并需要在用全

中使用4

但如图7所示 代码

采用3

P48模块)来 需要使用3

HLS工具生成3

乘法 重写

(使用较少

相当

额外

水线

乘法

字长会增加1位

加法

DS

且乘法

在本例中

Vivado

33 x 32位乘法

提供65位

代码片段 赛灵思中国

讯 47期

18


无线

信领域

出色表

图9 - 处理

复 用4

乘法

相乘

C/C++

原始代码采用内

而32位输入应

进行选择

据类型 中

是一

HLS工具

都与2

以避免丢

64位整

在另一

据类型而言

采用图7中

C++代码功

进 总

水线化 循环展开

在矩阵

资源共享和

如何采用

算回路中

乘法

在图8中

配置展

展开因

阵列进行分区

乘法

对存储矩阵

第15和16行分别显示了

水 线 ( l o o p

而且只要有

Vivado

以便在RTL中

运用

使用Vivado HLS工具 中耗 算回路

赛灵思中国

最长

回路 配置因

47期

HLS还

帮助您指定资 变量

例如

在第11行中将Marray变量映射于 双端口RAM

加速

扩展接口(AXI)

第二

版本也是最

采用赛灵思AXI互联技

术从Zynq处理

统(ARM)向硬

考虑到应用

传输

要求

不用DMA传输

加 带宽

而是使用

AXI互联内核将 AXI4-Lite 主

备连接

备上(如图9所示) AXI4-Lite是一款轻量级单事务

处理、存储

共享

pipelining)和循环展开指令

统与硬

情况下支持

从而避免并行存

如 何 应 用 回 路

处理

到从

第三行

3xUNROLL_FACTOR乘法

AXI4是AXI

调用图7

使用3

HLS指令在回路并行

取问题

集成

信协议为高级

Vivado HLS指

CMULT32函

进行复

选项

在C++代码中对回路进行

已验 是矩阵

人员根据展开

级上用于循环展开 令

集成

(UNROLL_FACTOR)以及

开因

第八行指令

运行AMC算法所需

为此

主要原因是为

19

且每

DSP48

AMC加速 了

C++模

无需任何投射

33 x 32位乘法

都使用4

而Vivado HLS工具只

很好工作

生成3 法

定义为C宏

图8显示了

这相对于DSP48而

言显然昂贵得

根据该代码生成4

64 x 64位乘法

板类型

信息

加速

并将其在

32

乘法

请注意

投射到64位整 (因为

将循环展开

原始参考C++代码使

乘法

统与硬

Lite从

映射接口

AXI互联内核会存储事

务处理ID 复

此外

务处理

连接到AXI4-

并在响应传输

将其恢

AXI4-Lite还负责控制事

且不向AXI4-Lite从

传播任何非法事务处理 AXI FIFO采用加速

图9中

AXI4-Stream接口 输入输出

据进行采样

AXI4-Lite从

对加速 加速

对AMC配置参 2013年春季刊


无线

信领域

出色表

赛灵思 对回 应用 推出完全自适应千兆位级点对点微波调 制解调 IP

DSP 级采用Vivado HLS生成加

在 速

所有

在目标

上成功

接口和AXI4-Lite接口

ZYNQ-7000 SOC

图10显示了不 总

Zynq 7045

加速

成AMC加速

目标是采用

(每次

在Vivado HLS生

中所用

频率为 250 MHz

目标

然而

Vivado HLS 中提高目标 从而生成

Vivado HLS

例如

阶段DPD Zynq-7000 SoC

ZC706开发板

DPD应用

随着高复杂 迎

此款1024QAM微波调制解调 IP解决 将完全 硬 和API 相 合 支 持 一代智 宽带无线解决

串行

将越来越受欢

天线基站中 式

对不

次运行加速 天线

增加 行

也就

DPD应用而言

较低

不断发

对复杂 纯

NEON优化就足够了

钟频率约

加速 效率很高

面积

DSP

利用率提高了3%

支持灵活 在图10中

采用原始代码

解决 代码经

主要瓶颈

优化后

AMC

速度提高了

逻辑中加速AMC后 速度提升到70倍

最后

分区

DSD解决

发射

需求 在此

与协作 感谢

图10 - ZC706开发板上 2013年春季刊

高效

NEON优化又将速度提高了一

一倍 模块

约为1.250秒

且AMC是该应用

而且有助于 满足

型无线

对提出宝贵意见和参

赛灵思DPD

团队表示

2013年2月25日 中国北京 - All Pro-grammable技术和 全球领先企业赛灵思公司 (Xilinx, Inc. (NASDAQ:XLNX))今天宣布推出面向 回 应用 全 千兆位级1024QAM点对点(PtP) 微波调制解调 IP 这款调制解调 解决 在 中充分采纳了一级OEM厂商 宝贵 意见 并采用赛灵思 28nm All Programmable 对于无线OEM厂商来说 这 调制解调 代表了一 巨大 机会 以支持他 在 其低成本高 微波回 平台中集成差异化、灵 活 以及 等功 对于全球电信运营商来说 在他 不断升级 网络以支持激增 移动宽带 量 中 移动回 技术都是一 关键、重点 资本投入领域 这 趋势驱动着OEM厂商利用赛灵思最 调制解调 大幅 开发周期 从而快速向市场推出 灵活 、高 扩展回 平台 赛灵思公司无线 信高级总监Sunil Kar指出:“赛灵思为OEM厂商带来了全 机 遇 赛灵思 All Programmable 逻辑芯片和嵌入式 处理 SoC上 集成 PtP调制解调 解决 IP 不仅 降低总拥有成本 还 加速产品上市 进 1024QAM调制解调 IP具有前所未有 硬 不仅 帮助OEM厂商开发出 领先 类竞争对手整整一代水平 回 平台 而且还 了出色 带宽容量、低 延和低 功耗 ”

这款1024QAM调制解调 IP解决 集 成了OEM厂商加速无线解决 开发所需 所有 关键特 和功 而无线解决 功耗和总体 材料清单(BOM)成本相对于采用ASSP技术 产 品而言 降低了30% 之 这款调制解调 非常 适用于点对点室外部署 支持 E1/T1和 SDH等早期接口以及千兆位以太网等接口 在单 极和双极模式下 据速率分别 扩展到1Gbps 和2Gbps 强 相位抗噪 力有助于优化 备成本 并 充分利用 场 高阶调制功 优势 该调制解调 具有众 关键特 其中包 括:支持从QPSK到1024QAM 高阶调制技术、 3.5-112MHz 信道 隔、自适应调制、自适 应 字 、前向纠错、I/Q不平衡校正、自动 频率恢复、混合判决引导均衡 (Decision Directed Equalizer)以及集成有效负载与配置接 口等 1024QAM调制解调 IP解决 以赛灵思 All Programmable 7 列 为核心 采用先进 28nm 高 低功耗(HPL)工艺技术制造而 成 不仅提供了突破 、容量和 统集成 度 还有助于优化 价比和降低功耗 赛灵思中国

讯 47期

20


MicroBlaze如何 与Zynq SoC 和平共存 专家园地

21

赛灵思中国通讯

47期

2013年春季刊


专家园地

作者:Bill Kafig 赛灵思公司高级内容开发工程师 bill.kafig@xilinx.com Praveen Venugopal 赛灵思公司解决方案开发工程师 pvenugo@xilinx.com

向基于Xilinx Zynq All Programmable SoC的设计 添加MicroBlaze处理器相当简单。 灵思 Zynq™-7000 All Pro-

(也就是完成了处理任务时)就能看

grammable SoC 已具有很

看接下来需要处理什么信息。

强的板载处理能力。但是

Zynq应用处理单元(APU)中强大的双

一旦您决定在基于Zynq的设计中

Cortex™-A9处理器和相关外设的存

添加一个MicroBlaze处理器,马上就 会发现一些问题。首要问题就是APU

在并不妨碍您在同一封装中添加一个

如何与MicroBlaze通信,哪些处理系

或多个MicroBlaze™处理器,只要能

统(PS)资源可供MicroBlaze使用。包

让应用受益就好。

括ZC702和Zedboard等在内的许多开

为什么要给处理功能已经很强大

发板将许多外设直接映射到与处理系

的解决方案添加MicroBlaze呢?首先

统相连的引脚。可编程逻辑(PL)中,

就是可靠性的问题。单线程会大幅提

这些引脚不能直接访问MicroBlaze。

高可靠性。您可以针对计算密集型任

处理系统还包含多种不同定时器和中

务为每个Cortex-A9都布置

断资源。有什么办法能从MicroBlaze 领域访问这些资源吗?

一个线程,而且能根据需要为其它 线程实例化任何数量的MicroBlaze

PS与PL之间的接口

处理器。其次,您可将任何杂务交给

MicroBlaze去完成,让处理功能强大

处理器系统和可编程逻辑紧密结

的Cortex-A9去执行最需要它的工作,

合,这意味着Cortex-A9、窥探控制

充分发挥其用武之地,从而节省数个

单元(SCU)、PS外设、时钟管理及其

关键的工作周期。

它功能与可编程逻辑之间存在多个紧

下面这个例子能反映以上两种情

密的集成连接。事实上,PS和PL之

况。设想一下,一个任务需要长期高

间共有6种不同类型的互联,您可将

强度计算,同时还要监控用户输入。

这些互联类型彼此结合使用。此外,

这里,MicroBlaze可管理用户输入

许多路径是对称的,也就是说PC能启

(频率较低、计算强度不高),并写

动到PL的连接,而PL也能启动到PS

入APU存储器空间,这样APU闲置时

的连接。

? 图1 - PL中PS和MicroBlaze的边界是一片雷区吗?二者能否共享资源? 2013年春季刊

赛灵思中国通讯 47期

22


专家园地

赛灵思公司目前提供的应用指 南、用户指南和白皮书等大量资料均

介绍了作为设计“核心”的Zynq-

7000 APU 如何利用可编程逻辑来访

问存储器、基于PL的外设和硬芯片外 设(如PCIe ® 模块、BRAM、DSP48 和千兆位级收发器等)。要分析

MicroBlaze如何成为其自身领域的主 导,逻辑上的第一步就是看看6个接口 变量,首先从通用、高性能和加速器 一致性端口这三类AXI接口入手。 PS有两个连接到PL的主AXI通道 和两个由PL启动的从通道(图2)。

这里的“主”是指AXI通道为发起 方,能启动数据交换,而“从”只能

图2 - 到处理系统中央互联的简化连接

用于响应到达的数据。主AXI通道通 常用来与PL中的外设通信。从AXI通 道负责响应PL的请求,其中可能包括

MicroBlaze处理器所执行的事务处 理。这些AXI通道连接到PS的中央互 联,可路由到许多资源。 此外,还有4个高性能(64位

宽)AXI通道连接点。从PS角度来

说,所有这4个通道均为从通道,连 接至PS中的存储器接口子系统(图

3)。这4个通道的目的就是让PS中的 主设备启动DDR存储器事务处理。 这种存储器互联和DDR存储器控

制器是所有资源到DDR存储器的门

户。虽然Cortex-A9处理器的优先 级通常高于从AXI连接,但4个AXI连 接中每个都有一个“现在为我服务” 信号,能让发出该请求的通道获得优

先级。未断言该信号时,架构、采用 循环机制确定哪个请求方有权访问特 定类型存储器。. 加速器一致性端口(ACP)是另一

种PL的32位 AXI PS 从连接。ACP 的 23

赛灵思中国通讯

47期

图3 - 到DDR存储器控制器和片上存储器(OCM)的简化连接

独特之处在于它直接连接到SCU中。S

除了AXI链接之外,可扩展多路输

CU的任务就是确保L1、L2和DDR

入输出(EMIO)信号也可用于路由许多PS

存储器之间的一致性。采用ACP,您

的硬外设直至PL,以便访问封装引脚。

的高速缓存存储器,而不必担心与主

PS,不过PS的硬外设可使用的引脚数

存储器中的数据同步问题(硬件会自

量大大超过54个。EMIO是PS硬外设和

能访问PS中的每个 Cortex- A9 处理器

只有54个封装引脚直接连接到

动处理好这个问题)。该功能不仅可

PL之间的通道。这些I/O信号可直接路由

大幅降低设计负担,而且还能显著加

到PL可用的封装引脚,而您也可利用这

速处理器与PL间的数据传输。

些引脚与PL中兼容的外设进行通信。 2013年春季刊


专家园地

PS和PL之间另外的各种杂项信

号可以分为5个基本类:时钟与

复位、中断信号、事件信号、空闲

AXI与DDR存储器信号,以及DMA 信号。 • 时钟与复位:PS为PL提供4个独立 的可编程频率。通常这些时钟之一 用于AXI连接。每个时钟域都有自己 的域复位信号,可重设与该域关联 的任何器件。 • 中断信号:PS中的通用中断控制器

(GIC)负责收集所有可用源的中断,

包括PS外设的所有中断源和可编程

• 空闲AXI与DDR存储器信号:PS的

逻辑的16个“外设”类型中断。此

空闲AXI信号用来指示PL中没有未

外,还有4个连接到CPU(IRQ0、

IRQ1、FIQ0和FIQ1)的直接中断。 来自PS外设的共28个中断可提供

给PL。 • 事件信号:这些“带外”异步信号

说明PS的特殊情况。PS提供一系 列信号用于表明哪个CPU进入待机

处理的AXI事务处理。该信号由PL 驱动,是用来启动PS总线时钟关断 功能的条件之一,确保所有PL总线 器件均处于闲置状态。DDR紧急/仲 裁信号用来向 PS DDR 存储器控制 器的4个AXI端口DDR仲裁表示关键 的存储器处于紧张状况。

模式,哪个CPU执行了SEV(“发

• DMA信号:PS的直接存储器访

送事件”)指令。PS可用事件信号

问(DMA)模块通过一系列“请求和确

从WFE(“等待事件”)状态中

认”信号与PL从设备通信。

唤醒。

访问DDR存储器 我们下面来分析一个设计实例, 该实例涵盖了典型MicroBlaze用户可 能涉及的几个常见的需求,比如如何

访问DDR存储器;如何使用PS IOP中 的外设;如何在MicroBlaze和PS之间

传输数据块;如何在MicroBlaze和 PS之间实现事件同步等。图4给出了 解决每种问题的方法(分别标识为1、

2、3、4)。

访问DDR存储器最简单方法就是 通过4个高性能(HP)AXI接口的一个或 多个连接(方框图右上方)。4个64位 宽端口可供可编程逻辑访问。您首先 必须启用一个端口,然后连接AXI到端 口。MicroBlaze采用AXI4-Lite接

口,而HP端口则应用作全AXI4连接。 所幸的是,赛灵思设计工具可自动弥 补,无需任何手动修改就确保实现成 功连接。方框图中①显示了该连接。 这类连接的优势在于创建起来非常简 单,而DDR存储器对设计来说就是常 图4 - 硬件设计实例方框图;数字表示:1、访问DDR存储器的途径;2、PS IOP中的外设使用;3、如何在MicroBlaze和PS之间传输数据块;4、如何在MicroBlaze和PS之间 实现事件同步。 2013年春季刊

规存储器。而不足之处在于,AXI-Lite 不支持突发模式,而且只有32位宽, 因此会丧失不少性能。 赛灵思中国通讯 47期

24


专家园地

还可通过其它方法将基于PL的外

BRAM控制器。此外还有两个连接:

设连接到DDR存储器,比如采用DM

一个是到S_AXI_GP0的连接,用于实

A控制器,同样也可采用HP端口。虽 然这种连接机制更复杂,但能提高大 数据块的传输性能。

MicroBlaze则为其另一侧主设备。软 件负责管理分区和共享BRAM存储器空

现PS内部外设的寻址;另一个到高性

间的使用,因为两侧都有权对存储器

能端口的连接,可让MicroBlaze访问D

的全部内容进行全面读取和写入。

DR存储器部分。

最终问题涉及如何在MicroBlaze 和PS之间同步事件。PS包括大量定时 器,您能对PL中任意数量的定时器实 例化。设计实例中采用了一个TTC外 设中的一个通道来生成100毫秒的脉冲 信号(图中的④)。这里的关键是要 认识到TTC生成的波形能从PS以外访 问,但TTC中断只能在PS以内可用。

您可用波形本身作为MicroBlaze中 断,从而规避这个问题。此外,您也

可采用硬件定时器(AXI定时器或用户 编码的定时器)为PS和MicroBlaze提 图5 - 独立软件域和重叠项

在PS中启用UART和三重定时 器/计数器(TTC)。M_AXI_GP0连接 的BRAM控制器位于PL中,但从概念 上说是PS设计的组成部分(实际上也 是PS设计的一部分)。 MicroBlaze作为设计的另一部分 采用BRAM提供64KB的整合代码和数 据空间,供MicroBlaze专用。显然,

外设、数据模块和同步

到 PS S_AXI_GP0 端口的连接是

供中断。

软件支持 与任何嵌入式设计一样,您要考

访问可编程系统IOP模块的关键(图中

虑的不光是硬件实现问题,还要考虑

的②)。S代表这是一个从端口,也

软件支持。对本例而言,要考虑两个

就是接受PL中的组件启动的事务

处理器的重叠区域(如图5所示)。

处理。在MicroBlaze和S_AXI_GP0端

口之间建立连接时,IOP模块可从

0xE000_0000扩展到0xE02F_FFFF,

就硬件而言,要把系统视为两个

相互交叉的嵌入式设计:PS和

我们能连接这些端口到PS的HP端口

这意味着 MicroBlaze 地址空间中的其

MicroBlaze。我们的参考设计可让PS

以访问DDR存储器,不过这样做会让

它外设都不能重叠于这段地址,而这

为其自身和MicroBlaze生成时钟信号

实现工作变得更复杂。

段地址将供处理器共享。

并提供中断。MicroBlaze可使用这些

有3个连接到MicroBlaze的标准

与此同时,许多机制均支持

外设:一个是负责接收TTC的PWM

MicroBlaze和PS之间的数据块传输。

波形输入并将其解释为中断源和接收

往返DMA和DDR以及DMA和片上存

信号,但不能影响或对其修改。PS和

PL共用PS的IOP模块、DDR存储器与 控制器以及常见的双端口BRAM。

个是负责驱动ZC702开发板上8个

储器(OCM)就是两个可能性。另一

从地址映射角度看,IOP地址固定

种就是在设计实例中实现的机制,

在硬件中,不能修改。MicroBlaze和

PS所连接的同一BRAM的B侧的

PS为BRAM控制器一侧主设备,而

的UART字符中断的中断控制器;一 LED的GPIO,第三个是用于连接到

25

赛灵思中国通讯

47期

其使用双端口BRAM(图中的③)。

Cortex-A9必须对外设使用相同的地 址。技术参考手册在这方面做了详细说

2013年春季刊


专家园地

图6 - Cortex-A9应用和MicroBlaze应用流程图

明,非常具有参考价值。技术参考手

跟以前一样,数据冲突、同步和存储

ASCII到PS IOP模块的串行端口。此

册分两部分对解决设计中的外设问题

器分配也是读者要完成的工作。

外,它会构建接收字符串,每收到一

进行了阐述,见涉及特定外设的章节 (如第8节:定时器和第19节:UART 控制器)以及列出每个外设所有寄存

我们的软件设计实例更主要的目

的是演示连接Cortex-A9和

器的附件B。这部分中的所有寄存器

MicroBlaze的过程,而不是要做任何

都列出了地址和简介,管理两个处理

实际的工作。一些方法将演示这方面

器之间的资源则是用户要开展的一项

的可能性。

任务,要避免数据冲突,避免资源不 足等。

图6左侧所示的Zynq-7000 应用是一款简单的设计,其采用赛灵

采用DDR存储器及其控制器比较

思单机版板支持包。它运行的程序很

简单,因为DDR存储器控制器能管理

大程度上让处理器保持空闲状态,只

冲突问题,而且提供适当的启发避免

是周期性地通过串行端口发出T字符

任何请求方无法获得数据。由于这不

表明自己仍在工作。此外,它会计算

在用户控制下,时延可能会有些难以

T的次数并将计数统计保存在BRAM

预见。

中,与MicroBlaze共享。

个字符都保存在DDR存储器中。收到 回车后,将计算校验和,并在字符串 后直接添加到DDR存储器。BRAM预 先设定的位置处设置标记,当Cortex 代码“看到”标记时就从DDR存储器 读取字符串,并验证校验和。如果校 验和准确,MicroBlaze发出“+”, 否则发出“X”。 简而言之,设计实例证明

MicroBlaze 和 Zynq7000 PS 完全能 和平共处。AXI 连接点数量很多,使 MicroBlaze(或PL中的任何组件)能

方便地访问IOP模块中的外设、OCM 和DDR。可编程逻辑能方便地访问 IOP模块的中断,而PL中能生成一系

常见的BRAM采用相同的较低地

MicroBlaze应用也运行单机版板

址位,不过针对该模块的每个处理器

支持套件。这样就能支持中断,每次

列中断并发送给PS。软件协调和定义

串行端口上出现字符,MicroBlaze就

良好的行为是避免争抢情况和寻址冲

把字符缓存起来,并发送对应的Hex-

突的关键。

存储器空间的位置可用Xilinx

Platform Studio的地址标签来选择。

2013年春季刊

赛灵思中国通讯 47期

26


:F P G A 1 0 1

手把手

调 高速 存储器 :David J. Easton DesignVerify 公司创始人 david.easton@designandverify.com

27

赛灵思中国通讯

47期

2013年春季刊


:FPGA

手把手

许 口

都采 高速存储器接 FPGA 可能调 比较 不过 要采 正确的方法就能成功进行调 。 FPGA通常连接高速

SRAM和SDRAM存储器。 要确

这种器件无差错运

起来可能比较

须确

包括电路板布局

准确无误

才能实现

存储器

您在调

因素

灵思CORE Generator屏幕截图 细介绍了MIG3.6.1中支 件系列和存储器。此外

SRAM和SDRAM存储 而这些

方法。下面我将

介绍的高效 程模型采 的是赛 灵思Virtex®-4和Virtex-5 FPGA 然 而Virtex-6和7系列器件也同样存在问 题和相应的解决方案。我和同事采 赛灵思存储器接口生成器(MIG)

可支

的赛灵思器 还有

款7系

赛灵思最新器件。

MIG通过图形

界面(GUI)输入

存储器和FPGA类型的详细信息

最后

生成VHDL语言或Verilog语言的寄存

高速存储器接口时必须确 适当的调

生成所有的存储器IP核 并通过赛灵 思ISE® 来进行 的综 和布局

器传输级(RTL)文件 接口的

约束文件(UCF)。您可将这

两类文件与 综

方案的其它部分进行

MIG还可生成基础架构

。此外

模块

有关存储器

为存储器接口提供所需的时钟

和复位。此外 台电路

写操

还提供测

在详细分析特定 我们不妨

验证正常运行。您可从

赛灵思网站下载MIG

其支

的内建自测

的特性之

来看看赛灵思MIG

针对赛灵思FPGA的存储器校 我们

来生成存储器器件的读

FPGA和存储器的完整介绍。

布线。

准过程

DDR2 SDRAM和QDR-II SRAM等各

电源和

款切实可行的

些问题

SRAM

可为DDR-II

种类型存储器生成接口。图1显示了赛

问题有可能会让您头疼好几天。 采

的MIG

列MIG

器时可能会遇到 和调

核。从赛灵思CORE Generator™调

。我们必

FPGA中存储器接口电路等诸

101

来验证存储器接口

(BIST)电路。

校准

意事

为了确 到FPGA中

从存储器准确捕获数据 存储器接口内核应在使

读取数据路径前对其进行校准。校准 过程在加电时自动进行。基本而言

赛灵思存储器接口生成器 赛灵思提供存储器接口生成器 为其FPGA器件生成存储器接口内 2013年春季刊

数据训练模式被写入到存储器中 后不断读回。这是过程分三

阶段:

阶段要让读取数据窗口相对于数 赛灵思中国通讯 47期

28


:FPGA

手把手

101

少信号之间的串扰

为所有器件提供适

当的去耦。FPGA和存储器有许 源

通常采

的组

开关稳压器和线性稳压器

方式进行供电 使

指南确

应根据制造商的

所有这些器件正常运

行。您虽然需要花时间研究FPGA和存 储器的电源的原理图 信息

布局方面的详细

但会显著缩短调

时间

可谓磨

刀不误砍柴 。 下面

图1- CORE Generator MIG

据选通信号居中 据进行

时;

对进入FPGA的数

二阶段要确

居中的

数据和时钟同步于FPGA时钟域

A

walking 0

步分析使

walking 1

实例。全部实例均 顺序

数据和伪随机二进制序列(PRBS)数据

现类似的症状

就是在存储器成功校准后 而每

实例中的

错的原因各异。我们

通过反复运行BIST测 器发现了这些误

等。BIST电路在主机接口控制下运行

而使数据能在输入触发器和FPGA架

并报告所发现的任何错误。BIST电路

码。还有

构中的触发器之间传输;

可存储所发现的任何数据错误的地

板都成功通过了JTAG测 。

提供读取验证信号。赛灵思MIG文档

全面介绍了各种不同类型的存储器校

的信号。图2显示了通

准过程。

(BIST)

我们采 赛灵思MIG 存储器接口

。不过在

例中我们则不 MIG

电路

生成所有 些

程。我们使

的FPGA所在的电路板是针对各种

或哪些数据位是错误 的方框

MIG内核对应于电路板上特定的

DDR-II

时钟生成器和内建自测

和应

并发

SRAM

DDR2

QDR-II SRAM存储器。

SDRAM或

现误码。然

三阶段则

前述

BIST电路测 中 现误码的三 存储器

赛灵思FPGA。

5

我们来进

点需要指

的是

所有电路

实例1:连接 DDR-II SRAM 的

VIRTEX-4 电路板 该电路板采 接了

的Virtex-4 FPGA连

运行频率为 200

MHz

需要反复强调的是

任何FPGA存

DDR-II SRAM存储器。在存储器接口

储器接口要正常运行

就必须遵循

成功校准后

FPGA和存储器的PCB布局建议。必须

并 开 始 进 行 BIST测

现了单误码。这种错误

现在

让器件之间的轨道长度相匹配 尽可能

不同的存储器位置和数据字中的不同

地减少歪斜 同时也有必要尽可能地减

比特位置。

的。因此我们要

定制时钟生成器与复位模块 应

提供

所需的所有时钟和复位。这

໢፬ໍ‫ڈ‬ධञ ࡉၤ

意味着应移除MIG生成的基础架构模块 并从我们的定制模块为存储器接口提 供时钟和复位。 此外

T模块

᎐঩

我们还

29

来对存储器进行全面的测

MIG ೗ज

‫ڿ܃‬ධ

47期

FPGA

各种数据模式

存储器的位置

赛灵思中国通讯

BIST

自己的定制BIS

这就要通过使 读/写每

᎐঩ ਾଁ

包括0

F

图2 - 该存储器接口方框图中的MIG内核对应于电路板上特定的存储器。 2013年春季刊


:FPGA

手把手

我们所做的

件事就是测量所有

FPGA和存储器的电源

发现其都在正

确的电压规范内运行。我们再检查电路 板上的振荡器 其频率也正确 信号也 没有过 的抖动。接下来我们决定在进 行BIST测

时使

示波器再次检查

电压。 1.8V稳

存储器电源电压VDD采 压器供电 电压

现过

的纹波

了存储

发现其输

的值加

的水平

这样输

准确

纹波下降至可接受 电压就在规范要求

误码也消失了。

VIRTEX-5 电路板

我们 二 实例中的电路板采 的

Virtex-5 FPGA连接了

运行频率为

250 MHz 的 DDR2 SDRAM 存储器。 该存储器接口成功进行校准后 并在开 始进行BIST测

现单误码。这

种错误 现在不同的存储器位置和数据 字中的不同比特位置 随后数据字中的 每 比特都 错。 跟

实例

我们也检查 发现

规范要求。我们决定再检查

BIST运行时的所有电源电压。存储器 的电压参考输入VREF 电。该稳压器还给其它 器有些超载 规范

由稳压器供 些电路供

的情况下

稳压

VREF上的电压降到电压

下。我们修改稳压器电路

不同电源为其供电 电压规范 2013年春季刊

FPGA连接了

的Virtex-5 频率为

250 MHz 的QDR-II SRAM存储器。这 里

现了两

故障机制。

故障

是有时存储器接口无法进行校准。存 储器接口在校准完成时被断言输 cal_done状态位

监测这 可

需要通过

而C

Q/CQ#输 时钟则不会稳定。校准有时 会通过 有时会失败 不过即便校准通 过了 也不能达到最佳结果;因此会在

随后BIST运行时

现误码。校准

SIM_ONLY generic能为K/K#时钟提供 200微秒的时间让其达到稳定。

旦我

们校准了SIM_ONLY generic 我们的

校准和误码问题也就消失了。

过程来确定存储器接口是否

૰༄‫֊௸ݢ‬৹‫ك‬

二 故障是我们发现即便存储器 接口完成校准阶段 重复BIST测 都报 告 现误码。这里我们还是检查电路板 上的电压和时钟

再检查FPGA

৹‫ݢي‬ኑ

RTL

久或FPGA复位后

了问题

因为这之

JTAG‫ك‬༅֊

生 成 的

৹‫ي‬໢፬ञ൮ఋ

后马上就要进行校准。 赛 灵 思 M I G

QDR-II存储器接口为SIM_ONLY

generic

实例化时在顶层模块

对该接口进行 置。其目的是避免仿真 过程中200微秒的加电延迟

৹‫ي‬FPGAࡉၤߴߟ

从而加速

仿真。存储器接口 在硬件中时 我们 必须把 SIM generic 支

200微秒的延迟

为0 这样才能

৹‫ي‬FPGA໢ᅗ༆க

而在仿真时则应

为1来避免延迟。

了所有电路板上的电源和时钟

电。在所有电路

电路板采

校准过程在PLL锁定前就运行了

。由于校准失败 这说明加电后不

实例2:连接 DDR2 SDRAM 的

其都符

平滑电容的值不准

仅为要求的10%。我们

VIRTEX-5 电路板

我们发现稳压器的输

器的电压规范要求。我们检查稳压器 电路

实例3:连接 QDR-II SRAM 的

101

这样VREF电压符

且误码也消失了。

QDR-II存储器的输入时钟为

ከᄵ೗ਓᏋ৹‫ك‬

K/K# 由存储器接口提供;输 时钟为

CQ/CQ#

由存储器的内部锁相环

(PLL)生成 也可参考于K/K#时钟。CQ /CQ#输 时钟可 据

ከᄵBIST໢৹‫ݢي‬ኑ

对进入FPGA的数

时。PLL需要准确锁定

这通常需

要大约20微秒的稳定K/K#时钟。

٫ၫከᄵBIST

我们发现SIM_ONLY generic 置

图3 程会发现硬件和固件中 的问题。

不准确 因此在系统复位后马上进行校 准 这时我们刚刚开始输 K/K#时钟。

类似于此的典型调

赛灵思中国通讯 47期

30


:FPGA

手把手

101

我不得不尴尬地承认

方法

SIM_ONLY问题曾绊住我不止

这也让不少同事感到有趣。为了避免 现相同的问题

请确

顶层

将-

generic

为始终支

仿真测

平台应始终在仿真时避免延

迟。

时要避免让

加电延迟

而且

程师总是必须

记着要在仿真或构建硬件测 前修改SIM_ONLY generic 齐

之 因为

程师就会忘记。

2013年1月31日

和调 高速存储器接口时

很好的方法即是采 电路板布局正 确的PCB。此外 FPGA 采

ISE

于完整的

实现时序收敛。必须重

我们这3 实例中发现的问题相对 比较直观 比较好发现和纠正 但有 时候情况并不这么简单。在涉 高速

赛灵思Vivado™

套件是

有强大的功能

大里程碑事件。赛灵思20nm

系列

供支

套件将进

基础之上

成和实现速度提高4倍

还可为ASIC与ASSP提供极

吸引力

副总裁Victor Peng指 :“在28nm技 们的

赛灵思全力

赴让我

和技术实现了

。在20nm技术节点

的 我们要同样

。 我们正在积极地行动 着 致力于尽快把我们的新 和器件交付到我们的 31

赛灵思中国通讯

47期

性能提升3

2013年 其首款采

部高级

手中”。

进程

20nm

可将集

速度等级。

动部署下

赛灵思将

据中心

域更智能 系统的各

紧密

将得到大

如需进

步了解赛灵思在20nm

进。

的 下 网 址 :

http://www.xilinx.com/cn/about/gen 艺的

。同时

eration-ahead-20nm/index.htm。

赛灵思对 系列进

可满足有线/无线网络 视觉系统

赛灵思将为战略

其20nm All Programmable 行了

。自

。随着本季度

欢 迎 访 问

使他们可 应

的战略

技术上如何

台积电20SoC制造

提供

赛灵思同越来越 进行早期

而且功耗降低

二季度

。届时

2012年11月有关技术文档发布

20nm

而且

方案。

赛灵思公司可编程平台

术节点上

系列不仅能满足下

各种各样系统的广泛需求 的可编程替

步加快

10

开展20nm架构评估与实现

将为即将

。在20nm技术节点上

早期

赛灵思目前正同首

20nm器件提

的首

建立在其业经验证的28nm突破性技术

。其20nm

10

针对可编程器件的SoC增强型 在2013年3月

DesignVerify公司是 总部位 于苏格兰的咨询公司 专 从事FPGA 和CPLD器件 和验证 。如欲了 解 更 详 情 敬 请 访 问 : www.designandverify.com。

针对20nm器件的

套件

编程系统集成方面拥有着

硬件和固件都

图3给 了通常应采 的调 方 法。不幸的是 有时在调 新硬件情况 下我们往往面临很大的压力 情况会变 糟 可能发生各种各样的问题 特别是 SIM_ONLY generic!

10 20nm

的三

低功耗和可

20nm

20nm All Programmable器件

在系统性能

会掩盖住潜在的问题。

Programmable技术和器件的全球 DAQ:XLNX))今天宣布下

准确应

就可能 现各种各样的时序错误 而且

中国北京-All

企业赛灵思公司(Xilinx, Inc. (NAS-

我们还让时序约束

点强调的是 如果没有实现时序收敛

Xilinx

20nm

存储器的FPGA 可能 问题。

其它高性能应

高度集成

高带宽需求

要求。 2013年春季刊


:F P G A 1 0 1

在硬件 中 采 FPGA 基本 点 作者:Adam Taylor 首席 师 EADS Astrium公司 aptaylor@theiet.org

32

赛灵思中国通讯

47期

2013年春季刊


:F P G A

101

许多 师 为 只 定义了FPGA 功 作 算 了 但实 上将FPGA 入PCB时 也会面 系列挑战

对 标

许多 来说

趣 实现

在FPGA中实现功

上在印刷

硬件级

挑战

否足够

项目经

并实现时序收敛

但实

FPGA

实现您想 目

路板上

作也会出现很多有

只有

些挑战才

起点均在

架构

硬件开

定义

方案

架构

发第 架构应该对应

系统

确它们如何在硬件中得 不同系统 系统

体明

实现

虽然

体应

而且每

也大相径庭

系统均包含

同时也应该对经常需

硬件模块进

复利

像您

HDL模块

FPGA

实例

FPGA系统时通常需

您会进

因素 2013年春季刊

否提供

些资

寻找器件

体资

子系列

逻辑或高速串行链

I/O

输入输出数量会同时

器件选择

封装选择

提供几种不同

因为 封装选

每种选择还提供不同数量 里通常需

注意

如何升级 各种器件

而且 否

户 您应当

考虑所选

有通

封装

尺寸

器件选择

FPGA器件

器或

LX或Spartan-6 LXT

系列

在大量

方说

则应选择赛灵思Spartan®-6

考虑今

因素

根据

方说如果需

款器件

考虑

缩小器件选择

在许多情况

体架构

而两侧则列出了

其它资

影响

架构

器件所需

图2分别给出了

以进

图1

器件

DSP slice或乘法器、嵌入式

但很多

架构模块

以很快将选

细化选择标准

高速串行链路等

架构各有差异

有限数量

再进

您系统

些参数

择范围细化 适当

作频率

根据 您

来以所需

FPGA中找

此外

选择

作环境

合适

选择涉及许多因素 该FPGA提供什么

够了

首 资

选择器件时您还应考虑 举例来说 否需

商业组件

业、医疗或汽车

部件?某些情况

系统

赛灵思中国通讯 47期

33


:F P G A

101

配置存储器

NVRAM

控制

数据

地址

配置

同步 红色

收发器数据 CAN IF

FPGA

显示 IF

绿色

发射器数据

蓝色

JTAG JTAG 连接器 时钟[7:0]

内核电压 I/O电压 电源

像素时钟

时钟

其它电压 复位 图1 - 典型

或航天级

此外 构

您还必须 基

足应

组件

您还应考虑在

考虑

SRAM

FPGA

配置架 否满

需求?或者说赛灵思Spartan-

3AN系列

否更 大

非易失

方案

些?

安全

考虑因素

如果应

安全

同样也 需

定制航天

本预算

任务

因素

器件刚

大额定值以

以外

故障

根据 会导

并努

作为

声誉

本当然

您应制定目

确保在

本限度

破坏

挫等

此在选择应

不同

包括导

中减少 器件时

器件所承受

配置并开

公司质量 靠 应

您必须考虑

选择 压轨上

组件 作

在项目早期进行 架构

赛灵思提供功

动态

47期

关键

影响项 部分

压通常介

0.9 V

架构

FPGA

1.5 V

以准确评估

在 以

估算

子数据

网 址

载 :

http://www.origin.xilinx.com/prod-

ucts/design_tools/logic_design/xpe. htm

子数据表中

根据选定

器件

环境参数选择FPGA资

时钟

速率

翻转率

做出更谨慎

因素往往被忽视 核心

架构 赛灵思中国通讯

够在

而且器

估算非常

如果您不确定 选择

明确了FPGA

器件选择

特别

种器

很高

做出悲观考虑而不

选择上也很

相同

终应

为了生产出

您必须在

静态

作条件

作任务

FPGA而言

件需

会大幅

在推荐

各种

相对

靠 直

也很大

如果我们选

那么

架构

标准

34

因为系统

组件

大额定值

上述许多参数在系统中其它器 件

组件

否有组件

所有制造商

人员伤亡 进行量产或

数据手册都给出了器件

据流进行加密

标准降

应考虑避免读回并对数

论应

体系统架构

系统

乐观 求

体功

基础上明确 有

对估算

系统需

旦 将其

预算中

并在此

架构 较大

我们建议

采 开关DC/DC转换器保持 体效率 2013年春季刊


确保单元散热 流较

不 很复杂 如果需 而且系统必须特别注意

避免噪声 也

说为高速串行链路或

敏感型 ADC、DAC 组件提供

实现

列去耦

容值

谐振频率

频率

上升而

将帮助您

数量

应 杂

套件中

XPower Analyzer获得详细

实现

估 架构

此外

方案

减少额外 方案

您还应注意

任何

够满足

压轨

现 压

去耦

器件

开关速度

快很多倍 容

压器上升时 应让去耦 间

时钟

您还应考虑板上器件

容时

种 轨 容

阻抗曲线

系统需

误码率

而高噪声

高抖动

如此

0.1Ω

而且

1 GHz

隔离 DC/DC

稳定

关键参数

振荡器稳定

单位为PPM(百万分

为+/-50 PPM或+/-100 PPM

中间 电压

通常

FPGA

差分

单端输出

DAC

抖动

时情况

以上

时钟域

开关 稳压器

I/O 电压

线性 电压

如果不

影 尤其

在内部支持多

因此目前系统通常采

核心电压

正弦波振荡器作为主

钟域

开关 稳压器

复位

图2 - 典型

降时间

在ADC

列 率

减少EMI

以减少相位噪声

想情况

值在结合PCB

时钟 响

输出频

单 加

差分

其中振荡器所需

抗噪

LVDS

标准

通常让逻辑级振荡器在所需频率 注意

噪声水平

端LVCMOS或LVTTL输出

考虑振荡器时

DAC上

系统将采

开关 稳压器

2013年春季刊

相位噪声 时钟

抖动

噪声有助

或LVPECL等差分

并确保您

至少

噪声

您还应考虑输出

当稳

会导

话应在 100 kHz

IP电压

从而降

复位树

如果不采

保持

相位

因为

速上升

去耦 调节

速链路

作 此外

抖动

则会增加ADC

轨排序或斜坡速率

振荡器通常还需

非常

有助

提供时钟 噪声

抑制

器件也

值都有不同

种方法

细阅读 体器件 数据手册

该使

101

驱动高速串行链路或为ADC/DAC

而PSRR在某些器件上会随

您都应该仔

FPGA 赛灵思ISE®

应采

(PSRR)值不佳

话 那么您 采 线 稳压器 额外 滤波机制 在所有情况

:F P G A

DLL、

其它电压

复位

架构

赛灵思中国通讯 47期

35


:F P G A

101

许多FPGA

都需

连接

确保其 复位 因为 DCM或PLL等内部时钟资 分频

那么

速时钟 不同

人员往往会采

速率时钟相结合 协议或算法也会需

钟频率

从而在

时钟域

不同

图3给出了典型

各种器件

机出现

按钮正确

许多

旦达

板上振荡器将开

时间

复位被断言 荡器稳定

会随 作范围 但稳定

因此

确保板上

压轨上升并且振

来不失为

办法

FPGA潜在

将受

扇出影响 滤波

以控制

因此

确保假

EMI不会导

在FPGA

寄存器 行

RAM

化)

意确保复位 件

也 导

复位

作为配置

时钟

FPGA 全

被分配

而硬件

师紧密合作

正确 全

师必须与 确保采

正确

I/O 标准

划器件I/O

PlanAhead™等

实施

部分

作需 人员

减少 里

系列单端

I/O规划

器件

分配规则

优势在

当采

旁 支持

FPGA

差分

确保bank 硬件

密切配合 压轨

体现出来了

型 旦

说时钟边缘 因此

47期

赛灵思

拉入引脚分配并 合规

高速串行链路时

因为您必须确保

作 引脚

户I/O未被使

噪声

耦合

您还应考虑 不

频率

否 轨上

需求

(记住 而

定迹线

边缘速率)

支持片上端接 当然

多长

大多数FPGA

从而减少对分立组件 种方法只有在您将

主时钟

冗余时钟

时钟 选择

Clock[0] Clock[1] 时钟 扇出

Clock[2] Clock[3]

FPGA

部分进

Clock[6]

Clock[5]

Clock[7]

亚稳定 复位移除 像素 时钟

我们应当对

所有时钟域进行准确同

赛灵思中国通讯

使

从而影响链路

应该端接 接口

功规

bank分配规则与

HSSL

则意外

大挑战 师

Mentor

或采

Graphics I/O Designer

尤其有

FPGA

I/O标准

检查I/O

图3 - 典型 36

了原

Clock[4]

在FPGA中

移除不

亚稳定

输入风格

复位分配

时才连接

SRAM而言

此外

请确保将时钟

中您还必须

注意确保只有在真正需 复位(请记住

会随机出现

进行大幅

统意外复位 此外

在系统加

或执行命令时通 因为

时钟

连接

确保其

复位

以控制

部时钟资

复位

时钟树

都需

复位

此外

中创建多

许多FPGA

正确

实现所需

各种器件

像素时钟

时钟树 2013年春季刊


印刷 才

路板协议栈定义为

控阻抗时

正确发挥作

协议栈中还有 确保 而支持

机械

散热注意

此外

硬件

师还应同参与项

机械

师紧密合作

外形、连接器位置等

A会变得很热

FPG

注意散热

影响机械

(风扇)或散热带 所需

明确物

返回

容耦合

升了去耦效果

彼此靠近 种

PCB基板

您在

作为去耦

图4显示了典型

强制气流

系列约束条件 将模拟

分离

引导

数字组件进行

份清单还应指定 分组

阻抗

协助开展

中总线

长度匹配约束 任务

为了

较有

指定渡越时间

硬件时 考虑

散热片等以实现

还必须为

组件

置使得两

PCB协议栈

控多

101

作环境 如果应

在严苛或恶劣

环境

1. FPGA本身:系统

会对PCB

提出

(高速串行连接、嵌入式

冲击

2.

机械

更多约束

因为您还

振动水平等因素 集

PCB

机械

系统

考虑 根据所 师应

路板外形、保留区

轮廓线

间不发生冲突

3. 配置:现 件

选择不同

路板

实现系统所需 领域

何高

系统而言 控阻抗 求

应商

PCB

PCB

为实现

明确

协议栈以及相应

分离对 至关

实现

控阻抗

算微带线

而分别为单端

链:

2013年春季刊

5. 时钟

点对敏感

众多

压轨、

更高

来配置FPGA

尤其

存储器来存储配置数据

您应选择对

种器

配置方法

配置存储器

也支持制

发现制造

复位树:提供FPGA

所需

各种时钟

复位树

帮助确保

包括通

链路(如以

正确复位 6. 特定应

接口:根据

不同

特定应

接口

太网、PCI Express™、CAN以及RS422或RS232等) 7. 特定应

系统中

器件包括模数转换器 从

控阻 师使

而其它参数

支持

方案

与系统其它组件进行通

提供100Ω

帮助硬件

考虑所需

噪声

速度等级

定FPGA选择

大容量非易失

配置方法

路板而言 带状线

上或分立端接正确端接出现 输线路

路板

提供50Ω

以及为差分

控阻抗

PCB供 迹线宽度

在大多数高

您必须准确

路板都必须采 师

间应进行磋商

协议栈

定大小、技术

器等)将

压轨上

硬件边界扫描测试

印刷

架构时

FPGA需

4. JTAG端口

PCB

架构:在评估 方案效率以及

在CAD

间以DXF文件格式传输

并确保

点非常

:F P G A

任何传

8. 特定应 数据

器件:通常大多数

都使

方说图像系统

存储器存储

图像覆盖

储器(DDR或QDR SRAM)以及非易失

9.

FPGA

分立器件

数模转换器

存储器:特定应

存储系统断

连接

必须保存

作环境:应注意

作环境

期间

种特定应

大量数据或应

配置

存储器包括高容量存

存储器(如闪存或FRAM器件

数据) 确保选择适当级别

组件

赛灵思中国通讯 47期

37


:F P G A

101

第1层

顶层(组件贴装)

第2层

微孔和分支点

第3层

电压/接地层

第4层

50Ω的 单端 信号

第5层 电压/接地层

第6层 第7层

100Ω的 差分 信号

第8层 第9层

电压/接地层

第10层

50Ω的 单端 信号

第11层 第12层

电压/接地层

第13层

微孔和分支点

第14层

底层(组件贴装) 图4 - 典型

此外 间 线

应正确分开

减少同 上或

较长

因为

也会造

办法

不 串扰 将

间阻抗

迹线间隔至少有3 乃至7

而言

间距应

轨迹宽度 数字 有

模拟返回

38

从而确保

轨迹那么宽

更关键

注意模拟 此分开

间距拉大也有助

串扰

5

如果

轨迹不会并行运行太长

PCB上两迹线

并行运行

断言为垂直或水平路由

控型PCB协议栈

并确保带状线结

构内

阻抗

忘了考虑PCB中

串扰

不同

14

使

分开

数字

模拟

路由都不应参考对方

因为

赛灵思中国通讯

47期

图5 - 宇航级Virtex-5器件

DC

降分析结果 2013年春季刊


:F P G A

101

Xilinx宣 Zynq-7000 All Programmable SoC 系列全线量产 有业经

Mentor Graphics

HyperLynx SI

会让返回

流路径更加复杂

影响

系统

PI

阻(毫欧姆级)来确定FPGA 件

同样

时钟缓冲且有备 智

办法

支持器

如果

输出

使

那么

较明

对该输出正确端接

从而

够测试时钟 HyperLynx SI

Mentor Graphics PI

状态

更 此

因为FPGA核心需 对更多 FPGA

做调

调试LED显示了FPGA Done线路

如 流

加上应

LED

其它

些LED对

路板调试起

辅助作

实现所需

图5显示了大型高

PI仿真结果

路板

或模式生

添加逻辑分析器

器报头

不仅在开放

注意

些报头

使

而且

测试中便

在系统测试、当单元在封装中时也 样方便使

测试 此外

师还必须考虑如何

路板及其

满足所有

JTAG控制器

使

来检测基础架构 驱动器

互连

、时钟

大多数数字器件及

码率

意中短接

2013年春季刊

连接

测试报头或测试点 架构 流

)您应使

(注意使

避免测试点 值非常

接口

明确高速串行链路上

在系统硬件中进行FPGA

您也必须考虑

复位

阻限制

将帮助您调试FPGA功 时也

快速方便地检 串联

边界扫描测试

压轨输出

赛灵思ChipScope™

师提出很多有趣

挑战

帮助您

数据手册 助

项 户指南也

不 系统

会为 许多

同时大量 提供有效帮

点 基本硬件组件

真正了

高 生产

、 智

功 方案

2013年2月26日 中国北京- All Programmable技术 器件 全球领先 企业赛灵思公司(Xilinx, Inc. (NASDAQ:XLNX))今天宣 其Zynq™-7000 All Programmable片上系统(SoC)器 件系列全线量产 实现了又 大 里 碑 Zynq-7000 All Programmable SoC 市场需求非常强劲 目前 有 350家不同客户采 该产品进行 开 发 自2011年12月以来赛灵思 安富 利(Avnet) 经发货20,000多 器件 4 000多 开发板 各项 方案广泛应 包括汽车、 业、通 、数据中 心等众多领域 赛灵思公司 平台副总裁Larry Getman指出:“很明显 赛灵思在规 范制定、 支持、生态系统开发、 客户 生产交付等各 方面都领 先 竞争对手 水平 随着 对 以提供软/硬件 I/O 编 功 高度集 智 与安全SoC器件 需 求不断增长 Zynq-7000平台 应 势头也在不断加速 ” Zynq-7000系列支持客户为其 系统提供更先进 软件智 包括控 制、通 、安全、系统管 与分析 等 并与高 、硬件化数据、数据 包 /或像素 紧密结合 人员 还 以充分享受业界 广泛 生态系 统所带来 卓越体 -ARM® ® Connected Community 赛灵思联

盟 划(Xilinx Alliance Program) 美组合 为大多数常见 免费 商 嵌入式操作系统 RTOS提供支 持 并有多种免费 商 开发 、 20多种开发板、 服务、培训及其 它产品与服务等 供选择

赛灵思中国通讯 47期

39


利用并行FFT 实现GHz级 FPGA信号处理 出色的工具

40

赛灵思中国通讯

47期

2013年春季刊


出色的工具

作者: Chris Eddington Synopsys公司高级技术市场营销经理 chrised@synopsys.com Baijayanta Ray Synopsys公司Synphony模型编译器企业级应用 工程师 baijayan@synopsys.com

高 速 快 速 傅 里 叶 变 换 (FFT)内核是任何实时频谱监测系统

的必要组成部分。随着各频段无线设

备数量的迅速增长,系统必须相应加强对带宽的 监测。因此,这些系统需要以更快的速度将时域 转换为频域,这就要求进行更加快速的FFT运 算。实际上,大多数现代监测系统往往需要使用 并行FFT,实现数倍于尖端FPGA(例如赛灵思 Virtex®-7)最高时钟频率的采样吞吐 量,充分发挥宽带A/D转换器的优势,其可轻松 获得12.5Gsps甚至更高的采样率。[1] 同时,随着通信协议日益数据包化,监测信 号的占空比在不断降低。这种情况要求大幅度 降低扫描重复时间,这就需要使用低时延FFT内 核。并行FFT也能在这方面有所裨益,因为时延 会随着采样率与时钟速度之比成比例下降。 鉴于所有这些原因,本文将深入介绍可在运 行中配置转换长度的并行FFT(PFFT)设计,并说 明使用并行FFT可实现的吞吐量和利用率。

FFT的硬件并行化 由于在逻辑中直接实现FFT较为复杂,因此 大量硬件设计人员使用各个厂商提供的现成FFT

内核。[2]但是,大多数现成的FFT内核使用 “流”或者“模块”架构,每个时钟周期只能处

理一个或者几个采样,这就会把吞吐量限制在 FPGA或者ASIC器件所能提供的最大时钟速度

内。PFFT能够提供速度更快的架构。PFFT每个 时钟周期可接受多个采样,进行并行处理,并在 每个时钟周期内输出多个采样。这种架构可让吞 吐量达到器件最大时钟速度的数倍,但代价是增 大了占位面积并提高了复杂性。因此,要使用

PFFT,必须在吞吐量和面积之间进行权衡。典 型 Virtex-7 FPGA 设计所需的权衡方案见图1和

表1。

从权衡的角度,可从表中看出一些普遍特点: 1. 随 着 并 行 吞 吐 量 的 增 加 , 乘 法 器 ( 面 积)的使用也在增加,但增加的速度稍低

(好于线性关系)。 2013年春季刊

赛灵思中国通讯 47期

41


出色的工具

在Virtex-7器件上实现并行FFT的典型性能和面积权衡

表1 - 面积的增加因硬件乘法器的使用造成。吞吐量提升与占位面积之比略高于线性关系, 总体而言非常适用于将吞吐量增加至数千兆赫兹采样率。

2. 随着并行量的增加,系统时钟速度

用往往需要在进行采集等其它操作

于创建在先进FPGA器件中具有良好

扩展能力的可配置并行FFT内核。

和时序收敛速度的下降会导致吞吐

时,使用旁通道信息来改变FFT大小

量的提升低于线性关系。不过在现

(以改变分辨带宽)或暂停FFT的运

代FPGA上这种劣化现象正在减轻。

行。从理论上说,您可以通过在转换

3. 鉴于上述两个原因,吞吐量增长与

操作前插入缓存的方式来实现流控

度为16的FFT。它将输入序列分解为

制。但是对于频谱监测这样的采集驱

两个并行数据流,并在数据流向前流

动型操作而言,难以提前计算出所需

入蝴蝶算法单元(FFT算法的一个子

要的缓存大小,这样就必须采用容量

元)的过程中采用恰当的延迟对数据

大、速度快的高成本内存条。

元进行调度,以确保数据元之间保持

面积增长的比率总体上要高于线性 关系。 4. 时延随着并行化的增大而降低。 请注意表1中的测量值只适用于特 定的对象和FFT配置。这种情况针对的

实现架构 虽然实现FFT的方法多种多样,

入、动态长度可编程(最小可编程长度

但并行版本的Radix2多路径延迟换向

样的应用而言非常重要,因为,这类应

度流水线FFT的典型方法,图2a是长

恰当的“间距”。如图2b所示,使用

是长度为1024的情况,且具有16位输 为4)和流控制。流控制对频谱监测这

Radix2-MDC是一种用于创建各种长

器内核(Radix2-MDC)[3]作为一

个模块化方案在这里非常适用,可用

较宽的数据路径和矢量运算,Radix2-

MDC的并行化就会相对容易。MDC的

结构还便于实现流控制和动态长度重

配置,相反,单路径延迟反馈(SDF) 结构因为加入了流控制(停止)信 号,会显著降低最大吞吐量。 另一个会影响可扩展性的因素是 复杂乘法器的选择,即选择4乘(4M) 还是3乘(3M)结构。选择3M复杂乘法 器可以减少设计的占位面积,但代价 是会降低时钟速度。[4]这方面的权衡 也主要依赖于FPGA器件的DSP硬件 部分。下面是我们即将介绍的案例研 究所使用的最重要的参数和选择: • 长度 = 1024

• 输入精度 = 16位

图1 - 并行FFT一次可处理多个采样,使吞吐量超过目标器件可实现的系统时钟速率。 可选特性包括流控制、同步和动态长度可编程功能。 42

赛灵思中国通讯

47期

•使 用 4 乘 5 加 复 杂 乘 法 器 的 Radix2-MDC架构

2013年春季刊


出色的工具

• 数据路径精度 = 每级增加1位(对 1024长度为10级/位)

• 包含动态长度可编程功能

• 启用可选的流程控制和同步功能

和定制模块方法,可以构建出简明的

转因子查找,以满足性能要求和实现

可参数化并行Radix2-MDC模块,用于

流控制功能(请注意图3没有显示流

在各种不同配置下迅速对并行FFT进

控制)。SMC并行FFT内核在开启或

行实例化。图3即为使用这些定制模块

者关闭流控制,或使用动态长度可配

PFFT数据路径子集。每个模块输入和

案例研究中,我们使用Synopsys 提供的Synphony模型编译器(Synpho MC或SMC)高层次综合工具[5]

研究针对赛灵思Virtex-7和

模块的目的是以菊花链的方式进行旋

( 名 为 PR2MDC) 实 现 的 1024x16

案例研究:1024长度的并行FFT

ny

在Synphony MC中利用向量支持

置功能的时候,没有发生显著的时序 劣化。当构建实时频谱监测应用时,

输出一个长度为32、用于代表16个真

高级FPGA器件上实现的吞吐量可扩

实值和虚拟值复杂采样的向量,以及

展功能非常有用。 我们使用Synphony MC生成针对

一个长度和旋转因子地址参数。定点

Virtex-5

字长度每级增加一位,但为了便于调

Virtex-5和Virtex-7目标器件进行优化

FPGA实现的一组并行FFT结果。

整进行了参数化。这个模块的底部

是图2b所示的实现过程,采用的是

的RTL,然后利用Synphony模型编译

IP模块,专门用于为Virtex-7等高级

移位寄存器等)。

线。表2是布局布线后的面积和时

SynphonyMC算术运算符(乘、加、

Synphony MC拥有一个并行FFT

FPGA器件实现具有高质量结果(QoR)

虽然SMC是一种高级设计环境,

器2012.09版和Synplify Pro以及赛灵 思的 ISE® 14.2 工具套件完成布局布 序结果。观察到的性能扩展结果与

的DSP映射。该定制IP模块将算法原

但也可以用它来实现针对多种目标技

理论预期和FPGA系列的功能十分匹

语在底层子系统中进行实例化,以便

术的特定映射。本例中,我们选择将

配,我们使用x16并行配置实现了超

根据长度、精度、流控制和动态可编

一个4M复杂乘法器映射到采用18x25

过7Gsps的采样率,而且占用的资源

程功能等用户特定选项来创建架构。

乘法模式的DSP48E单元中。设计该

仅为1x配置的约6.3倍。面积增长曲线

8 C2

4

2

C2

BF2

C2

BF2

4

K parallel complex inputs

1 C2

BF2

2

BF2

1

2K

2K

+ Delay line

-

2K

Mux

2K

Twiddle factor mult

Delay line

2K

K parallel complex inputs

Butterfly #P K parallel complex inputs

Butterfly #1

Butterfly #2

Butterfly #2

Butterfly #log2(N)-k

K point All Parallel FFT

K parallel complex outputs

图2 - Radix2-MDC内核(上部的a)可有效实现并行化并以模块化的方式使用,以创建并行FFT设计(b)。 2013年春季刊

赛灵思中国通讯 47期

43


出色的工具

图3 - 并行FFT IP模块用户界面(左侧)提供一个基于用户特定配置的微架构

优于线性增长的原因是这些乘法运算 会随着并行数量的增加而变成固定系 数,因此在逻辑中的实现比在DSP单 元中进行完整乘法运算效率更高。 这主要发生在最后的K点FFT(见图

2b)。

流程中使用Synphony模型编译器开发

/data-converter/

件映射到各种不同的赛灵思器件上。

xilinx.com/support/documentation/ip_d

PFFT模块,可通过精细调试将DSP硬

[5]Synopsys目前将该模块免费提供给 所有的Synphony模型编译器用户。

如需了解有关Synphony模型编译 器 的 更 多 情 况 , 敬 请 访 问 :

http://www.synopsys.com/cgibin/sld/

更高的吞吐量 并行FFT主要用于高吞吐量的千 兆采样应用,如频谱监测。本文的PF

FT硬件设计对赛灵思高级FPGA器件

pdfdla/pdfr1.cgi?file=synphony_mod

el_comp_ds.pdf?cmp=FPGA-SMCxcell。

的吞吐量扩展性进行了深入揭示并提 供指导。案例研究展示了使用并行Ra

dix2-MDC架构的并行FFT能够有效地 在x16并行配置下为FPGA器件实现超 过7GHz的吞吐量。我们在高级设计

参考资料:

1. 泰克组件解决方案网页:http://com-

ponent-solutions.tek.com/services

2. 赛灵思FFT内核数据手册 http://www. ocumentation/ds808_xfft.pdf

3. Shousheng He; Torkelson, M.; 《流水线FFT处理器的新方法》,并行 处理研讨会,1996年,1996年举办的第 十届并行处理研讨会会议纪要, 1996年4月

4. 赛灵思复杂乘法器第5版模块数据手 册:http://www.xilinx.com/support/doc-

umentation/ip_documentation/cmpy/v5 _0/ds793_cmpy.pdf

5. Synphony模型编译器产品说明书:

http://www.synopsys.com/cgi-bin/ sld/pdfdla/pdfr1.cgi?file=synphony

表2 - 在Virtex-7 485T: -3和Virtex-5 SX95T: -2上实现的卓越结果证明了PFFT模块的可移植性 44

赛灵思中国通讯

47期

2013年春季刊


Xilinx和OmniTek 同推出Zynq-7000 视 频开 发套 件 出色的工具

全新OZ745平 平台 可 简 化 实 时 专 业 广 播 及 其 它 应 用 的 设计 。

45

赛灵思中国通讯

47期

作 :Mike Santarini 发行人:Xcell杂志 赛灵思公司 mike.santarini@xilinx.com

2013年春季刊


出色的工具

灵 思 及 其 联 盟 成 员 OmniTek公司本月

推出

一款实时视频处理平台,

帮助企业创建各种电影

业所需

的高带宽设备。 名为 OmniTek OZ745 Zynq™-

7000 SoC 视频开发套件的最新平台可 提

品上

市进程所需的全部关键组件,并能支 持创新型显示器、摄影棚用摄像机、 制作

换器以及需要先进视频技术的

医疗、汽车、航空航天 来愈多的其它

业领域中愈

品应用。

该平台以赛灵思 Zynq-7045 All

ARM® Cortex™-A9处理器

(如 SD/HD 3G-SDI 等)。OmniTek

是,每

公司

都含有一

经理Roger Fawcett指出:“利

用该平台,广播和专业音频/视频

NEON单∕双高精度浮点

单元(FPU)。结合富含DSP的FPGA

首次拥有了一款完全可编程的器件,

,这款FPU可为DSP设计人员提

从而能够很好地

软硬件紧密结合

一起。”

了一款高度灵活的平台,

该平台上

设计人员不仅能够设计各种信号处理

Fawcett 表示,Zynq-7000 SoC

帮助OEM厂商提高系统性能、降

低材料清单(BOM)成本、加速

Fawcett指出:“同样值得注意的

发器,能够支持未压缩的高清视频

能帮助系统

师以两种方式实现视

频和音频处理算法,既可

板载双核

ARM 处理器上用软件实现,同时如果 应用需要加速以满足实时要求时也可

算法,此外还能够从收发器通过FPGA 硬件传输和处理未压缩的视频 时用软件监控视频

,同

以及实现整

统的控制,这意味着我们拥有无尽的 创新可能性。”此外,他还表示,基

移植到 FPGA 硬件中实现。FPGA 解

于Zynq的解决方案“还能通过集成多

速率及其它高级视频需求尤其有用。

OmniTek 开发板(见图1)通过5

决方案对于多通道 HD、4K、更高帧

ASSP 显著降低功耗和成本”。

此外,软件处理器和 FPGA 硬件的紧

组SD/HD 3G-SDI输入/输出、HDMI

件、设计工具、IP、操作系统和预验

密结合也使得

输入/输出对以及复合视频、

证的参考设计。该器件集成了高速收

解码器算法成为可能。

Programmable SoC 为核心,含有硬

这两大领域内开发编

Analog + Digital Serial Ports Audio I/O SD Card Slot

XADC

VGA 和 S 端子输入可为各种信号类型

JTAG

FPD Power

10 x LVDS I/O

ARM PJTAG USB Comms

16MB + 256MB QSPI FLASH 512MB x 32-bit DDR3 PS

LEDs 2GB x 64-bit DDR3 PL Xilinx Zynq-7045 FFG900

S Video + VGA Input

HPC FMC

USB x 2

Genlock and Clock Synthesis DIP Switch

1G Ethernet HDMI USB x 2 In/Out

Comp In

SFP+ Cage

SDI I/O SD, HD, 3G

PCB Dimensions: 190 mm x 140 mm

图1 - OmniTek OZ745 Zynq视频开发套件的开发板 2013年春季刊

赛灵思中国通讯 47期

46


出色的工具

参考设计 Zynq-7045 SoC 中实现一系列视频IP模块, 的FPGA 可为评估图像 提 一款 实可行的FPGA设计。 提

置自测试(BIST)

支持,从而进一步扩展 Zynq 器

外,“支持包还可提

件的功能。此外,该开发板还可提 模拟/数字音频 I/O、多达 4

端口、1

串行端口、1

以太网端口以及 10

USB

1Gbps

参考设

参考设计可为设计团队提

支持

ARM处理器访问和控制开发板上所

LVDS

有I/O和外设所需的固件、驱动程序

接)。此外还包括 LCD 平板电源、

和其它元件。简单的控制应用使得设

HPC FMC 扩展连接器和 SD 卡插槽

计 人 员 能

开 发 板 上 执 行

I/O,并了解和试用I/O和板载

以及 FPGA 和 ARM JTAG调试端口

SDRAM。

等。设计人员还能通过 SFP+ 接线盒 添加10Gbps以太网功能,以支持因

参考设计则是

最新版赛灵思多通道实时视频引

擎(RTVE 2.1)。该参考设计 7045 SoC 的 FPGA

参考设计

Fawcett 表示:“OZ745 开发板

Zynq-

中实现一系

列视频 IP 模块,可为设计团队评估图 像

的板支持包和硬件同样重

实可行的FPGA设计

(见图 2)。

要。”除了基于Qt图形和开发板上内

现成的视频

线

Fawcett 指出,OmniTek 公司的

新型 OSVP IP 模块是 RTVE 2.1 的关键组件,它能提

IP 模块

中处理多格式转换和合成所需的所有 固件。OSVP 模块可处理的功能包括 多达10

SDI通道的视频去隔行扫描

和缩放、色度重采样以及视频输入多

通道合成到多达 10

视频输出等,可

帮助实现画中画、四分显示等效果。

与此同时,

特网视频协议网络的新兴标准。

配套提

计,可作为用户自身设计的基础”。

端口(例如用于 LCD 平板显示器连

建的Linux之

SDI Rx

AXI MIG SDRAM Controller

SDI Rx

AXI Interconnect

此外,IP模块还可支持视频图形叠

加、3:2 和 2:2电影节奏检测与处理、 细节功能增强以及帧同步等,甚至能 满足视频标准的全

改变。

Fawcett 指出,公司专门针对赛 灵思 FPGA 技术对 OSVP 模块进行了

SDI Rx SDI Rx SDI Rx

OmniTek OSVP Scalable Video Processor

SDI Rx

Chroma Resample

SDI Tx

CCM

HDMI Tx

SDI Rx SDI Rx

ARM Cortex-A9

HDMI Rx

Interrupt Controller

1G Ethernet

图2 - RTVE 2.1参考设计的外形结 47

赛灵思中国通讯

47期

2013年春季刊


出色的工具

精心优化。他说:“模块的所有接口 都符合 AXI4

议标准,此外也支持

赛灵思 CORE Generator™ 系统和

EDK集成,因此该模块能方便地连 接

赛灵思技术实现的其它 IP。” 该平台的应用包括平板显示控制

器、视频格式转换器、多画 视频图案信号发

显示和

器等。该平台可支

持所有 SD、HD 和 3Gbps 的 SDI 格式,同时也能连接分辨率高达4K

一系列IP模块 除了提

类似于新型 Zynq 开发板的

赛灵思针对大 赛灵思

开发平台之外,OmniTek 公司还不

域视频与图像处理用的FPGA、电子

断推出一系列视频处理相关 IP模块,

和软件设计提

了优化。有关功能包括视频去隔行扫

grammable

许多 IP模块专门针对赛灵思技术进行

Tek 网站:

http://www.omnitek.tv。

低功耗应用需求的高性能系统。这款 最 新 评 估 套 件 配 套 提

A l l

Programmable Artix-7 200T器件,并

包括设计人员所需的工具、IP和参 考设计,不仅可以帮助他们快速启 动开发工作,同时又能使其充分利 用业界领先FPGA的单位功耗系统 性能优势。 All Programmable Artix-7 FPGA

设计

功耗等设计要求

软件无线电、马达控制以及需要高性

式推出,专门支持开发满足低成本、

(http://www.xilinx.com/app

满足更高系统性能、

的全球领先企业赛灵思公司(Xilinx, Artix™-7 FPGA AC701评估套件正

应用设计的Artix-7 FPGA AC701

为低端远程射频前端、移动回程、

)今天宣布

OmniTek

lications/broadcast/index.htm)或Omni

码、SDI眼图和抖动监视以及数字效

Programmable技术和器件

2013年春季刊

的广播页

47 和 PAL 封闭字幕和图文电视解

小型化和最低

(NASDAQ:XLNX)

如需了解更多信息,欢迎访问赛灵思

成、音频编解码器、608/708/OP-

SoC

OZ745视频开发套件现已全

频和音频监控、视频和音频测试图案

应用大

IP和设计咨询服务。

采用赛灵思 Zynq-7000 All Pro-

描和缩放、SDI音频嵌入和提取、视

评估套件现已推出,

Inc.

广播、医疗成像、工业和国防市场领

果等。

及以上的平板显示器。

All

此外,OmniTek公司还专门针对

能、小型化的其它多种不同应用带

款参考设计,包括功能强大的PCIe ®

和DDR3子系统,以及公司完整版 DMA Back-End Core 的IP许可证,便

来了功耗效率、小型化、低成本和更

于客户设计使用。AMS 101评估卡搭

高。系统性能等众多优势。Artix-7

配AMS参考设计是评估如何用AMS降

FPGA具有灵活混合信号(AMS)、

DDR3、DSP资源、并行和串行I/O以

及其它系统级功能,是设计人员通过

低材料清单(BOM)成本的完美工具, 适合从简单系统监控到更复杂模拟功 能的各种求。

可编程系统集成降低材料清单(BOM) 成本的最佳选择。 该评估套件包括针对业界首款功 能强大的SoC设计环境 — 赛灵思

Artix-7 FPGA AC701评估套件定

Vivado™ 设计套件设计版本的器件专

价为1,295美元,现已通过以下网址接

用许可证。该评估套件还提

受预订:www.xilinx.com/cn/ac701。

了10余

赛灵思中国通讯 47期

48


实例..

应用指南

如果 希望进一步了解我们的FPGA在 情况,建 读下列应用指南。

多应用中的使用

XAPP744:面向ZYNQ-7000 ALL

PROGRAMMABLE SOC的硬件在环路(HIL)仿真

度远远高于RTL仿真,可确保软硬件设计快速实现。

http://www.xilinx.com/support/documentation/application_notes/xapp744-HIL-Zynq-7000.pdf

XAPP892:用VIRTEX-7 GTX收发器 实现SMPTE SDI接口

赛灵思Zynq™-7000 All Programmable SoC没有提 供仿真模型,这给设计人员带来了一个难题。该应用指南 介绍一种方法——借助Zynq-7000平台硬件在环路 (HIL)仿真技术,把MPCore处理器子系统集成到ISE®设计

http://www.xilinx.com/support/documentation/applica-

tion_notes/xapp892-smpte-sdi-if-v7-gtx-transceivers.pdf 电影电视工程师协会(SMPTE)串行数字接口系列标准

套件仿真器(ISim)的仿真环境中。作者Umang Parekh解释

环境,并引导用户对HIL仿真的系统环境进行设置。

SDI LogiCORE™ IP是一种通用SDI接收/发送数据路径,

了如何将Zynq-7000 AP SoC设计中的处理系统集成到仿真

Zynq-7000 All Programmable SoC是赛灵思的最新 系列产品,其将业界标准ARM®双核Cortex™ A9MPCore处理器子系统(PS)与赛灵思28nm可编程逻 辑(PL)完美结合在一起。传统上,赛灵思已提供有

MicroBlaze™嵌入式处理器。设计人员能够基于RTL采用

FPGA逻辑创建外设IP,并用RTL仿真器仿真整个系统。赛 灵思为仿真器提供MicroBlaze仿真RTL模型。

HIL技术可用于仿真、调试和测试Zynq-7000SoC 设计 的PS和PL部分。所有通过主/从通用高性能接口或者加速器

一致性端口(ACP)接口连接到PS的 AXI IP 均可在 ISim 中仿

多专业广播视频设备奠定了基础。播音室和视频制作

中心使用这些SDI接口传输未经压缩的数字视频以及多路

音频通道等嵌入式辅助数据。赛灵思 SMPTE SD/HD/3G没有任何器件专用控制功能。该应用指南介绍了一款包含

控制逻辑的模块,可用于将SMPTE SDI LogiCORE IP与 Virtex®-7 GTX 收发器进行耦合,从而构成完整的 SDI 接 口。作者 John Snow 还列举几个运行于赛灵思 Virtex-7

FPGA VC707评估板上的SD/HD/3G-SDI设计实例。 设计人员可将赛灵思SDI核连接到 Virtex-7 收发器,以实现能够支持SMPTE

GTX

SD-SDI、HD-SDI

和 3G-SDI 标准的SDI接口。要实现全功能SDI接口,

需要使用额外的逻辑将SDI核与GTX收发器连接在 一起。该应用指南对这个额外的控制和接口逻辑进行

真,而PS则可在硬件中仿真(ZC702评估板)。用测试平台

了介绍,并提供采用Verilog和VHDL源代码的必要控制

时钟为AXIPL接口提供时钟信号,这样就可在PL中实现周期

和接口模块。

精度的IP仿真。PS和DDR存储器在自由运行模式下工作。

另外还提供一个封装件,该文件包含GTX收发器控制

这种方法不仅对处理器系统IP非常适用,而且还对IP

模块实例、SMPTE SDI 核实例以及两个实例之间的必要连

驱动程序的开发以及软件调试非常有效。赛灵思ISE设计工

接。该封装文件能够简化SDI接口的创建。两个SDI演示应

具14.2版本提供对Zynq-7000 HIL的软件支持。HIL仿真速 49

赛灵思中国通讯

47期

用详细演示了如何在Virtex-7 FPGA设计中实现SDI。

2013年春季刊


XAPP794:1080P60照相机图像处理参考设计 http://www.xilinx.com/support/documentation/application_notes/xapp794-1080p60-camera.pdf

赛灵思 Zynq-7000 All Programmable SoC 视频和

个转换器既可独立运行,也可交错运行,从而将转换 (采样)速度提升两倍或四倍。 不管是独立模式还是交错模式,设计人员都可以使 用一个或者两个物理串行输出连接接口设备。一组差分

成像套件(ZVIK)以ZC702评估套件为基础,并增加了硬件、

输出集合称为数据通道。使用一个数据通道时,转换器

软件和IP组件,以便开发定制视频应用。视频参考设计、

工作在单线模式下;使用两个数据通道时,则工作在双

WUXGA彩色图像传感器和配备HDMI输入输出功能的视频

I/O FPGA夹层卡(FMC),能够让用户立即开始视频系统软 件、固件和硬件设计的开发工作。 Mario Bergeron(Avnet公司)和赛灵思的Steve Elzinga、

Gabor Szedo、Greg Jewett和Tom Hill共同编著的本应

线模式。对于每一种可能的数据输出组合,一般都提供 一个高速数位时钟和一个采样率帧时钟。单线模式在单 数据速率和双数据速率配置下使用,而双线模式则仅在 DDR模式下使用。

FPGA的SelectIO串并转换器被配置为ISERDESE2

用指南介绍了如何使用ZVIK设置和运行1080p60照相机图

原语。该应用指南使用两个SDR模式下的ISERDESE2

像处理参考设计。作者还就如何构建软硬件组件以及如何

采集DDR信号。一个ISERDESE2用数位时钟的上升沿

创建SD卡引导镜像提供了指导意见。

触发,另一个用数位时钟的下降沿触发。这种方法最大

安森美半导体推出的VITA-2000图像传感器产品 针对1080p60分辨率进行配置,用于生成视频输出。使用 LogiCORE IP视频内核实现的图像处理流水线可将原始的 Bayer二次采样图像转换为RGB图像。这些IP核能够去除瑕

疵像素和马赛克,并对图像进行色彩校正。系统的DDR3内 存中有一个视频帧缓存器,便于图像通过AXI

视频直接内存访问(VDMA)功能进入ARM处理器内核。视频 帧缓存器并非针对图像处理流水线的运行而提供,但集成 在设计中,用以采集输入视频图像,以供分析使用。

可以采集16位信号,因为每一个ISERDESE2都可以采 集8位。

XAPP743:用MICROBLAZE处理器 MCS实现眼图扫描

http://www.xilinx.com/support/documentation/application_notes/xapp743-eye-scan-mb-mcs.pdf

Mike Jenkins和David Mahashin共同编著的本应 用指南介绍了一种在内部MicroBlaze处理器上执行的

XAPP524:串行LVDS高速ADC接口

http://www.xilinx.com/support/documentation/application_notes/xapp524-serial-lvds-adc-interface.pdf

Marc Defossezb编辑的本应用指南介绍了如何利用7 系列FPGA中的专用SelectIO™串并转换器(ISERDESE2 原语)连接可输出串行低压差分信号(LVDS)的模数转换

代码,用于实现相应算法以测量7系列FPGA GTX收发器中接收器内的后均衡数据采样点统计眼图

(比特错误率与时间和电压偏移的关系)。逐点测得的

数据被存储在 Block RAM 中,供外部主控 PC 机猝发读 取。有了这种以软件为主的统计眼图测量方法,设计人 员就可以灵活地将眼图扫描功能集成到现有的设计中。 随着线路速率和通道衰减的增加,经常需要使用接

器(ADC)。相关参考设计介绍了一种基本LVDS接口,

收器均衡器来克服通道衰减问题。这会给系统启动带来

可将Kintex™-7

难题,因为只通过测量接收器引脚上的远端眼图张开度

FPGA连接到具有高速串行LVDS输出的

ADC。目前采用的高速ADC其精度主要为12位、14位

或16位,而且单个封装内可包含多个转换器。封装中的每

2013年春季刊

无法判断线路的质量。在高线路速率下,印刷电路板上 测得的接收眼图可能表现为完全闭合,但此时接收器均

赛灵思中国通讯 47期

50


实例..

衡器的内部眼图却是张开的。7系列FPGA的GTH、GTX和

口,并通过Cortex-A9处理器进行控制。这种设计占用70%

后测量和显示接收器眼图开启度。另外还提供几种附加模

ZC702评估板。

GTP收发器中提供的RX眼图扫描功能可在均衡器阶段完成

的存储控制器带宽。该参考系统针对的是Zynq-7000

式,用于实现几种判断和诊断均衡设置效果的其他

XAPP586:将SPI闪存与7系列FPGA

方法。

XAPP792:用ZYNQ-7000 ALL

PROGRAMMABLE SOC设计高性能视频系统

http://www.xilinx.com/support/documentation/applica-

tion_notes/xapp792-high-performance-video-zynq.pdf 在使用赛灵思Zynq-7000 All Programmable SoC这样 的高端处理系统时,客户希望能够充分利用器件的处理系 统(PS)和定制外设。比如通过多个视频流水线将实时视频 流写入内存(输入),并在处理器访问内存时读取并发出 实时视频流(输出)。James Lucero和 Ygal Arbel合著的

配使用

http://www.xilinx.com/support/documentation/application_notes/xapp586-spi-flash.pdf Arthur

Yang编写的本应用指南介绍了将串行外设接

口(SPI)闪存作为赛灵思7系列FPGA配置存储器的优势。此 外,还详细介绍了FPGA与SPI闪存存储器之间要求的连接 以及如何选择合适的SPI闪存。 SPI闪存是一种用于配置7系列FPGA的简单低引脚数 解决方案。它的间接编程功能支持通过重复使用配置解决 方案所要求的连接功能来完成系统内的编程更新,从而增

本应用指南内容涵盖为目标客户提供的设计原则,帮助他

强了易用性。虽然某些其他的配置选项可实现更快的配置

现的 AXI 主机接口,以及 ARM Cortex-A9 处理器等实现高

和简易性之间进行平衡。

们利用Zynq-7000 SoC存储器接口、可编程逻辑(PL)中实 性能。 传输这类设计的视频流需要对最差情况时延进行限

制,以确保不出现丢帧或帧损坏。要实现较低时延的PL高 速AXI主机接口和对器件存储器接口的直接访问功能,就必 须采用高性能(HP)接口。Zynq-7000 AP SoC内置四个HP

链路,采用 64 位或 32 位 AXI3 从接口,以实现高吞吐量 性能。

该设计利用三个AXI视频直接存储器访问(VDMA)引擎

时间或者更大的密度,但SPI闪存解决方案能更好地在速度

XAPP733:应用MULTIBOOT和 LOGICORE IP软错误缓解控制器

http://www.xilinx.com/support/documentation/application_notes/xapp733-multiboot-sem-controller.pdf

本文和本文的六个支持参考设计详细介绍了 Multiboot 功能和面向Spartan®-6、Virtex-6和7系列FPGA

的 LogiCore IP 软错误缓解(SEM)控制器的实现方法。

同时传输六个视频流(三个发送、三个接收),每个视频

Multiboot支持可靠的设计管理和现场升级功能。设计人员

流都是1,920x1,080p格式,刷新率60Hz,每像素32数据

通过发送指令让FPGA使用替代比特流(通常经内部配置

位。每个VDMA都通过视频测试图生成器驱动,同时使用

访问端口(ICAP))进行完全重配置,从而初始化Multiboot

视频时序控制器(VTC)内核设置必要的视频时序信号。每个

事件。

由 AXI VDMA 读取的数据都被发送到通用屏幕显示(OSD) 内核,以便将多视频流复用或交叠成单个输出视频流。 OSD内核的输出用于驱动板载HDMI视频的显示接口。

另外还加入了用于采集性能数据的性能检测器内核。

三个AXI VDMA通过AXI互联技术连接到三个单独的HP接 51

赛灵思中国通讯

47期

作者 Eric Crabill 表示,典型情况下 SEM 控制器能对

ICAP进行互斥控制,以满足其功能和性能规格要求。因 此,为了应用Multiboot和SEM控制器,用户必须协调ICAP 共享,另外,除组织多个FPGA配置数据集外,用户可能 还需要组织多个SEM控制器数据集。该应用指南介绍了如 2013年春季刊


何进行协调,同时阐述了应如何对多个SEM控制器数据集 进行组织。该支持参考设计为SP605、ML605和KC705评 估套件上的硬件评估提供了实现方法。

XAPP523:使用7系列FPGA实现 LVDS 4X异步过采样

http://www.xilinx.com/support/documentation/application_notes/xapp523-lvds-4x-asynchronous-oversampling.pdf

Xilinx Zynq-7000 All Programmable SoC 入围2012电子成就奖 之年度最具潜力新技术奖 All Programmable 技术和器件的全球领先企业赛灵思公司 (NASDAQ: XLNX)宣布,其业界首款Zynq™-7000 All

Programmable SoC获得《电子工程专辑》2012年电子成就奖 (ACE Awards)之年度最具潜力新技术奖提名。这是继2013 年1月 Zynq-7000 在美国相继获得《Electronic Products

赛灵思7系列FPGA可使用SelectIO™接口资源进

行异步通信,因而能够保留 GT收发器用于其他用途。

Magazine》年度产品奖提名以及《Microprocessor Report》 分析师推荐奖之后所获得的又一殊荣。

Marc Defossez编写的本应用指南介绍了一种通过LVDS

“新年伊始,非常荣幸我们的Zynq-7000 All Programmable

和SelectIO接口原语实现的异步通信采集法。这种方法可 在不同时钟相位采集多个数据样本,以便获得最理想点

Programmable SoC团队成功推出这款芯片的充分肯定,”

采样。

在创新方面的成就,同时也是对过去一年中这款芯片巨大市场

上的样本,从而以相似的时钟频率(±100 ppm)完成数据过

7系列FPGA的SelectIO接口能够使用ISERDESE2原 语完成1.25Gb/秒的4x异步超采样。时钟由混合模式时钟 管理器(MMCME2_ADV)通过组件之间的专用高性能路径

SoC获得了多项行业大奖。这是对我们Zynq-7000 All

赛灵思处理器平台营销副总裁Lawrence Getman表示,

“这些奖项不仅见证了Zynq-7000 All Programmable SoC芯片 成功的充分肯定。2012年,Zynq-7000需求的增长态势令人 难以置信,我们不断收到来自各个应用领域的客户需求。” ACE Awards旨在表彰那些在中国促进创新电子设计发展的

公司、设计团队和个人,以及为中国电子工程师的设计创造显

生成。这种技术还允许在设计中使用较小的FPGA,从而

著效益的产品。所有提名产品将通过网友投票决出年度最佳奖

有助于降低成本。

项, 并在2013年3月的IIC上举行隆重的颁奖仪式。

XAPP538:利用优先必要数位实现软错误缓解

赛灵思Zynq-7000 All Programmable SoC系列完美地实现了

硬件、软件以及I/O全面可编程,为系统设计人员提供了无与伦

http://www.xilinx.com/support/documentation/applica-

比的系统及程度、高性能以及更高的灵活度。Zynq-7000重新

bits.pdf

系统功耗,缩减物料成本并实现更快的产品上市时间。在可编

tion_notes/xapp538-soft-error-mitigation-essential-

配置存储器中的软错误会破坏设计。不过加载到赛灵 思FPGA中的典型设计运行只占用配置存储器单元总数的 一小部分。本应用指南介绍了如何利用13.4或更高版本的

定义了嵌入式系统的各项功能,为系统架构师和开发人员推出 全新解决方案提供了一种灵活的开发平台,从而帮助客户降低 程技术势在必行的今天,Zynq-7000 All Programmable SoC

为传统的ASIC和ASSP用户向可编程技术的过渡铺平了道路。 全新的All Programmable SoC为客户带来了六大价值:

•可编程系统集成:All Programmable平台,硬件、软件以及 IO全面可编程。

ISE设计工具确定设计的重点区域分层,并鉴别与设定用

•提升系统性能:1 GHz ARM®双核Cortex™-A9 MPCore™

了如何利用 LogiCore

•消减BOM成本:集成平台可节约40% BOM成本。

户逻辑相关联的优先必要数位。作者 Robert Le 还介绍

IP软错误缓解(SEM)控制器和优

先必要数位来检测和纠正赛灵思7系列和Virtex-6

FPGA配置存储器中的软错误。该方法可有效降低故障率 (FIT),并提高设计可用性。

2013年春季刊

处理器,使用可编程逻辑实现10倍于软件加速的处理速度。

•降低总功耗:处理器低功耗模式、28nm HPL工艺和高集成 度可降低50%的系统总功耗。

•加速设计生产力:灵活而可扩展的平台和包括工具、操作 系统以及IP在内的生态系统加快产品上市时间。 赛灵思中国通讯 47期

52


号外,号外

Vivado 2012.4 版本 的最新 息 Vivado™设计套件2012.4现

向目前所有有效期内的赛灵思ISE ® 设计

套件用户免费提供。Vivado设计套件提供了高度集成的设计环境和全新 一代系统到IC工具,其中包括高层次综合、分析布局布线和高 等。这

时序

工具能帮助开发人员提高设计集成度以及实现速度。

VIVADO WEBPACK版本简

Aldec Riviera-PRO。

取代模块时提供无缝移植。此外,

助您仿真、综合和实现设计,而且针

VIVADO高层次综合(HLS)

块,包括乘加、累加和指数。最新版

Vivado WebPACK™ 工具可帮

对特定器件的设计是免费的。Vivado 设计套件WebPACK版本支持Artix™-

7(7A100T、7A200T)和Kintex™7(7K70T、7K160T)器件。您现可立

即从以下网址下载WebPACK:www. xilinx.com/cn/download。

VIVADO 2012.4的器件支持 以下器件量产准备就绪,可全面

支持VIVADO 2012.4: Virtex®-7 2000T

包括低压

Virtex-7 X1140T器件目前处于一

般工程样片阶段。

仿真器:Cadence的Incisive和Aldec

的Riviera-PRO以及赛灵思的Vivado 和ISE仿真器。 现

添加了对浮点单/双高精度-

tan、atan、sinh、cosh和指数 cmath.h函数的支持。

持全部或部分综合网表,从而当IP用

于Xilinx Platform Studio 时可显著

缩短整体综合时间。Vivado现支持在

图形用户界面(GUI)中对赛灵思开发 板进行综合。Vivado

HLS库包含

面向视频和OpenCV I/O接口的31个

逻辑仿真

Vivado现可为GTHE2原语提供

更快速的仿真模型,相对于当前模型 而言速度可提升达5至6倍,该仿真器

在compile_simlib中现可支持 赛灵思中国通讯

(RTL)协仿真支持,包括了4款最新

此外,Pcore格式导出IP现可支

Artix-7 100T和200T

53

赛灵思扩展了寄存器传输

47期

β函数

SYSTEM GENERATOR FOR DSP DSP 系统生成器 最新模型升

特性在使用最新版

DSP 系统生成器提供一

新的浮点模

工具可将DSP48宏单元模块的仿真速 度提高5倍。采用多个DSP48宏单元 模块的模型将大幅缩短仿真时间。

赛灵思的IP核

如需了解赛灵思IP核的详

细列 表,敬 请参 阅IP版本说明指南

(XTP025)。

如需了解有关Vivado最新版

本的更多信息,敬请登录以下网

址,阅读 Vivado 2012.4 版本说明:

http://www.xilinx.com/cn/support/

docu-mentation/sw_manuals/xil-inx 2012_4/irn.pdf。

VIVADO设计套件是

问: 答:

什么?

它是提升设计人员 生产力的工具。这

款全新的工具套件旨在提高设 2013年春季刊


计、集成和实现赛灵思28nm

All Programmable 系列器件

问:

工艺制造的赛灵思器件更大,

答:

的整体生产效率。采用28nm 并 提 供 了 堆 叠 硅 片 互 联 (S S I )、 运行速度高达28

Gbps的高速

I/O接口、更强大的微处理器和

外设以及模拟/混合信号等多种 新技术。但这种更大型、更复 杂的器件也给开发人员带来了 多重设计挑战,有可能会妨碍 其向市场推出产品,不利于生 产力的提高。 Vivado设计套件可完全替代现有 的赛灵思ISE设计套件工具。ISE设 计套件工具的所有功能现在都直接内 置在Vivado集成开发环境(IDE)中, 从而充分利用了共享、可扩展的数据 模型。有了Vivado设计套件,开发人 员就可以利用布局布线功能同时针对 时序、阻塞、走线总长度、利用率和 功耗等多种设计指标进行分析优化, 并通过高层次综合和实现来加速设计 创建。由于建立在Vivado的共享、可 扩展的数据模型基础上,因此整个设 计流程可以在存储器中执行且无需编 写或转换任何中间文件格式,从而有 助于加速运行时、调试和实现速度, 同时能够降低对存储器的要求。 Vivado为用户提供了预测指标,

可让用户在设计流程的早期阶段进 行设计和工具设置修改,从而减少 对整体工作进度的影响。这一功能 减少了设计迭代,并提高了生产力。 用户既可以借助Vivado

IDE的Flow

Navigator功能通过简单的按钮方式 管理整个设计进程,也可使用Tcl脚

本进行手动控制。

2013年春季刊

我是该继续使用ISE设计套 件还是应该转用VIVADO?

ISE设计套件是一款业

经验证的解决方案,适

用 于 赛 灵 思 各 代 A l l Programmable器件。赛灵思ISE 设计套件继续为广大开发人员带来

创新支持,并扩展了大家熟悉的7

件专用WebPACK版本。有效期内的

ISE设计套件逻辑版本和嵌入式版本

用户可获得新的Vivado设计版 本。而ISE设计套件DSP版本和系统 版本用户则可获得新的Vivado系统 版本。欢迎到以下网址立即下载: www.xilinx.com/cn/download。

赛灵思建议开始启动新设计的

系列和赛灵思 Zynq™-7000 All

用户垂询当地的现场应用工程师,

流程。ISE

如果当前项目正采用ISE设计套件进

Programmable SoC 项目的设计 14.4能带来最新的创

新以及器件支持,现可立即下载。

赛灵思的新一代设计环境

以确定Vivado是否适用于该设计。 行设计,赛灵思建议不要转用

Vivado,因为两种环境的设计约束

Vivado设计套件2012.4支持包括

和脚本并不兼容。

FPGA在内的7系列器件,提供了增强

Vivado 2012.4版本说明。

密集型设计。

问:

Virtex-7、Kintex-7和Artix-7

型工具性能,特别适用于大型设计或

问: 答:

更多信息请阅读 ISE 14.4 和 VIVADO的注册码条款 是什么?

件培训?

答:

全新的Vivado充分利用

Kintex-7 70T和160T器件。目前所

是否提供VIVADO设计套

了强大的互动Tcl脚本、

免费下载的Vivado设计

套件WebPACK版

本可支持 Artix-7 100T 和 200T 以及

Synopsys设计约束、SystemVerilog

有在有效期内的ISE设计套件逻辑版

间,赛灵思推出了全新教师指导培训

计套件DSP版本和系统版本用户则

课程,帮助您了解如何使用Vivado工

可免费获得包含高层次综合功能的

等业界标准。为帮助您缩短学习时

具。如需了解更多信息,欢迎访问以下 网址:www.xilinx.com/cn/training。我 们也鼓励观看以下网址提供的Vivado 快速入门视频:www.xilinx.com/cn/tr

本和嵌入式版本用户可免费获得 Vivado设计套件设计版本,而ISE设 Vivado设计套件系统版本。

如果用户在2012年2月2日以后 生成的ISE设计套件13或14版本许

aining/vivado。

可证,那么当前的许可证仍适用于

问:

但生成许可证的日期早于2月2日,

VIVADO设计套件是否提

Vivado。如果用户仍在有效期内,

供不同版本?

那么就需要重新生成注册码方可使

Vivado设计套件提供三种

用Vivado套件。

答:

不 同 版 本 : 设 计 版

本、系统版本和现在推出的免费的器

注册码生成信息,敬请访问:

www.xilinx.com/cn/getlicense。

赛灵思中国通讯 47期

54


领先一代 硬件、软件及I/O可编程SoC

了解更多


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.