网络产品上市时间怎样缩短?这要看硬件仿真器的!
作者:Lauro Rizzatti博士,验证顾问
以太网 VirtuaLAB 可提供由软件控制的环境,用于生成、传输和分析以太网数据包,从而对硬件仿真平台内映射的以太网 SoC 进行测试。
随着对连通性需求的大幅增长,互联网已成为数十亿用户的主要通信手段。根据"Internet Live Stats",2014年互联网覆盖人数已达到三十亿,占全球人口约40%。
作为"全球互联网络和计算机系统",互联网实现了广泛的数据通信服务,如电子邮件、视频下载、Google 搜索、推特消息发送、Skype 电话等等。表 1 列出了每天和每一秒钟的主要互联网活动数量。
表 1:2015 年 3 月 23 日这一天每一秒钟中主要互联网事件发生的次数。(来源:www.internetlivestats.com)
互联网的起源可以追溯到不同时间不同地点的多项发明的汇合,参与人数众多。垂直发展包括分组交换技术、通信协议以及源自 20 世纪 60 年代的电信行业活动。Xerox Palo Alto 实验室在传输控制协议(互联网协议或 TCP/IP)基础上创建了专为"局域网"(LAN) 开发的以太网标准。
个人计算机的发明,推动了互联网发展,使其成为现如今这样拥有三十亿用户的网络。没有个人计算机及其关联设备(如打印机和扫描仪),互联网可能就只能局限于军事和学术机构中。
在网络术语中,所有连接到网络的设备都被分类为网络节点。在最基本的网络结构中,各节点通过集线器连接在一起。即,多端口设备将任何到达的信息包复制到与之连接的所有其他端口(节点)(图 1)。
图 1:图示为典型的基于集线器的网络配置。
这种最简单的方法存在一个问题,即网络的发展会被限制在数台设备或节点中。基于集线器的网络中,有四个问题阻碍了网络扩展:
• 带宽:通过一段时间内传输的数据量进行测量。在集线器网络中,用户共享总带宽。
• 延迟:通过数据包到达目的地的时间进行测量。在集线器网络中,传输规则使得延迟增加到不能接受的程度。
• 网络故障:在集线器网络中,一个节点可能会引发其他节点出现问题,如过度广播或不恰当的速度设置。
• 冲突:多个节点同时传输数据包时会发生冲突,因此可能有必要进行重新传输。
要解决并纠正这些问题,业界开发了可替代集线器的新设备。其中,交换机和路由器可保留带宽、降低延迟、避免网络故障以及防止冲突。
以太网 SoC 案例研究
早在 1989 年,Kalpana 就发明了七端口以太网交换机,可处理 10-Mb/s 流量。今天,以太网交换机和路由器已达到 256 个端口,到年底可能还将达到 1024 个端口。它们可处理 1/10/40/100/120 Gb/s 的流量。尽管业界预测未来端口数量还将增加,但受到传输介质的限制,带宽不太可能会提升到 1000 Gb/s。我们可以看到采用并行方法增加带宽的措施。网络交换的延迟持续下降,到如今,最低延迟已降至1 µs以下。
大量端口、流量增加、延迟降低、安全性整体提升以及易用性使得如今的网络交换机和路由器作为最大的 IC 设计得以迅猛发展,达到了五亿门级。仅屈居于最大的处理器和图形芯片之后。
在硅可用之前,验证此类复杂 IC 设计是一项难以完成的任务。我们来考虑下现代片上系统 (SoC) 的设计,其包含 128 端口以太网接口,可用带宽较多,有1/10/40/100/120Gb/s。
当可以在块级别使用硬件描述语言 (HDL) 仿真时,用仿真流量来验证数亿门级的整个设计显得不合实际,而且必然会被淘汰。这是在电路内模拟 (ICE) 模式中采用硬件仿真的主要案例。
这种验证方式的独特之处在于能通过真实流量对设计进行测试。设置需要对每个端口使用一个以太网测试仪。由于测试仪和模拟的被测设计 (DUT) 之间速度范围差异较大,因此不能直接连接,需要在两者之间插入速率适配器。这样就可以将测试仪的高速调整到模拟DUT 的相对较低速度。
分析中的设计含 128 个端口,需要设置 128 个以太网测试仪和 128 个以太网速度适配器,以及大量接线(图 2)。除了错综复杂的布线、潜在的硬件不可靠性、整体开支外,最令人沮丧的是整个设置只能支持模拟实验室附近的单用户。
图 2:128 端口,1/10/40/100/120-Gb/s 以太网交换机通过电路内模拟 (ICE) 进行验证。
用于网络设计验证的 VirtuaLAB
我们将这种设置与采用虚拟方法的设置进行比较,如 Mentor Graphics 的以太网 VirtuaLAB。在此场景中,装有Linux环境的工作站连接硬件加速器,在工作站上用软件对以太网测试仪建模。基于成熟的实现知识产权 (IP),模型准确再现了实际的物理测试仪。
这种虚拟测试仪包括以太网数据包生成器和监视器 (E
- 经硬件仿真验证的可测试性设计 (DFT)(02-25)
- 用硬件仿真调试嵌入式系统软件(07-11)
- 所能预见的硬件仿真未来(08-13)
- SoC系统开发人员:FinFET对你来说意味着什么?(11-12)
- SoC内ADC子系统集成验证挑战(01-16)
- 不可不知的几种真实设计环境中的系统设计(01-21)