Xilinx FPGA的Fast Startup

发布者:SereneVoyage最新更新时间:2011-10-26 关键字:FPGA  汽车 手机看文章 扫描二维码
随时随地手机看文章
 在众多当代应用中,嵌入式系统必须满足极其苛刻的时序要求。其中之一就是启动时间——即上电后电子系统进入可操作状态所需要的时间。PCI Express®产品或汽车应用中基于CAN的电子控制单元(ECU)就是具有严格时序要求的电子系统的应用实例。
 
  标准PCI Express®(PCIe)系统上电后仅100毫秒,系统的根组件就开始扫描总线以便弄清拓扑结构,并在这一过程中进行初始化配置。 如果PCIe设备没有准备好响应配置请求,根组件就找不到此PCIe设备,并认为它不存在。该设备将无法加入PCIe总线系统。[1]
 
  汽车应用中的情形与此大体相仿。在基于CAN的网络中,ECU进入睡眠模式,这时它们将停止运行并切断电源连接。只有很少部分电路仍然保持戒备状态,以便探测唤醒信号。一旦出现唤醒事件,ECU就会重新连接电源并开始引导。虽然在唤醒事件后的头一个100 毫秒内允许错过一些消息,但在此之后所有ECU都必须在网络(如CAN网络)上做好充分的运行准备。
 
  Xilinx Automotive、Xilinx研究实验室以及德国卡尔斯鲁厄技术研究所之间合作展开了深入的研发工作,正在设法通过一种FPGA两步配置方法解决这一问题。
 
  半导体行业的科技趋势已经能使FPGA厂家大大增加其器件中的资源。但比特流规模也在成比例地增长,配置器件需要的时间也是如此。因此,即使对于中等规模的FPGA,使用低成本配置方案也不可能满足严格的启动时序要求。图1表示不同的Xilinx® Spartan®-6 FPGA器件在使用低成本SPI/Quad-SPI配置接口时的配置时间。即使使用快速配置方案(即在40 MHz配置时钟下运行的Quad-SPI),也只有小型FPGA器件才能达到100 毫秒的启动时序要求。对于Xilinx Virtex®-6器件来说,这个结果看来更具挑战性,因为这些器件提供了更丰富的FPGA资源。
 
  为了克服这个难题,Fast Startup分两步配置FPGA器件,而非单步(整片)的全器件配置。按照这种新颖的思路,我们的策略是在上电时使用最高优先级比特流仅载入时序关键模块,然后再载入非时序关键模块。这种方法最大程度地减少了初始配置数据,从而最大程度地减少了在面向时序关键设计的FPGA器件启动时间。
 
FAST STARTUP对比部分重配置
  Fast Startup允许FPGA设计尽快启动设计的关键模块,关键模块的启动速度比标准全配置方法要快得多[2]。虽然,从本质上来讲Fast Startup利用了部分重配置,但它与这种方法的传统概念所有不同。部分重配置的初衷是将完整设计作为可在运行时修改的初始配置使用。相反,Fast Startup已经使用了一个初始的部分比特流,以在上电时仅仅配置FPGA器件的一个特定(很小的一部分)区域。第一次配置仅包含完整FPGA设计中必须配置和快速运行的那些部分。而剩下的部分则在以后、在运行时,利用部分重配置进行配置。图2说明了这一顺序概念。
 
工具流程概述
  Fast Startup的工具流程依靠设计保存流程,来创建针对时序关键子系统及非时序关键子系统的部分比特流。
 
  设计保存流程将FPGA设计分割为逻辑模块(称为“分区”)。分区构成了层次边界,将内部模块与设计中的其他组件相互隔离。分区一旦实现(即完成布局和布线),就能被其他实现运行导入,以按照每个实例中完全相同的方式实现该分区的模块[3]。
 
 因此,使用Fast Startup方法的第一步是将完整的FPGA设计分成两部分:即含有时序关键子系统的高优先级分区和针对其余组件的低优先级分区。
 
图1-计算出的Spartan-6配置时间的对数表示(按最坏情况计算)

图2 – Fast Startup概念:顺序配置
 
 
 
