微波EDA网,见证研发工程师的成长!
首页 > 测试测量 > 测试测量技术文库 > 基于速度匹配软件的网络芯片仿真方法

基于速度匹配软件的网络芯片仿真方法

时间:11-06 来源:EETCHINA 点击:

。缓存于电脑内存中的数据包再以较慢的速度发送给仿真器,此时的存储管理是由电脑上的操作系统完成的,因此缓存容量可以与电 脑的RAM容量一样大,需要的话甚至可以使用操作系统的虚拟内存将数据包存放在磁盘上。

这种成熟的内存管理技术用硬件实现是相当困难的,并且成本很高,但用软件实现却相当容易。

速度匹配软件如同各种应用软件那样运行于操作系统平台之上(图1)。通常一个应用程序访问硬件时需要调用操作系统的应用程序 接口(API)。但速度匹配软件却不同,它可以直接控制并行口和网卡的驱动程序。这样,速度匹配软件就能独立于操作系统,并利用经过完整测试的硬件驱动程 序自由地访问数据。

软件方面的注意事项

使用速度匹配软件时要注意以下几个问题。首先是与被仿真设备的接口问题。并行口是非常好的一个接口,它简单通用,几乎每台电 脑上都有,但也有许多限制。第一,并行口的最大吞吐量理论上是2Mbps,但由于端口服务开销的存在,要达到这一速率是不可能的。虽然可以使用更快的 SCSI或USB等接口,但它们相对都较复杂,并且这些接口的物理层要求网络设备原型上有专门的收发器,因此会造成额外的硬件设计与调试开销。另外,这些 接口的协议比较复杂,也即意味着原型中用来在这些接口上收发数据包的逻辑设计与调试会变得更加困难。因此采用这些接口会减弱软件解决方案所带来的优势。

专用的高速并行口也许是一种更好的选择。目前已有多家公司在出售可以插入电脑或安装在PCMCIA卡上的快速宽总线并行口卡。从电路与协议角度看这些快速并行口仍属于简单类型的接口,只是数据总线变成了16位或32位宽,但它们的吞吐量却可以达到标准并行口的2倍或4倍。

当采用电脑上的并行口进行连接时,要注意并行口有好几种类型,包括双向、增强型并行口(EPP)和扩展功能并行口 (ECP)。这些并行口的协议是用硬件控制的,因此具体能够提供的协议与所用的芯片有关。在许多情况下,用户需要改变CMOS设置来启动某个特殊的并行口 协议。许多高级的协议都包含有不能变更的超时设定(timeout)。如果原型网络设备不能及时响应,并行口芯片就会超时,从而导致字节丢失。用户一般可 以通过直接操作信号来创建不包含超时设定的自定义并行口协议。不过在任何情况下以这样低的层次访问并行口都需要用到能够访问操作系统内核的代码,虽然生成 这段代码是可能的,但不同的操作系统代码是不一样的,有时会相当困难,因此可移植性较差。

网络方面的注意事项

在仿真系统的网络侧要确保关闭了电脑上的所有网络进程,进行仿真时人们都不希望来回传送的任何数据包被电脑上的操作系统所截 获。有时也会有难以关闭的低层活动网络进程,这种情况的一个典型症状是出现不知从哪里冒出来的数据包,这些数据包会被发送给原型或网络。当这种情况发生 时,意味着有些后台任务正在侦测网络,最好是关闭所有的后台任务。

下面用硬件仿真器实现网桥来举例说明速度匹配软件技术的应用。该网桥以点到点的网络配置形式连接二台PC机PC1和 PC2。PC1和PC2通过两个独立的PC连接到仿真器的输入输出端口,每个PC上都运行有速度匹配软件。对PC1来说,与PC2是直接相连的,中间运行 速度匹配软件的PC或仿真器是透明的,看不见的,PC2也同样如此。文件可以通过中间仿真的网桥在PC1与PC2间直接传送。

上述的网桥可以用Verilog语言编写,图2给出了网桥的示意图。来自于两个转接PC并行口的数据包被速度匹配软件转换 成专为并行口优化过的协议,然后通过PC并行口送给仿真器。数据包到达仿真器后被装载进容量为1,514字节的缓冲器(FIFO的一部分)。1,514是 以太网标准中规定的最大数据包长度。

不幸的是,小于最大尺寸的数据包不会用完所有的字节,从而导致仿真器内存的利用率非常低。然而,如前所述,用Verilog编写的硬件方式的内存管理要比软件管理困难复杂得多。因此创建这种简化的FIFO结构可以降低复杂性,从而降低整体开发时间。

当数据经过FIFO后再在另外一端读出来,这时的数据仍是RMII协议规格,因此需要转换成速度匹配软件使用的非标准并行口协议,然后送给另外一台PC机。

还有一些状态寄存器没有显示在图2中。PC机可以通过并行口访问到这些状态寄存器,PC上的速度匹配软件通过这些状态寄存器 可以知道FIFO是满的还是空的、可以读还是可以写。这样速度匹配软件就能了解到网桥的状态,抑制数据包的传送,从而使网桥变得更有效率。网络协议允许不 会引起严

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top