17.08.2013 Views

第41期 - Xilinx

第41期 - Xilinx

第41期 - Xilinx

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

赛 灵 思 封面专题<br />

第 四 十 一 期 2 0 1 1 年 秋 季 刊<br />

赛灵思如何让<br />

7 系列 FPGA 的功耗减半<br />

用Virtex-6 FPGA<br />

中的ARM AX I 4<br />

将恒星装入<br />

瓶中 P12<br />

中 国 通 讯<br />

<strong>Xilinx</strong> News<br />

I S S U E 4 1<br />

AUTUMN 2 0 1 1<br />

手把手课堂:FPGA 101<br />

利用可编程振荡器增强FPGA 应用<br />

FPGA 设计存档,轻松实现更新<br />

示例<br />

应用指南<br />

技术长廊<br />

资讯脉搏<br />

请 即 浏 览 赛 灵 思 中 国 通 讯<br />

网 络 版 的 全 部 精 彩 内 容<br />

www.xilinx.com/cn/xcell41


封面专题<br />

封面专题<br />

赛灵思如何让<br />

7 系列 FPGA 的功耗减半<br />

作者: Mike Santarini<br />

Xcell 杂志发行人<br />

赛灵思公司<br />

mike.santarini@xilinx.com<br />

4 赛灵思中国通讯 41 期


2011年 2011年 秋季刊<br />

封面专题<br />

赛灵思采用专为 FPGA 定制的芯片制造工艺和创新型<br />

统一架构,让 7 系列 FPGA 的功耗较前一代器件降低<br />

一半以上。<br />

在开发 7 系列 FPGA 产品线的过程中,赛灵思的芯片架构师曾与数百位客<br />

户交流过,一个话题被客户反复提及,那就是功耗问题。正因为客户有如<br />

此明确的要求,赛灵思在设计这款今年 3 月开始向客户功耗的最新一代<br />

28nm FPGA 时,把降低功耗和功耗管理视为优先考虑的问题。事实上,赛灵思 7 系<br />

列 FPGA 的功耗仅为前一代器件的一半,与此同时逻辑性能、I/O 性能显著提升,收<br />

发器性达到了 28Gbps,且逻辑容量创下了新高(见视频)。<br />

功耗下降的关键原因是赛灵思为 7 系列 FPGA 选用了台积电 (TSMC) 的 28nm<br />

HPL 工艺,该工艺是赛灵思和 TSMC 专门针对 FPGA 合作开发的。除了在功耗方面<br />

具有众多内在优势外,该工艺还有可灵活支持功率分级和电压调节功能,而这两种功<br />

能是采用其它工艺实现的 FPGA 所不具备的。除了选择理想的 FPGA 工艺外,赛灵<br />

思还优化了器件架构,以进一步降低功耗。<br />

本月,赛灵思将发布改进后的电源分析工具,帮助设计人员评估赛灵思 FPGA<br />

的功耗特性。<br />

重中之重<br />

功耗管理无疑已成为大多数 FPGA 用户最为关心的问题。在过去,如果一个系<br />

统使用的是普通电源供电,只要客户能够将其插在电源插座上正常使用,他们就会<br />

很满意,在选择 FPGA 时,我们根本不必过分关注 FPGA 的功耗问题,只需考虑<br />

FPGA 的性能和容量就可以。不过,事情已经发生了变化。<br />

在过去 10 年中,行业已经步入了新的、速度更快的半导体制造工艺时代,但这<br />

些工艺存在严重的不足,那就是晶体管的漏电流问题。同时,系统制造商希望通过提<br />

供低功耗的产品来降低总体拥有成本或使用成本,从而实现产品的差异化,同时,开<br />

发出大量需要直流供电(电池供电系统)的创新型新产品。因此,降低功耗和投入功<br />

耗管理系统是大多数客户所必须面对的,即便他们的目标不是手持设备。不管愿意与<br />

否,都必须关注功耗问题。<br />

以人为本的供电<br />

在 130nm 工艺节点下,IC 上的晶体管开始消耗电力,即便用户将系统置于“待<br />

机”或“休眠”模式。这种不必要的电力消耗(常称为静态功耗或静态漏电流)随着<br />

90nm、65nm 和45nm 工艺的推出日益严重。在 45nm 节点下,最糟糕时,静态功耗<br />

5


封面专题<br />

视频 - 7 系列器件的功耗仅为前一代 FPGA 的一半。详情见:http://youtu.belkVmHP-IFVaQ<br />

占到了一般芯片功耗的 30% 到 60%。<br />

其余的才是动态功耗,即器件运行其实<br />

际设计用于处理的操作时消耗的电力。<br />

芯片性能越高,要求的晶体管性能越<br />

高,漏电流就越严重。<br />

浪费电力当然不是件好事,但静<br />

态功耗还会导致一个更严重的后果,即<br />

产生热量。这种热量加上动态功耗产生<br />

的热量,会让晶体管漏电更严重,反过<br />

来产生的热量更多。这样会导致更大的<br />

漏电流,陷入恶性循环。如果不进行适<br />

当的冷却和功耗预算,听之任之,这种<br />

漏电流生热,热导致更多漏电流的恶性<br />

循环会缩短 IC 的使用寿命,甚至引发<br />

热失控,突然导致灾难性的系统故障。<br />

据广泛报道,这是微软初始版本 Xbox<br />

360的核心器件 Nvidia ASIC 的常见问<br />

题,导致大规模的召回和重新设计。<br />

许 多 设 计 小 组 不 得 不 自 己 想 尽<br />

办法来解决静态功耗引发的问题(见<br />

EDN 文章“《大幅降低功耗》http://<br />

www.edn.com/article/460106-Taking_<br />

a_bite_out_of_power_techniques_for_<br />

low_power_ASIC_design.php”)。部<br />

6 赛灵思中国通讯 41 期<br />

分设计人员采用了“时钟和电源门控”<br />

等方法,或在设计中采用“电源岛”。<br />

众多其他设计团队则在系统中添加散热<br />

片、风扇,甚至制冷电路和更大的功率<br />

电路,以供冷却使用,从而应对漏电流<br />

问题。但所有这些措施都会增加项目设<br />

计的材料清单成本和人力成本。<br />

除了行业范围内普遍对漏电流的<br />

担忧,部分企业降低功耗还有自己的原<br />

因。许多企业现在要么正举着“环保大<br />

旗”,要么就是简单地想让自己的产品<br />

差异化,标榜采用比同类竞争系统功耗<br />

低的系统,可减少电费支出,具有更低<br />

的总拥有成本或运行成本。这对网络和<br />

高性能计算来说尤其如此,它们需要大<br />

型高散热系统全天候可靠运行。这些计<br />

算集群及其冷却系统的用电成本极高,<br />

所以如果每颗芯片能够节电几瓦,加起<br />

来就非常可观。当然,任何电池供电的<br />

系统都把功耗视为优先考虑因素,因为<br />

功耗会直接影响电池充电或更换前的运<br />

行时间长短。<br />

虽然 FPGA 要在商用移动电话(为<br />

数不多的产品销售数量大到适合采用<br />

ASIC 设计的市场之一)中得到广泛应<br />

用还有一段路要走,使用 FPGA 的低功<br />

耗应用已经如雨后春笋般涌现出来,其<br />

中包括车载信息娱乐系统、驾驶员辅助<br />

系统、手持移动医疗设备、3D 电视和<br />

电影摄像机。<br />

为 FPGA 量身定制的 HPL 工艺<br />

在开发去年推出的 7 系列 FPGA<br />

的 过 程 中 ( 见 赛 灵 思 中 国 通 讯 第 3 7<br />

期),赛灵思评估了多种 28nm 代工工<br />

艺,最终选择与台积电合作,共同开发<br />

一种专门适用于 FPGA 的工艺。这种名<br />

为高性能低功耗 (HPL) 的新工艺采用高<br />

介电层金属闸 (HKMG) 技术,可大幅地<br />

降低晶体管的漏电流并实现功耗和性能<br />

的最佳组合。赛灵思公司的产品管理总<br />

监 Dave Myron 表示,在 HPL 工艺技术<br />

问世之前,赛灵思和其他 FPGA 公司必<br />

须在给定代工厂的低功耗 (LP) 工艺和<br />

高性能 (HP) 工艺抉择。LP 工艺用于性<br />

能较低的移动应用,而 HP 工艺则是专<br />

门为高性能图形芯片和 MPU 开发的。<br />

Myron 说:“这两种工艺对 FPGA<br />

来说都不理想。如果选择 LP 工艺,性<br />

能就是问题,如果选择 HP 工艺,功耗<br />

就会超过预期。这两者虽然有回旋余<br />

地,但不能满足我们的需要。”<br />

Myron 继续道,FPGA 已经在大<br />

量应用中得到广泛使用,“但它们还不<br />

能完全满足图形芯片的性能要求以及<br />

商用移动电话中的 ASIC 的极低功耗要<br />

求。”Myron 说,通过共同研发 FPGA<br />

专用工艺,台积电和赛灵思找到了兼具<br />

高速度和低漏电流的晶体管理想组合。<br />

Myron 表示(见图 1):“采用 HPL,<br />

我们能够定制工艺,使其处于 FPGA 应


用的性能及功耗要求的理想平衡点上。<br />

由于我们的器件能够不偏不倚地满足性<br />

能-功耗要求,这意味着客户不必走性能<br />

或功耗的极端,从而让设计能够发挥最<br />

大的功效。”<br />

Myron 说,HPL 的关键优势之<br />

一,是较 28nm HP 工艺有更大的电压<br />

余量。这样用户就能在更大的 Vcc 值<br />

范围内运行器件,实现灵活的功耗/性<br />

能策略,而这是采用 28nm HP 工艺<br />

所无法实现的。如图 2 所示,在高性<br />

能模式(Vcc=1V)下,28nm HPL 工<br />

艺在完成一系列 FPGA 性能指标时,<br />

只需 28nmHP 工艺一半的静态功耗<br />

就实现比其更出色的性能。在低功耗<br />

模式下(Vcc=0.9V),其静态功耗比<br />

28nm HP 工艺降低了 70%。即是在<br />

Vcc=0.9V 的情况下,HPL 工艺的电压<br />

余量也可以让更多的芯片进入具有出色<br />

性能的范畴。在这个较低的电压水平<br />

下,动态功耗也有近 20% 的下降。<br />

7系列还提供另一种称为电压 ID<br />

(VID) 的模式。客户可以通过控制 Vcc<br />

电压和发挥部分器件的额外性能来降低<br />

功耗。每个器件都存有一个电压 ID。这<br />

个可读 VID 明确指出该器件在仍能满足<br />

性能规范条件下可运行的最低电压。<br />

这种额外的余量令人振奋的是,为<br />

设计人员提供了更多选择。Myron 说:<br />

“客户可以选用 7 系列器件来实现他<br />

们现有的设计,同时让现有设计的功耗<br />

减半。或者他们可以保持原有的功耗水<br />

平,为系统增加更多功能,直到达到余<br />

量。这样可以降低系统总体功耗,节省<br />

板级空间,提高性能,同时大幅降低系<br />

统总成本。”<br />

赛灵思 7 系列的所有 3 个 FPGA<br />

产品系列和新推出的 Zynq TM -7000 可扩<br />

展处理平台均采用这种专为 FPGA 优化<br />

的 HPL 工艺。赛灵思在这些器件的所有<br />

FPGA 结构中均采用统一的方法(即基<br />

于小型高能效模块的统一 ASMBL TM 架<br />

构)来处理。这样客户就能够在所有这<br />

