开篇:润墨网以专业的文秘视角,为您筛选了一篇一种星载NAND FLASH板级功能快速验证设计范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!
摘 要: 传统板级硬件功能验证方法使用示波器或逻辑分析仪对引出管脚进行测试,灵活性差,不适用于星载大容量NAND FLASH存储阵列。提出一种通过FPGA控制nand flash复位和读ID操作,并自动遍历所有存储芯片的方法,配合ChipScope Pro工具在线仿真,实现星载NAND FLASH板级功能快速验证。实验结果表明,该方法简单有效,并可根据仿真验证结果快速做出板级功能有效性判断。
关键词: NAND FLASH; 星载存储器; 硬件功能验证; ChipScope; 并行扩展
中图分类号: TN911?34; TP319 文献标识码: A 文章编号: 1004?373X(2016)14?0032?03
Design of board?level function fast verification for satellite?bone NAND FLASH
DONG Zhenxing1,2,3, ZHU Yan1,2,3
(1. Key Laboratory of Electronics and Information Technology for Space Systems, Chinese Academy of Sciences, Beijing 100190, China;
2. National Space Sciences Center, Chinese Academy of Sciences, Beijing 100190, China; 3. University of Chinese Academy of Sciences, Beijing 100190, China)
Abstract: The traditional board?level hardware functional verification method uses the oscilloscope or logic analyzer to test the outlet pins, which has poor flexibility, and is unsuitable for the high?capacity satellite?bone NAND FLASH storage array. A method to control the NAND FLASH reset, read ID operation through FPGA and traverse all storage chips automatically is proposed in this paper. In combination with the ChipScope Pro tool, the online simulation is used to fast verify the satellite?bone NAND FLASH board?level function. The experimental results show that the method is simple and effective, and can quickly judge the board?level function effectiveness according to the simulation results.
Keywords: NAND FLASH; satellite?bone memory; hardware functional verification; ChipScope; parallel extension
0 引 言
由于我国国土面积有限,又不可能在境外大量设置地面接收站,所以对接收范围以外的卫星数据只能存储在星载存储器内,在卫星入境时下行回放[1?2]。在工程应用中,星载大容量存储器一般研制流程为:
(1) 根据航天型号任务及技术要求确定星载大容量存储器方案和技术指标;
(2) 存储器件选型,设计硬件存储板;
(3) 存储器FPGA存储控制功能设计;
(4) 器件电装,板级硬件功能验证;
(5) FPGA存储控制功能上板验证调试[3]。
如何对大容量存储器进行NAND FLASH板级硬件功能验证是存储板电装完成后面临的首要问题,高效快速的板级功能验证可有效减少存储器研制周期,为后续FPGA存储控制功能调试提供硬件可靠性保障。
常用的板级硬件功能验证方法有基于FPGA的传统管脚引出观察和片内逻辑分析仪ChipScope Pro两种[3]。传统的信号分析手段需要在设计时保留一定的FPGA管脚作为测试管脚,再用示波器或者逻辑分析仪进行波形观察分析[4],灵活性差,特别是基于NAND FLASH芯片的大容量存储器,芯片间互联信号多,控制复杂,使得传统验证方法更加繁琐复杂[5];片内逻辑分析仪能够通过JTAG实时地读出FPGA内部所有的信号,而只需要少量的BlockRAM和逻辑资源,逻辑分析灵活方便,大大降低了板级功能验证的时间和资源成本,成为大容量存储器板级功能验证的首选方法。由于大容量存储器FLASH叠装芯片多,若对每个叠装芯片单独进行测试验证,需频繁更改FPGA代码、重新综合及布局布线,效率低下,因此需设计一种高效的方法自动对大容量存储器进行硬件功能测试验证。
1 星载大容量存储相关技术
文中星载大容量存储器选用3D?PLUS公司的64 Gb NAND FLASH叠装模块作为存储介质,器件型号为3DFN64G08VS,以航天实际应用的星载FLASH存储512 Gb容量方案为例进行分析讨论。
1.1 NAND FLASH器件结构
FLASH叠装模块内部结构如图1所示,同一叠装模块内8片8 Gb的K9K8G08U0M 基本芯片共用对外的8位宽I/O总线,各自的片选信号[CE]、命令使能信号[CLE]、地址使能信号[ALE]、读信号[RE]、写信号[WE]分别引出[6]。对芯片操作时通过片选信号选通8 Gb基本芯片,通过命令、地址使能及读/写控制信号时分复用[I/O]总线加载指令、地址及数据,从而完成FLASH读、写、擦除等操作。
1.2 总线并行扩展技术
NAND FLASH操作时序要求Write/Read Cycle Time[tWCtRC]最小值为[tMIN=25 ns],即工作最高频率为[fMAX=1tMIN=40 MHz],同一叠装模块内同时只能选通一片基本芯片。按此要求,存储器理论最高支持40 MHz×
8 b=320 Mb/s数据传输速率,不能有效满足载荷系统多信源、高速率的任务需求。根据FLASH器件结构特点,存储器方案采用4块FLASH叠装模块并行扩展技术,将4块叠装模块相同编号FLASH基本芯片的控制总线、状态总线互连,同时I/O总线扩展为32位,其中4片FLASH基本芯片的8 b总线分别对应32位总线的不同数据位段,扩展方式如图2所示。
对数据总线进行32 b并行扩展后,支持数据传输速率提高为原来方案的4倍,理论可支持达1 Gb/s的数据传输速率。同理,可进行更多位宽的总线并行扩展,如64 b,128 b扩展等,但考虑到FPGA管脚资源有限、控制逻辑复杂度等因素,存储器采用32 b扩展方案,已能有效满足目前载荷系统的要求。
2 FLASH板级硬件功能验证
存储方案采用32 b总线并行扩展技术,使用XILINX公司的XQR2V3000芯片作为数据存储控制FPGA,完成对FLASH进行读、写及擦除等任务调度并生成相关操作驱动信号。由于FLASH阵列芯片较多,使用SNJ54LVTH162245芯片增强存储控制FPGA驱动能力,同时作为片选芯片分时选通高低256 Gb FLASH存储阵列。
2.1 FPG内逻辑分析仪概述
ChipScope Pro是XILINX推出的集逻辑分析、总线分析和虚拟输入/输出为一体的虚拟分析和调试软件[7]。其工作原理为:通过在FPGA设计中插入ICON(控制核)和ILA(逻辑分析核),把需要分析的FPGA内部信号的采样点写入FPGA内部的块RAM中,计算机软件通过JTAG接口和FPGA相连,读出块RAM中的值并把信号的波形实时显示出来,从而实现逻辑分析的功能。
ChipScope Pro软件由3个工具组成:内核生成器、内核插入器及分析仪[8]。其中ChipScope Pro Core Inserter(内核插入器)可自动地为用户已经综合完成的设计中插入ICON,ILA和ILA/ATC的内核,用户只需完成相关配置即可使用[9]。使用ChipScope Pro工具要用到标准的HDL综合工具和Xilinx ISE的实现工具,设计流程如图3所示。
2.2 硬件功能验证实现
FLASH板级硬件功能验证,主要是针对FLASH叠装阵列芯片及电装质量进行测试,即验证FLASH阵列各基本芯片功能好坏及FPGA与FLASH间通路的有效性。基于存储器技术特点,设计使用ChipScope Pro Core Inserter工具对大容量存储器硬件电路板进行功能验证。FLASH芯片与存储控制FPGA的主要信息交互为[R/B],[CE],[CLE],[ALE],[WE],[RE],[I/O]等信号,参考FLASH芯片用户手册,发现对FLASH芯片进行复位和读ID操作即可完成对上述信号的测试。该方法不仅可以完成功能有效性测试,而且FPGA程序设计开发简单。复位和读ID操作时序图如图4、图5所示。
根据FLASH芯片复位与读ID操作时序图,选通4片并行扩展基本芯片,使用Xilinx ISE软件编写FPGA程序;然后对测试程序进行Synthesize综合,随后通过New Source建立ChipScope Definition and connection File加入ChipScope Pro Core Inserter工具,根据需要完成Core Inserter相关配置后,进行布局布线及生成.bit文件操作;最后,使用下载器将存储板FPGA与上位机通过JTAG口相连,操作ChipScope Pro Analyzer软件完成在线测试验证。实验结果如图6所示。
2.3 自动快速验证设计
按照上述方法,可有效地对4个FLASH并行扩展芯片进行功能测试,若要对所有叠装模块的所有芯片进行验证,则需要频繁修改片选信号,然后重新综合编译,效率低下。针对效率问题,设计了一种快速自动验证方法,可有效实现对所有FLASH叠装模块中所有芯片遍历测试,流程图如图7所示。
上电复位后,默认选通低256 Gb存储区,选通chip_flag为0的4片并行扩展芯片,按照芯片手册中复位及读ID操作时序进行功能测试;当前测试结束后,程序自动判断当前芯片是否为当前存储区叠装模块最后一片基本芯片,若是,则选通高256 Gb存储区,chip_flag置0,若否,则chip_flag加1,进行低256 Gb存储区下一个4片并行扩展芯片功能测试;当选通高256 Gb存储区后,重复低256 Gb存储区相应chip_flag判断及操作,最终完成对FLASH所有芯片的遍历测试,自动快速实现板级功能验证。
3 仿真验证结果
按照板级功能快速验证流程图,设计开发FPGA测试程序,使用ChipScope Pro Analyzer进行在线仿真验证,测试结果如图8所示。
在仿真结果中,chip_flag表示高/低256 Gb叠装模块及相应内部芯片编号,0~7对应低256 Gb叠装模块中8片K9K8G08U0M 基本芯片,8~15对应高256 Gb叠装模块中8片基本芯片。由rdy_bsy信号知所有叠装模块[R/B]信号有效,且FLASH与FPGA的[R/B]通路正常;观察I/O信号,发现chip_flag 为6时获得的芯片ID第5个字节对应值为‘64006464’,与理论值‘64646464’不符,而其余chip_flag对应芯片均为“64646464”,同时发现chip_flag 为6时获得的芯片ID前4个字节对应24~16位也均为0。由32位总线并行扩展方式与仿真波形结果综合分析可知,低256 Gb存储区中并行扩展23~16位对应叠装模块第7片基本芯片故障,其余芯片正常,且FLASH与FPGA间通路有效。自动快速验证方法在对4片FLASH并行扩展芯片进行复位和读ID操作测试后,不需再手动重新设置片选信号及再次综合编译,直接自动进行后续芯片测试,直至所有芯片遍历结束。自动快速验证方法大大提高了测试效率,节省了时间,并可根据仿真验证结果快速做出功能有效性判断。
4 结 语
为了实现星载NAND FALSH硬件功能有效性测试,基于大容量存储总线并行扩展技术,提出一种通过使用FPGA和ChipScope Pro工具进行板级功能快速验证的方法。相比于传统管脚引出测试方法,本方法灵活性好、开发简单、快捷有效,且具有较好的移植性和普适性。
参考文献
[1] 朱岩.基于闪存的星载高速大容量存储技术的研究[D].北京:中国科学院研究生院,2006.
[2] 都文超.星载高速大容量存储器的设计与实现[D].西安:西安电子科技大学,2012.
[3] 朱晓燕,邱庆林,荣金叶,等.一种高可靠大容量星载存储器的设计与研究[J].微电子学与计算机,2012,29(6):61?63.
[4] 万翔.ChipScope Pro在FPGA调试中的应用[J].计算机与网络,2005(21):58?59.
[5] 于梦磊.基于FPGA的通用FLASH存储器测试验证系统[D].济南:山东大学,2014.
[6] Samsung Electronics. 1 Gx 8 bit 2 Gx 8 bit NAND flash memory [R]. South Korea: Samsung Electronics, 2012.
[7] 徐文波,田耘.Xilinx FPGA开发实用教程[M].2版.北京:清华大学出版社,2012:167?171.
[8] 邓成,张亚妮,白U,等.嵌入式逻辑分析仪在FPGA设计中的应用[J].现代电子技术,2006,29(2):76?77.
[9] 杨贤军.基于ChipScope的EDA实验平台的设计[J].通信技术,2012(10):101?102.