高优先级分区的实现
  为了得到尽可能小的高优先级分区的部分比特流,设计中有一些一般性问题需要考虑。首先,该分区必须只能包含此类组件:或者是时序关键组件,或者是系统需要这些组件来执行低优先级部分(如ICAP)的部分重配置。得到小规模初始部分比特流的关键是使用尽可能小的区域实现高优先级分区。也就是说,您必须将这个分区局限在FPGA中的一个适当区域中。
 
  为了在FPGA中找到理想的物理位置,这个区域应该提供该设计需要的适当数量的资源。访问该区域以外的资源也是可行的,但我们不鼓励这么做——尽管对于I/O引脚来说,
 
  这样做一般是无法避免的。在寻找适当区域时,还要牢记的是这个FPGA区域有可能会妨碍FPGA设计中非时序关键部分的资源。
 
  当您已经对FPGA进行分区,且已经找到了这些分区的适当区域之后,下一步就是使用一个空的(黑盒子)低优先级分区实现高优先级分区。得到的比特流含有很多针对未使用资源的配置帧。您可以删除这些帧,以便得到针对初步配置高优先级分区的有效部分比特流。[4]
 
低优先级分区的实现
  为了创建低优先级的部分比特流,首先,您要创建含有这两个分区(即高优先级分区和低优先级分区)的完整FPGA设计的实现。从以前的实现中导入高优先级分区,从而保证其实现方法与原来的实现方法相同。
 
  对于Virtex-6器件而言,部分重配置(PR)流程可用于所有上述的实现。这样,就会自动得到针对低优先级分区的部分比特流。由于Spartan-6器件 系列不支持PR流程,在实现针对Spartan-6设计的Fast Startup时,我们使用了针对差异化的部分重配置的BitGen选项,以获得低优先级分区的部分比特流。[5]图3给出了该工具流程的高层概览。

图3 – Fast Startup工具流程

实验与结果
  为了在硬件中验证Fast Startup配置方法,我们的研究小组在一块Virtex-6 ML605板和一块Spartan-6 SP605板上实现了这种方法。
 
  Virtex-6实现的应用背景源自视频领域。用户接通视频系统电源时,他们总是希望立刻就看到系统有所响应,而不用等待数秒。因此,在图4所示的系统中,一个配备了TFT控制器的高优先级子系统可以迅速点亮TFT屏幕。对于其他低优先级应用,即第二个设计提供了对以太网内核、UART和硬件计时器的控制和访问。
 
图4 – Virtex-6和Spartan-6演示(Virtex-6包括TFT模块,Spartan-6仅包括CAN模块)的基本框图
 
  对于这种演示来说,我们使用带BPI的外置闪存作为配置接口。一旦初始高优先级比特流配置完该处理器子系统,在BRAM外运行的软件将初始化TFT控制器,并将数据写入DDR内存中的帧缓冲器。这样就能确保启动时屏幕迅速显示在TFT上面。之后,从BPI闪存中读出第二个比特流,并配置低优先级分区,这样处理器子系统可以运行其他应用程序,如Web服务器。
 
  为方便扩展和清晰隔离两个分区,我们使用了AXI至AXI桥接器。这也在最大程度上减少了穿过两个设计分区边界的网络。低优先级分区与高优先级分区共享系统时钟。
 
  表1表示FPGA资源利用情况,表2表示传统启动方法、仅有高优先级分区压缩比特流的启动方法[6]和Fast Startup配置方法的配置时间。每种方法都使用BPIx16配置接口,而采用的配置速率(这个选项决定了目标配置时钟频率)为2 MHz和10 MHz。我们使用一台示波器测量了该数据,捕获了FPGA的“init”和“done”信号。 表2中“压缩的”一栏表示仅有高优先级分区的压缩比特流。含有两个分区的完整FPGA设计的压缩比特流将达到3.1 Mbyte。

资源类型

分区

高优先级

%

低优先级

%

触发器

8,849

2.9

1,968

0.7

查找表

7,039

4.7

2,197

1.5

I/O

135

22.5

20

3.3

RAMB36s

34

8.2

2

0.5

表1 – 占用的FPGA资源(针对XC6VLX240T)
 

XC6VLX240T

配置方法

配置接口

传统的

8.9 MB

压缩的

2.0 MB

Fast Startup 1.4 MB

BPIx16 CR2

1,740 ms

389 ms

278 ms

BPIx16 CR10

450 ms

112 ms

84.4 ms

表2 – 测得的配置时间(Virtex-6视频设计)
 
SPARTAN-6汽车ECU设计
  为了验证针对Spartan-6的Fast Startup方法,我们选择了汽车领域的ECU应用情形。每当您在汽车电子控制单元中看到一个FPGA器件时,它一般都仅由ECU的主应用处理单元使用(见图5)。我们的目标是实现一种将系统处理器放入FPGA中的设计。这样我们就能避免对外置处理器的需要,从而降低整个系统的成本、复杂性、空间和功耗。
