综合

apb总线,apb总线协议详解

  星载固态存储控制器是卫星的数据处理中心,负责接收、存储和传输卫星工程参数和有效载荷的科学数据。板载固态存储控制器采用现场可编程门阵列(FPGA)作为其处理核心。FPGA是一种可编程的信息处理器件,通过改变其配置信息可以实现不同的功能。它具有高集成度、高速度和高可靠性的特点,在航空航天领域得到了广泛的应用。但是当FPGA中的程序存在隐藏缺陷时,比如外部异常输入导致内部功能模块状态机运行异常,FPGA就会输出错误信号,导致整个系统功能失常。因此,FPGA设计需要进行功能测试和时序测试。此外,由于航天任务对可靠性和安全性的特殊要求,需要进行裕度试验、安全性试验、回收试验和边界试验。   

  

  图1显示了传统的功能模拟测试平台模型。传统的功能仿真测试平台由三部分组成:激励模块、被测设计和接收模块。其特点是结构简单,功能单一,没有统一的架构和标准,大多是基于特定的模型任务开发的。这种“定制化”的测试平台有很多缺点,如通用性和可移植性差、可读性差、管理不好等。针对上述问题,提出了一种基于System Verilog语言的星载固态存储控制器通用仿真测试平台架构。其内部设计采用分层模型,内部接口和总线采用ARM提出的高级外设总线(APB)标准。   

  

  1 标准化通用测试平台设计   

  

  1.1 测试平台概述   

  

  基于Verilog HDL和VHDL语言开发的测试平台存在复用率差、开发效率低等问题,采用面向对象的专用验证语言系统Verilog可以有效解决这些问题。系统Verilog充分吸收和借鉴了Verilog HDL、VHDL、System C和C的特点,使其能够在更高的抽象层次上测试和验证高度复杂的设计。此外,测试平台架构应采用模块化、标准化设计,使测试平台具有更好的通用性,并采用分层结构设计,有效增强测试平台的灵活性和稳定性。清晰的层次化设计可以有效地定义层与层之间的接口,层与层之间的独立性也使得每一层都可以采用自己最合适的技术,而不会影响到其他层。   

  

  1.2 层次化结构设计   

  

  星载固态存储控制器设计的标准化通用仿真测试平台包括测试级、场景级、功能级、命令级和信号级五个层次。分层结构的通用测试平台架构如图2所示。   

  

  底层是信号层,负责将待测设计连接到测试平台,完成模块信号对接。信号层的上层是命令层,驱动单元接收到来自功能层的命令信息后,将总线上的命令驱动到待测设计的输入端;接收单元负责采集待测设计的激励响应输出,并根据命令进行分组;监控单元负责监控不受命令信号约束的独立信号,它可以在整个命令周期内搜索这些信号的变化。另外,如果程序中不应该发生的事情确实发生了,监控单元会报警。因此,监测单元和接收单元的共同作用可以更全面地监测测试过程中的状态变化,从而提高测试结果的可靠性。   

  

  功能层向下面向命令层。任务调度单元从场景层接收到任务后,将任务分解成几个独立的命令。这些命令被发送到测试单元和驱动单元。检查单元负责将待测试的实际设计的激励响应与预测单元的理想响应结果进行比较。通过分析检查单元中的数据,可以判断当前任务下待测试的设计是否满足预期的设计要求。   

  

  场景层根据来自测试层的激励和约束,模拟实际任务中的各种场景。生成单元的组件根据不同的待测设计自适应地改变,但基本模块都由信号源和数据源组成。根据信号源上层的约束信息,控制数据源开始向待测设计发送数据。   

  

  测试层是整个测试平台的顶层,其中输入单元用于向测试平台发送创建激励的约束。功能覆盖可以度量测试计划中所有测试的进度。   

  

  2 星载固态存储控制器通用测试平台实现   

  

  2.1 测试平台架构设计   

  

  基于分层通用测试平台架构,结合工程模型和任务需求,搭建了一个星载固态存储控制器通用仿真测试平台,如图3所示。   

  

  通用测试平台中的所有模块接口都采用APB总线标准封装,并增加了APB总线接口模块,用于与平台中的各个模块进行通信,以及测试平台与待测设计之间的通信。另外增加了参数配置模块,可以配置产生单元中的数据源和激励源,驱动单元中的时钟和复位模块。测试平台嵌入了参数可配置的Flash模块、SDRAM模块和MRAM模块。参数配置模块可用于配置闪存模块。其中,Flash模型采用分层结构设计,底层由8gb的基本单元组成,支持主存储区和备用区的读写,读写擦除等时间参数的设置等等。   