<br />

些器件系列中更轻松进行设计移植:低<br />

成本低功耗 Artix TM -7 FPGA;具有业界<br />

最佳性价比的Kintex TM -7;具有业界最<br />

佳性能和最大容量的 Virtex ® -7;以及集<br />

成了嵌入式 ARM 双核Cortex TM -A9处理<br />

器,主要面向嵌入式应用的 Zynq-7000<br />

可扩展处理平台(请参阅赛灵思中国通<br />

讯第40期)。<br />

<br />

<br />

Artix-7<br />

FPGA<br />

28HPL<br />

虽然同类 FPGA 竞争产品继续采用<br />

HP 工艺和 LP 工艺来实现单一架构的各<br />

种变体,但赛灵思坚信采用专为 FPGA<br />

定制的工艺实现的统一芯片架构,可推<br />

动作为一种可编程平台的FPGA 技术日<br />

Virtex-7<br />

Kintex-7<br />

Arria-V<br />

Cyclone-V<br />

28LP<br />

<br />

<br />

28HP<br />

GPU<br />

<br />

<br />

2011年 秋季刊<br />

封面专题<br />

趋成熟,在此,FPGA 芯片仅作为平台<br />

的基础,而不是系统解决方案的全部。<br />

按照随 Virtex-6 和 Spartan ® -6 FPGA 推<br />

出的赛灵思可编程平台战略(见 赛灵思<br />

中国通讯第33期封面文章),赛灵思提<br />

供的不仅是高级芯片,还包括特定市场<br />

开发板、专用开发板、IP 核、工具及技<br />

FPGA 28HPL <br />

Stratix-V<br />

图 1 HPL 工艺处于 FPGA 应用的性能及功耗要求的理想平衡点上<br />

术文档,有助于客户迅速开展创新。<br />

Myron 提到,转向使用优化的工<br />

艺和统一架构,在半导体行业中并非史<br />

无前例或者是走极端,它只是把英特尔<br />

公司率先提出的、且在过去五年得到<br />

了成功部署的一套战略用到 FPGA 上<br />

(见白皮书《在 Intel Core 微处理器<br />

架构内》,http://software.intel.com/<br />

file/18374/)。<br />

曾供职于英特尔公司的 Myron 表<br />

示:“2006 年,英特尔停止使用多种<br />

微处理器架构,采用单一芯片工艺实现<br />

了其功能最为强大的统一硬件架构 —<br />

7


封面专题<br />

<br />

100<br />

10<br />

2<br />

1<br />

Intel Core 微处理器架构,并将其应用<br />

于从高端计算服务器到移动笔记本产品<br />

等多个产品线。为什么像英特尔这样看<br />

似有无穷资源可以利用的公司会专注于<br />

一种硬件架构?答案是他们只想做一件<br />

事,并把它做好。那就是集中资源打造<br />

出出色的统一架构:既可通过扩展用于<br />

满足不同应用需求,同时还可让客户基<br />

本无需重新设计,就可以轻松地把同一<br />

架构用于多个应用。”<br />

Myron 表示,对赛灵思来说当然<br />

也是如此。“通过为 7 系列 FPGA 选<br />

择通用架构,我们可以让我们的软件工<br />

程队伍专注于优化结果质量,无需分心<br />

于多个产品系列。无独有偶,我们的客<br />

户也强烈希望用类似的方式来优化 IP<br />

核重用。与跨越多个不同的架构相比,<br />

维护统一架构有助于用最小的工作量实<br />

现 IP 核重用。”<br />

在 “ 降 低 静 态 功 耗 ” 的 发 展 历<br />

8 赛灵思中国通讯 41 期<br />

程 中 , 赛 灵 思 采 用 高 介 电 层 金 属 闸<br />

(HKMG) HPL 工艺仅仅是迈出了第一<br />

步,而调整 7 系列器件架构,则又迈出<br />

一步。在此前的 FPGA 产品中,赛灵思<br />

允许用户采用电源门控技术来关断未使<br />

用的收发器、锁相环 (PLL)、数字时钟<br />

管理器和 I/O。而在 7 系列 FPGA 中,<br />

设计人员可以用同样的方法来禁用未使<br />

用的 block RAM 模块。由于block RAM<br />

模块的漏电流占给定器件总漏电流的<br />

30% 之多,因此电源门控技术确实能起<br />

到明显的效果。<br />

降低系统总功耗<br />

GPUs<br />

Vt<br />

Myron 说,虽然选用高介电层金属<br />

闸 (HKMG) HPL 芯片工艺已经显著降<br />

低了静态功耗和动态功耗,但赛灵思又<br />

进一步采取措施来减少 7 系列器件的系<br />

统总功耗,即从由静态漏电流、动态功<br />

耗、I/O 功耗和收发器功耗组成的系统<br />

总功耗入手(见图 3)。<br />

FPGAs<br />

降低动态功耗<br />

28 HP<br />

28 HPL<br />

28 LP<br />

<br />

0.1<br />

0.6 0.7 0.8 0.9 1 1.1<br />

<br />

1.2 1.3 1.4 1.5 1.6<br />

图 2 28nm HPL 工艺、28nm 高性能 (HP) 工艺和 28nm 低功耗 (LP) 工艺的性能及漏电流对比<br />

赛灵思功耗专家兼杰出工程师 Matt<br />

Klein 一直参与赛灵思 FPGA 的降耗工<br />

作。他说 FPGA逻辑的动态功耗可根据<br />

标准“CV平方f”等式计算得出:<br />

等式中的“C”即电容。赛灵思<br />

FPGA 中众多模块的架构经过精心设<br />

计,可大幅降低电容,从而能够实现较<br />

低的动态功耗。赛灵思还对部分模块的<br />

架构进行了重新设计,使之更紧凑,电<br />

容得到了进一步降低。Klein 说:“赛灵<br />

思 FPGA 中部分模块(包括 DSP48 模<br />

块)的动态功耗均低于其他 28nm FPGA<br />

中的模块,即使是工作在高于 0.85V 的<br />

标准 1V 电压下。使用赛灵思提供的电<br />

压调节功能,还可以进一步降低动态功<br />

耗。”另外他还提到,f clk,即频率,会<br />

呈“线性方式”影响动态功耗。<br />

Klein 说,用户也可以放大“阿尔


法”,即他们的设计的活动因数,采用<br />

智能时钟门控技术来降低动态功耗。运<br />

用这种方法,设计人员可以控制给定<br />

模块的活动。但是,这种技术的实现<br />

需要花费相当长的时间,特别是在大型<br />

FPGA 设计中,所以大多数 FPGA 用户<br />

一般不会使用。<br />

但是 Klein 表示还有其他的办法。<br />

他说所有的 7 系列 FPGA 都有时钟分<br />

层结构,可以让设计人员在盖顶设计中<br />

编程,只启用需要的时钟资源。这样可<br />

以大幅地降低时钟负载功耗。另外,设<br />

计人员还可以分三级进行时钟门控:全<br />

局时钟门控、区域时钟门控,以及借助<br />

本地资源(比如触发器)上的时钟使能<br />

(CE) 信号实现的时钟门控。<br />

Klein 说:“在赛灵思 FPGA 中,<br />

每个 slice 上基本有 8 个触发器,它们<br />

共享一个通用的时钟使能端信号,不过<br />

与以往的架构不同,这个时钟使能端信<br />

<br />

号用于在本地门控时钟,同时阻止触发<br />

器翻转。现在采用这种硬件,ISE ® 设<br />

计工具会寻找触发器输出未被下游目标<br />

使用的情况,自动抑制不必要的开关<br />

操作。这可通过逻辑检查和后综合来完<br />

成。随后 ISE ® 设计工具生成本地时钟<br />

使能端信号。用户可以在映射阶段使用<br />

-power high 或者 -power XE 选项来激<br />

活这些功能。<br />

Klein 表示,这种自动智能时钟门<br />

控技术可将逻辑动态功耗降低多达 30%<br />

(平均达到18%)。他说:“用于生成<br />

智能逻辑门控的逻辑门数不到总逻辑门<br />

数的 1%,所以对降低动态功耗来说是<br />

个福音。”<br />

用户还可对 block RAM 模块采用<br />

智能时钟门控技术。大多数设计人员和<br />

综合工具会把 block RAM 模块的时钟<br />

使能端置于静态的“1”。Klein 建议考<br />

虑一下有地址输入和数据输出的 block<br />

FPGA FPGA <br />

<br />

I/O <br />

<br />

<br />

60%<br />

30%<br />

25%<br />

65%<br />

2011年 秋季刊<br />

封面专题<br />

RAM 模块。输出的数据可能会被下游<br />

使用,但有时是通过被称为“sel”的多<br />

路复用器控制信号选中。首先,如果没<br />

有发生写入或者读取地址自上一个周期<br />

以来没有变动,就不必启用 block RAM<br />

模块。其次,如果在给定周期内系统没<br />

有使用 block RAM 模块的输出,就不必<br />

为读取而启用 block RAM 模块。<br />

与生成触发器时钟使能信号的方<br />

法类似,ISE 会自动逐周期地生成时钟<br />

使能 (CE) 信号。Klein 说:“对 block<br />

RAM 模块来说,降耗水平更为明显。<br />

我们发现 block RAM 模块最高降耗幅<br />

度达 70%,平均也有 30%,同时逻辑<br />

开销微乎其微。赛灵思还提供 CORE<br />

Generator TM 和 XST 供用户选择,用于<br />

构建高能效 block RAM 模块阵列,可将<br />

阵列中 block RAM 模块的功耗降低多达<br />

75%。”<br />

7 <br />

<br />

I/O <br />

<br />

<br />

HPL <br />

图 3 赛灵思通过优化 7 系列器件的各项功耗,使其相对前代器件而言,总功耗降低一半以上<br />

9


封面专题<br />

降低 I/O 功耗<br />

当然,总体系统功耗的范畴不局限<br />

于静态功耗和动态功耗,还包括另外两种<br />

类型的功耗,即I/O 功耗和收发器功耗。<br />

为降低高速 I/O 的功耗,赛灵思新<br />

增了多模 I/O 控制功能,并对其收发器<br />

的架构进行了重新设计。Klein 表示,<br />

多模 I/O 控制功能能够显著降低 I/O 耗<br />

电,尤其是对存储器接口而言。在存储<br />

器写入状态下最高可节电 50%,而在存<br />

储器闲置状态下最高则可节电 75%。<br />

这些新的 I/O 降耗功能中第一种<br />

功能在存储器写操作过程中很有价值:<br />

在写入到诸如 DDR2 和 DDR3等外部<br />

存储器器件过程中,I/O 硬件会自动禁<br />

用 IBUF(输入缓存)。Klein 说:“由<br />

于输入缓存是一个参考接收器,不管翻<br />

转率是多少,它都会消耗直流电。所以<br />

现在在存储器写操作过程中,直流电被<br />

切断,节电幅度与写入比例成比例。与<br />

仅禁用终端相比,在存储器写操作过程<br />

中,多模 I/O 控制功能可让总体功耗多<br />

节省一半。”<br />

所有 7 系列 FPGA 采用的第二个<br />

I/O 降耗功能是用户能够在存储器总线<br />

闲置时禁用 IBUF和终端。Klein 说:<br />

“一般来说,在总线闲置期间应离开存<br />

储器总线,但这样看上去像存储器读操<br />

作。如果没有这种[禁用]功能,终端和<br />

IBUF 都会消耗电力。禁用比启用终端<br />