图5 – 现代汽车ECU中的FPGA应用,FPGA中集成了处理器(虚线)
 
系统分区
  对于这种情形,系统分区是显而易见的。我们把我们ECU设计分成作为高优先级分区的系统处理器部分和作为低优先级分区的应用处理部分。
 
  这种设计与Virtex-6设计存在很多相似之处,但不同的是,我们用SPI取代BPI作为外置闪存的接口,因此必须用CAN控制器取代TFT控制器。上电后,系统控制器只有有限的时间引导并准备好处理第一个通信数据。由于ECU使用CAN总线用于通信,这个引导时间一般限制为100毫秒。按照传统配置方法,使用带低成本配置接口(如SPI或Quad-SPI)的大型Spartan-6很难达到如此严格的时序要求。而使用速度更快、更加昂贵的配置接口在汽车领域中是无法接受的。
 
测量装置
  对于SP605汽车ECU演示来说,我们在实验室中进行了测量,图6给出了测量装置。图中左侧是一个基于Spartan-3的X1500汽车平台,它实现了针对CAN总线的网络发包器,该发生器能够收发CAN消息并使用硬件计时器测量CAN消息之间的时间。右侧为目标平台,它没有直接与CAN总线相连,而是使用来自额外的定制电路板的CAN收发器。除了提供一个CAN PHY之外,这个定制电路板还要控制目标电路板的电源。
 
图6 – 汽车ECU的测量装置
  测量配置时间的程序从网络发包器处于空转(空档)状态下开始,此时CAN PHY电路板上的CAN收发器也处于睡眠模式,SP605也与电源断开。接着,网络发包器启动一个硬件计时器并发送一条CAN消息。识别CAN总线上的事件后,CAN PHY被唤醒并重新让SP605接通电源。然后FPGA开始载入来自SPI闪存的初始比特流。
 
  由于没有接收器确认由网络发包器发送的消息,这条消息立刻重复发送,直至FPGA已经完成其配置并用有效的波特率配置了CAN内核。一旦Spartan-6设计的CAN内核确认了这条消息,网络发包器的CAN内核将触发一个中断,由这个中断停止硬件计时器。该计时器现在保存着SP605设计的引导时间。测量结果包括SP605设计内一个额外的硬件计时器,此结果表明,当执行该软件来配置内置BRAM内存的CAN内核时,软件启动时间可以忽略不计。
 
  表3表示每个分区的FPGA资源消耗。百分比信息是用来表示使用的XC6S45LXT器件的有效资源的总数量。
 

资源类型

分区

高优先级

%

低优先级

%

触发器

3,480

6%

1,941

4%

查找表

3,507

13%

1,843

7%

I/O

58

20%

20

7%

RAMB

12

10%

2

2%

表3 – Spartan-6设计中占用的FPGA资源
 

配置接口

配置方法

传统的1,450 KB

压缩的

920 KB

Fast Startup 314 KB

SPIx1 CR2

5,297 ms

3,382 ms

1,157 ms

SPIx1 CR26

292 ms

196 ms

85 ms

SPIx2 CR2

2,671 ms

1,699 ms

596 ms

SPIx2 CR26

161 ms

113 ms

58 ms

SPIx4 CR2

1,348 ms

872 ms

311 ms

SPIx4 CR26

97 ms

73 ms

45 ms

表4 – 测得的Spartan-6配置时间
 
  表4表示配置时间的测量结果。对于这些结果,我们实现并比较了完整设计的一个标准比特流和一个压缩比特流以及使用部分初始比特流的Fast Startup方法。该表列出了针对不同SPI总线带宽和不同配置速率(CR)设置的配置时间。不出所料,配置时间与比特流大小成正比。由于使用快速配置,时钟没有影响清仓过程(housecleaning process),高CR设置的比率(按百分比)发生了变化。
 