初始坏块设置,以该基本单元为基础进行级联扩展,可实现不同存储容量、存储速率以及叠装构型的Flash器件的阵列模拟。

  

测试平台的各项参数配置需在测试开始前完成,即测试前向参数配置模块输入配置参数,完成对Flash阵列模型及其他模块的配置。对待测设计进行测试时,由测试输入模块向测试平台注入约束条件,发生单元根据收到的约束条件产生相应的激励源,激励信号经任务调度单元分别加载到检验单元和待测设计。同时数据源根据约束条件开始向任务调度单元发送数据。任务调度单元接收到待测任务信息后将待测任务信息下发到驱动单元。驱动单元生成驱动配置文件,调配各个模块向待测设计输入数据及相应的时钟复位信号。待测设计在接收到激励输入和数据后产生激励响应,接收单元对激励响应进行分类,随后将其送入到检验单元中的比较器。检验单元收到的激励输入被加载到参考模型中产生理想激励,随后比较器将理想激励与实际激励响应进行比较。通过对检验单元输出结果的分析就可以判断在当前约束条件下待测设计是否符合预期设计目标。功能覆盖率模块收集整个测试过程中的信息作为评价测试的充分性证据。

  

2.2 工程组织架构

  

通用仿真测试平台运行在仿真工具QuestaSim10.4c上,使用System Verilog语言开发。测试平台采用层次化组织架构,工程组织架构见图4。

  

测试工程组织架构为树状结构,顶层文件名为“Top_sim”,其中包含两个主要的一级结构:约束文件(Constri_files)和参数配置文件(Para_cfg)。约束文件包含数据输入约束(Data_in)和激励输入约束(Drive_in)两个二级结构。激励输入约束下分为直接测试(Direct)和随机测试(Random)两个三级结构。直接测试可以保证测试验证过程有一定的复现性,而随机测试可以对待测设计进行更为充分的验证。参数配置文件(Para_cfg)用于对测试平台中相关模块进行配置以满足待测设计的要求。测试平台的执行脚本文件是采用TCL语言编写的扩展名为.do的文件,用于在测试时对工程文件进行自动组织与控制。

  

3 实验与应用

  

基于上述设计所开发的通用仿真测试平台已成功应用于XX-09型号卫星和XX-5A型号卫星数传FPGA的仿真测试。根据开发方提供的源程序以及《XX型号卫星数传FPGA需求规格说明》开展测试,测试流程图见图5。

  

首先运用代码检查工具对RTL级代码进行编码规则检查和代码审查,随后使用测试平台分别对待测设计进行功能仿真测试、对逻辑综合后网表文件开展门级仿真测试以及对布局布线后网表文件开展时序仿真测试。最后,使用静态时序分析工具和逻辑等效性检查工具对待测设计进行静态时序分析和逻辑等效性检查。其中,功能仿真测试和门级仿真测试均在本文的通用仿真测试平台上完成。

  

以XX-09型号卫星为例,存储单元为两个64 Gbit NAND Flash叠装芯片并联构成的128 Gbit NAND Flash存储阵列,每个64 Gbit NAND Flash由8片8 Gbit的存储基片组成。根据XX-09型号卫星任务数传FPGA任务书与需求规格说明,对数传FPGA开展功能需求分析及接口需求分析,共整理出82个功能相关测试子项,设计了415个测试用例,覆盖了功能测试、性能测试、时序测试、接口测试、安全性测试、余量测试、恢复性测试、边界测试、等效性检查共9种测试类型。仿真测试模块覆盖率和总体覆盖率结果见图6。功能仿真中对语句覆盖率和分支覆盖率进行分析,语句覆盖率达到91.5%,分支覆盖率达到97.4%,未覆盖原因为case条件语句中default分支不可达,经确认测试后功能正常。

  

