专利名称:一种802.11n无线网卡中固件仿真模型的处理方法
技术领域:
本发明属于无线局域网领域,作为一种基于SOC架构的802. Iln无线网卡芯片固件仿真模型,特别适用于802. Iln的无线设备芯片设计,也适用于其他SOC架构的芯片设计。
背景技术:
现有SOC架构的无线网卡芯片验证过程中,需要使用CPU代码或者CPU仿真模型,以及C固件代码进行集成仿真验证,CPU通过执行C固件代码的指令,来进行无线网卡芯片的工作模式配置,以及发送/接收数据流的控制。由于软硬件协同仿真时,验证人员需要同时定位C固件和硬件代码的问题,当硬件系统和C固件功能较为复杂时,此时SOC芯片验证难度将会增加,导致系统验证效率降低。另外,真实的C固件功能关注的是芯片在某种场景下的控制与基本功能实现,因此造成硬件模块的在各种场景下随机控制不够灵活,加大了芯片异常测试的难度。
发明内容
本发明提供了一种基于SOC架构的802. Iln无线网卡芯片固件仿真模型,用以解决SOC架构下无线网卡芯片验证前期,软硬件协同验证而导致的软硬件错误定位难、测试场景控制不够灵活以及验证效率较低的问题。本发明的方法为通过搭建固件仿真模型,模拟固件对硬件的控制行为,起到在芯片验证前期替代模拟CPU和C固件的作用。固件仿真模型主要是模拟外部总线的接口时序,实现无线网卡芯片的配置和数据通路管理,802. Iln无线网卡中加网初始化配置,发送和接收数据通道和描述符链表管理,密钥表的管理和配置,上层驱动的命令解析和应答,中断处理,系统中所有硬件模块的寄存器配置和管理,以及硬件行为的监测和检查。为了增加系统中总线的测试压力,固件仿真模型采用了对硬件中断进行并行的处理方式,可以在同一时刻并行的处理不同硬件模块的中断请求,可以提高系统中各个硬件模块同时工作时,交互逻辑的测试效率。为了提高系统验证中定位错误的效率,固件仿真模型采用了对硬件行为的监测和检查机制,监测硬件的行为在仿真报告中打印出出错的硬件模块以及原因。为了增加系统的鲁棒性测试,固件仿真模型中采用了异常插入机制,随机的插入芯片工作中的多种异常操作,并监测硬件系统是否工作失常。如随机插入总线异常,中断处理异常,控制寄存器配置异常。在芯片验证前期过程中,使用固件仿真模型替代真实的CPU和C固件代码,模拟芯片外部总线的接口时序,实现802. Iln无线网卡芯片中加网初始化配置,发送和接收数据通道管理,密钥表的管理和配置,上层驱动的命令解析和应答,中断处理,系统中所有硬件模块的寄存器配置和管理,以及硬件行为的监测和检查,进行系统仿真。固件仿真模型包括总线时序转换装置、加网初始化配置模块、驱动命令解析与响应模块、寄存器配置与管理模块、密钥表配置与管理模块、发送接收数据通道管理装置、硬件行为监测装置、异常插入模块、中断处理模块;其中总线时序转换装置将固件仿真模型对芯片配置和管理操作,转换为总线的时序行为,来控制芯片内部各个模块;加网初始化配置模块在不同工作场景下按照一定约束要求对芯片进行初始化配置;驱动命令解析与响应模块用于解析上层驱动的各类命令;寄存器配置与管理模块用于配置芯片内各个硬件模块的寄存器;密钥表配置与管理模块用于配置无线网卡芯片的密钥表;
发送接收数据通道管理装置根据硬件模块产生的发送/接收数据流的中断,配置和管理发送/接收数据的描述符链表,管理发送/接收数据流通道;硬件行为监测装置读取主/从设备状态寄存器,判断主/从设备预期状态和操作是否一致,监测总线的接口行为是否符合预期;异常插入模块在仿真过程中随机的插入工作的异常情况,并对芯片相应硬件模块作监测;中断处理模块对芯片所产生的中断进行响应,并在相应的中断处理程序执行完成后,清除相应的中断源。固件仿真模型控制流程如下固件仿真模型根据不同的芯片工作场景,通过加网初始化配置模块完成芯片加网初始化配置,并启动芯片的工作模式。在芯片工作过程中,固件仿真模型通过驱动命令解析与响应模块解析上层驱动下发的各类命令,并根据解析后的命令通过寄存器配置与管理模块和密钥表配置与管理模块,完成对芯片的寄存器配置和读取操作,以及不同网络下芯片密钥表的配置和更新操作。在芯片工作过程中,固件仿真模型通过发送/接收数据通道管理装置完成对芯片发送/接收数据的控制。发送接收数据通道管理装置会根据硬件模块产生的发送/接收数据流的中断,配置和管理发送/接收数据的描述符链表,管理发送/接收数据流通道。芯片工作过程中,固件仿真模型会根据一定的约束要求,通过异常插入模块,随机的插入异常操作,异常插入模块会对芯片相应的硬件模块进行监测,预防芯片在异常条件下发生非法死机的情况。固件仿真模型在芯片工作过程中,会通过硬件行为监测装置,监测硬件的状态和操作是否符合预期,芯片总线接口行为是否符合预期。芯片在工作过程中,不同的硬件模块操作完成后会产生相应的中断,固件仿真模型通过中断处理模块完成对芯片中断的响应和清除操作。加网初始化配置模块、寄存器配置与管理模块、密钥表配置与管理模块、发送接收数据通道管理装置、硬件行为监测装置以及异常插入模块所发起的行为,均由固件仿真模型的总线时序行为转换装置,转换为总线接口信号,与芯片进行通 目。本发明有益效果如下本发明在SOC芯片验证过程中,验证人员可以灵活设置系统的验证场景,通过随机插入各种异常操作,以及并发的中断处理方式,可以增加硬件系统的测试强度和测试用例的随机性;另外,本发明可以对硬件模块的响应行为进行监测和检查,提高了芯片验证系统中定位问题的工作效率;本发明不依赖于真实的CPU和C固件,因此验证人员在芯片验证前期,可以更多的关注于硬件模块的功能测试和系统架构的验证,验证进度无需受到软件人员的工作进度进行影响。可以代替真实CPU和C固件代码,无须关注CPU的类型和指令集,无须关注C固件代码的实现方式以及工作效率。在没有确定CPU的类型和实现C固件代码时,可以使用固件仿真模型进行芯片系统的集成验证。
图I固件仿真模型在SOC架构下的系统框2固件仿真模型的结构框图
具体实施例方式下面结合附图,具体说明本发明。本发明提供一种基于SOC架构的802. Iln无线网卡芯片固件仿真模型,以期解决SOC架构下无线网卡芯片软硬件协同验证过程中,硬件验证效率低,定位问题难,测试用例不够灵活等问题。本发明包括固件仿真模型在SOC架构下的系统结构和固件仿真模型的内部结构设计。图I为本发明中固件仿真模型在SOC架构下的系统框图。依照本发明,SOC无线网卡芯片验证系统3包括固件仿真模型31,存储器32,主设备组33,主设备接口总线34,从设备接口总线35,寄存器堆36和从设备组37。其中主设备组33包括多个主设备331,从设备组37包括多个从设备371。固件仿真模型31,模拟总线接口时序,实现对无线网卡芯片的加网配置;根据不同的工作场景完成对硬件模块的寄存器堆36的配置,各个主设备33工作模式的配置,以及在不同工作场景下需要工作的从设备模块37的配置;实现对存储器32空间中的密钥表和发送/接收数据帧的描述符进行配置和管理;解析主设备接口 331下发到存储器32上层的驱动命令,并根据驱动命令内容对主设备接口 331进行配置,以及对上层驱动命令进行回应;配置各个主设备33,对存储器32中发送/接收数据流进行管理。实现固件仿真模型31的目的是在芯片验证前期,模拟C固件功能,替换真实CPU和C固件,提高SOC架构下软硬件协同测试的验证效率。图2为本发明中固件仿真模型的结构框图。固件仿真模型通过总线时序转换装置,将固件仿真模型对芯片配置和管理操作,转换为总线的时序行为,来控制芯片内部各个模块。芯片启动时,通过固件仿真模型的加网初始化配置模块,完成在不同工作场景下按照一定约束要求对芯片的初始化配置。芯片的主机接口会接收上层驱动下发的各类命令,固件仿真模型会处理硬件模块的相应中断,解析上层驱动的各类命令,可以配置芯片内各个硬件模块的寄存器,以及无线网卡的密钥表。固件仿真模型会根据硬件模块产生的发送/接收数据流的中断,通过发送接收数据通道管理装置,配置和管理发送/接收数据的描述符链表,管理发送/接收数据流通道。在芯片工作过程中,固件仿真模型可以通过硬件行为监测装置,读取主/从设备状态寄存器,判断主/从设备预期状态和操作是否一致,监测总线的接口行为是否符合预期。在芯片的仿真过程中,固件仿真模型可以随机的插入工作的异常情况,并对芯片相应硬件模块作监测,如插入总线响应异常、硬件模块的异常控制、中断处理超时、工作过程中芯片系统时钟变频配置、总线访问压力异常等。固件仿真模型对硬件的各种配置和中断处理是采用并发处理模式,因此可以增加系统中总线的访问压力,提高同一时刻芯片内部各个硬件模块在同一时刻的状态机翻转效率,便于验证各个硬件模块之间的交互逻辑。依照本发明的方法,验证工程师在没有软件人员的配合下,就可以进行的芯片的系统集成仿真验证工作,验证工程师在芯片系统验证前期,只需要关注硬件模块本身的功能和系统工作效率,无须关注软件代码的实现质量,可以大大缓解验证过程中的工作压力,解决软硬件协同验证过程中定位问题难的问题,提高芯片的验证效率。此外,固件仿真模型可以根据不同的工作场景,通过随机化的产生芯片的初始化配置,随机的插入各种异常配置,并发的处理各个硬件中端,监测硬件行为,在芯片验证前期,可以大大的提高芯片验证的覆盖率和验证效率。以上公开的仅为本发明的几个具体实施例,但本发明的保护范 围并不局限于此,任何本领域的技术人员能思之的变化都应落在本发明的保护范围内。
权利要求
1.一种802. Iln无线网卡芯片固件仿真模型,其特征在于在芯片验证前期过程中,使用固件仿真模型替代真实的CPU和C固件代码,模拟芯片外部总线的接口时序,实现802. Iln无线网卡芯片中加网初始化配置,发送和接收数据通道和描述符链表管理,密钥表的管理和配置,上层驱动的命令解析和应答,中断处理,系统中所有硬件模块的寄存器配置和管理,以及硬件行为的监测和检查,进行系统仿真;固件仿真模型包括总线时序转换装置、加网初始化配置模块、驱动命令解析与响应模块、发送接收数据通道管理装置、硬件行为监测装置、主/从设备状态寄存器、异常插入模块;其中 总线时序转换装置将固件仿真模型对芯片配置和管理操作,转换为总线的时序行为,来控制芯片内部各个模块; 加网初始化配置模块在不同工作场景下按照一定约束要求对芯片进行初始化配置; 驱动命令解析与响应模块用于解析上层驱动的各类命令; 寄存器配置与管理模块用于配置芯片内各个硬件模块的寄存器; 密钥表配置与管理模块用于配置无线网卡芯片的密钥表; 发送接收数据通道管理装置根据硬件模块产生的发送/接收数据流的中断,配置和管理发送/接收数据的描述符链表,管理发送/接收数据流通道; 硬件行为监测装置读取主/从设备状态寄存器,判断主/从设备预期状态和操作是否一致,监测总线的接口行为是否符合预期; 异常插入模块在仿真过程中随机的插入工作的异常情况,并对芯片相应硬件模块作监测; 中断处理模块对芯片所产生的中断进行响应,并在相应的中断处理程序执行完成后,清除相应的中断源。
2.如权利要求I所述的系统,其特征在于,所述固件仿真模型对硬件的寄存器配置,密钥表配置,发送/接收数据流控制和中断处理采用并发处理模式,可增加系统中总线的访问压力,提高同一时刻芯片内部各个硬件模块在同一时刻的状态机翻转效率,便于验证各个硬件模块之间的交互逻辑。
全文摘要
本发明提出了一种基于SOC架构的802.11n无线网卡芯片固件仿真模型。在SOC芯片仿真验证时,使用基于固件行为的仿真模型,替代真实的CPU和C固件,进行RTL系统的行为仿真。本发明,无须关注CPU的类型和C固件的代码容量和实现方式,只需要模拟CPU外部接口时序行为和模拟C固件行为,实现802.11n无线网卡的初始化配置,中断处理,接收/发送数据通道的管理,以及驱动命令解析和应答。本发明,可以在固件行为仿真模型中加入对硬件行为检查机制,加入可以提高SOC架构下硬件出错后定位问题的效率。本发明,可以节约C固件和RTL硬件协同仿真的验证时间,提高软硬件联调测试的验证效率。
文档编号G06F11/26GK102955727SQ20111025552
公开日2013年3月6日 申请日期2011年8月31日 优先权日2011年8月31日
发明者胡侨娟 申请人:北京中电华大电子设计有限责任公司