基于SystemC/TLM方法学的IP开发及FPGA建模

发布者:代码漫游者最新更新时间:2009-11-11 来源: 意法半导体关键字:SystemC  TLM  IP开发  FPGA  建模 手机看文章 扫描二维码
随时随地手机看文章

  随着系统级芯片技术的出现,设计规模正变得越来越大,因而变得非常复杂,同时上市时间也变得更加苛刻。通常RTL已经不足以担当这一新的角色。上述这些因素正驱使设计师开发新的方法学,用于复杂IP(硬件和软件)以及复杂系统的验证。ST公司建立了一个设计流,它从高级抽象开始,易于将模型写入IP的精密周期或RTL模型中。当转入低级抽象时,建模变得复杂,故IP验证也复杂。我们的方案最适合于这种应用场景,因为它允许人们在各地相似的环境中运行相同的测试平台和测试场景,因而允许在整个开发周期里高效地复用所有的测试范例和环境。

  在半导体领域,开发产品的第一步就是以高级抽象开发规范的模型,通常用C/C++来实现。这里,SystemC和C++库提供了很大帮助。它简化了共存的硬件和软件设计的概念化。再加上实现事务级模型间对口连接的TLM传送库,SystemC加速了整个验证过程。另一个重要方面是所有不同抽象架构中经过增强的可移植性。同一测试配置可以无缝地用于不同抽象级的设计。

  本文将讨论一种此类的方法学。最终的目标是设计和实现UWBMAC(媒体访问层)IP。出于架构开发的目的,决定用SystemC来实现整个IP。还开发了抽象级具有不同程度变化的不同架构。所付出的努力比较少,最后得到的仿真速度很快,软件的实际编写也可以在设计周期非常早的阶段开始。该IP的RTL结果被移植到了SPEAr系列的FPGA中。除了ARM内核和相应的一系列IP,SPEAr还提供一个可配置逻辑块,这为用户在实现其逻辑功能时提供了无与伦比的灵活性。从而缩短了上市时间,同样也实现了空前的成本节省。

  设计开发方法学

  图1所示的该方法学实现了开发的内核中的事务级建模(TLM)。TLM是一种对数字系统进行建模的高级方案,这里将模块之间的具体通信与功能单元或通信架构的具体实现分离开。把总线或FIFO这类通信机制模型化成信道,用SystemC接口类将这些信道提供给模块和部件。这些信道模型的信令接口功能将取代事务请求,这将减少具体的低级信息交换。

  图1:IP开发方法学流程。

  在事务级建模时,

  *更加注重数据转移的功能-即转移的是什么数据,从那里来,到那里去

  *不太关注实际的实现-即不太关注数据转移所用的实际协议

  该方案使得系统设计师的实验变得更加容易,例如,可以利用不同的总线架构(所有都支持公共的抽象接口),不一定需要对与任意总线进行交互的模型进行重新编码,只要这些模型能够通过公用接口与总线进行交互即可。

  在我们的方法中,起始点是对整个功能系统平台进行建模。这是利用SystemC并通过scfifo接口实现的。为了描述通信接口间的数据流,采用了各种架构。这些架构基本上都是协议需要遵守的参数和帧格式信息。围绕IP创建了一个测试环境,环境中开发了测试平台,来传输分别来自两侧的输入,即发送和接收。在这两种范例中,利用这种配置产生了预期的结果或参考。在抽象层,与平台一起使用来进行修改,快速并有效地做试验时将变得很容易,不过精度会降低一些。[page]

  图中所示为用于开发中下一级输入的配置平台。这里的核心思想是确定系统的瓶颈并执行软硬件划分。该方案在进行软硬件划分方面是有效并安全的,因为平台提供能够用来识别出整个系统瓶颈的原始统计信息。该阶段中,实现了IP的功能模型,使其具备了具体的接口,并嵌入了功能性。而在软硬件划分阶段将对该方法学中所用的方案进行具体化。附加到该平台上的另一个是DMA-PL080的TLM模型,下一步是用MACHWRTL替代整个MACHWSystemC功能模型,如图2所示。整个周边环境是一样的,因此测试注入与其他步骤中的注入一样。与之前环境的变化是采用了负责到信号变换的事务处理适配器。由于该系统基于ARM,适配器的书写必须遵从信号级AHB总线接口。实际上,该平台将相同的环境表征为现实系统,不过与此同时,开始面对仿真性能方面的问题。显然,我们还不能用该配置来执行广泛的调试/验证,不过可以运行简单的测试(具有较短的仿真时间)。

  图2:从SystemCMACHW向VHDLRTLMACHW适配器的转换。

  由于在当前仿真环境中发现瓶颈,我们对基于硬件模拟XTREME服务器的平台进行评估,该平台基本提供了硬件所需的FPGA块,并提供了软件与整个环境的无缝集成。基于XTREME服务器中早期平台的移植只需要很少工作量,并且相对于基于ncsim的仿真环境,实现了5倍的仿真速度。很显然,这使得我们能够调试并执行VHDLRTL设计的验证,否则将会浪费过多时间。同时,基于Xtreme服务器的平台还提供了同等调试能力。

  硬件/软件划分

  系统中软硬件划分决策是最为重要的一个方面。之所以硬件/软件划分变得如此关键,是因为如下一些因素,如系统的实时处理需求,应用软件的存储限制以及其他因素。许多时候,设计开发阶段一些决策依赖于直觉判断或者先前的经验。但当某些事情发生错误时这将蕴含一个风险。随着系统复杂度以及流片成本的增加,这种决策方法可能会铸成大错。强调需要一种有助于实现更好软硬件划分决策的方法学具有许多原因。

  在UWBMAC系统开发范例中,具有很多必须很好遵守的时间约束,这是因为应用层完全依赖于空中——即来自射频天线的全局广播定时。实现决策的方案建立在我们从具体的系统级平台的执行中所获取的经验。我们能够分析流水线数据通道中的数据流,能够有效地发现它们是否将对系统构成任何瓶颈。通常,当系统中的数据流发送时,数据帧必须从MAC发送到PHY,而对于接收,所产生的数据帧则从PHY到MAC,并存入到存储器中由软件进行进一步的分析。在仿真场景分析过程中,能够识别出是否需要在硬件中进行一些协议解析以采取及时的措施。

  图3:系统中着重硬件支持需求的应用场景。

  图3中详细给出了一个决策范例。根据协议的需求,接收数据中有一个控制包,它通知下次发送事件的通用定时,即何时发送下一个数据包。考虑到MAC硬件是一个典型的数据通道,并将控制帧传送到存储器中,软件对控制帧进行处理并决定打开发送窗口。在发送窗口打开出现问题时,用这种方案就能发现瓶颈。系统平台结果被用来确认这一理解,于是能够做出更好决策来实现效率更高的系统。图3中的另一个场景显示了软硬件划分后的结果。

  第一个范例中,当软件处理控制帧时,全局定时如下:

  窗口编程时间=T+tRP+tPM+tintr+tsw_lat>T+texp,故在系统中,SW没有对及时打开发送窗口的指令进行编程。

  在第二个范例中,当MACHW处理控制帧时,全局定时为:

  窗口编程时间=T+tprg_winexp,故系统中,HW对及时打开发送窗口的指令进行编程。

  与此同时,现有的SPEAr板起到了很大的帮助作用,因为在板上测出了AES-CCM引擎的性能。因此能够推断出硬件中存在AES-CCM,因为AES-CCM软件算法给不出所需要的性能。[page]

  挑战

  被测设计(DUT)或被测单元(UUT)的测试对任何设计方法学来说都是最关注的一个方面。在开发的初始阶段,即架构评估阶段,必须需要一个高性能的性能仿真环境。具有行为功能TLM平台能够满足这一需求,并对将要执行的功能进行功能检查。当进入到低级抽象设计阶段时,仿真性能大大降低,这成为有效验证IP的一个问题。

  软硬件的系统级仿真与软硬件的协同仿真一块进行。ST有自己的平台,这是一个包含硬件(RTL)的混合平台,软件利用SystemC书写(见图2)。该平台的瓶颈是环境中所引入IP的RTL,而且注意到这将大大地降低性能。正如预期,这是所遇到的约束,而且对是否能够比主仿真运行更快的可能性进行了评估。该方案基于Xtreme服务器硬件仿真,使得运行速度至少要比NCSIM仿真快10倍。

  图4:配有软件的Xtreme服务器配置。

  图4所示的该技术对第一次仿真特别实用,不需要任何有关环境配置方面的工作量。其概念是在Xtreme的FPGA中运行RTLIP。开始时,引入的时钟为软件时钟,但结果相当可喜,还简化了RTL的系统验证和调试。配置过程中,整个仿真环境是类似的,仅有的改变是用VHDLRTLIP替代SysCIP。试验结果是仿真速度快了10倍。因此,Xtreme服务器平台满足了RTL验证/调试所用平台的需求。最重要的方面是具有与ncsim同等水平的调适能力。还提供了与SystemC环境的无缝集成。

  调试功能

  硬件方面的一个更具挑战性的问题是调试。当自检失败时,就需要一个相关的测试范例。为了验证该测试范例,在检查失败原因时必须检查所有的主要信号。所以需要对信号进行存放,验证,从而找出具体的原因。利用基于XTREME服务器的平台可以很容易地执行所有这些功能,无须额外的工作量。通过将实际硬件移入独立的FPGA,可以很容易地改善仿真速度,不过这种方法提供的调试功能较少。因此,基于XTREME服务器的平台不仅改善了仿真速度,还能提供非常好的调试功能。图5给出了分析结果。

  图5:A)不同平台上的仿真性能。B)不同平台上的调试复杂性。[page]

  FPGA建模

  该功能验证方法学中的下一步是对设计进行实时测试。虽然以高级抽象对硬件进行建模能提供高速仿真,但无法对软硬件集成中存在的潜在问题进行放大。同样,利用实际激励在FPGA上运行设计能够实现详尽得多的和更实际的功能覆盖,还能实现与软件的早期集成。

  图6:一种普通的SPEAr(SPEArHead)SoC架构。

  SPEAr(结构化的处理增强架构)提供一个强大的数字引擎,能够以很少的时间和很少投资提供特殊的用户功能(图6)。该SoC系列具有大量的功能,包括外设,连通性选择,以及允许采用定制IP,从而有助于缩短上市时间。SPEAr采用一个或两个先进的ARM926处理内核,带16k(数据)和16k(指令)高速缓存,主频为333MHz(最坏条件)。它还提供600,000门(与ASIC等效)的嵌入式可配置逻辑,还配有支持DDR/DDR2存储器的存储器接口,以及一个大型的连通性IP(知识产权)系列。这种强大的配置为当今的设计提供了一站式解决方案,同时,通过利用板上能够映射SPEAr内部可配置逻辑块的FPGA,可以将时间和资源需求最小化。

  图7:Xtreme服务器箱配置优化。

  目标IP(UWB-MAC)被分入两块SPEAr板:MACRTL被分入一块板,而将PHY仿真代码分到另一块中。利用一块仿效MAC-PHY接口的连接板将这两块板连接到一起。利用PC上的软件并通过各自的以太网接口来控制这两块板。板上的FPGA有三个接口,分别为AHB,DMA和中断。

  定制逻辑(本例中为MACRTL和PHYEmu)与胶合逻辑(连接三个接口所需的逻辑)一道被成功地移植进FPGA。先前开发的软件在带有SPEAr的ARM平台上得到成功的运行。集成了相同的测试套件,结果显示,功能性与其他架构的结果一致。

关键字:SystemC  TLM  IP开发  FPGA  建模 引用地址:基于SystemC/TLM方法学的IP开发及FPGA建模

上一篇:可编程芯片:拼合成一个模拟解决方案
下一篇:短波通信中一种时延设计方法与DSP实现

推荐阅读最新更新时间:2024-05-02 20:55

基于DSP与FPGA的光栅地震检波器的信号处理
0 引 言 在石油地震勘探中,地震仪通过地震检波器采集信号。地震检波器是为了接收和记录地震波而设计的一种精密的机械、电子组合装置,是地震勘探数据采集中的重要环节,其性能好坏直接影响地震记录质量和地震资料的解释工作。光栅传感技术的发展为检波器的设计提供了有力的手段。其光栅信号处理技术仍局限于低速度的信号处理,虽然测量精度较高,但其动态特性难以满足振动信号检测等高速变化信号的处理要求,本文设计了一种利用DSP与FPGA结合的光栅振动信号处理系统,它主要完成对光栅震动传感器输出的两路正交的正弦波信号的采集、计数、高倍细分等,从而实现了对快速的振动信号的复现。 1 光栅地震检波器的工作原理 光栅地震检波器主要由光源(白光或
[嵌入式]
国内60亿元的FPGA市场,谁“煮”沉浮
eeworld网消息:全球半导体市场格局已成三足鼎立之势,ASIC (Applica TI on Specific Integrated Circuits,专用集成电路)、ASSP(Applica TI on Specific Standard Parts,特殊应用标准产品)、FPGA(Field Programmable Gate Array,现场可编程门阵列)三分天下。相较于ASIC和ASSP巨大的市场容量而言,FPGA还只是一个小众市场。但是市场统计研究数据表明,FPGA已经逐步侵蚀ASIC和ASSP的传统市场,并处于快速增长阶段。现阶段FPGA的应用不断扩展,从汽车、广播、计算机和存储、消费类、工业、医疗、军事、测试测量、
[嵌入式]
创意电子获得ARM物理层IP、架构IP以及开发工具授权
全方位SoC设计服务代工厂商扩展其ARM产品阵容为各式系统解决方案提供量产授权 创意电子(Global Unichip, GUC)与ARM宣布,创意电子获得ARM物理层IP、架构IP、RealView开发工具包以及CoreSight芯片内建除错与追踪技术等方案之授权,以协助其客户在全球进行的设计工作。创意电子为ARM Connected Community的一员,提供专业且全方位的SoC设计服务代工,并透过和台积电的结盟关系,为客户带来各种先进的硅组件解决方案。 创意电子总经理暨营运长赖俊豪表示:“可靠的架构加上来自Connected Community伙伴的诸多支持方案,使得ARM成为IC设计解决方案的优先选择。藉由我们全新
[焦点新闻]
一种基于FPGA的CAN总线通信接口的设计
  CAN总线是现场总线的一种,因为其成本低、容错能力强、支持分布式控制、通信速率高等优点在汽车、工业控制、航天等领域得到广泛应用。但是计算机没有CAN总线接口,为了进行CAN总线的调试,必须具有专用的适配卡才能实现与计算机的通信。目前常用的CAN转换器是基于单片机设计的,一般只适用于单路CAN总线的数据转换,可扩展性差。   在小卫星相机下位机系统中使用了多种总线,如CAN总线与卫星管理计算机的通信;RS422(或RS485)总线与成像单元等下行单元的通信。在进行相机下位机系统地面调试时,可能需要多种总线转换器。采用FPGA将不同总线协议转换成USB2.0、RS232等可与计算机直接交换数据的协议,可增强设计的灵活性,降低设计
[嵌入式]
一种基于<font color='red'>FPGA</font>的CAN总线通信接口的设计
电源、时钟和复位电路图(Altera FPGA开发板)
电源、时钟和复位电路图(Altera FPGA开发板)如图所示:   图 电源、时钟和复位电路图(Altera FPGA开发板) 图 时钟电路图(Altera FPGA开发板) 图 复位电路图(Altera FPGA开发板)
[电源管理]
电源、时钟和复位电路图(Altera <font color='red'>FPGA</font><font color='red'>开发</font>板)
Xilinx FPGA在汽车电子上的应用
方案描述: 本方案描述了 Xilinx FPGA 在汽车倒车显示上的应用。系统采用I2C实现对CMOS Sensor的控制,将采集的数据进行校正,阴影移除,缩放后通过TFT显示出来。使用Picoblaze实现对系统的灵活控制和算法运用,外挂SDRAM或Flash对图像进行存储。 方案设计图: 方案关键器件表:
[汽车电子]
Xilinx <font color='red'>FPGA</font>在汽车电子上的应用
2024年FPGA将如何影响AI?
随着新一年的到来,科技界有一个话题似乎难以避开: 人工智能。事实上,各家公司对于人工智能谈论得如此之多,没有热度才不正常! 在半导体领域,大部分对于AI的关注都集中在GPU或专用AI加速器芯片(如NPU和TPU)上。但事实证明,有相当多的组件可以直接影响甚至运行AI工作负载。FPGA就是其中之一。 对于那些了解FPGA灵活性和可编程性的人来说,这并不令人惊讶,但对许多其他人来说,这两者之间的联系可能并不明显。问题的关键在于通过软件让一些经典的AI开发工具(如卷积神经网络(CNN))针对FPGA支持的可定制电路设计进行优化。 FPGA还可以创建多个并行计算流水线(在概念上类似于GPU提供的功能),这对于作为众多AI算法核心的
[嵌入式]
2024年<font color='red'>FPGA</font>将如何影响AI?
利用FPGA实现的FFT变换设计
  随着集成电路的飞速发展,在图像处理,通信和多媒体等很多领域中,数字信号处理技术已经被广泛应用。快速傅立叶变换(FFT)算法的提出,使得数字信号处理的运算时间上面缩短了好几个数量级。因此对FFT 算法及其实现方法的研究具有很强的理论和现实意义。   1 FFT算法及其实现方法   现场可编程门阵列FPGA是一种可编程使用的信号处理器件,其运算速度高,内置高速乘法器可实现复杂累加乘法运算;同时其存储量大,无需外接存储器就可实现大量数据运算;而且算法实现简单,通过VHDL编程语言可轻松实现功能开发,缩短了开发周期。FPGA已经在通讯、视频、图像处理等领域被广泛使用。   本次设计采用FPGA实现8点32位的FFT 变换,现场可编程门
[电源管理]
利用<font color='red'>FPGA</font>实现的FFT变换设计
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

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

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