TLM驱动式新方案探讨

最新更新时间:2011-12-05来源: 互联网关键字:TLM  驱动 手机看文章 扫描二维码
随时随地手机看文章
引言

  Cadence设计系统公司提供一种全面的SystemC TLM驱动式IP设计与验证解决方案,包括方法学指南、高阶综合、有TLM感知的验证以及客户服务,推动用户向TLM驱动设计与验证流程转变。

        下一个抽象级别建立在事务级建模(TLM)基础之上。创建TLM IP作为黄金源码后,设计团队可简化IP创建和复用,在功能验证上节省人力物力,并减少bug。设计迭代减少,原因是TLM验证比RTL验证快得多,且架构选择在RTL验证进行之前就能得到确定。此外,事务级模型可用于软硬件协同验证,并可组成用于早期软件开发的虚拟平台的一部分。所有这些优势将大幅提升设计效率。

  TLM通过函数调用而非信号或线路进行模块间通信。它允许用户分析读或写这些事务,而不用担心底层逻辑的实现和时序。SystemC是开发可复用、可互用TLM IP的最佳语言标准。此外,因为SystemC建立在C++基础上,它还允许对C语言算术函数的完全复用。开放SystemC行动(OSCI)为TLM模型定义了若干抽象层,分别是程序员视角(无定时)模型、宽松定时模型和近似定时模型。

  要求对RTL进行改变的关键难题

  在RTL中,有限状态机的结构要进行充分描述。这意味着,在编写RTL时需关注微架构详情,如存储器结构、流水线、控制状态或最终实现中使用的ALU等。 这一要求导致更长、可复用性更低的设计与验证流程。

  有时当TLM用于当前流程时,现有的基于RTL的流程需要进行两次设计意图手工输入——一次在系统级、一次在RTL级。这种过程粗笨低效且易出错。架构直至产生RTL后才能确定,而重新确定IP目标成本很高。一个真正的TLM驱动式设计与验证流程将只需要一次设计意图简单的表达,并提供一条自动化的转换方法。

  从RTL开始查找和解决架构问题过程长,代价高

  RTL驱动式设计方法学的一大问题是,一种架构是否能实现,直到建立了RTL并对其进行验证后才能确认。由于RTL是架构的直接表示,大部分RTL设计师不得不同时探究功能正确性、架构和设计目标。这导致很长的周期,始于做出架构决定,终止于验证功能性。通常,设计与验证团队会发现需要修改架构的功能性bug,每次发现这样的bug就需要重新开始整个周期。

  在RTL上复用IP设计限制了架构灵活性

  当今SoC中,可能有高达90%的IP模块来自以前项目的复用。但是,当IP的黄金源码为微架构级别时,复用是很困难的。重定RTL IP的微架构目标费力且容易出错。目标系统应用可能差别很大,意味着不通过重新架构,仅通过简单复用,新的SoC设计目标是不能达到的。例如,RTL设计师可能需要将设计重新分割成RTL块、改变流水线级数、或创建新的存储器架构,因为在原有IP中,这些微架构详情都是固定和预先决定的。

  RTL功能验证时间比当前技术的最高吞吐量增加得更快

  在很多SoC项目中,功能验证已成为主要瓶颈。RTL功能验证开始时,在系统级的大量验证投入已然损失。虽然验证规划、指标驱动式验证等方法使设计团队尚能应付当前的大部分验证难题,但时间限制和日益增多的门数正在使验证变得难以为继。RTL功能验证所需时间可能随设计的增大而呈指数式增长,因为相互作用的各种模式及该IP需要测试的许多软硬件配置导致了各种极端情形,它们也需要进行验证。

  RTL是有精确时钟周期的,涉及的代码行远多于TLM逻辑。对RTL模型进行仿真时,仿真器检查所有事件或时钟周期,即使在协议级上并未发生任何重大情况。仿真器要在微架构详情上浪费大量机器周期,而这些需要在架构确定后才能确认。TLM仿真在更高抽象级别进行,能更早完成,并提供更高性能。

  TLM正是需要的解决方案

  TLM驱动的设计和验证流程可实现在功能级别上描述IP,然后在快速仿真中验证事务的功能行为。TLM流程的主要优点包括能更快创建设计;减少了黄金源码中的代码行;bug更少;表达设计意图更容易,且仅需一次;更快的仿真和调试;功耗预估可更早进行;支持软硬件协同验证;可将模型纳入虚拟平台;RTL生成前可进行架构验证;在RTL验证中可复用TLM验证IP;无需微架构重新设计即可进行IP复用;ECO模式下产生的RTL变化很小。

  基于TLM的流程与高层次综合(HLS)配合,可将抽象级别提高。这是大约15年前设计师转向RTL后的又一次重大转变,根据之前的经验,这次转变有可能使设计效率呈现数量级的提升(见图1)。

  

 

  下面几部分描述了TLM驱动式设计和验证流程的具体属性和优势。

  创建TLM作为黄金源码

  ——更快的IP创建与设计IP复用

  与RTL不同的是,TLM不描述最终实现的微架构详情。不描述微架构详情大幅提高了TLM设计在要求各不相同的多个项目间的可复用性,因为相同的TLM IP可重新定为不同微架构的RTL代码。而且,得益于更高的抽象程度,正确地创建功能要容易得多。TLM模型具有的代码行比对应的RTL模型要少得多,从而在最终设计中实现了编码效率和品质的同步提高。

  开发与维护作为IP模块黄金源码的TLM所需的综合和验证解决方案,需要产生有品质保证的结果并验证其正确性,且无须编辑RTL或门级设计。这使设计团队在TLM环境内就能做出所有决定,并可通过将TLM源码复用于系统来约束完全不同的其他设计。

  SystemC是描述事务级设计的最佳标准,并连接到实现,提供了最好的可复用机会。它可对硬件的并发特性进行建模,并针对进程、管脚、线程和控制逻辑描述定时或非定时的行为。TLM 1.0和2.0标准提供了创建可互用IP模型的能力。最终,需要有一个合格的可综合TLM IP库,及可综合TLM标准(或事实上的)子集。