和输入接收器时,7 系列 FPGA 的 I/O<br />

功耗可降低 75%。”<br />

赛灵思还把 V CCAUX 电压从 2.5V 降<br />

至 1.8V,这样可以将 PLL、IDELAY、<br />

输 入 / 输 出 缓 存 和 配 置 逻 辑 等 所 有 用<br />

V CCAUX 供电的模块的功耗降低近 30%。<br />

10 赛灵思中国通讯 41 期<br />

对高性能存储器接口而言,7 系列<br />

FPGA 相对 Virtex-6 及其它 FPGA 新增<br />

的这些功能带来了巨大优势。<br />

降低收发器功耗<br />

在器件总体功耗中,收发器的功<br />

耗也占着较大的比例。Myron 表示,赛<br />

灵思首次宣布用其 XPower Estimator<br />

(XPE) 工具测得的 7 系列功耗估计值<br />

时,最初提供的收发器功耗值相当保<br />

守。自那时起,赛灵思又对 GTP 和<br />

GTH 收发器的功耗进行了进一步优化,<br />

并将其工具与芯片结果相关联。最新版<br />

本的 XPE(13.2 版)能够更加准确地<br />

反映新的功耗值。<br />

Myron 说:“在相同性能水平下,<br />

Artix-7 GTP(性能高达 6.75Gbps)收<br />

发器的总体功耗比 Spartan-6 GTP 的低<br />

60%。我们这样做的目的,是为了满足<br />

要求绝对最低功耗和最低成本的低端市<br />

<br />

<br />

7 -2LE<br />

V CCINT = 0.9V<br />

7 -2LE<br />

V CCINT = 1V<br />

7 C-<br />

V CCINT = 1V<br />

Leakier<br />

V CCINT<br />

<br />

<br />

<br />

<br />

<br />

C- -2LE (1V) -2LE (0.9V)<br />

1V<br />

<br />

<br />

• -2 100°C<br />

• <br />

• <br />

场的需求。我们还大幅降低了 Virtex-7<br />

GTH 的功耗。”7 系列 FPGA 这个器件<br />

集成有多达 96 个收发器,用于高带宽<br />

应用。他说:“在收发器功耗成为总体<br />

功耗的主要组成部分的情况下,这项性<br />

能让我们与同类 28nm 竞争产品的收发<br />

器功耗不相伯仲。”<br />

功率分级和电压调节<br />

1V<br />

-45%<br />

<br />

7系列最值得关注的节能创新之一<br />

是赛灵思能够为客户提供器件的功率分<br />

级和电压调节选项,这样能够在确保与<br />

标准版本相同的性能情况下进一步降低<br />

功耗。Myron 说:“实现这项性能所倚<br />

靠的,是通用 28nm HPL 工艺提供的预<br />

留空间,也就是说没有其他 28nm 厂商<br />

可以提供如此出色的功耗优化选项。赛<br />

灵思是怎么做到的呢?我们不妨首先来<br />

看一下标准器件的分布图[图 4],该曲<br />

线上的所有器件都运行在 1V 电压下,<br />

有各自的标称静态功耗和动态功耗。然<br />

0.9V<br />

-55%<br />

-20%<br />

• -1 100°C<br />

• <br />

• <br />

图 4 28nm HPL 工艺的预留空间可实现功率分级和电压调节功能


: 3.6 W<br />

: 6.5 W<br />

6<br />

vs.<br />

: 0.9 W<br />

: 3.1 W<br />

<br />

28nm 50% <br />

2011年 秋季刊<br />

封面专题<br />

Kintex-7 FPGA <br />

<br />

Close correlation with<br />

estimator tool results<br />

图 5 Xpower Estimator (XPE) 工具可以让设计小组更好地评估赛灵思 FPGA 的功耗特性,并与同类竞争产品进行比较<br />

后我们剔除速度太慢或漏电流太大的<br />

器件,就得到 -2L 级器件的分布图。-<br />

2L 级器件都工作在相同的 1V 核心电压<br />

下,因此能够提供与商用或工业用器件<br />

相同的 -2L 级性能,而且最高工作温度<br />

能够达到 100℃。-2LE 级器件能够降<br />

低静态功耗 45%,是标准分级工艺的产<br />

品,故其供货毫无问题。我们然后取出<br />

-2LE 器件,筛选出能够在 0.9V 下运行<br />

的器件。通过降低核心电压至 0.9V,功<br />

耗优化的 -2LE 级器件与标准商用器件<br />

相比,可实现高达 55% 的静态功耗和<br />

20% 的动态功耗下降。”<br />

标准测试结果证明一切<br />

虽然竞争对手可能会辩称赛灵思在<br />

28nm 节点上使用的是以不变应万变的<br />

方法,赛灵思坚信 7 系列是创新史上的<br />

又一里程碑。赛灵思将各项标准测试结<br />

果综合在一起,证明 7 系列是用户准备<br />

用 FPGA 实现的各种应用的理想选择。<br />

客户既可以通过下列网址:http://www.<br />

xilinx.com/cn/publications/technology/<br />

power-advantage/7-seriespower-<br />

benchmark-summary.pdf,查阅赛灵思<br />

公布的一系列标准测试结果,也可访问<br />

如下网站:http://s e m i n a r 2 . t e c h<br />

o n l i n e . c o m /registration/wcIndex.<br />

cgi?sessionID=xilinx_jun1411,观看<br />

TechOnline 网络研讨会。<br />

掌握工具<br />

最新版 XPE 功耗估计器工具(即<br />

13.2 版)(图 5)提供了反映近期 7 系<br />

列产品变动的最新数据。该版本还提供<br />

重新架构的 GTP 和 GTH 收发器的较低<br />

功耗数据。根据普遍的需要,该版本的<br />

工具还为客户提供了必要的最高功耗数<br />

据,便于他们进行最恶劣情况下的电源<br />

和热性能设计。<br />

关于 7 系列器件的功耗管理和标<br />

准测试结果的更多信息,敬请登录:<br />

www.xilinx.com/cn/power,参阅题为<br />

《降低赛灵思 28nm 7系列 FPGA 的功<br />

耗》的白皮书。<br />

如欲进一步了解 7 系列的功耗优<br />

势,敬请访问:http://www.xilinx.com/<br />

cn/products/technology/power/index.<br />

htm。<br />

11


科研应用中的赛灵思<br />

科研应用中的赛灵思<br />

麻省理工学院教授使用 将 ARM AXI 4 用于 FPGA, ESL 工<br />

具和 FPGA 开展系统架构教学<br />

把恒星装入瓶中<br />

作者: Clive (Max) Maxfield<br />

Maxfield 高科技咨询公司总裁<br />

max@CliveMaxfield.com<br />

12 赛灵思中国通讯 41 期<br />

作者:Billy Huang<br />

博士研究员<br />

英国杜伦大学/卡尔汉姆<br />

聚变能研究中心 (CCFE)<br />

Bi ly.huang@ccfe.ac.uk<br />

Roddy Vann 博士<br />

助理教授<br />

英国约克大学<br />

Roddy.vann@york.ac.uk<br />

Graham Naylor 博士<br />

MAST 等离子诊断和控制<br />

部主任<br />

卡尔汉姆聚变能研究中心<br />

(CCFE)<br />

Graham.naylor@ccfe.ac.uk<br />

Vladimir Shevchenko<br />

高级物理学家<br />

卡尔汉姆聚变能研究中心<br />

(CCFE)<br />

Vladimir.shevchenko@ccfe.ac.uk<br />

Simon Freethy<br />

博士研究员<br />

英国约克大学/CCFE<br />

Simon.freethy@ccfe.ac.uk


英 国 的 聚 变 研<br />

究 人 员 以 赛 灵<br />

思 技 术 为 基<br />

础 , 采 用 最 新<br />

的 ARM AXI 4<br />

接 口 , 开 发 出<br />

一 种 用 于 合 成<br />

孔 径 成 像 的 数<br />

据采集系统。<br />

2011年 秋季刊<br />

科研应用中的赛灵思<br />

聚变能是氢原子在极高的温度条件下聚合为更大的原子时所<br />

释放出的能量。这也是包括太阳在内的所有恒星的能量来<br />

源。要在地球上产生聚变能,我们需要在一个磁瓶(也称<br />

为托卡马克装置,见图 1)装置中将电离氢气(称为“等离子体”)<br />

加热至 1 亿开以上。<br />

聚变科学家的终极目标就是建造出能够使用氢燃料的核聚变电<br />

站,氢燃料在地球上大量存在且很容易获得。位于英国牛津附近的卡<br />

尔汉姆聚变能研究中心 (CCFE) 是一家世界领先的聚变能研究机构,<br />

该中心的科研小组正在致力于氢燃料聚变电站的研究。实际上,地<br />

球上可用于聚变的燃料非常充足,足以满足我们上百万年的能源需<br />

求。问题在于聚变的难度极大,就像把恒星装入瓶子中一样困难。国<br />

际 ITER 项目是一项耗资 200 亿美元的世界上规模最大的地面科研项<br />

目,将首次使聚变能实现产业化。目前正在法国南部建造的 ITER——<br />

其名称在拉丁语中的意思为“方法”——预计将在二十年内投入运营<br />

