CADENCE硬件仿真器在Ethernet交换芯片验证中的应用
[复制链接]
1 概述 随着网络通信的高速发展,集成多种内容的以太网交换芯片在网络通信中起着越来越重要的作用,如何加快以太网交换芯片的开发速度,缩短验证的周期,是我们面临的重要课题,为此,我们选用了Cadence硬件仿真器Palladium作为验证加速平台。 Cadence硬件仿真器Palladium的逻辑硬件电路由高速处理器阵列所构成,芯片设计被映射成大量并行计算引擎,上万个处理器以极快的速度并发仿真,极大地加速了仿真速度,成为IC验证业界一种新型高效的验证工具。 2 以太网交换芯片ZX27x1在以太交换网中的应用 图1 ZX27x1在以太交换网中的应用 如图1所示,我们设计的芯片为ZX27x1,它以10/100M的速率通过MII接口和PHY层相连;另外它还有一个千兆上联口,通过公司的内部总线Zlink和上位芯片相连,从而组成一个数据交换系统。 3 系统验证分析 为了有效验证ZX27x1芯片功能,我们抽象图1系统为图2所示的验证模型。 图2 ZX27x1验证模型 分析一下图2中的结构,待验证芯片为ZX27x1,该芯片对外有两个接口,MII接口,这是标准的以太网接口;Zlink接口,这是公司内部的接口,为以太网交换芯片套片所用,该接口可支持多个ZX27X1芯片之间的数据和信息交换,并且允许cpu通过该接口对芯片进行随机访问。 为了验证该芯片zx27x1的功能,我们需要建立MII的接口模型和Zlink接口模型。如何实现这两种接口模型呢?很自然的想到用软件或硬件或软硬件结合的方式来实现,这样就派生多种验证方法(模式),见表1。模式1是我们最常用的纯软件仿真的方法,其验证速度很慢。其它3种模式都是基于硬件仿真器Palladium的硬件仿真加速方法。下面对这三种硬件加速方法的实现分别加以介绍。 表1 四种验证模式列表 SA模式(Simulation Acceleration mode),利用Palladium加速仿真性能,可综合的DUT设计(包括芯片内存设计)被移到仿真器中,行为级的不可综合的测试激励仍然留在工作站上在ncsim中运行。虽然硬件仿真器中DUT运行非常快,但受限于不可综合的测试激励所占的比例和palladium与ncsim交互通讯的频度,整个performance的提高比较有限,通常在数倍至数十倍之间。 ICE模式(In-Circuit Emulation mode),可以在仿真器内自动生成一个与DUT逻辑功能完全等价的虚拟芯片(就好像你的芯片已生产出来了),把它连接到的目标应用系统中,在真实的应用环境中验证你的芯片,即在系统上下文环境中验证整个设计,故可以大大提高功能验证完整性和有效性。其验证速度可达数百千赫兹。同时,由于有了现成的应用平台,你还可以在投片前即开始开发和调试软件,进行软硬件联合验证。 SAT模式(Simulation Acceleration with Target mode),综合了SA和ICE两种仿真模式。DUT放在palladium中,一部分testbench由与palladium相连的真实的目标系统产生,另一部分无法从真实系统中获得的testbench仍由验证工程师用代码编写在ncsim中实现。故它综合了SA和ICE两种模式的优点,既能提高验证速度,也能提高验证覆盖率。 4 硬件加速验证系统的搭建 如何在真实应用环境中快速全面的验证芯片逻辑功能正确性是该芯片验证的难点。 解决的方式是采用ICE模式和SAT模式验证。虽然硬件仿真器比软件仿真速度有上千倍的提高,可达数百千赫兹,但和真实环境下的芯片运行的速度相比,还有上千倍的差距,因此要将硬件仿真器所仿真的芯片放在真实(live)的环境中,必须对真实环境到硬件仿真器的信号降速处理,相反从硬件仿真器到真实环境中的信号需做加速处理。在此,我们采用Cadence公司的Ethernet Speedbridge速度匹配桥(以太网桥)来完成这种转换。 图3是zx27x1的ICE模式验证模型,图4是zx27x1的SAT模式验证模型。 图3 ICE模式验证模型 图4 SAT模式验证模型 由于人力资源和时间的限制,与Zlink接口相关的目标系统的降速实现存在一定的困难,故在ICE模式下,我们将Zlink接口屏蔽掉,只验证MII接口功能。在验证MII接口时,我们采用业界公认的Smartbits仪器作为MII接口的激励源和接收端,利用其提供的Smartwindow软件自动产生各种各样的以太帧发送到palladium中的ZX27x1芯片,并自动分析ZX27x1芯片转发出的以太帧的正确性。图3是zx27x1的ICE模式验证模型, 但是,仅仅MII接口的验证是不够的。为了验证整个芯片的功能,我们搭建了SAT验证环境。同ICE模式一样,MII接口的验证仍然是通过Smartbits验证,Zlink接口的验证则是由验证工程师用verilog语言编写testbench在ncsim中实现。图4是zx27x1的SAT模式验证模型。 5 实验结果 表2 四种工作模式实验结果 试验结果见表2,其中,ICE模式可长时间连续验证,直到Smartbits停止发包,目标系统关闭。因此,运行时间未测。 由于palladium具有FullVision功能,设计的内部节点全部可见,并且具有ncsim类似的force/release功能,故调试能力也很强。 虽然跟ncsim比,基于硬件的验证模式编译速度较慢,但由于palladium是基于cpu的硬件仿真器,其编译速度相对其他基于fpga的硬件仿真器的编译速度快的很多。 另外,在ICE模式下,除了接Smarbits的验证方法外,我们还将palladium中的DUT通过以太网桥的RJ45接口接入公司局域网中,正确地实现了网络互连。 同时,palladium系统支持多用户方式,我们的SA模式,SAT模式和ICE模式同时独立并发实现,大大加快了验证速度。 6 结论 通过4种验证模式的实验,我们建立了基于Cadence硬件仿真器Palladium的多种验证平台,得出这样的经验,对于大规模芯片和功能复杂芯片的验证: a. 系统设计阶段,要全盘考虑验证计划,特别是硬件加速验证中的ICE环境。因为系统验证时期采用ICE验证可大大提高验证效率和覆盖率。 b. 当用Ncsim纯软件验证调试整个系统时,验证速度很慢且需要很长时间才能找出新bug时,要开始采用SA,ICE和SAT等基于硬件大验证加速模式; c. 硬件加速模式的选择: 1) 当芯片的目标应用系统可以降频时,应首选采用ICE模式; 2) 当目标系统降频太困难无法实现时,应尽量编写可综合的testbench,采用STB验证模式以获得与ICE相同的验证速度。 3) 当编写可综合的testbench也无法做到时,采用SA或SAT方式获得验证加速。 试验证明,基于Cadence硬件仿真器Palladium的高效验证平台的建立,可以大大加快功能验证速度,提高功能测试覆盖率,缩短IC研发周期,加快产品投放市场的进程,提高芯片的一次性投片成功率。
|