对TLM IP的功能验证可应对验证吞吐量的爆发

  TLM IP验证相对RTL验证具有很多优势。首先,仿真运行更快——相对RTL仿真有数量级的提升,从而允许验证更多功能性实例。同时,在TLM抽象级别上进行的调试比RTL调试更容易、更快速。

  通过在更高抽象级别上编码,TLM IP需要的代码行更少,bug也更少。功能性bug在设计早期就能被发现和解决。因而可大幅减少验证工作的总体投入。

  在TLM抽象级别上,定位和理解bug更容易,修正bug也更容易,原因是需要处理的详情更少。TLM流程允许在最合适的抽象级别来验证各关注重点,如TLM用来验证功能、信号级验证用于验证接口等。

  TLM验证流程始自算法功能验证,允许用软件进行功能验证,然后转向TLM功能验证(见图2)。通过C-to-Silicon Compiler的编译,用户可转向微架构RTL验证和RTL到门级等效性检查。除支持仿真很快的非定时建模外,TLM还允许用户进行改进,逐渐包含微架构详情,并改进时序精确性。

  

 

  软硬件协同验证及早期软件开发

  TLM模型抽象级别高、执行快,足够执行切实可行的软硬件协同仿真。设计师能将嵌入式软件与TLM硬件模型进行协同仿真,来检查软硬件依赖性,并对依赖于硬件的软件进行早期调试。有可能将这些技术当做对软硬件交互的随机化激励与覆盖进行应用。

  用于早期软件开发和调试的虚拟平台可能包含由SystemC TLM模型组成的子系统。得益于它们的快速执行,为创建硬件设计而开发的模型也可用来加速软件设计。

  支持TLM和RTL混合验证

  在SoC级别需要TLM和RTL混合功能验证,是因为有大量将被复用的遗留RTL IP,且仍有必要针对设计各部分进行详细RTL功能验证。某些验证任务将只能在RTL上才能完成,包括针对存储器存取顺序或状态迁移覆盖等属性的微架构结构验证。

  由于大部分验证工具如验证计划(vPlan)、开放验证方法学(OVM)验证组件、testbench、序列、测试、检查和覆盖等在各种抽象级别都能复用,因此TLM/RTL混合信号验证也变得更容易实现。功能验证规划与管理跨TLM与RTL两个级别,允许团队在混合级别设计中的各级别上对验证进行跟踪和控制,并在需要时对结果进行整合,确保了整体品质。

  用于SystemVerilog的OVM已得到扩充,可支持包括e与SystemC在内的多种语言。OVM库也支持TLM。目前,OVM方法学描述正在进行扩充,以显示怎样在一个综合性回归解决方案中整合TLM和RTL模型。这将有助于创建工作于多语言、TLM/RTL混合验证环境的验证IP(VIP)。

  多级功能验证testbench基于事务,当它连接到基于RTL的IP、总线或接口时,需要一个事务处理器在事务级域和管脚精确的RTL域之间进行转换。类似地,需要事务处理器将TLM IP块连接到RTL IP块上的总线或接口。基于TLM的方法学必须考虑,这些事务处理器该怎样工作,以获得混合TLM/RTL验证的最大收益。有些事务处理器可通过购买取得,而有些则是专有的,由项目团队创建,并作为验证库组件进行管理。

  很多项目实现TLM仅仅是为了新IP,从而逐渐建立起一个TLM IP库,许多团队针对新的IP采用了TLM的方法学,并且逐渐丰富TLM IP库,而有些团队在事关成败的关键项目中采用了TLM方法学,用于所有重要的IP模块。最终,SoC的所有IP黄金源码都来自于TLM级。在这些情况下,品质、效率及容易调试的优点将比TLM/RTL混合项目中更加明显。SoC TLM功能验证,包括SoC级架构分析和优化,将可能实现。

  从TLM到RTL验证进行VIP复用

  VIP复用现已成为主流,因为创建高质量验证环境的时间经常超过创建设计IP本身的时间。标准协议的广泛使用推动了商业VIP市场的快速发展。当前,大部分VIP是寄存器传输级的。由TLM得到的VIP也将有一定需求,但必须可复用于TLM/RTL混合功能验证。

  在RTL功能验证中,使用约束随机激励生成的先进testbench占据了主导地位。由TLM得到的VIP在用于TLM、TLM/RTL混合及RTL功能验证的testbench中应该都是可操作的。这样的VIP需允许指标驱动式验证的应用,因为客户会在验证抽象的所有级别上使用覆盖指标。最后,对于和架构及软件工程团队工作密切相关的验证团队,辅助的嵌入式软件和定向测试也是必需的。

从算法到微架构的渐进式设计改进

  TLM IP设计和验证流程有若干独特的步骤:算法验证、架构验证、微架构验证(见图3)。第一步(算法验证)可能涉及C++或Matlab或Simulink这样的产品。用户可为关键算法特性制定一个vPlan,验证I/O的功能,并为关键实例应用激励序列。

  

 

  第二步(架构验证),设计师使用TLM驱动式IP建模(TDIP)方法学来定义架构和接口协议。他们复用算法vPlan,并应用额外的激励、检查、断言与覆盖,还为关键架构和接口协议特性制定vPlan。在第三步(微架构验证),设计师通过C-to-Silicon Compiler进行综合,复用算法和架构vPlan,然后推广至激励、检查、断言与覆盖中的微架构详情。

  Cadence TLM产品

  Cadence TLM驱动式IP设计与验证解决方案包含方法学指南、C-to-Silicon Compiler、Cadence Incisive功能验证平台以及TLM驱动式IP设计与验证服务。

  统一的TLM驱动式IP设计、验证、复用方法学及编码指南

  Cadence将为TLM驱动式IP设计与验证提供方法学指南,帮助设计团队在最短时间内以最高效率启动和完成他们初始的TLM项目,并避免采用新方法学的常见错误。从TLM IP设计编码风格、建模指南及综合子集开始,用户能够创建TLM IP,其架构利用了高层次综合所提供的能力。在整个TLM驱动的IP方法学中都考虑了对设计和验证IP的复用。

  C-to-Silicon Compiler利用TLM黄金源码创建高质量的RTL

  C-to-Silicon Compiler是一个高层次综合产品,它采用TLM SystemC IP描述和约束,并创建可用于标准RTL实现流程的RTL。为确保结果的质量,它利用Cadence Incisive RTL Compiler技术来创建逻辑,并提取该逻辑的时序与功耗信息来决定最终RTL的架构详情。

  C-to-Silicon Compiler GUI显示了原始SystemC和根据它生成的RTL代码行之间的对应关系。这种独特的对照功能鼓励系统设计师和RTL设计师之间的沟通,并有助于保持SystemC TLM作为黄金源码。它还将调试提升到更高的抽象水平,并使设计师可以评估SystemC源码的变化对RTL产生的影响。

  C-to-Silicon Compiler提供了增量综合能力,可大幅简化工程更改(ECO)过程并尽可能减少对RTL代码的更改。其他大多数HLS工具都要求对整个算法进行重新综合,意味着源代码中的微小变化也会导致完全不同的RTL。在这些情形下,必须重做逻辑综合和RTL验证。因而很难将SystemC代码保持为黄金源码。相比之下,C-to-Silicon Compiler仅对算法的改变部分生成RTL代码,而不修改设计的其他部分。

  C-to-Silicon Compiler能通过应用新约束,生成新RTL,将TLM设计IP转移到新的微架构目标。通过指定不同时序、面积和功耗约束或不同微架构指导如流水线级数,就能生成新的RTL。这样,设计团队就能重复利用IP,且人力投入更少,RTL质量更高,时间更少。通过尝试不同微架构,设计师还可运行假设实验。

  最后,C-to-Silicon Compiler能自动生成周期准确的SystemC快速硬件模型(Fast Hardware Models, FHM),能以非定时TLM模型的80%~90%的速度执行。这些SystemC模型允许早期快速验证和软硬件协同开发。FHM配有来自Cadence Incisive环境的扩展,使变量和信号的显示更加明显,以方便分析和调试。

  Incisive指标驱动式从TLM到收敛验证解决方案

  Cadence Incisive功能验证平台是完全集成化的多语言、多级别功能验证解决方案。利用指标驱动式验证、专注于硬件的定向测试、软件定向测试或软硬件协同验证,Cadence Incisive Enterprise Simulator可完整验证符合OSCI TLM 2.0的设计IP。

  特别设计的事务级分析和统一的调试特性有助于TLM IP的创建和验证,无论设计是完整的TLM IP或仅仅是遗留RTL SoC中的一个TLM IP模块。Incisive Enterprise Simulator在其调试环境中自动识别TLM 2.0构件,可提供保存/重启及重置功能,并针对SystemC/C++进行了扩展。该仿真器可推断事务信息,并提供有可感知TLM控制、可见性和调试特性。通过事务级的控制和调试操作,用户能够调试SystemC TLM 2.0设计中的所有互动元素。

  通过Cadence Incisive Software Extensions,设计师能够运行嵌入式软件的处理器模型和TLM硬件模型的协同仿真。Incisive Software Extensions使验证testbench可使用在处理器模型下运行的软件、并为软硬件协同仿真提供了指标驱动式验证、伪随机测试生成、验证覆盖等功能。

  Cadence Incisive Enterprise Manager提供了TLM、TLM/RTL与RTL功能验证技术,以成功获得收敛。对于具有大规模RTL遗留IP的SoC,使用Cadence Incisive Palladium或Cadence Incisive Xtreme,可用快速RTL检验对TLM仿真进行补充。这些硬件平台所允许的周期精确验证的运行速度,也能允许低阶软件验证的运行。

  帮助规划和实施项目关键更改的服务

  一次一个IP模块地过渡到TLM驱动式设计与验证,能降低一些风险和成本。但是,有些项目必须进一步减少风险,并借助丰富经验的帮助,来规划、执行并扩大最优方法验证。Cadence在全球都可提供TLM驱动式设计和验证的专家服务,以扩大成功机率,减少运行时间、人力投入和风险。

  结语

  TLM驱动式设计与验证将最终使TLM取代RTL作为大多数设计组件的黄金源码。其优势是明显的——快得多的设计与验证时间、IP复用更容易、bug更少。工作效率将实现RTL设计出现以来的最大跨越。但这一过渡不可能一蹴而就。TLM驱动式设计和验证方法在新IP被创建出来时,一次运行一个IP模块。而有些设计组件直接以RTL形式设计将是最好的方式。因此,必然要有将新TLM IP与遗留的RTL IP在设计与验证环境中进行合并的可能。