在硬件中验证
  我们开发的高级配置方法可以称为优先化的FPGA启动,因为它分两步配置器件。这种方法不仅对于解决现代FPGA中配置时间不断增加的挑战是必不可少,而且也能在很多现代应用中得到使用,如PCI Express或基于CAN的汽车系统。
 
  除了提出高优先级初始配置方法,我们还在硬件中对这种方法进行了验证。我们使用并测试了针对Fast Startup的工具流程和方法,以在Spartan-6评估板(SP605)上实现基于CAN的汽车ECU,以及在Virtex-6原型板上实现视频设计。通过使用这种新颖的方法,我们减小了初始比特流大小,从而使配置时间改进了84%(与标准完整配置方案相比)。
 
  Xilinx将在针对7系列FPGA的软件中支持针对 PCI Express应用的Fast Startup概念,并通过优化的实现方法简化其使用。在7系列中,新的两步比特流方法是实现起来最简单最低成本的方法。设计FPGA时,用户可以通过一个简单的软件开关实现两级比特流。该比特流的第一级仅包含配置时序关键模块需要的配置帧。配置时,会产生一个FPGA STARTUP序列,关键模块变成活动模块,这样就可轻易满足100毫秒时序要求。当时序关键模块运行时(例如PCI Express枚举/配置系统过程正在进行),剩下的FPGA配置得以加载。两级比特流方法能够使用便宜的闪存器件存储比特流。
关键字:FPGA  汽车 引用地址:Xilinx FPGA的Fast Startup

上一篇:Infinera在DTN-X多太比特分组光传送网平台中选用Altera的28nm Stratix V FPGA
下一篇:基于DSP的音频实时处理系统设计

推荐阅读最新更新时间:2024-05-02 21:40

争食万亿汽车电子市场,需掌握“汽车技术日”这些风向
根据 IHS 的数据统计, 2016 年全球汽车电子的市场规模为 1160 亿美元,预计 2022 年将达到 1602 亿美元,年均复合增速为 5.51% 。其中增速最高的是 ADAS 板块, 2016 年市场规模为 70.88 亿美元, 2022 年预计将达到 214.47 亿美元,复合增速达 20.27% 。显而易见的是业界对汽车电子关注度不断升温,去年火热的慕尼黑上海电子展“汽车技术日”( Automotive Day )将于 2018 年 3 月 13 日再次举办, ST 、 Toshiba 、 Micron 、 Bosch 、 ViscoTec 、君耀电子等行业明星企业将共同探索汽车未来! 图 1 : 2018 慕尼
[汽车电子]
汽车点火系统电路图大全
汽车点火系统的特点 增大初级电流,提高次级电压和点火能量,改善高速性能。减小触点火花,延长触点使用寿命,克服机械触点带来的各种缺陷。维护容易,起动性能好。混合气燃烧完全,排污少。有利于汽车朝多缸、高速方向发展。 汽车点火系统的作用 1、点火系将电源的低电压变成高电压,再按照发动机点火顺序轮流送至各气缸,点燃压缩混合气; 2、能适应发动机工况和使用条件的变化,自动调节点火时刻,实现可靠而准确的点火; 3、在更换燃油或安装分电器时进行人工校准点火时刻。 汽车点火系统电路图(一) 霍尔式电子点火装置电路图,如图所示。 图 霍尔式电子点火装置电路图 电子点火器电原理图:霍尔式电子点火装置采用的是集成电路点火器,具有限流
[嵌入式]
<font color='red'>汽车</font>点火系统电路图大全
传感器助力汽车轻量化 减少线束使用
随着目前汽车技术的不断发展,车载传感器技术的应用也越来越广泛。从一键启停技术到双离合变速箱都采用了大量的车载传感器,并且传感器技术在车辆动力系统中发挥的作用也越来越重要。同时,目前汽车越来越高的燃油效率要求以及越来越严苛的排放标准也起到了推动传感器技术、布线技术以及相应标准定制推出的作用。 汽车设计工程师们为了使得汽车能够满足日益严苛的排放标准,其设计采用的传感器能否为其数字信号控制单元有效地收集到模拟信号,这对其能否达到预期目标起到了至关重要的作用。其中,以上提到的模拟信号主要是针对来自汽车发动机的压力和温度等信号。 通过利用更加精密的传感器可以大幅提升发动机的燃油效率并推动变速箱级数不断增加。其中,在自动挡汽车中配备一键启停
[嵌入式]
继续扩宽测试范围,Mobileye在德国启动自动驾驶汽车路测
近日,英特尔子公司Mobileye宣布,Mobileye已经获得独立技术服务提供商TÜV南德(TÜV SÜD)所颁发的自动驾驶汽车测试许可建议。作为自动驾驶安全领域的领先专家,TÜV南德对Mobileye的自动驾驶测试汽车进行了车辆与功能安全性的概念验证,并帮助Mobileye获得了德国权威机构颁发的自动驾驶汽车测试许可。这意味着从现在起,Mobileye能够以每小时130公里的常规行驶速度在德国任何地区的城市道路、乡村道路和高速公路上开展自动驾驶汽车测试。目前,Mobileye已经开始在慕尼黑及周边地区开展实地自动驾驶汽车测试。 Mobileye在德国启动自动驾驶汽车路测 英特尔子公司Mobileye出行即服
[汽车电子]
继续扩宽测试范围,Mobileye在德国启动自动驾驶<font color='red'>汽车</font>路测
高云半导体、京微齐力论中国FPGA的发展之路
集微网消息(文/Lee),近年来,随着大数据的发展,计算能力的提升,人工智能迎来了新一轮的爆发。此时,FPGA的市场格局也发生了一些改变,由于可编程灵活性高、开发周期短、并行计算可编程灵活性高等优点集于一身,FPGA被称为可编程的“万能芯片”。 除了应用在传统的通信、电力、风控、工业和安防领域,FPGA越来越多的被应用在了云计算、大数据、人工智能、物联网等新新市场。全球七大超级云计算数据中心包括 IBM、Facebook、微软、AWS 以及 BAT都采用了 FPGA 服务器。FPGA的动态可重配、性能功耗比高等优势在云端数据中心部署上展现得淋漓尽致。 FPGA市场前景诱人,曾经全球有包括英特尔、IBM、德州仪器、摩托罗拉、飞利浦、
[嵌入式]
新型物理层接口器件MC33661的特点及在汽车电子中的应用
本文介绍专门为汽车工业的LIN总线应用设计的新型物理层 接口 器件MC33661,简述其在汽车电子中的应用。 LIN总线 随着信息技术的高速发展,汽车电子产品在汽车上的应用比例越来越大,汽车电子技术逐渐成为汽车高新技术的特征之一。LIN(Local In te rconnect Network)是一种低成本的串行通信网络,现在更多地运用于实现汽车中的分布式电子系统控制。LIN的目标是为现有汽车网络(例如 CAN 总线)提供辅助功能。LIN总线基于本来是点对点的 计算机 的通用异步串行口( UART ),配以适用于多点通信的总线式驱动器,加上LIN总线通信协议,构成廉价的串行总线式控制系统,LIN总线是高端通信总线,例如CA
[汽车电子]
新型物理层接口器件MC33661的特点及在<font color='red'>汽车</font>电子中的应用
Dialog推出最新大电流DC-DC降压转换器系列,扩充汽车级PMIC产品组合
领先的电池管理、AC/DC电源转换、Wi-Fi、低功耗蓝牙(BLE)、工业IC供应商 Dialog半导体公司 近日宣布,推出最新高效大电流汽车级步降DC-DC(降压)转换器DA913X-A产品系列。 高度集成的DA913X-A系列器件所需的外部元件比竞争方案更少,实现更低的BOM成本和更小的解决方案尺寸。该系列器件的工作效率超过90%,可在许多汽车系统设计中降低大电流供电的散热挑战,包括车载信息娱乐系统、导航系统、遥测、高级驾驶辅助系统(ADAS)等。 DA913X-A系列包含三个器件,分别配置为单或双输出降压转换器。DA9130-A为单通道、双相降压转换器,提供最高10 A输出电流。DA9131-A集成了两个单相降压转换
[汽车电子]
Dialog推出最新大电流DC-DC降压转换器系列,扩充<font color='red'>汽车</font>级PMIC产品组合
高通技术:舱驾融合平台助力迈向智能汽车未来
2024年3月27日,在2024哪吒汽车技术论坛暨前瞻技术展上,高通技术公司产品市场高级总监艾和志表示,现代汽车企业不再仅仅局限于提供传统出行工具的角色,而是转型为高科技行业的领军者。 艾和志介绍到,高通作为一家全球性的高科技企业,拥有众多知识产权和技术。在构建骁龙数字底盘的基础之上探索了多个方向,包括数字座舱、ADAS/AD系统和智能网联等。 艾和志 | 高通技术公司产品市场高级总监 以下为演讲内容整理: 高通公司技术路线 当前汽车行业正经历剧烈转型,供应链生态亦随之改变。对中国企业而言,这既是发现众多机会之时,也是在全球汽车行业实现弯道超车的大好机遇。现代汽车企业不再仅仅局限于提供传统出行工具的角色,
[汽车电子]
高通技术:舱驾融合平台助力迈向智能<font color='red'>汽车</font>未来
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved