一种基于SoPC的FPGA在线测试方法
可编程逻辑器件供应商Altera公司针对FPGA的开发推出了6种系统在线测试方法:SignalTapⅡ、SignalProbe、Logic Analyzer Inter-face、In-System Sources and Probes、In-System Memory Content Editor以及Virtual JTAG。上述各种在线测试方法中,只有最后两种方法允许PC和FPGA进行基于文件的数据交互。而In-System Memory Content Editor只允许用户手动更新FPGA片上RAM的内容,不利于测试数据的大规模自动采集和传输。Virtual JTAG虽然可以实现测试数据采集和传输的自动控制,但是需要利用TCL接口函数编写代码,而且要求用户对JTAG有深入的了解,增大了开发难度。本文提出了一种基于SoPC的FPGA在线测试方法,是对现有FPGA在线测试方法的一种有效的补充。
1 在线测试数据操作流程
基于SoPC的FPGA在线测试方法的数据操作流程如图1所示。如果用户需要采集FPGA的测试数据并且上传至PC机,则用户首先要将被测试数据写入DMA读从外设,然后系统自动启动DMA控制器,将数据送入Nios II的数据存储器。再由JTAG UART控制器经JTAG接口上传至Nios II IDE(NiosⅡIntegrated Development Environment,Nios II开发环境),Nios II IDE将接收到的数据写入测量数据存储文件,从而完成了FPGA测试数据的上传。如果用户需要将PC机中的激励数据文件下载至FPGA,则系统首先在Nios II IDE中通过Host-Based File System读出激励文件数据,然后由JTAG接口经JTAG UART控制器下载至Nios II处理器的数据存储器,Nios II发起DMA写传输把数据从数据存储器搬运至DMA写从外设并写入FPGA片上FIFO,从而完成了激励数据的下载。
2 SoPC平台架构
SoPC系统部件组成见图2,系统包括Nios II处理器、On-Chip RAM、JTAG UART、EPCS控制器,SYSID、定时器、DMA读控制器dma_0、DMA写控制器dam_1,以及自定义DMA读从外设fifo_control与自定义DMA写从外设ext_rdfifo_controller。NiosⅡ的复位地址为EPCS控制器,异常地址为On_ChipRAM。DMA读控制器的读主端口连接至自定义DMA读从外设,写主端口连接至On-Chip RAM,DMA写控制器的读主端口连接至On-Chip RAM,写主端口连接至自定义DMA写从外设。系统的JTAG UART主要实现JTAG接口的控制,使FPGA能够通过JTAG接口与PC机进行通信。
3 DMA读、写从外设的设计
测试数据在DMA控制器读数据之前是存储在片上FIFO的,而激励数据是通过DMA控制器写入片上FIFO的。然而DMA控制器数据读、写主端口采用的是Avalon存储器映射接口(Avalon Memory Mapped Interface,Avalon-MM接口),不能直接对FIFO进行操作,Altera公司也没有提供相应的控制器核,需要用户自己开发DMA读从外设用于控制FIFO把测试数据传送给DMA控制器,以及DMA写从外设用于控制FIFO接收DMA控制器的激励数据。本文开发的DMA读从外设模块结构框图如图3所示。
相关文章
- 2023-09-27配料秤原理及准确度的探讨
- 2024-01-20关于关键比对参考值(KCRV)的解释
- 2023-11-237050铝合金零件淬火过程中温度场及热应力场的模拟研究
- 2023-06-18ZEPHYR数字微压计在流量测量中的应用
- 2024-03-04基于CPLD的自定义PLC模拟I/O模块的研究
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。