关键字:TLM  驱动 编辑:神话 引用地址:TLM驱动式新方案探讨

上一篇:共源共栅CMOS功率放大器效率的提高方案
下一篇:PSpice的参数扫描对电路的优化分析

推荐阅读最新更新时间:2023-10-12 20:33

LSI 面向硬盘驱动器制造商推出首款标准产品片上系统
LSI 公司 (NYSE: LSI) 日前宣布推出面向笔记本电脑和台式机硬盘驱动器 (HDD) 市场领域的 40 纳米专用标准产品 (ASSP) 片上系统 (SoC) TrueStore® SC9500。SC9500 是 LSI 首款标准产品 SoC,完美整合了集成式 LSI 硬盘控制器、低密度校验码(LDPC) 读取信道和串行物理层集成电路,现已开始向 HDD 制造商提供样片。 TrueStore SC9500 IC 配套提供了参考固件,旨在帮助 HDD 制造商实现灵活的 ASSP SoC 开发。该产品使 HDD OEM 厂商通过标准产品就能满足客户的各种要求,且无需购买硬盘控制器或低级固件。SC9500 同
[手机便携]
SPI接口基础上的各种串行通信工作方式配置及驱动编程
  引言   51系列单片机资源有限,当开发者面对比较复杂的控制任务时,51单片机就力不从心了。在这种情况下,用户可以选用比较高档的单片机机型,比如ARM系列32位单片机等来完成目标控制的任务。还有一种选择方案,就是采用51单片机多机系统方案,用分散控制的方法来实现最终的复杂目标控制任务。   在多机系统的实现过程中,首先要解决的就是多机之间的相互通信连接问题,以保证数据在单片机之间的高效、可靠的传递。MCU之间的通信功能是多机系统实现的基础,也是多机系统可靠运行的关键。   1 SPI接口的特点   SPI接口最大可以提供1 Mb的串行数据传输能力。理论上,比传统的串行通信接口RS232通信速率高得多,因此它非常
[单片机]
SPI接口基础上的各种串行通信工作方式配置及<font color='red'>驱动</font>编程
如何将驱动器与MOSFET进行匹配
当今多种 MOSFET 技术和硅片制程并存,而且技术进 步日新月异。要根据 MOSFET 的电压 / 电流或管芯尺 寸,对如何将MOSFET驱动器与MOSFET进行匹配进 行一般说明,实际上显得颇为困难,甚至不可能。 与任何设计决策一样,在为您设计中的 MOSFET 选择 合适的 MOSFET 驱动器时,需要考虑几个变量。需要 考虑的参数至少需要包括输入至输出的传输时延、静态 电流、抗闭锁和电流驱动能力。驱动器的功率消耗也影 响着封装的决定和驱动器的选择。 本应用笔记将详细讨论与 MOSFET 栅极电荷和工作频 率相关的 MOSFET 驱动器功耗。还将讨论如何根据MOSFET所需的导通和截止时间将 MOSFET 驱动器的 电流
[模拟电子]
汽车应用中的继电器驱动
1 引言 尽管电子产业的发展日新月异,但是机械继电器依然广泛的用于工业和汽车应用中,用来控制大电流负载。其低成本和优异的抗故障能力使继电器成为工业和汽车应用环境中一种有用和可靠的解决方案。安森美半导体提供的集成式继电器驱动器NUD3105、NUD3112、NUD3124、NUD3160被认为是对工业和汽车应用中的控制机械继电器的理想器件解决方案。其集成设计可以明显的简化设计并且降低成本,替代传统的分立解决方案,如双极型晶体管加续流二极管。 2 工业和汽车应用的要求 工业应用和汽车应用的器件要求不同,必须用不同的方法解决。汽车应用的要求是最难满足的,而工业要求一般允许较多的自由。继电器线圈电流根据应用的不同差别很大。最大等级的工
[嵌入式]
如何挑选合适的LED驱动电源
LED驱动电源选配方法 LED本身的负载特性大大影响了用开关电源驱动它的可靠性。LED的负载特性,即伏安特性,属二极管特性。在一定区间内,LED两端电压的升高,使其电流的增长呈指数式,爆炸型的增长。故很多用开关电源驱动的LED灯具,表现出很多不稳定特性。原因就是,开关电源的输出,并不是很干净的平滑直流电压(电流)能量,而是一种非常复杂的能量信号,其大致可以看成是平稳的。 而LED对电压变化非常敏感,LED在稳定的电流下工作时,其两端电压一般是3.0-3.6V之间(大小功率LED略有差异),当加在其两端的电压稍微波动后,其两端电流就会剧烈变动,此时电源的输出功率也即猛烈变化。若电网电压中有较突然的变大,此时很小输出电压变
[电源管理]
自振荡半桥驱动器IR215X的可变频率驱动技术
    摘要: 在功率电路应用中,常常要求开关频率能连续变化。本文介绍了一种采用自振荡半桥驱动器IR215X实现的频率可变的驱动电路,并在高压纳灯电子镇流器上得到了应用。     关键词: IR215X  可变频率  自振荡半桥驱动器     在电子镇流器和功率电源电路中,常常要求开关频率在一定范围内连续变化;另一方面,也需要用数字信号控制选择一个或几个特别的驱动开关频率。IR215X自振荡驱动器和IR5XHXXX混合电路与传的桥式电路驱动方法相比,有着明显的优势。本文在讨论集成振荡器的工作原理的基础上,介绍通过简单的技术和廉价的外围电路实现变频驱动的方法。 1 用开关电容法实现频率控制  