对XX-5A和XX-09型号卫星数传FPGA分别采用传统仿真测试平台与本文仿真测试平台进行仿真测试,统计覆盖率与仿真周期数,结果见表1。

  

由表1知,传统仿真测试平台与通用仿真测试平台均可完成100%功能覆盖率,但通用仿真测试平台的仿真周期数是传统仿真测试平台的48%左右,而且具有更好的语句覆盖率和分支覆盖率。综上,本文所设计的仿真测试平台覆盖率性能良好并具有一定的通用性,相较于传统仿真测试平台可以有效缩短测试时间,并可以有效提高测试覆盖率。

  

4 结论

  

为解决传统测试平台通用性和继承性差、难升级、难维护等问题,提出了一种基于层次化结构设计的仿真测试平台架构,并在此基础上结合APB总线标准开发了星载固态存储控制器的通用仿真测试平台。利用该平台对两个卫星型号任务的数传FPGA进行了仿真验证测试,结果表明测试平台可以有效支持对不同型号星载固态存储控制器的仿真测试,相比于传统测试平台优化了测试流程并提高测试效率,具有很好的工程应用价值。

  

参考文献

  

周珊,杨雅雯,王金波.航天高可靠FPGA测试技术研究.计算机技术与发展,2017,27(3):1-5,11.

  

高虎,封二强,赵刚.基于Testbench的FPGA实物自动化测试环境设计.电子技术应用,2018,44(4):48-51.

  

FIERGOLSKI A.Simulation environment based on the universal verification methodology.Journal of Instrumentation,2017,12(1):C01001.

  

杨志勇,董振兴,朱岩,等.星载高速大容量存储器文件化坏块管理设计.电子技术应用,2017,43(6):11-14.

  

BIRLA S,SHARMA S,SHUKLA N K.UVM-powered hardware/software co-verification.Journal of Information and Optimization Sciences,2017,38(6):945-952.

  

林天静,阮翔,刘春.基于Flash控制器的FPGA在线加载功能设计.电子技术应用,2019,45(1):88-91.

  

陈琳娜,孟建熠,林志涛.面向串行总线的层次化UVM验证平台设计.传感器与微系统,2018,37(9):84-86,89.

  

作者信息:

  

张伟东1,2,3,董振兴1,2,朱 岩1,2,安军社1,2

  

(1.中国科学院 复杂航天系统电子信息技术国防科技创新重点实验室,北京100190;

  

2.中国科学院 国家空间科学中心,北京 100190;3.中国科学院大学,北京100190)

其他文章

  • 吴世勋生日是什么时候 吴世勋生日粉丝为其做公益
  • 何鸿燊为何不立遗嘱 他的家产分配完成了吗
  • 网上贷款平台有哪些 这几个安全可靠
  • 房产证写名字新政策 写谁的名字都不影响婚后房子分配
  • 网贷催收一般坚持多久 不同平台催收时间不同
  • 网贷平台倒闭了是不是不用还款 大家请看分析
  • 闲鱼二手手机靠谱吗 消费者需从这几方面分辨
  • 窦靖童死亡风纹身的意义 窦靖童周冬雨两人什么关系
  • 马云预测2020年房价 马云说房价不值钱还会再跌
  • 张天爱抢资源金晨开撕 角色被抢此事当真?
  • 华宝多策略增长混合A(240005)(华宝成长策略混合基金净值)
  • 余额宝收益图,余额宝收益图怎么看
  • sT新乡化纤股吧(新乡化纤股吧最新消息)
  • 红杉资本中国基金总部
  • 四川600806股吧(600806昆明机床股吧)
  • 腾讯模拟炒股大赛真的吗(腾讯模拟炒股大赛官网)
  • 国中水务吧600187股吧
  • 600870厦华科技股吧(厦华股票600870)
  • 长城富国基金有哪些?
  • 东方精选混合(400003)(东方精选混合(400003)基金净值)