(见http://www.iter.org/)。<br />

聚变研究的主要工作之一是实时测量聚变等离子体。每种诊断方<br />

法都有自己的要求。在 CCFE (http://www.ccfe.ac.uk/),我们开发出一<br />

种诊断方法可以把等离子体发出的微波进行成像,用于测量其中的电<br />

流。为此,我们决定设计一种合成孔径成像系统。<br />

评估微波相位<br />

合成孔径成像使用相位天线阵列(见图 2),其工作方式与人<br />

耳类似。如果身体右侧有噪声,那么声音到达右耳的时间就会早于<br />

左耳。用另一种方法来表述这种情况,就是声音以不同的相位到达双<br />

耳。人脑会把这种相位差异解读为方向性。相同的方法,我们通过考<br />

虑天线阵列检测到的微波的相位,就可以确定微波的源头。利用这一<br />

原理,我们就可以使用相位天线阵列重新合成等离子体的边缘图。<br />

射频 (RF) 系统(见图 3)负责把每个天线接收到的频率在 6GHz<br />

至 40GHz 的信号降频转换为 250MHz 带宽的信号,供 FPGA 数据采<br />

集箱进行处理。250MHz 带宽是模数转换器 (ADC) 的时钟要求。我们<br />

使用的 8 副天线中,共有 16 条通道需要进行数字化处理(使用两倍<br />

的通道数量是为了区分信号中的实部和虚部,从数学意义上解释,就<br />

是信号相移 90 度而造成的)。<br />

该系统必须在 250MHz 频率下以 14 位精度从 16 个模拟通道<br />

中连续采集数据 0.5 秒。随后将 14 位打包为 2 个字节,那么总共要<br />

求 32字节X 0.25Gbps= 8Gbps 的速度。这样就需要在 0.5 秒内采集<br />

13


科研应用中的赛灵思<br />

图 1 CCFE 的兆安级球形托卡马克装置 (MAST)<br />

形状独特,更像是去了核的苹果,而非传统<br />

的面包圈形状。设备内部清晰的图像显示出<br />

“瓶中恒星”的效果。<br />

到 4Gb 的数据,并要求 FPGA 板配备<br />

FPGA 夹层卡 (FMC) 接口,以便能够灵<br />

活地选择 ADC 厂商并满足未来的可移<br />

植性需求。同时还需要使用我们内部开<br />

发的FMC 数字 I/O 板。<br />

在 2010 年夏天,我们认为理想的<br />

解决方案应使用两个赛灵思的 Virtex ® -6<br />

LX240T ML605 板与两个 4DSP 公司的<br />

FMC108(8 通道)ADC 板相结合。那<br />

时,8Gbps 的数据速率就是天文数字,<br />

事实上现在仍然是。我们原本可以采用<br />

分而治之,各个击破的方法,即使用更<br />

多的 FPGA 板,并让每个板处理更少<br />

的通道数量。但是,这样做会增加系统<br />

的成本和尺寸。<br />

实 际 上 , 能 够 真 正 为 我 们 解 决<br />

这个设计难题的技术出现在 2011 年<br />

图 2 使用新颖的 PCB 天线的微波成像相位天<br />

线阵列<br />

14 赛灵思中国通讯 41 期<br />

1 月,当时赛灵思发布了 ISE ® 设计<br />

软件的修订版本,能够支持 ARM 的<br />

AMBA ® AXI4 接口协议。在此之前硬件<br />

已经存在,但缺少能够充分发挥其潜能<br />

的手段。<br />

AXI4 问世之前<br />

为 满 足 我 们 系 统 的 需 要 , 位 于<br />

Virtex-6 上的 MicroBlaze TM 处理器必须<br />

能够访问 DDR3 SDRAM 存储器,这<br />

样 Linux 才能访问我们采集到的实时数<br />

据。为此,我们必须采用一个能同时被<br />

MicroBlaze 总线和实时串流 IP 访问的<br />

存储器控制器。起初我们试图使用 PLB<br />

总线,但发现基于 PLB 的存储器控制器<br />

存在局限性,使我们无法在要求的频率<br />

下连接 64 位宽的接口,而只能提供 32<br />

位宽。我们意识到这个任务会很艰难,<br />

我们又编写了一个能够通过低层 NPI 协<br />

议直接与存储器控制器进行通信的内<br />

核,但只能实现 2Gbps 的速率。虽然<br />

这个速率已经令人惊叹,而且打破了我<br />

们能够实现的所有速度记录,但仍然不<br />

能满足我们的要求。<br />

幸 运 的 是 赛 灵 思 随 后 推 出 了<br />

AXI4 互联和存储器控制器,能够以<br />

400MHz 的双倍数据速率(每秒 8 亿<br />

次事务处理)对整个 64 位宽度实现完<br />

全访问。这样可以有效实现 6.4Gbps<br />

的数据吞吐能力,这个速度已经超过了<br />

我们要求的每板 4Gbps的速度。这正<br />

是我们所需要的。<br />

我们实际上找到了两种实现这个速<br />

度的途径:一个是修改 axi_v6_ddrx 存<br />

储器控制器(隐含在AXI 互联层下)。<br />

另一种方法是用系统生成器 (System<br />

Generator) 生成 AXI Master PCore。<br />

PCore 可以以 AXI External Master 的形<br />

式附加给 <strong>Xilinx</strong> Platform Studio (XPS)<br />

里的MicroBlaze 系统。<br />

两种解决方案都能够以 5Gbps 的<br />

速度向 DDR3 存储器中传输数据。AXI<br />

编程简便,采用独立的读写通道,可以<br />

实现非常高的存储速度。XPS 工具则<br />

为 AXI 设计赋予了极大的灵活性。我<br />

们把这种灵活性转化为我们的优势,例<br />

如我们可以根据需要只选择一条写入通<br />

道,从而能够简化逻辑设计,释放更多<br />

资源。<br />

软处理器界面<br />

这款赛灵思工具集有一项独特的<br />

功能,即 MicroBlaze 软处理器。它的<br />

“软”在于能够使用 FGPA 逻辑。在赛<br />

灵思及其合作伙伴的努力下,该处理器<br />

能够得到主流 Linux 内核的全面支持。<br />

我们被这种努力所打动,决定把开发工<br />

作放在 Linux 环境中进行。<br />

这项功能的意义在于,我们可以给<br />

FPGA 系统构建一个类似 PC 的界面。<br />

这样做的意义非常重大,例如,可以在<br />

FPGA 上实现 Web 和 SSH 服务器。我<br />

们可以在 Linux 下安装 System ACE TM<br />

闪存(格式化为 MSDOS),这样我们<br />

就可以远程更新固件。<br />

网络流<br />

鉴于我们能够在 0.5 秒内在每个<br />

FPGA 板上采集 2Gb 的数据,我们现<br />

在要解决的问题是如何在合理的时间<br />

内通过标准的接口将数据从 FPGA 板<br />

上输出。实践证明,在 Linux 环境中<br />

使用简单协议(比如 UDP),利用<br />

MicroBlaze 处理器通过千兆位以太网


图 3 连接到 MAST 托卡马克装置的 RF 电子<br />

设备能够将接收到的 6GHz 至 40GHz 的信号<br />

降频为 250MHz 带宽信号,供 FPGA 数据采<br />

集盒处理。<br />

所实现的网络速度太慢,只能达到 0.5<br />

Mb/s。以这种速率下载 0.5 秒内采集的<br />

数据,我们需要等上一个多小时!<br />

很明显,我们需要对设计进行深层<br />

研究。我们的解决方案是采用自主开发<br />

的 FireStark 协议,它是一种基于 UDP<br />

的协议,位于 AXI 以太网 DMA 驱动程<br />

序内部。通过调整 MicroBlaze Linux 内<br />

核驱动程序和把 FPGA 放在专用网络<br />

上,我们现在能够在 60 秒内完成对整<br />

个 2Gb 数据的下载,速度提高 70 倍。<br />

如果使用高达 6Kb 的巨型帧进行测试,<br />

速度还可以翻倍,即超过 70Mb/s。关<br />

键之处在于,这说明使用 DMA,即便<br />

是在较慢的 100MHz 的 MicroBlaze 时<br />

钟下,也能够在存储器和网络之间实现<br />

极高的数据吞吐能力。<br />

FPGA 到 PC 机的时延经测量为<br />

129µs +/- 13µs(真正的时延会更低,<br />

因为该测量值包含数据包穿越交换机、<br />

通过 PC 内核、到达网络堆栈以及最终<br />

进入用户区域的时延)。我们还准备测<br />

量 FPGA 之间的时延,预计会更低。<br />

时钟同步<br />

我们的托卡马克装置有许多诊断装<br />

置和系统,它们都需要同步为 10MHz<br />

的全局实验时钟。我们从这个时钟信号<br />

中派生出 250MHz 的数据采集时钟,同<br />

时这个派生出的信号还为 ADC 板提供<br />

时钟。剩余的 FPGA 逻辑则由板载晶振<br />

时钟来驱动。<br />

我们的系统有一个特别的地方,<br />

就是不会连续发送实验时钟,只在有<br />

触发事件的时候发送大约 10 秒钟。<br />

在此期间之外,我们需要切换到内部<br />

生成的时钟。因此我们需要在两个时<br />

钟之间来回切换,即在外部时钟和内<br />

部时钟间切换。<br />

对两个 FPGA 板有一个重要要求,<br />

就是它们必须精确同步。在理想情况<br />

下,我们的采样周期为 4ns,那么在所<br />

期望的最高频率下 ADC 的可读输入正<br />

ADC<br />

[FMC]<br />

FPGA<br />

Internal<br />

10 MHz<br />

External<br />

10 MHz<br />

MMCM<br />

250 MHz<br />

BUFGMUX<br />

CTRL<br />

2011年 秋季刊<br />

科研应用中的赛灵思<br />

弦的周期为 8ns,相当于 360 度。如果<br />

我们需要 5 度的相位精度,我们能够容<br />

忍的最大歪斜为8X (5/360)=111ps。这<br />

种程度的精度很难实现,因为即便是光<br />

在这么短的时间内也只能行进 3.3cm。<br />

我们为两块板子设计的固件完全相<br />

同。我们使用 DIP 开关来启用或者停用<br />

每块板子需要的不同功能。这样可以大<br />

幅度地节省开发时间,因为我们只需要<br />

对固件进行一次综合。<br />

时钟由两块板中的一块生成,然<br />

后通过两个临近的 SMA 端口输出,随<br />

后反馈到与每块 FPGA 板的 FMC 端<br />

口相连的 ADC 板(使用相等长度的线<br />

缆)。这样可以保证每块板都能够精确<br />

地运行在相同的时钟上,唯一的相位差<br />

是信号离开 FPGA 板时两个 SMA 端口<br />

之间的相位差。图 4 更加清楚地说明了<br />

这种设计方法。<br />

外部 10MHz 时钟按同样的方式完<br />

成时钟信号到达、发送、再回到两个<br />

ADC 的过程,也就是说,外部触发采用<br />

与内部时钟相同的方法来确保两块板都<br />

能够实现同步触发。<br />

ADC<br />

[FMC]<br />

FPGA<br />

图 4 两个 FPGA 板必须精确同步,图中的时钟原理可以确保这种一致性。<br />

15


科研应用中的赛灵思<br />

图 5 FPAG 数据采样盒由赛灵思的 ML605 评估板、4DSP 的 FMC108 ADC 板和我们自己开发的 FMC/<br />

PMOD 插头板组成。我们把 ADC SSMC 接插件在内部连接到前板上的 SMA 隔板上,以延长 ADC<br />

模拟连线的寿命。<br />

独特的性能带来的优势<br />

我们在设计中充分利用了赛灵思<br />

FPGA 架构提供的一些新颖的功能。例<br />

如,我们使用IODELAY 原语在引脚上调<br />

整路径时延,这样我们就能够补偿走线<br />

长度的差异。这项功能非常重要,因为<br />

从 ADC 到 FMC 的数据路径长度不等。<br />

如果我们不补偿路径时延,ADC 输出的<br />

数据就是无用数据。ADC 输出的数据<br />

在 250MHz 时钟下以双倍的速率输出,<br />

因此有效数据单元之间的时间间隔仅有<br />

2ns。IODELAY 可以让我们按 125ps 的<br />

步长非常精确地调整数据路径。<br />

同样重要的是混合模式时钟管理器<br />

(MMCM),它的作用是执行诸如乘法和<br />

相移等时钟管理任务。在级联模式下,<br />

即把一个 MMCM 与另一个相连,我们<br />

可以使用原始的 10MHz 时钟生成多种<br />

时钟。这其中就包括 250MHz 的 ADC<br />

采样时钟以及我们用于其它目的的其它<br />

时钟。<br />

16 赛灵思中国通讯 41 期<br />

我们还充分发挥 BUFGMUX_CTRL<br />

和 IDDR 原语的作用。由于我们的系统<br />

需要在内部时钟和外部 10MHz 时钟之<br />

间切换,非常重要的是这种切换不得产<br />

生脉冲。运用 BUFGMUX_CTRL原语<br />

可以保证这一点。该原语还可用于标准<br />

逻辑,比如触发器(不一定是用于时<br />

钟的)。但是需要将属性 IGNORE0、<br />

IGNORE1 设置为 1,以绕开去脉冲电<br />

路,否则逻辑不能通过。<br />

同时,ADC 以 DDR 格式提供数<br />

据,即数据在时钟上升沿和下降沿均<br />

有效。要把这些数据恢复为单数据速<br />

率 (SDR),需要使用被硬连线在 I/O 焊<br />

盘上的 IDDR 原语。它有一个单数据引<br />

脚输入,两个数据引脚输出。我们使用<br />

SAME_EDGE_PIPELINED 属性,保证数<br />

据同时在两个引脚上都有效,这样可以<br />

减少其它逻辑。这样做会增加一个时延周<br />

期,但对我们来说这点时延可以接受。<br />

赛灵思架构另一个对我们有帮助的<br />

功能是 FPGA 夹层卡 (FMC) 接插件。<br />

严格地说,这并非是 FPGA 的一项特有<br />

功能,而是 FPGA 板的一项特有功能。<br />

即便如此,经实践证明这是一项非常有<br />

用的功能,能够与 Virtex-6 有效配合。<br />

FMC 接插件包含高频时钟引脚,可以<br />

连接到 ML605 板上 Virtex-6 的时钟功<br />

能引脚上。这样可以通过 FMC 把时钟<br />

信号发送到 FPGA 中。这种做法的优势<br />

在于我们只需要一个时钟进入点。<br />

使用赛灵思工具套件<br />

赛灵思提供了许多有助于 FPGA 系<br />

统开发的工具。我们用过的不在少数。<br />

我 们 使 用 项 目 浏 览 器 进 行 手 动<br />

VHDL 和 Verilog 编码。此外,可以利<br />

用其图形界面生成“原理图”,用于可<br />

视化地创建逻辑。不过我们发现项目浏<br />

览器是一个底层工具,虽然我们可以轻<br />

松地完成触发器(单数位)运算,但扩<br />

展到更大数位的运算就会变得相当复<br />

杂。我们发现 项目浏览器对底层时钟设<br />

计最有用。它能够让我们准确地控制由<br />

哪个时钟驱动特定的逻辑。<br />

对于高级逻辑设计,我们使用系<br />

统生成器。它特别适用于逻辑由单一时<br />

钟频率驱动的设计(但不局限于这种情<br />

况)。系统生成器使用简单,能够访问<br />

大量 IP 核,比如 FFT、除法器生成器<br />

和滤波器。另外,可以把逻辑轻松地连<br />

接到 MicroBlaze 处理器中,用作读/写<br />

寄存器和共享存储器。该工具能够自动<br />

创建外设核心 (PCore),并将其添加到<br />

XPS 项目中。<br />

我们使用 CORE Generator TM 调节<br />

ADC FIFO 的参数。FIFO 必须是 256<br />

位宽度,写入时钟125MHz,读取时钟<br />

200MHz。我们把最后生成的 NGC 文<br />

件导入到 XPS 中用作 PCore。我们通<br />

过创建必要的 .mpd、.pao 和 .bbd 文件


来手动完成这项工作。<br />

I m p a c t 工 具 可 以 帮 助 我 们 对<br />

FPGA 编程,还能生成 SystemACE TM<br />

文件,用于将固件永久存入压缩闪存<br />

(CompactFlash) 中。压缩闪存的工作<br />

非常可靠,但值得注意的是它会给我们<br />

的系统提出一项额外的要求(见下面的<br />

SDK 一段)。<br />

由于我们需要在我们的系统中植<br />

入 MicroBlaze 处理器,因此我们需要<br />

可创建该处理器系统的工具,即赛灵<br />

思 Platform Studio。XPS 是一种全面<br />

的工具套件,可以让用户创建以处理器<br />

为中心的系统。在它的帮助下,用户可<br />

以借助向导来建立所需的链接。用户还<br />

可以使用 Create IP 向导植入由 CORE<br />

Generator 生成的 IP 核。它现在还包含<br />

高性能 AXI4 片上互联。<br />

最后,我们使用赛灵思软件开发<br />

套件 (SDK) 来开发运行在处理器上的<br />

程序。实际上,开始的时候我们只需<br />

要运行一个程序,就是 SREC 引导程<br />

序。由于压缩闪存使用的是 FAT 文件<br />

系统,所以用于访问 SREC 程序(也<br />

在闪存上)的库文件会使生成的可执行<br />

文件变大。我们需要停止调试,进行<br />

优化,并使用“mbstrip –g ”作为编译后命令,来缩小文<br />

件的大小。即使完成所有这些步骤后,<br />

我们得到的仍然是一个比较大的 91Kb<br />

的可执行文件。因此,我们必须增加内<br />

部 BRAM,才能使用这样大小的可执<br />

行文件初始化比特流。<br />

另一个需要解决的问题是 Virtex-6<br />

的 编 译 时 间 太 长 。 赛 灵 思 的 软 件<br />

PlanAhead TM 能够有力地帮助解决这个<br />

图 6 该 ITER 托卡马克装置目前正在法国南部建造,建成后能够产生 500 兆瓦巨变能,可为聚变<br />

电站的建立打下坚实的基础。<br />

2011年 秋季刊<br />

科研应用中的赛灵思<br />

问题。我们准备让 PlanAhead 发挥出极<br />

致,来缩短编译时间。<br />

我们对新型 Zynq TM -7000 可扩展<br />

处理平台的新功能感到欢欣鼓舞(见赛<br />

灵思中国通讯第 40 期的封面报道)。<br />

不过,Zynq 是否会淘汰 MicroBlaze,<br />

还是 MicroBlaze 能够凭借其自身的软<br />

特性和 10 余年的开发基础继续生存下<br />

去,都还有待观察。将来的缓存一致<br />

型多处理器 MicroBlaze 系统能否超越<br />

ARM ® 双核 Cortex TM -A9 MPCore TM 的<br />

性能呢?Zynq 或MicroBlaze 的物理地<br />

址扩展能否促成地址空间超过 32 位的<br />

更强大的系统,从而实现 4Gb以上的<br />

RAM 呢?我们只需等待,看时间如何<br />

回答这个问题。<br />

尖端系统<br />

最后,我们采用最先进的赛灵思技<br />

术,开发出了一套在 FPGA 领域中处于<br />

尖端地位的全功能数据采集系统(见图<br />

5)。它的实时采集速度可达 10Gbps<br />

(或者 80Gbps),而最后的成本只有<br />

不足 1.5 万美元。我们希望这项技术能<br />

够用于世界上最大的聚变实验项目,比<br />

如 ITER 项目(图 6)。<br />

聚变能是人类试图克服的最艰巨的<br />

技术挑战之一。FPGA 凭借其在各个方<br />

面独特的优势,正在帮助我们攻克这个<br />

难题。我们的聚变研究设备使用最先进<br />

的 AXI4 互联技术和赛灵思工具流程,<br />

通过融合 Virtex-6 FPGA 的性能优势,<br />

能够在小巧紧凑的系统上实现极高的数<br />

据率。<br />

这个新网站(http://fusion.phys.<br />

tue.nl/fpga/doku.php)将成为沟通思<br />

路和交换材料的绝佳场所,可帮助人们<br />

更好地将 FPGA 技术应用于聚变设备<br />

的开发。<br />

17


手把手课堂:FPGA 101<br />

手把手课堂:FPGA 101<br />

利用可编程振荡器增强<br />

FPGA 应用<br />

时钟振荡器为高度可定制 FPGA 系<br />

统带来了灵活性与 EMI 消减等一系<br />

列独特优势。<br />

18 赛灵思中国通讯 41 期<br />

作者: Sassan Tabatabaei<br />

SiTime 公司战略应用总监<br />

stabatabaei@sitime.com<br />

当今复杂的 FPGA 含有众多用<br />

于实现各种电路与系统的功能<br />

块,诸如逻辑阵列、存储器、<br />

DSP 模块、处理器、用于时序生成的<br />

锁相环 (PLL) 和延迟锁定环 (DLL)、标<br />

准 I/O、高速数字收发器以及并行接口<br />

(PCI、DDR 等)。这些不同的功能块<br />

通常由多个时钟驱动,FPGA 一般会综<br />

合采用外部振荡器以及内部 PLL 与 DLL<br />

来生成时钟。系统设计人员必须决定如<br />

何综合使用外部与内部资源来实现最佳<br />

的时钟树设计。而可编程时钟振荡器用<br />

作 FPGA 系统的时序参考,可提供一系<br />

列优势。其中首要优势是为了实现时钟<br />

树优化而进行高分辨率频率选择时所带<br />

来的设计灵活性。另一个巨大优势是具<br />

有可以减少电磁干扰 (EMI) 的扩频调制<br />

功能。<br />

内在可编程的硅 MEMS 时钟振荡<br />

器架构能够帮助采用 FPGA 的系统设计<br />

人员解决许多难题。这种微型机电系统<br />

架构能够轻松整合一些其它功能,如:<br />

用于消减 EMI 的扩频时钟、用于消除抖<br />

动的数控振荡器以及高速应用中的失效<br />

保护功能。<br />

频率选择<br />

一般系统需要一系列时钟频率。其


中一些是标准频率,这种标准化可能是<br />

出于对行业规范强制要求的考虑(如:<br />

PCI Express ® 要求的 100MHz 频率),<br />

也可能是由于得到了广泛的应用(如:<br />

用于 SATA 的 75 MHz 或用于 PCI TM 的<br />

33.333 MHz)。上述频率与 I/O 接口关<br />

联在一起,以确保实现互操作性,因为<br />

接口两侧可能不属于同一系统。与此相<br />

对,用户可选择用于驱动处理器、DSP<br />

和状态机引擎的时钟频率,以优化速<br />

度、功率或资源占用。<br />

在 进 行 速 度 优 化 时 , 应 以 最 高 时<br />

钟频率来驱动处理引擎,以使每秒运算<br />

次数达到最高。但是,时钟周期抖动必<br />

须足够低,以确保最小时钟周期大于设<br />

计的临界时序路径,否则有可能出现逻<br />

辑错误。频率选择的常用方法是采用内<br />

部 FPGA PLL 对来自标准外部参考振<br />

荡器的高频时钟进行综合。此方法只有<br />

在内部 PLL 具有高频分辨率和低抖动<br />

时才有效。<br />

某些 FPGA 集成了内部低噪声分数<br />

PLL,可满足所有这些要求。在这种情况<br />

下,可以采用简单的外部振荡器参考。<br />

不过,许多情况下 FPGA 会采用带有环<br />

形 VCO 和整数反馈分频器的 PLL 来综<br />

合不同频率。这种 PLL 小巧灵活,比<br />

较容易设计和控制,而且功耗极低。不<br />

过,使用此类内部 PLL 时很难同时实现<br />

高分辨率与低抖动。<br />

图 1 为整数 PLL 的一般架构。对<br />

PLL 输出频率的编程需综合采用预分频<br />

器 (P)、反馈分频器 (M) 和后分频器 (N)<br />

来完成,如下式所示:<br />

PLL 反馈环路形成一个限带控制系统。<br />

输出周期抖动主要取决于参考时钟相<br />

位噪声 (PN in) 和内部 VCO 相位噪声<br />

(PN VCO),如下式所示:<br />

输入参考时钟相位噪声和 VCO 相位噪声<br />

与输出相位噪声息息相关,分别通过低<br />

(P) VCO<br />

(M)<br />

通滤波器和高通滤波器响应来体现,如<br />

表达式中的 H in 和 H VCO。H VCO 与 H in 的<br />

截止频率直接相关。图 2 说明了典型二<br />

手把手课堂:FPGA 101<br />

阶 PLL 中 H in 与 H VCO 的相互关系。最<br />

高 PLL 带宽取决于相位检测器的更新速<br />

率。大部分实际 PLL 的最高实际带宽极<br />

限如下式所示:<br />

例如,如果 PLL 输入频率是 40MHz<br />

并且 P=40,则最高实际 PLL 带宽是<br />

100kHz。<br />

周期抖动通过正弦滤波器响应与相<br />

位噪声关联在一起,如图 4 所示。[1] 可<br />

以看出,周期抖动在靠近 fout /2 的频率<br />

偏移位置对整体 PLL 输出相位噪声更敏<br />

f f<br />

in<br />

out<br />

图 1 典型整数 PLL 方框图<br />

(dB)<br />

20<br />

0<br />

-20<br />

-40<br />

-60<br />

-80<br />

-100<br />

<br />

(N)<br />

Hin HVCO ( f )<br />

( f )<br />

-120<br />

102 103 104 105 106 107 108 109 BW PLL<br />

(Hz)<br />

图 2 输入与 VCO 相位噪声传递函数示例 – 基于二阶 PLL<br />

感。由于 PLL 带宽远低于 fout /2,因此<br />

参考时钟一般对周期抖动产生的影响较<br />

小,而内部 VCO 相位噪声影响更大。<br />

2011年 秋季刊<br />

19


手把手课堂:FPGA 101<br />

更高的 PLL 带宽可以减少内部 VCO 对<br />

输出周期抖动的影响,而且能够降低整<br />

体周期抖动。大多数情况下,可以通过<br />

设定更高的带宽来降低内部 VCO 噪声<br />

和改善抖动。另一方面,要实现高频率<br />

分辨率需要更大的分频器 P 值,这会限<br />

制最高 PLL 带宽。这种矛盾要求必须在<br />

高分辨率和低抖动之间做出权衡。而采<br />

用外部高分辨率振荡器可以缓解这一问<br />

题,原因是高分辨率可以通过外部参考<br />

来实现。<br />

2<br />

( f )<br />

Hpart<br />

f in 25 MHz<br />

f in 28 MHz<br />

10<br />

0<br />

-10<br />

-20<br />

-30<br />

-40<br />

10 -3 10 -2 10 -1 10 0<br />

20 赛灵思中国通讯 41 期<br />

f / f out<br />

图 4 将相位噪声与周期抖动关联在一起的滤波器响应谱<br />

P-25<br />

P=1<br />

1 MHz<br />

28 MHz<br />

高性能可编程振荡器(如 SiTime<br />

提供的振荡器)可以作为外部高分辨率<br />

振荡器来使用。在采用此类振荡器时,<br />

内部 PLL 只需支持非常有限的频率综合<br />

功能,从而可以提高带宽并降低抖动。<br />

可编程外部参考振荡器的另一个<br />

优势是允许选择更高的频率作为参考。<br />

这样就能够实现带宽更高的内部 PLL,<br />

进而降低抖动。例如,为了满足时序要<br />

求,某个应用可能需要采用 RMS 周期<br />

Phase<br />

detector<br />

Phase<br />

detector<br />

Charge-pump<br />

& loop filter<br />

PLL_BW = 50 kHz<br />

M-112<br />

(a)<br />

Charge-pump<br />

& loop filter<br />

PLL_BW = 1.4 MHz<br />

M-4<br />

(b)<br />

抖动为 10 皮秒的 56MHz 时钟。<br />

图 5 说明了获取 56MHz 时钟的两<br />

种方法。第一种方法采用标准的 25MHz<br />

参 考 , 而 第 二 种 方 法 采 用 非 标 准 的<br />

28MHz 参考。第一种方法需要较高的预<br />

分频比,以达到所要求的分辨率,但是<br />

会导致更高的输出抖动。第二种方法可<br />

以最小化 P 值而且能实现更高的 PLL 带<br />

宽,从而可以降低输出周期抖动。<br />

大多数可编程振荡器采用一个谐振<br />

器单元和一个或多个 PLL 来对不同频率<br />

进行综合。传统上,石英晶体通常被选<br />

定作为稳定谐振器。不过,其封装难题<br />

却限制了此类可编程振荡器的可用性。<br />

近期,硅 MEMS 振荡器大量上市,能<br />

够在稳定谐振器与高性能 PLL 方面提供<br />

高性价比的完美组合,并且适用于众多<br />

行业的标准小型封装。这种振荡器为优<br />

化 FPGA 系统中的时钟树提供了出色的<br />

FPGA 时钟解决方案。此类时钟还可以<br />

满足高速收发器更加苛刻的抖动规格要<br />

求。[2]<br />

VCO N-2<br />

Period Jitter = 30 ps RMS<br />

VCO N-2<br />

图5 (a) 低 PLL 带宽、高抖动的架构; (b) 高 PLL 带宽、低抖动的架构。<br />

Period Jitter < 10 ps RMS<br />

f out 56 MHz<br />

f out 56 MHz


EMI 消减<br />

只要在可编程振荡器中将稳定谐<br />

振器与高性能合成器配合使用,就能够<br />

轻松获得许多其它有用的时钟功能。其<br />

中之一就是用于消减 EMI 的扩频时钟<br />

(SSC)。<br />

SSC 振荡器是一种频率经过调制<br />

的时钟,可以确保时钟信号能够在更大<br />

的频率范围内传播,从而可以减少给定<br />

15<br />

10<br />

0<br />

-10<br />

-20<br />

-30<br />

-40<br />

-60<br />

-50<br />

-70<br />

2<br />

-80<br />

-85<br />

Center 200 MHz<br />

3<br />

表 1 赛灵思 FPGA 演示板采用的 SiTime 可编程器件<br />

1<br />

频率范围内的整体峰值电磁辐射。SSC<br />

的作用在基于 FPGA 的系统中更加明<br />

显,因为它可以减少共享同一时钟源的<br />

所有电路与 I/O 的 EMI。相比而言,跟<br />

踪滤波与升高/降低控制法只能降低系统<br />

特定部分的 EMI。图 6 说明了 SSC 如<br />

何降低峰值 EMI 辐射。<br />

SSC 中的重要参数是调制范围与<br />

调制方法(中心扩频或向下扩频)。<br />

No<br />

SSC<br />

2% downspread<br />

SSC<br />

1 MHz Span 10 MHz<br />

诸如 SiTime 的 SiT9001等可编程振荡<br />

图 6 旨在降低峰值 EMI 辐射的扩频时钟调制<br />

手把手课堂:FPGA 101<br />

器可提供宽广的 SSC 调制范围——向<br />

下扩频和中心扩频方式下都可以达到<br />

0.5%~2%。这种菜单选择方式使设计人<br />

员能够在优化 SSC 实现最佳系统性能<br />

的同时将 EMI 最小化。[3]<br />

可编程振荡器中分数 N PLL 所带来<br />

的有用功能的另一个例子是数控振荡器<br />

(DCO)。DCO 功能强大,结合 FPGA,<br />

可实现低带宽、全数字 PLL,从而能够<br />

为高端电信与网络系统提供失效保护、<br />

故障切换或抖动消除等功能。<br />

硅 MEMS 的优势<br />

全新的硅 MEMS 振荡器在过去<br />

几年里显著扩大了商用可编程振荡器<br />

的 产 品 组 合 。 这 些 振 荡 器 使 用 户 能<br />

够 定 制 参 考 频 率 , 选 择 外 部 参 考 与<br />

FPGA 内部 PLL 参数的最佳组合,从<br />

而实现最佳的时钟树设计。此外,设<br />

计人员还可以轻松选择电源电压、封<br />

装、温度范围、频率稳定度和驱动强<br />

度以满足应用需求。这些振荡器的可<br />

编程特性还能够缩短研发周期,实现<br />

快速原型设计以及加快生产进度。<br />

SiTime 的单端和差分硅 MEMS 振<br />

荡器已经应用到赛灵思的部分演示板中<br />

(见表 1)。目前已经可以针对不同频<br />

率、电压和封装需求订购此类部件,以<br />

实现最佳的系统性能。<br />

2011年 秋季刊<br />

21


手把手课堂:FPGA 101<br />

手把手课堂:FPGA 101<br />

FPGA 设计存档,轻松<br />

实现更新<br />

作者: Bruce Erickson<br />

设计工程师<br />

安捷伦科技有限公司<br />

Berickson@agilent.com<br />

22 赛灵思中国通讯 41 期


手把手课堂:FPGA 手把手课堂:FPGA 101<br />

虚拟机可以存储从设计环境到 FPGA 代码的完整设<br />

计,为开发工作完成后修改 FPGA 提供了便利。<br />

为实现最高的性能,给客户提供最强大的功能,开发人员在不停地追逐“最<br />

新最棒”的 FPGA 技术,同时也在不断升级他们的 FPGA 工具,因为旧版<br />

本不能支持新系列产品。但这并不意味着我们可以忽略旧版 FPGA,有时<br />

我们需要给以前的产品增添功能,或者我们开发出新技术并运用于整个产品系列上,<br />

这时我们就需要升级此前的 FPGA 产品系列。<br />

在过去几年里,我们安捷伦科技公司的研发小组一直在努力寻找一种理想的<br />

FPGA 设计存档方法。为此,我们一直把 HDL 源代码和工具设置存放在配置管理系<br />

统 (CMS) 中,以便我们跟踪修改,也便于开发小组的任何成员编辑代码(或使用代<br />

码)。但随着 FPGA 领域创新的加速,到真正进行较早设计的更新时,我们开始遇到<br />

困难:<br />

•有时升级较早设计好让其在新设计环境中工作所花的工作量超过了 FPGA 本身<br />

设计的工作量;<br />

•往往重建较早设计环境所花的工作量超过了升级 FPGA 所花的工作量(见下一<br />

页边条)。<br />

多年来,我们尝试过各种策略(见表 1)。几年前我们曾经试用过虚拟机<br />

(VM),但由于虚拟机内的布局布线难度太大,后来放弃了这项技术。但随着近年来<br />

软/硬件的发展,虚拟机内外布局布线难度相差不大,我们再度萌生了将整个设计<br />

(包含设计环境)存储在虚拟机内的想法。这样就可以在初期开发工作完成后轻松对<br />

FGPA 进行修改。<br />

在一个 FPGA 项目结束的时候,我们将设计工具和设计复制到虚拟机的虚拟硬<br />

2011年 2011年 秋季刊<br />

23


手把手课堂:FPGA 101<br />

盘驱动器 (VHD) 上。然后我们把 VHD 注册到 CMS。由于<br />

VHD 使用二进制,没有可供 HDL(Verilog 或者 VHDL)源<br />

代码使用的“修改记录”。所以我们也把 HDL 源代码注册到<br />

CMS,以便跟踪对 FPGA 设计的逻辑修改。在我们需要进行<br />

快速修改的时候,我们只需要把 VHD 注册到我们现在的机器<br />

上,然后运行正在使用它的虚拟机。这样我们的屏幕上就会出<br />

现一个外观和我们的旧版设计环境相似的窗口,旧版工具甚至<br />

旧的操作系统都有。这样就不必为了简单的修改来升级设计。<br />

什么是虚拟机?<br />

虚拟机由一种通常称为“系统管理程序”的程序构成,<br />

能够拦截运行在其中程序的 I/O。系统管理程序可提供被仿真<br />

的硬盘驱动器(也称为虚拟硬盘,VHD),以及被仿真的,或<br />

者更通常的说法,“直通式” LAN、DVD 驱动器、USB 端口<br />

甚至 RS232 外设。此外,BIOS 或者硬件抽象层 (HAL) 也是<br />

虚拟机程序的组成部分。把这些功能结合到一起就是一台虚拟<br />

机,就像用 CPU、外设和 BIOS 组装常见的个人计算机一样。<br />

当虚拟机加电启动的时候,会出现一个 BIOS 引导显示,<br />

然后就可以从 CD 上加载操作系统或者从已经加载到 VHD 的<br />

操作系统上引导。这就意味着您可以在运行在 Windows 主机<br />

上的虚拟机下运行完整版本的 Linux,在 Linux 主机上运行完<br />

整版本的 Windows,或者甚至在 Windows 主机上运行完整版<br />

本的 Windows。为什么大多数人觉得这样做有用呢?因为这<br />

样可以在执行环境不作任何修改的情况下修改物理硬件。许多<br />

公司会在一台计算机上运行多个虚拟机,这样他们就可以在无<br />

需就使用该服务器的软件对服务器作任何修改的情况下,把多<br />

台较小型的服务器集中在一起。<br />

2006 年左右,英特尔和 AMD 开始为日渐流行开来的虚<br />

拟机提供硬件支持。基本上他们采用的方法是更换整套寄存器<br />

和在每个进程基础上进行 I/O 重定向。这就意味着虚拟机中的<br />

软件的运行速度可以媲美在真正硬件上运行的软件速度。实际<br />

上,计算密集型程序(比如布局和布线)在虚拟机下的运行速<br />

度与在主操作系统下的运行速度基本一致,因为虚拟机无需进<br />

行大量的 I/O 重定向。<br />

VMware 和 Sun/Oracle 均能提供出色的虚拟机产品。<br />

笔者认为,VMware是最广泛最稳定的虚拟机环境(也是<br />

最贵的)。此外,Sun 的(现在是 Oracle 的)虚拟机,即<br />

VirtualBox 也是相当出色,现已获得 GPL 许可的第 2 版,可<br />

以从 www.virtualbox.org/ 下载。微软可提供一款名为 Virtual<br />

PC 2007 面向 Windows XP 系统的虚拟机。此外,还有一款<br />

名为 Windows Virtual PC 拥有企业和专业版的虚拟机,该版<br />

24 赛灵思中国通讯 41 期<br />

本现在免费,不过需要从微软进行下载。<br />

采用 FPGA 设计创建虚拟机<br />

在下文中,将介绍创建和使用虚拟机的流程。我们将在<br />

Windows 7 系统中以 VirtualBox 为重点,采用赛灵思 ISE®<br />

10.1 仿真运行 Windows XP 系统。此外,其通用步骤也能够<br />

适用于其它虚拟机。<br />

第一步是核实针对虚拟机的硬件支持是否启用。不知道是<br />

什么原因,我看过的前面四台(来自不同厂商)的 PC 机不能<br />

启用 CPU 的虚拟化技术,我必须进入 BIOS 才能启用。启用<br />

项的名称五花八门,比如“虚拟化加速”、“虚拟化技术”、<br />

“VMT”。这次是“VT”。微软提供了一个能够用于检查该


项功能是否启用的程序,可以在microsoft.com上搜索“硬件辅<br />

助虚拟化检测工具”。<br />

下一步是安装系统管理程序(即虚拟机软件)。在初始化<br />

过程中,虚拟机软件将安装一个或者多个驱动程序。其中一个<br />

通常会在 LAN 驱动程序上安装一个“滤波器”,这样 LAN 在<br />

安装过程中就会被断开。并且通常情况下,新的驱动程序可能<br />

会导致出现问题。因此,第一步是创建一个“恢复点”,这样<br />

就可以在可能安装了不兼容的驱动程序后予以恢复。第二步是<br />

确保安装虚拟机的时候您坐在计算机旁边。不要使用远程桌面<br />

或者其它使用 LAN 的远程控制系统。<br />

要的。<br />

VirtualBox 有多个安装选项。其中两项对我们来说是不必<br />

•VirtualBox Python Support:这个选项可以让用户使用<br />

Python 编程语言控制系统管理程序。不过由于我们不经常构<br />

建虚拟机,所以一般我们以手工方式创建和管理虚拟机;<br />

•VirtualBox Host-Only Networking:在这种模式下,客<br />

户操作系统所看到仿真的 LAN 并不与主机操作系统上的物理<br />

表 1 设计环境的存档策略<br />

手把手课堂:FPGA 101<br />

LAN 相连。如果选择这个选项,用户只能访问主机(以及任何<br />

其它正在运行的客户操作系统)。<br />

创建虚拟机<br />

现在到了构建虚拟机的时候。首先启动“VirtualBox”程<br />

序。会弹出一个名为“Oracle VM VirtualBox Manager”的对<br />

话框。请注意这并非虚拟机本身,而是一个用于创建或者修改<br />

虚拟机环境的工具。点击“new”按钮会启动一个向导,并会<br />

产生如下几个问题:<br />

•虚拟机的“名称”将被用于创建虚拟机设置文件的名称;<br />

•操作系统应该与用户后续安装的操作系统相匹配。这一<br />

步并不安装操作系统。相反,它的目的是让系统管理程序能够<br />

更好地适配操作系统;<br />

•“基本内存”的数量是准备分配给虚拟机专门使用的<br />

RAM 的数量(通知到客户操作系统)。分配给虚拟机专门使<br />

用的 RAM 越多,则无需合成器或者布局布线启用更换功能<br />

(显著降低进程的速度)就能以良好速度运行的 FPGA 设计<br />

就越大。XP 仅能使用最大为 4GB 的 RAM,所以即便主机有<br />

2011年 秋季刊<br />

25


手把手课堂:FPGA 101<br />

16GB的内存,也只能分配大约 3.5GB给 XP 客户操作系统;<br />

•常见虚拟机使用的“虚拟硬盘驱动器”页面一般只使<br />

用单个仿真硬盘驱动器,并从这个驱动器上完成引导。不要<br />

担心这个盘太大,因为不仅需要在上面安装客户操作系统,<br />

还需要安装所有的 FPGA 工具。建议用户使用“动态扩展存<br />

储”功能来设置最大尺寸。原因在于虽然用户告知这个文件需<br />

要 200GB 的硬盘驱动器,如果该文件不需要占用这样大的空<br />

间,它就不会创建完整的 200GB;<br />

•随后到达的是“设置”页面。在这个对话框上可以修改<br />

虚拟机的各项特性。注意如果虚拟机不在“关闭”状态,能够<br />

进行的修改数量不能太多(现在不是什么问题,因为刚刚完成<br />

创建,还没有启动);<br />

•核实 CD 驱动器上的引导顺序,因为下一步是把操作系<br />

统放在 VHD 上。<br />

安装客户操作系统<br />

在取得合适的 XP安装 CD 后,将 CD 插入 PC 主机上的<br />

CD 驱动器中,然后启动虚拟机。弹出的对话框将告知用户如<br />

何与虚拟机的键盘和鼠标互动。请务必记住,在虚拟机处于运<br />

行状态,并已经“捕捉”到鼠标和键盘的情况下,互动是发送<br />

给虚拟机,而不是主机。如果想要把控制返回给主机,必须点<br />

击“键盘释放”键(或者组合键)。VirtualBox 默省的是空格<br />

键右边的 Control 键。除非在全屏模式下,否则 VirtualBox 会<br />

一直显示“键盘释放”键。用户可能需要用笔记下这个键,因<br />

为被“锁”在虚拟机屏幕上是一件令人沮丧的事情,原因在于<br />

用户忘记了如何退出。<br />

26 赛灵思中国通讯 41 期<br />

表 2 部分常见虚拟机的特性<br />

关闭对话框后,出现的是“首次运行”向导。只需点击确<br />

认并回答问题(把主机上的物理 CD 驱动器选择为客户操作系<br />

统的 CD 驱动器)。此后,安装客户操作系统的步骤就和在硬<br />

件 PC 上安装操作系统的步骤完全相同。按提示完成即可。<br />

初步完成虚拟机的创建后,还需要安装与用户准备用来存<br />

档的机器上相同 Windows 服务包和补丁。<br />

值得注意的是,正如每台 PC 必须从微软获得许可证才能<br />

运行 XP 或者 Windows 7(举例来说),因此每部虚拟机也必须<br />

有自己的许可证。主机使用的许可证与虚拟机的客户操作系统<br />

毫无关系。但有一种情况例外,就是主机操作系统是 Windows<br />

7 企业版或者专业版,而虚拟机是微软 Windows Virtual PC。在<br />

这种情况下,微软会提供一个免费的特别版 XP。<br />

安装与许可 FPGA 工具<br />

可以从互联网上或者从介质上(取决于哪种可用)安装赛<br />

灵思 ISE 设计套件。如果在使用结点锁定的许可证时,请注意<br />

每个虚拟机都有不同的 MAC 地址(虽然用户可以在 Network<br />

设置中采用高级设计予以修改)。但需要注意的是,如果两台<br />

机器(即便其中一台是虚拟机)在相同子网上采用同一 MAC<br />

地址同时运行,则会发生严重的冲突。<br />

如果用户采用网络许可方式 (lm_manager),当使用较早<br />

的工具时,用户可能需要与赛灵思进行联系。<br />

如果不采取额外的措施,客户操作系统并没有“加入”<br />

到域。在企业环境中,这将会使文件和文件夹共享的工作难<br />

度加大。但难度也不是特别大,只需要把网络驱动器映射成<br />

“不同用户”,然后用正常的拖放或者复制粘贴方法就可以<br />

传输文件。


我们的目的是实现对设计环境的完整工作版本进行存档,<br />

因此随时核实存档的完整性不失为一个良好的实践方法。如果<br />

一切正常,在虚拟机内构建设计和在虚拟机外构建设计应该没<br />

有差别。我们往往会发现有一些文件夹被遗漏(像使用过的<br />

HDL),因此需要反复进行几次才能让构件设计工作起来。不<br />

过一旦工作起来,我们就知道环境是完整的,不管将来有没有<br />

修改都能够重新构建设计。<br />

注册恢复虚拟机必须使用的文件<br />

采用不同的系统管理程序,存档 VHD 和虚拟机环境所需<br />

的具体步骤也不同。对于特别的虚拟机可能需要阅读文档(或<br />

者咨询 Web),下面是我们使用 VirtualBox 的步骤:<br />

•确保关闭客户操作系统。这样可以最大程度地减少需要<br />

注册到 CMS 中的文件数量;<br />

•在 VirtualBox Manager 中,使用菜单命令“File -><br />

Export Appliance”;<br />

•选择 .ova 扩展名,因为这样可以把所有内容放在一起。<br />

如果选择功能更加多用的 .ovf 扩展名,一共需要保存所有三个<br />

文件(.mf、.ovf 和 .vmdk),否则恢复虚拟机就有难度;<br />

•.ova 文件有一定压缩,因此不必将其转换成 .zip 文<br />

件。不过有人称这样做可以节省大量磁盘空间,所以不妨值<br />

得一试;<br />

•现在就可以把 .ova 文件注册到 CMS。由于基本 I/O 系<br />

统。许多较早的程序能够直接调用 BIOS;大多数客户操作系<br />

统可以调用 BIOS其尺寸的原因,一般不要为该文件建立“版<br />

本”。<br />

恢复虚拟机<br />

同样,恢复 VHD 的具体步骤也会因虚拟机而异,下面是<br />

我们恢复 VirtualBox .ova 文件的步骤:<br />

•在 VirtualBox Manager 中,使用菜单命令“File -><br />

Import Applicance”;<br />

•上一步完成后,刚恢复的虚拟机将出现在虚拟机列表<br />

里。启动虚拟机就可以回到第一次存档时的环境里。<br />

在完成 HDL 和 ISE 文件的更新后,把它们注册到 VHD<br />

外的 CMS 里不失为一个好方法。然后,关闭虚拟机就可以创<br />

建一个新的 .ova 文件。<br />

良好的平衡<br />

虽然我们现在不会在虚拟机里开始新设计,但没有理由<br />

手把手课堂:FPGA 101<br />

说我们不可以(虽然在主机上编辑文件和构建项目来得更轻<br />

松)。如果我们选择在虚拟机里设计,而且当设计完成后,就<br />

可以轻松地创建 .ova 文件并完成注册。还有一个好处是,如<br />

果主机崩溃,在新机器上恢复项目工作则会相当简单(假定我<br />

们已完成了 VirtualBox 文件夹的备份)。<br />

现在看来,采用虚拟机的方法存档设计,以备在将来进行<br />

轻松地修改,能够在创建设计和为将来做好准备这两者中取得<br />

良好的效率平衡。我们相信将来还会有更好的做法,但此时此<br />

刻,这就是现有最好的方法。<br />

2011年 秋季刊<br />

27


技术长廊<br />

麻省理工学院教授使用 ESL 工具和 FPGA 开展系统架构教学<br />

在麻省理工学院 (MIT),一门硕士课程正在改变数字设计的教学方式。<br />

作者 ■ Clive (Max) Maxfield Maxfield 高科技咨询公司总裁<br />

我最近一次参加正式教育还要追溯到上世纪 70 年代末。当时为了获得控制工程学位,我需要完成的最后一个项目是一<br />

款数字控制器,它能在阴极射线管上显示彩色文本和(组合像素)大图形。整个设计采用廉价的 74 系列 TTL 芯片,每个芯片只<br />

包含一些简单的逻辑门或寄存器。<br />

FPGA 助力实时光学活检系统<br />

日本研究人员正在使用 Virtex-5 和美国国家仪器公司(NI) 公司的 LabVIEW 开发新一代 3D OCT 成像技术。<br />

作者 ■ Jamie Brettle 嵌入式软件产品经理 美国国家仪器公司<br />

随着处理能力的不断增强,从事医疗设备研究工作的科研人员正在迅速开发出各种可以更有效治疗多种疾病的创新疗<br />

法,以减轻患者的痛苦。商业现成 (COTS) 硬件与 FPGA 技术以及灵活的集成平台相结合,可以帮助这些科研人员更加迅速<br />

地开发出原型成像系统,并不断向市场推出新产品。<br />

验证FPGA Serdes 设计的几种方法<br />

选择何种方法取决于应用的复杂程度以及开发时间、仿真时间和精度的权衡取舍<br />

作者 ■ Chris Schalick 工程副总裁兼首席技术官 GateRocket公司<br />

FPGA的复位方法<br />

构建最理想的复位结构有助于改善设计的密度、性能和功耗<br />

作者 ■ E.Srikanth 解决方案开发工程师 赛灵思公司<br />

在 FPGA 设计中,复位起到的是同步信号的作用,能够将所有的存储元件设置成已知状态。在数字电路设计中,设计人<br />

员一般把全局复位作为一个外部引脚来实现,在加电的时候初始化设计。全局复位引脚与任何其它输入引脚类似,对 FPGA<br />

来说往往是异步的。设计人员可以使用这个信号在 FPGA 内部对自己的设计进行异步或者同步复位。<br />

30 赛灵思中国通讯 41 期<br />

全文刊登在www.xilinx.com/cn/xcell41<br />

随着 FPGA 在性能和容量方面的提高,开发人员正逐渐将 FPGA 广泛用于多种介质、信号处理和通信应用的连接用途。<br />

同时,开发人员已转向用速度更快的串行连接取代并行总线用于片上和片间通信,以显著提升数据速率。Serdes(串行器—<br />

解串器)技术是实现这类接口的关键技术,因为基于 Serdes 方法的协议可以在提供较高数据速率的同时减少器件引脚数量。<br />

赛灵思工具及 IP 更新<br />

新型导航器<br />

全文刊登在www.xilinx.com/cn/xcell41<br />

全文刊登在www.xilinx.com/cn/xcell41<br />

一种被称为文档导航器的全新应用程序支持简单易用的下载、搜索与通知功能,允许用户从一个地方查看和管理赛灵<br />

思设计文档(软件、硬件及 IP 等)。如欲试用目前提供的最新赛灵思文档导航器公开测试版,敬请点击此链接下载:www.<br />

xilinx.com/cn/support。<br />

全文刊登在www.xilinx.com/cn/xcell41<br />

全文刊登在www.xilinx.com/cn/xcell41


欢迎各位作出反馈讯息和建议<br />

传真 : (852)2429-6772<br />

电邮 : xcell-china@xilinx.com<br />

赛灵思针对 iPhone 推出便携功耗估算器 (PPE) 应用程序<br />

设计人员可迅速判断赛灵思 28nm 7 系列 FPGA 的低功耗优势<br />

2011 年 9 月 29 日 , 全球可编程平台领导厂商赛灵思公司 (<strong>Xilinx</strong>, Inc. (NASDAQ:XLNX) )针对 iPhone 推出便携功耗估算器 (Pocket<br />

Power Estimator,PPE) 应用程序。对于那些将 iPhone 视为与电脑同等重要的办公工具的设计人员来说,现在有了一个更为快速简<br />

便的方法来判断赛灵思 28nm 7 系列现场可编程门阵列 (FPGA) 的功耗。为苹果 iPhone 量身定制的新型便携功耗估算器 (PPE) 应用<br />

程序可以让设计人员随时查看赛灵思 28nm 可编程平台如何在实现系统最低功耗方面全面超越其它竞争产品。设计人员即日起即可<br />

从苹果应用商店(Apple App Store)下载 PPE 程序,使用该应用对各种假设情况迅速方便地进行探索,并能立即获得与竞争产品在<br />

功耗方面的对比信息。如需进行更加复杂和细致的功耗分析,设计人员可进一步使用 ISE ® 设计套件 (ISE Design Suite) 中的 XPower<br />

Estimator (XPE) 和 XPower Analyzer (XPA) 工具。PPE 应用程序也适用于 iPad<br />

赛灵思杰出工程师及功耗大师 Matt Klein 表示 :“我们所有细分市场上的电子系统厂商都希望能够降低当前的功耗预算或者是在<br />

同等功耗水平下获得更高的系统性能。通过为最流行的智能电话平台提供功耗估算器,就可以帮助那些忙碌且习惯于使用 iPhone 获<br />

取信息的设计人员更加方便地进行功耗估算,从而能够进一步提高他们的设计工作效率。<br />

依元素科技培训课程时间表 2011/10 至 2011/12<br />

培训课程 培训时间 10月 11月 12月<br />

使用 7 系列产品进行设计 2 天 24-25日 北京 22-23日 成都<br />

使用 PlanAhead 分析与设计工具进行高级设计 2 天 4-5日 北京 3-4日 深圳 1-2 日 上海<br />

<strong>Xilinx</strong> 部分重配置工具和技术 2 天 11-12日 深圳 21-22日 北京 22-23日 成都<br />

利用 Spartan-6 和 Virtex-6 系列进行设计<br />

赛灵思 中国 /香港代表处<br />

香港<br />

上海<br />

深圳<br />

3 天 5-7日 北京 10-11日 深圳 5-7日 上海<br />

12-14日 上海 14-15日 北京 14-16日 成都<br />

<strong>Xilinx</strong> FPGA 的基本 DSP 实现技术 2 天 28-29日 上海 27-28日 北京<br />

使用 PlanAhead 分析与设计工具进行基本设计 2 天 27-28日 北京 21-22日 武汉<br />

FPGA 设计基础 1 天 18 日 武汉 8 日 深圳 16日 西安<br />

面向性能的设计 2 天 4-5日 北京 3-4日 成都 1-2日 北京<br />

<strong>Xilinx</strong> FPGA 的信号完整性和电路板设计 3 天 19-21日 北京 23-25日 上海 21-23日 成都<br />

高级 FPGA 设计 2 天 6-7日 深圳 10-11日 北京 22-23日 上海<br />

利用 Virtex-5 FPGA 系列进行设计 1 天 18日 深圳<br />

设计LogiCORE PCI Express 系统 2 天 13-14日 上海 15-16日 北京<br />

利用 VHDL 进行设计 22-23日 深圳<br />

嵌入式系统开发 2 天 20-21日 北京 21-22日 上海 15-16日上海<br />

利用System Generator 进行DSP设计 2 天 24-25日 北京<br />

利用以太网 MAC 控制器进行设计 2 天 6-7日 成都 20-21日 深圳<br />

利用千兆位级串行 I/O 进行设计 3 天 26-28日 上海 21-23日 北京<br />

利用 ChipScope Pro 调试和验证 1 天 25日 深圳 19日 上海<br />

嵌入式系统软件开发 2 天 5-6日 上海 29-30日 上海 26--28日 成都<br />

嵌入式开放源码 Linux 开发 2 天 27-28日 北京 14-15日 武汉<br />

<strong>Xilinx</strong>在线培训课程(WebEx) 培训课程 10月 11月 12月<br />

在线老师现场授课(学员于线上学习,老师提供最新的实验项目<br />

的现场操作和答疑并进行专业辅导,直接带给学员FPGA项目<br />

设计的亲身体验。<br />

FPGA 设计基础(免费) 19 日 3日 11 日<br />

面向性能的设计 17-18日 9-10日 17-18日<br />

线上授课老师都获<strong>Xilinx</strong>认证,并具有丰富的FPGA系统项目经验。 高级 FPGA 设计 27-28日 14-15日 22-23日<br />

现场的课堂教学和实验 PlanAhead 分析与设计 24-25日 24-25日 28-29日<br />

答疑(Q&A)(现场解答学员在学习和实验中遇到的问题) 利用 Spartan-6系列进行设计 26-27日 23-24日 8-9日<br />

有关报名注意事项:<br />

请联系:崔小姐,0086-755-86186718 86186715, training@e-elements.com<br />

请以电话:0086-755-86186718, 传真:0086-755-86186700, 电子邮件: training@e-elements.com<br />

注册地址: 深圳市南山区创业路90号怡海广场东座1803-1804 网址: www.e-elements.com<br />

电话 : (852)2424 5200<br />

电话 : (86)21-3318 4788<br />

电话 : (86)755-8237 0015<br />

传真 : (852)2494 7159<br />

传真 : (86)21-6340 6108<br />

传真 : (86)755-2583 0986<br />

更多的联络点请查询 : www.xilinx.com/cn 技术支持 : www.xilinx.com/cn/support<br />

电邮 : ask-china@xilinx.com<br />

电邮 : ask-china@xilinx.com<br />

电邮 : ask-china@xilinx.com<br />

2011 年秋季刊<br />

资讯脉搏<br />

赛灵思 中国销售代表<br />

缘隆有限公司<br />

• 北京 电话:(010) 6266 9572<br />

• 成都 电话:(028) 8509 1261<br />

• 上海 电话:(021) 6439 2771<br />

• 深圳 电话:(0755) 8253 7068<br />

• 南京 电话:(025) 8638 0963<br />

赛灵思 中国/香港地区分销商<br />

安富利电子元器件部<br />

• 香港 电话: (852) 2176 5388<br />

• 北京 电话:(010) 8206 2488<br />

• 成都 电话: (028) 8652 8262<br />

• 上海 电话: (021) 3367 8387<br />

• 深圳 电话: (0755) 8378 1886<br />

科通数字技术部<br />

• 香港 电话: (852) 2730 1522<br />

• 北京 电话:(010) 5172 6678<br />

• 成都 电话: (028) 8513 1563<br />

• 上海 电话: (021) 5169 6680<br />

• 深圳 电话: (0755) 2674 3210<br />

31

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!