[电源管理]
基于手机背光驱动的“公板”和“低成本呼吸灯”解决方案
广芯电子(BROADCHIP)在推出手机背光驱动BCT3220/BCT3221的基础上,利用其能够同时支持共阳极并联显示屏及共阴极并联显示屏的特性,向手机客户推出了背光驱动“公板”和 “低成本呼吸灯”方案。 利用BCT3221/3220同时支持共阴共阳连接LED的特点,客户在研发设计PCB的时候可以不必再考虑LCM的连接方式,只需在生产贴片过程中调整图中电阻R1、R2的阻值,就可以适应不同的屏。这样,一个项目不管用什么屏,都只要设计一块PCBA板,大大提高了背光驱动芯片和屏的通用性,便于客户备货并有效防止某种屏的缺货。 同时,利用这个特性还可以实现业界最低成本的呼吸灯方案,且具有独特的对比呼吸效果。 如图所示,如果使用共阳屏A
[嵌入式]
带你了解继电器工作原理及驱动电路
一、继电器(relay)的工作原理和特性 1、电磁继电器的工作原理和特性 电磁式继电器一般由铁芯、线圈、衔铁、触点簧片等组成的。只要在线圈两端加上一定的电压,线圈中就会流过一定的电流,从而产生电磁效应,衔铁就会在电磁力吸引的作用下克服返回弹簧的拉力吸向铁芯,从而带动衔铁的动触点与静触点(常开触点)吸合。当线圈断电后,电磁的吸力也随之消失,衔铁就会在弹簧的反作用力返回原来的位置,使动触点与原来的静触点(常闭触点)释放。这样吸合、释放,从而达到了在电路中的导通、切断的目的。对于继电器的“常开、常闭”触点,可以这样来区分:继电器线圈未通电时处于断开状态的静触点,称为“常开触点”;处于接通状态的静触点称为“常闭触点”。
[电源管理]
带你了解继电器工作原理及<font color='red'>驱动</font>电路
小广播
最新模拟电子文章
换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved