为了正常的体验网站,请在浏览器设置里面开启Javascript功能!
首页 > 基于VerilogHDL描述的10M/100Mbps以太网卡设计模块的测试方案

基于VerilogHDL描述的10M/100Mbps以太网卡设计模块的测试方案

2017-09-20 10页 doc 25KB 38阅读

用户头像

is_496339

暂无简介

举报
基于VerilogHDL描述的10M/100Mbps以太网卡设计模块的测试方案基于VerilogHDL描述的10M/100Mbps以太网卡设计模块的测试方案 基于VerilogHDL描述的10M,100Mbps以 太网卡设计模块的测试方案 电子工程计算机应用Vo1.29No.12003 基于VerilogHDL描述的lOM/lOOMbps 以太网卡设计模块的测试方案 TestingSchemeabout10M/100MbpsEthernetCardDesignModule BasedonVerilogHDLDescription 华中科技大学图像信息处理与智能控制重点实验室(武汉43007...
基于VerilogHDL描述的10M/100Mbps以太网卡设计模块的测试方案
基于VerilogHDL描述的10M/100Mbps以太网卡模块的测试 基于VerilogHDL描述的10M,100Mbps以 太网卡设计模块的测试方案 电子工程计算机应用Vo1.29No.12003 基于VerilogHDL描述的lOM/lOOMbps 以太网卡设计模块的测试方案 TestingSchemeabout10M/100MbpsEthernetCardDesignModule BasedonVerilogHDLDescription 华中科技大学图像信息处理与智能控制重点实验室(武汉430074)赵江华吴建军 华q-科技大学电子科学与技术系(武汉43007-4)邹雪城邹连英 武汉群茂科技公司(武汉430073)何莹 【摘要】利用Verilog语言的特点,搭建测试平台,能够灵活地验证设计模块.本文提出了一种 有效进行功能验证的方法,从而保证芯片在功能上的有效性和正确性. 关键词:Verilog语言,测试台.行为级,以太网 [Abstract]Thetestingschemeispresentedtoneatlyverifythefunctionofdesignmoduleby constructingtestbenchandusingVerilogHDL.Toensurethefunctionandvalidity,aneffective methodforverificationonfunctionalitYisdescribed. Keywords:Veriloglanguage.testbench.behaviorlevel.Ethernetprotocol 1引言 Verilog语言为数字系统设计人员提供了一种在 广泛抽象层次上描述数字系统的方式,同时,为计算机 辅助设计工具在工程设计中的应用提供了方法.该语 言支持早期的行为结构设计概念,以及其后层次化结 构设计的实现.在设计过程中.进行逻辑结构部分设计 时可以将行为结构和层次化结构混合起来.为确认正 确性可以将描述进行模拟,也提供一些用于自动设计 的综合工具.Verilog语言为设计者进行大型复杂数字 系统设计提供了途径. 在写出Verilog 描述时,通常采用测 试台的方法来组织 描述.这种思想来源 于工程师的工作台, 把要设计的系统连 图l测试台结构图 接到一个测试生成器上,测试生成器在被控制的时间 间隔内提供输入并监视输出.在这个模块内部还有两 个模块,一个示要设计的系统,另一个表示测试生成 器和监视器,如图l所示. 2测试系统总体结构 本系统主要是对803(10M/100Mbps以太网 RTL代码)芯片设计进行测试,以完成对该芯片前端 的仿真及验证工作. 803芯片为三合一的芯片,它将物理层(PHY),数 据链路层的下层(媒介访问控制层MAC),直接存储 收稿日期:2OO2—11—13 ?6? 器访问(DMA)(包括周边器件互连总线接口(PCI Interface))三者结合在一块芯片上.其中,PHY层将 数据转化为一位一位比特流的格式发送到局域网上, 而MAC主要是作为数据链路层的主要模块(即底层 模块),其功能在于实现CSMA/cD(802.3)协议, DMA接口部分主要用于实现网卡芯片与主机端进行 数据通讯的功能.它的结构如图2所示. 对测试结构,采用两 种系统仿真环境,其系统 总体结构如下所述: (1)用外围的介质独 接口模块!. 尊图2三合一芯片结构试-心44~斤II_所 M 具 I 803备的以太. 网瑰能(如图3所示). DalalnTXEN AdrOTXD PCI MemportBridge803MlI 【nitialPacket DataOutRXEN RXD S9tup time Hold time Packet length 图3测试系统结构一 (2)用另一个网卡IP核802一 ip模块仿真803 以太网芯片的功能的模型(如图4所示). 图3和图4中的MII,Memport(存储器模块), 赵江华,等:基于VerilogHDL描述的10M/100Mbps聂网卡设计模块的测试方案 图4测试系统结构二 PciBr(PCI桥模块)这三个模块都是用Verilog语 言描述的,即,MII是对以太网协议CSMA/CD(802.3 协议)中的MII层的功能进行模拟;PciBr是对PCI 总线桥的功能进行模拟;Memport是对主机内存进行 模拟.这三个模块都是对各自模拟的功能进行行为级 的描述.图中802部分是已经流片过的数字部分,但功 能比803实现的功能要少.此外,803主要是为了做成 三合-一的片子而进行的设计,而802只是单独地作为 数字部分而流片实现的. 上面两种仿真测试环境的改变主要是在我们做的 测试台部分进行的.针对不同的环境调用不同的环境 配置文件.两种测试模式功能上的改变,主要是通过 803RTI代码中引出的专门用于测试的端口输入值而 实现的.即,通过改变这些端口的值进入不同的调试模 式.具体如表l所示. 表1测试功能控制表 表l中,4个是关键测试模式:MII模式,PHY模 式,FIF0模式,Normal模式. (1)在MII模式下,PHY部分被忽略掉,数据包 从PCI传到MII,或者从MII传到PCI,在这种模式下 803芯片中的MII是用一些芯片的闲置引脚相连的; (2)FIFO模式的设置用于测试内部异步静态存 储器的性能; (3)在PHY模式下,PHY部分应该从MAC层 断开,PHY中的MII与一些存储器的闲置引脚相连. 以这种方式.通过这些引脚,我们可以将数据包发送给 内部的PHY,数据在PHY循环一周后从其另一端接 收数据,以测试其功能; (4)Normal模式意味着803芯片运行在正常模 式下,数据包将会从双绞线经过PHY,MAC,DMA中 的异步静态存储器,最后到达PCI总线上,反方向类 似 3系统设计思想 为了更好地检测803芯片设计部分完成的功能是 否符合CSMA/CD(带冲突检测的载波侦听多路访问) 协议,可采用前面给出的两种系统结构.这两种系统结 构主要包括三大模块:Memport,Pci—Br和MII. MII模块:803芯片完成的是CSMA/CD分层协 议的介质访问控制子层(MAC)的功能,它与外部的接 口信号也是按照分层协议设置的.协议中的MII就是 实现MAC与物理层相连的接口部分.该MII模块主 要是用Verilog语言的行为级部分子集对协议中的 MII和物理层进行建模,模拟协议规定的MII的功能. 该模块与MAC的接口信号包括Tx—ER,TXD~3: 0>,TXEN,TXCIK,COL,RXD<3:0>,RX EX,RXCIK,CRS,RXDV等标准输出输入信 号,其余信号都是输入信号(Input),包括PktLength (数据包长),InitData(数据包初始数据)-Pkt— Num (包序号),HoldTime(信号保持时间),SetupTime(信 号建立时间)等控制信号.通过对这些控制信号的控制 (取不同的值0或者1),在MII模块内部产生大小不 同的数据包,发送给MAC层,即803芯片,然后在Pci Br模块与803芯片的接口处检测是否收到了数据. PciBr模块:按照PCI协议对PCI桥进行建模, 模拟PCI桥的功能.它支持2个主设备,2个存储器端 口,每个存储器端口都可以当作主设备.该模块在803 芯片和存储器之间提供了一个仲裁的通道. Memport模块:对站点的存储器的行为进行建 模,存储从803芯片传来的数据,以及生成符合以太网 CSMA/CD协议的数据包,并发送给803.该模块与 PciBr模块的接口信号包括DataIn0,DataOutO, Adr0,nRdBE0等接口信号,其余信号都是输入信 号BufSize,DESNum,TlstBufPtr,RlstBufPtr等控制 信号.通过对这些控制信号的控制,在Memport模块 内部产生大小不同的数据包,发送给PciBr模块, 在803芯片与MII模块的接口处检测是否收到了从 Memport发送来的数据. 图5芯片发送功能仿真测试图 4系统仿真与验证 本设计在Modelsim5.4软件操作平台上编译后 进行时序仿真.其部分仿真波形如图5所示,图中仿 (下转第l0页) ?7? 电子工程师通信技术与设备Vo1.29No.12003 2.2软件实现 对于上位PC机来说,设定定时中断每隔 20ms通过串行通讯口COMl向下位DSP发送 指令.如果发送的是下位机发送数据的指 令.则等待数据上传结束,对数据进行校验,如果 校验出错.则发送重发指令,继续等待数据上传. 反复3次,如果还是出错,显示通讯失败.退出中 断.下位DSP接收数据采用查询的方式,它对接 收的数据进行校验.如果校验错误,置接收状态 数为假.DSP的数据发送则由上位机控制,发送 固定长度的数据(包括实时数据以及状态数据. 长度7字节),数据末尾加入校验数,实现与上位 机多机串行通讯.当上位机读出下位DSP上次接 收状态出错,则再次重复发送上次的指令.上位 机可以采用VisualC++,下位DSP可以采用C 语言与汇编语言混合编程.这样实现起来方便. 且效率较高.图4分别给出上位机的定时中断与 下位DSP接收数据的流程图. 3结束语 SCI方法实现成本较低,只需一块电平逻辑 转换芯片及一根串行通信线,就实现了 TM$320LF2407与PC多机串行通信.虽然禁止 了奇偶位,但由于采用了基于奇偶校验的校验数 方法,通过实际运行,测得其误码率仍旧在要求 范围内,实现了高速可靠通讯,满足了实时通讯 要求.但也有一定局限性,比如说:由于RS一232 协议的限制,通讯距离只有大约15m,没有冲突 检测与仲裁机制,只有采用PC机对总线访问进 行控制,这样就降低了PC的使用效率以及总线 的使用效率.对于这些问题,在以后的研究中可 下位DSP接收数据 上位Pc定时中断图4部分软件流程图 以进一步解决.如,可以采用RS一485协议,增加通讯 距离,采用2407A上备有的CAN控制器,通过CAN 总线来解决,但实现中也存在一些不足.总的说来, SCI方法实现的多机通讯是一种上接第7页)和发送使能信号(TXEN)分别为0和1的条件 下,按 真了发送过程中的一种情况.首先,在一个PCI交易照25MHz的网络时钟频率将数据从 TXD<3:0>送 周期,将存储器模块(Memport)产生的数据端口出.最后,通过各种发送和接收过程的仿真,完 成了对 (Dataln0)的值送到Pci— BF的数据端口(Dataln0),803芯片的仿真与验证,确保了其功能上的有效性. 再由PciBr模块根据PCI总线交易的协议,在n,.... FRAME,nIRDY.nTRDY有效的条件下,按照爹考又献 PCI总线的33MHz的交易时钟将数据1DonaldET.PhilipRM.硬件描述语言Verilog.刘明业. (16’d673654309)传到AD线上.从而传到803模块等译.第4版.北京:清华大学出版社,2001 中.可以看出.在网络上没有冲突(COL为0)的情况2JanMR?数字集成电路设计透视?北京: 清华大学出版社, 下.侦听到网络空闲时,并且在发送出错信号(TXER)_ ?lO?
/
本文档为【基于VerilogHDL描述的10M/100Mbps以太网卡设计模块的测试方案】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
热门搜索

历史搜索

    清空历史搜索