USB2.0主控器软硬件协同仿真系统设计_第1页
USB2.0主控器软硬件协同仿真系统设计_第2页
USB2.0主控器软硬件协同仿真系统设计_第3页
USB2.0主控器软硬件协同仿真系统设计_第4页
USB2.0主控器软硬件协同仿真系统设计_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

USB2.0主控器软硬件协同仿真系统设计摘要:为了能够充分、快速验证USB2.0主控器的功能,设计了一个软硬件协同仿真平台。其中,CPU模型部分采用一种高效的SystemC模型,而不使用基于指令集的复杂CPU模型。测试用例采用抽象层次更高的C语言编写,通过调用仿真平台对外提供的API完成激励生成与响应检查。结果表明,该方式能够有效降低对仿真资源的占用,减少仿真时间;同时使软件人员能在IP的硬件验证阶段就能完成软件的设计测试工作,缩短软硬件接口整合时间,加快开发进度。关键词:软硬协同;联合仿真引擎;CPU模型;通用串行总线;主控器;片上系统USB由于具有传输速度快、支持即插即用和热插拔、供电方式灵活、总线结构简单、使用和扩展灵活等优点,已经成为业界主流的工业接口标准,并在SoC设计中得到了广泛的应用。在典型的应用案例中,USB主控器作为SoC中的一个子模块,和其他子模块有复杂的互联、通信关系,同时也受系统主CPU的控制。在这样一个复杂的系统中,如何验证USB主控器设计的正确性以及其和SoC系统其他模块协同工作的完整性对项目成功与否是非常关键的。本文设计了一种软硬件协同仿真平台来验证应用在数字电视SoC中的USB2.0主控器,本平台为SoC的验证提供了一个高效、系统的解决方案。结果表明效果良好。1待验证USB2.0主控器系统结构本文验证的USB2.0主控器完全兼容USB1.1规范,EHCI主机控制器接口规范和OCHI主机控制器接口规范。该USB2.0主控制器包含一个高速主控器和一个全速主控制器,其中高速主控器基于EHCI接口规范实现,用来和连接到根端口的高速(传输速率为480Mb/s)模式外设进行通信。全速模式主控制器基于OHCI接口规范实现,使USB2.0主控器可以与全速和低速(传输速率为12Mb/s和1.5Mb/s)外设进行通信。系统CPU可以通过该主控器的AHBSlave接口对其进行控制。该主控器中还包含AHBMaster接口单元,能够扮演AHBMaster的角色直接控制主控器与系统存储器之间的数据交换,不需要通过外部DMA控制器的控制,方便系统集成,加快该主控器与系统内存之间的数据交换。该主控器的物理接口端提供满足UTMI+接口规范的接口,通过与PHY相连,可以直接与外设进行通信。图1为该主控器的系统结构框图,图中主控器的列表处理器模块是系统中主要的控制器,其包含多个状态机用来处理规范中描述符定义的内容。闻IB乩机接口总元AHE主机核三工2.G主捽卷闻IB乩机接口总元AHE主机核三工2.G主捽卷图1U5H2.0主控器系统塔构的2验证仿真系统介绍2.1使用传统平台验证USB主控器的不足USB主控器真实的工作环境需要有硬件和软件协同配合,在传统验证平台下,从整个验证过程来看,硬件人员需要描述一套基于VerilogHDL的测试激励模拟软件环境验证其功能,之后软件人员还要再写一遍基于C程序的软件环境验证其功能,这样造成工作的重叠。同时传统验证平台使用VerilogHDL编写,抽象层次较低,在描述高抽象结构(如USB的描述符的数据结构)时比较复杂,而使用抽象层次更高的C语言会相对简单。2.2本文设计的软硬协同仿真系统介绍相对使用传统验证方法,本文设计的软硬件协同仿真系统使用抽象度较高的C语言编写测试激励,通过调用系统中CPU模型对外提供的API完成激励生成与响应检查。基于本引擎编写的测试激励可以方便的移植,所以在硬件仿真阶段就能调试SoC系统软件,不必等到FPGA平台设计完成或芯片设计完成后,从而大大节省了项目开发时间。图2是本文验证USB主控器功能的软硬件协同仿真的系统架构图。本验证环境由3大部分组成:联合仿真引擎,即CPU模型;总线架构及系统内存模块,包括一个DDR模型和DDR控制器;USB协议实现、检查模块,包括待验证的USB主控器、支持UTMI+接口的PHY、外设模型。在该平台下,联合仿真引擎(CPU模型)替换掉SoC中原有的CPU,是整个验证系统的核心也是整个系统设计的核心。通过使能信号触发联合仿真引擎工作来执行C程序,将软件对USB主控器的控制转化成总线时序,将软件和硬件交互的行为模拟到RTLffio下文将对仿真平台中各个模块,重点对联合仿真引擎进行详细介绍。图2基于软硬件协对体我平手的USB2..;

主控器的监证系统果构图2.2.1基于TLM建模的联合仿真引擎及设计使用软硬件协同仿真的方法验证USB主控器,只需要用C语言编写USB主控器驱动并将其集到成系统中进行仿真测试,因此要求CPU模型能够简单、高效地执行驱动程序,CPU在SoC中都是直接通过AHBMaster接口连接到总线(BUS)上,对SoC中要验证的IP来讲,CPU就是一个总线Master,IP并不关心CPU是什么指令集,采用何种方式实现。基于此,本联合仿真引擎设计的CPU模型并没有采用基于特定指令集设计的复杂方法,而是采用基于SystemC事物级建模(TLM)技术构造了一个基于AHB协议的总线功能模型(BFM),实现了对CPU对SoC中其他模块所呈现的AHBMaster接口的时序封装。这个BFM能和要验证的RTL模块进行连接和通信,它能够编译并解释基于C语言编写的驱动程序,并把这个驱动程序要执行的操作翻译成对应的AHB总线信号。通过层次化的封装,本联合仿真引擎把基于时钟时序精度的RTL的抽象层提升到没有任何时钟和时间概念的软件抽象层。同时,本引擎能取代任何CPU。不管SoC中真正使用的CPU是MIPS指令集、ARM指令集还是其他CPU,都能被本联合仿真引擎替代。本引擎的CPU模型使用系统仿真用的工作站或者服务器的宿主CPU来运行验证工程师编写的基于C语言的测试激励程序,将需要的具体硬件行为通过Channel向下传送到RTL端。相对于直接使用SoC中CPUIP核的RTL的仿真,该引擎省去了CPUIP核取指令和运行指令的复杂的仿真、运算过程,大大节省了仿真运行的时间。本联合仿真引擎为软件人员和硬件验证人员分别提供了一些总线访问和中断处理的人「1,为了满足硬件验证的需要,另外设计了一些API可以实现让系统等待一定时钟周期或者时间、停止或重新开始仿真、不通过总线而可以快速访问系统存储器等功能。在系统中CPU模型对USB主控器和DDR控制器的配置均通过这2个模块对外提供的AHBSlave接口。2.2.2仿真系统的其他模块介绍DDR2/3为系统内存,存储USB主控器正常工作需要的描述符和收发的数据。由于本系统中DDR2/3控制器只提供AXISlave的数据接口,系统中CPU和USB主控器需要通过AHB桥将AHB从机的接口时序转换成AXIMaster的接口时序,保证2个模块之间正常的数据通信。系统工作过程中AxI,AHB总线监控器监控2个总线活动,打印出报告信息,方便仿真结果检查。USB主控器是待验证的主控器(DUT)。PHY模型提供UTMI+接口,有USB2.0和USB1.1两种接口分别支持EHCI接口和OHCI接口实现。外设模型包括一个PHY验证IP(VIP)和一个USB外设验证IP,模拟USB外设的行为。USB外设VIP中包含一个USB监控器模型,负责协议检查,记录事物传输进程,监控高速、全速和低速的USB传输,提供数据包级和事物级传输的监控,同时可以监控挂起、恢复和复位信号。3基于本验证系统的USB主控器验证过程由于使用了联合仿真引擎,测试激励既可以使用VerilogHDL编写也可以使用C语言编写。运行C语言编写的测试激励时,需要在测试平台中预先置位使能信号打开联合仿真引擎,触发仿真工具(如NCVerilog)调用C测试激励程序的主函数。在C测试激励顺序执行时,整个RTL的仿真时间会停在当前时刻。只有当C测试激励调用了基本的读/写函数、中断响应之类的底层函数,硬件仿真时间才会向前推进,RTL仿真器继续往前运行。直到RTL反馈后,C测试激励程序才会继续往下一行执行。USB主控器验证系统仿真引擎交互过程如图3所示。HDL访其引颦HDL访其引颦跋合怵嵬弓】帮图3USB主控器验证系统彷真中学交互过程具体过程包括:HDL仿真工具执行VerilogHDL描述的USB的外设模型初始化过程;HDL仿真工具使能联合仿真引擎,测试用例进入联合仿真引擎继续执行;联合仿真引擎初始化待验证USB主控器;联合仿真引擎执行特定API函数.测试用例进入HDL仿真过程;通过调用外设的attatch命令,使外设模型连接到待验证的USB主控器;联合仿真引擎等待外设模型连接中断,停止在当前时刻,直到中断有效;联合仿真引擎执行外设模型连接中断处理;测试用例继续执行HDL仿真过程。主控器与外设模型按照配置速度,传输类型,传输方向,传送的数据包的工作速度;C驱动循环等待中断信号有效,进行中断处理。AHB监控器、AXI监控器和USB监控器监测主控器AHB端和USB端的工作,进行协议检查,给出报告信息,仿真过程可以通过日志文件方便监测。基于上述思路编写的验证USB主控器各个不同功能的测试用例,在不需要使用任何PLI(编程语言接口)函数的情况下,能够快速、方便地实现USB2.0主控器各个不同层级的Driver的功能,从而保证能够全面的验证此主控器的特性。表1是在不同的仿真环境下,测试USB主控器与外设进行进行高速传输2Mb数据所需要的时间。从表中可以看出,系统中使用RTL级CPUIP核的系统,仿真速度最慢;基于ISS指令集模拟器的仿真系统,速度次之;本环境的仿真速度最快。表1不同仿真降境的真时间对比仿真环埴 俘真时间/导使用R—L疑C

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论