CN201212997Y - 一种快速、大容量的fpga联机测试装置 - Google Patents

一种快速、大容量的fpga联机测试装置 Download PDF

Info

Publication number
CN201212997Y
CN201212997Y CNU2008200681949U CN200820068194U CN201212997Y CN 201212997 Y CN201212997 Y CN 201212997Y CN U2008200681949 U CNU2008200681949 U CN U2008200681949U CN 200820068194 U CN200820068194 U CN 200820068194U CN 201212997 Y CN201212997 Y CN 201212997Y
Authority
CN
China
Prior art keywords
fpga
data
test
fifo
sdram
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
CNU2008200681949U
Other languages
English (en)
Inventor
方湘艳
刘炜
韩威
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
709th Research Institute of CSIC
Original Assignee
709th Research Institute of CSIC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 709th Research Institute of CSIC filed Critical 709th Research Institute of CSIC
Priority to CNU2008200681949U priority Critical patent/CN201212997Y/zh
Application granted granted Critical
Publication of CN201212997Y publication Critical patent/CN201212997Y/zh
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Abstract

一种快速、大容量的FPGA联机测试装置,包括:盒体(1),盒体(1)内的电路板上装有PCI接口、两款Xilinx公司的Spartan-3系列FPGA芯片和两款FIFO芯片,板上还有SDRAM、RS-232串口、8个七段数码显示管、8个拨码开关、8个LED显示、8个按钮以及扩展测试接口资源;由于FPGA的管脚有限,8个七段数码显示管、8个拨码开关和SDRAM的16位数据线通过16位的切换开关分时共用。优点是:用独立的FIFO芯片存储数据,可以选择较大的容量,性能更高;通过PCI接口传输数据,速度比串口或并口都要高得多。

Description

一种快速、大容量的FPGA联机测试装置
技术领域
本实用新型涉及联机测试技术领域,具体的说是一种快速、大容量的FPGA联机测试装置。
背景技术
随着FPGA设计规模的增大,基于测试向量仿真的传统验证方法其复杂度也呈指数上升,建立一种全面而有效的验证方法是非常迫切的。目前的FPGA验证通常是针对具体应用设计一块开发板,然后利用按键控制提供输入信号,用LED显示测试结果。这样的验证方法具有很大的局限性和不可靠性。如果采用逻辑分析仪,则在设计时就要求FPGA和PCB设计人员保留一定数量的FPGA管脚作为测试管脚,然后用逻辑分析仪的探头连接到这些测试脚,设定触发条件,进行观测。这个过程比较复杂,灵活性差,仪器的连线也比较麻烦。此外,逻辑分析仪造价高昂,每个单位不可能大量采购,在研发高峰期间如果协调不过来就会影响进度。鉴于此,Xilinx公司推出了一款ChipScope Pro(在线逻辑分析仪)软件,可以利用FPGA内部未使用的的BlockRAM,根据用户设定的触发条件将信号实时地保存到这些BlockRAM中,然后通过JTAG口传送的计算机,最后在计算机屏幕上显示出时序波形。但是FPGA内部的BlockRAM资源有限,观测信号的数量和存储深度都受其影响,而且JTAG口与PC机的USB口或并口相连,传输速度有限。
实用新型内容
本实用新型的目的是设计一种不再需要借助逻辑分析仪、真正实现了通过PC机可以实现FPGA的整个开发、验证流程的一种快速、大容量的FPGA联机测试装置。
本实用新型一种快速、大容量的FPGA联机测试装置,包括:盒体1,盒体1内的电路板上装有PCI接口、两款Xilinx公司的Spartan-3系列FPGA芯片和两款FIFO芯片实现了FPGA的联机测试验证功能;其中FPGA1实现PCI控制器功能和数据处理功能,FIFO芯片完成数据的缓存,被测试的逻辑电路下载到FPGA2中;另外,板上还设计有SDRAM、RS-232串口、8个七段数码显示管、8个拨码开关、8个LED显示、8个按钮以及扩展测试接口资源;由于FPGA的管脚有限,8个七段数码显示管、8个拨码开关和SDRAM的16位数据线通过16位的切换开关分时共用;扩展测试接口具有双重功能,一方面可以作为扩展接口,具有40位的扩展接口功能,还有时钟和电源接口与子板相连;另一方面它与SDRAM的接口共用,可以作为SDRAM的测试口,通过逻辑分析仪来观测物理验证的输出波形,同时与联机测试方案中PC机的SDRAM的物理验证波形进行比较。
FPGA联机测试系统的目的是在FPGA上开发IP时,将FPGA的物理验证移到PC机上实现,不再需要借助逻辑分析仪。这样真正实现了通过PC机可以实现FPGA的整个开发、验证流程。其原理包括三个功能模块:
1.仿真、验证环境模块
该模块提供测试激励数据,仿真波形的存储、显示、分析;因此,必须包括一个使用简单而功能完备的人机交换界面,完成测试参数的输入,激励数据的处理,测试结果的获取以及与第三方仿真工具软件的连接等;测试结果直接利用仿真工具软件进行波形分析、比较、存储;该模块的工具软件运行在工作PC机上。
2.PCI控制器模块
该模块的功能是完成测试数据的传输;主要有两种类型的操作:IO读写操作和存储器读写操作;IO读写操作的功能是写入测试配置参数和读取测试过程中的状态寄存器,通过状态寄存器了解测试过程的中间状态,并根据当前状态发送下一步操作命令;存储器写操作完成测试激励数据的写入,存储器读操作完成测试结果的读取。
3.数据的处理控制模块
由于FPGA的速率大于PCI的速率,测试的输入激励数据和输出结果在PCI传输前必须先缓存;因此,该模块的功能主要完成激励数据和测试输出数据的缓存,激励数据波形的还原,测试激励与被测IP接口的对应,测试输出波形到数据的转换;
软件平台主要完成测试激励数据生成和了波形显示的方法;用Verilog HDL语言描述仿真激励,可以构建出任意变化的波形,在激励文件中引入一个采样时钟,运行一定的采样时间,就能够记录一组激励数据,而且可以保存在文本文件中;软件平台通过PCI接口的写入函数可以把激励数据传送到开发板的输入FIFO中,然后触发测试流程,得到测试结果,保存在开发板的输出FIFO中;软件平台通过PCI接口的读取函数从输出FIFO中接收数据,保存在PC主机的硬盘上,然后调用Mentor Graphics公司的Modelsim将数据还原成相应的仿真波形,并行进行结果分析和比较。
因此,整个测试系统的工作流程如下:
(1)激励数据从PC主机通过PCI接口传送到FPGA1;
(2)在FPGA1里将PCI接口接收的数据保存在输入FIFO中;
(3)触发测试过程,将输入FIFO中的数据转换为激励信号,送入FPGA2驱动被测试电路;
(4)将被测试电路的输出即FPGA2输出数据保存在输出FIFO中;
(5)最后PC机通过PCI接口读取输出FIFO的数据,保存在硬盘上。
作为缓存激励数据的FIFO容量总是有限,当测试激励的数据量超出了FIFO的容量时,必须采用分页机制来传输;每页的大小等于FIFO的容量;具体操作过程如图3:
1)当PCI传送的激励数据大小等于FIFO容量时,发一次I/O读操作,告诉硬件平台已经发送完一页测试激励;同时PCI进行存储器读扫描操作;
2)硬件平台在收到I/O读操作后,就启动电路测试功能,并将被测电路的输出数据保存在输出FIFO中,当测试完成后,硬件平台对状态标志寄存器写测试结束标志信号;
3)PCI在读到标志信号后,启动存储器读操作读出输出FIFO中的数据,并将其保存在一个数据文件中;
4)软件平台在读完输出FIFO数据后,开始第二页激励的数据传输。
反复进行1)、2)和3)操作,每次读出的数据都按顺序保存在同一
数据文件中,直到所有激励测试完为止。
本实用新型一种快速、大容量的FPGA联机测试装置的优点是:用独立的FIFO芯片存储数据,可以选择较大的容量,性能更高;通过PCI接口传输数据,速度比串口或并口都要高的多;提供32根采样信号,在FPGA设计中只需要把相应的引脚映射在这些管脚上就可以观测,非常灵活;此外,仿真波形调用Mentor Graphics公司的Modelsim工具软件显示,直观高效;PC主机应用软件进行一些功能开发,易于操作。
附图说明
图1为FPGA联机测试装置的原理图。
图2为FPGA联机测试装置的结构示意图。
图3为大数据量测试传输流程图。
图4为FPGA联机测试装置的外形图。
具体实施方式:
一、测试板设计
根据工程大小,选择合适的FPGA芯片,一般选择当前主流芯片。
图4、图5的电路原理图,对于实现待测模块的第二款FPGA即FPGA2,在其周边还设计有基本的测试电路,如按钮、开关、LED显示、数码管显示、SDRAM、扩展接口等;其主要部件为32位PCI接口,FPGA1,FPGA2,输入FIFO,输出FIFO;FPGA1内部嵌入PCI局部总线控制器,其中32根I/O引脚与32位PCI接口的数据线相连;FPGA1中另有32根I/O引脚与输入FIFO的数据输入引脚相连;FPGA2中有32根I/O引脚与输入FIFO的数据输出引脚相连;FPGA2中另有32根I/O引脚与输出FIFO的数据输入引脚相连;输出FIFO的32位输出数据线与FPGA1的另外32根I/O引脚相连;由此形成一个完整的数据流。
开发板使用100MHz基准时钟,单片FIFO存储空间具有32位宽度,32K位深度,工作电压3.3V(±10%);控制逻辑模块综合后装载于FPGA1中。
开发板安装在PC主机的PCI插槽上,利用WinDriver软件辅助开发PCI局部总线控制器的驱动程序;针对PCI接口的操作,主要用到4个函数,即32位存储器读,32位存储器写,I/O空间读,I/O空间写;通过32位存储器写函数把激励数据传送到开发板的输入FIFO,通过32位存储器读函数把输出FIFO中的测试结果数据读取出来,保存在硬盘上;而I/O函数主要用来控制开发板上测试流程的开启。
二、PC主机端应用软件的开发
软件测试平台开发涉及到的功能并不复杂,以文件操作为主,因此采用Microsoft Visual Basic 6.0开发环境足以实现全部功能,而且开发周期短,界面美观,图5为软件测试平台界面图。
(1)在Verilog HDL测试激励文件中添加代码提取激励数据;
以用户测试激励文件为蓝本(假设文件名为top_tb.v),构建一个新的文件(添加后缀_user用以区别,则文件名为top_tb_user.v),在里面添加代码,主要实现两个功能,一个是控制“激励采样数据保存文件”的开启和关闭,一个是控制数据采样。
通常的新文件的结构如下:
//定义时间精度
`timescale 1ns/100ps
……
//激励模块的名称
module top_tb;
……
一个文件号
integer Mon_Out_File;
……
//创建文本文件
initial
begin
     Mon_Out_File=$fopen(″激励采样数据文件″);
end
……
    #总体采样时间$fclose(Mon_Out_File);
    #10 $stop;
……
//将激励信号流以16进制方式保存在文件中
always #20 $fdisplay(Mon_Out_File,″%H″,{激励信号1,2,…});
……
(2)人性化设计;
用户选取的采样信号,一定是在激励文件内部有声明的,应用软件应实现预先提取,罗列出来供用户选择的功能,这样就可以免除用户手工输入的麻烦;通过Verilog语法中信号名声明的关键字判断,很容易实现信号名的提取;这是软件的优势体现,逻辑分析仪中硬件采集时无法做到,只能靠手工输入。
从细节上扩展一下,用户提取出来的信号名序列,可以在后台以临时文件的方式保存在硬盘上,这样,用户选择信号名序列时,也可以从文件里面调用;同时,信号名添加、删除、顺序调整,在Microsoft VB6.0开发环境里面很容易实现。
(3)利用测试结果数据构建Verilog HDL文件,用于波形显示;
应用软件通过驱动函数从评估板PCI总线读取数据,以16进制格式保存在文件中;现在采样时间间隔已知,采样数据已知,对应信号名已知,即可通过应用软件构建一个Verilog HDL描述的仿真文件。
关键部分结构如下:
initial
begin
#20      {data[4:0],rst,en,clk,we,addre[7:0],datain[7:0]} =25’h00000bb;
#20       {data[4:0],rst,en,clk,we,addre[7:0],datain[7:0]}=25’h00000bb;
#20       {data[4:0],rst,en,clk,we,addre[7:0],datain[7:0]}=25’h00200bb;
……
#20       {data[4:0],rst,en,clk,we,addre[7:0],datain[7:0]}=25’h19ea524;
#20       {data[4:0],rst,en,clk,we,addre[7:0],datain[7:0]}=25’h19ea524;
#20 $stop;
end
(4)调用Mentor Graphics公司的Modelsim软件显示波形。
Mi crosoft VB6.0开发环境提供一个OpenProc函数调用外部可执行程序,只要以命令行的方式提供可执行文件的路径、文件名以及执行参数即可;我们使用Menter Graphics公司的ModelSim仿真软件,并且引入ModelSim特定的委托执行文件(top_test.do),可以直接启动仿真运行并展示仿真波形窗口。
Do文件内容如下:
## NOTE:Do not edit this file.
##
vlib work
vlog-reportprogress 300-work work result.v
vsim-t 100ps -lib work top_test
view wave
add wave*
view structure
view signals
run-all。

Claims (1)

1、一种快速、大容量的FPGA联机测试装置,包括:盒体(1),其特征在于:盒体(1)内的电路板上装有PCI接口、两款Xilinx公司的Spartan-3系列FPGA芯片和两款FIFO芯片,板上还有SDRAM、RS-232串口、8个七段数码显示管、8个拨码开关、8个LED显示、8个按钮以及扩展测试接口资源;由于FPGA的管脚有限,8个七段数码显示管、8个拨码开关和SDRAM的16位数据线通过16位的切换开关分时共用。
CNU2008200681949U 2008-06-30 2008-06-30 一种快速、大容量的fpga联机测试装置 Expired - Lifetime CN201212997Y (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNU2008200681949U CN201212997Y (zh) 2008-06-30 2008-06-30 一种快速、大容量的fpga联机测试装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNU2008200681949U CN201212997Y (zh) 2008-06-30 2008-06-30 一种快速、大容量的fpga联机测试装置

Publications (1)

Publication Number Publication Date
CN201212997Y true CN201212997Y (zh) 2009-03-25

Family

ID=40497174

Family Applications (1)

Application Number Title Priority Date Filing Date
CNU2008200681949U Expired - Lifetime CN201212997Y (zh) 2008-06-30 2008-06-30 一种快速、大容量的fpga联机测试装置

Country Status (1)

Country Link
CN (1) CN201212997Y (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103217618A (zh) * 2013-04-16 2013-07-24 青岛中星微电子有限公司 一种测试fpga开发板的装置和方法
CN103425810A (zh) * 2012-05-24 2013-12-04 中兴通讯股份有限公司 一种时钟与数据恢复电路和模拟电路的行为级建模方法
CN104515947A (zh) * 2014-12-12 2015-04-15 中国电子科技集团公司第五十八研究所 可编程逻辑器件在系统编程的快速配置与测试方法
CN104866640A (zh) * 2014-02-26 2015-08-26 龙羽 一种全fifo电路设计方法及其通用验证平台
CN105044407A (zh) * 2015-06-30 2015-11-11 株洲南车时代电气股份有限公司 一种任意仿真波形的生成方法及装置
CN106126854A (zh) * 2016-07-01 2016-11-16 合肥海本蓝科技有限公司 一种软硬件协同仿真交易器和仿真系统

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103425810A (zh) * 2012-05-24 2013-12-04 中兴通讯股份有限公司 一种时钟与数据恢复电路和模拟电路的行为级建模方法
CN103217618A (zh) * 2013-04-16 2013-07-24 青岛中星微电子有限公司 一种测试fpga开发板的装置和方法
CN103217618B (zh) * 2013-04-16 2015-09-09 青岛中星微电子有限公司 一种测试fpga开发板的装置和方法
CN104866640A (zh) * 2014-02-26 2015-08-26 龙羽 一种全fifo电路设计方法及其通用验证平台
CN104515947A (zh) * 2014-12-12 2015-04-15 中国电子科技集团公司第五十八研究所 可编程逻辑器件在系统编程的快速配置与测试方法
CN105044407A (zh) * 2015-06-30 2015-11-11 株洲南车时代电气股份有限公司 一种任意仿真波形的生成方法及装置
CN106126854A (zh) * 2016-07-01 2016-11-16 合肥海本蓝科技有限公司 一种软硬件协同仿真交易器和仿真系统
CN106126854B (zh) * 2016-07-01 2019-06-25 合肥海本蓝科技有限公司 一种软硬件协同仿真交易器和仿真系统

Similar Documents

Publication Publication Date Title
EP2145273B1 (en) Computation of phase relationship by clock sampling
CN201212997Y (zh) 一种快速、大容量的fpga联机测试装置
US8607174B2 (en) Verification module apparatus to serve as a prototype for functionally debugging an electronic design that exceeds the capacity of a single FPGA
US7908574B2 (en) Techniques for use with automated circuit design and simulations
US7984400B2 (en) Techniques for use with automated circuit design and simulations
US8756557B2 (en) Techniques for use with automated circuit design and simulations
US9032344B2 (en) Verification module apparatus for debugging software and timing of an embedded processor design that exceeds the capacity of a single FPGA
US8812286B1 (en) Emulation of power shutoff behavior for integrated circuits
WO2019167081A1 (en) System and method for emulation and simulation of rtl (design under test) using fpga
CN115719047B (zh) 基于波形gpu联合仿真系统
CN115686655B (zh) 用于gpu ip验证的联合仿真系统
KR20040063846A (ko) 다양한 검증 플랫폼들의 통합 사용을 지원하는 검증 장치및 이를 이용한 검증 방법
CN115618800A (zh) 基于dpi的gpu联合仿真系统
CN115758963A (zh) 芯片eda仿真中打印信息的处理装置、方法及系统
Tomas et al. SoC Scan-Chain verification utilizing FPGA-based emulation platform and SCE-MI interface
Chen et al. Design and implementation of a single-chip ARM-based USB interface JTAG emulator
Tomas et al. Co-Emulation of Scan-Chain Based Designs Utilizing SCE-MI Infrastructure
Kang et al. A deep research on the chip verification platform based on network
MITTAL BUS CONTROLLED AMBA 2.0 AHB2APB BRIDGE FOR SOC APPLICATION
Hu Reconfigurable technology in the application of virtual instrument
Zhang et al. Design and research of virtual instrument development board
JP2009009325A (ja) Icエミュレーション装置およびicエミュレーション方法
Babukhadia General Purpose VHDL TestBench
Kao et al. Configurable AMBA on-chip real-time signal tracer
Sundaramurthy et al. Configuration strategies for reconfigurable virtual instruments using FPGA

Legal Events

Date Code Title Description
C14 Grant of patent or utility model
GR01 Patent grant
EE01 Entry into force of recordation of patent licensing contract

Assignee: China Shipbuilding Heavy Industries (Wuhan) Long Ling Electronics Co., Ltd.

Assignor: No. 709 Research Institute of China Shipbuilding Industry Corporation

Contract record no.: 2011420000068

Denomination of utility model: Quick, large capacity FPGA on-line test device

Granted publication date: 20090325

License type: Exclusive License

Record date: 20110510

CX01 Expiry of patent term
CX01 Expiry of patent term

Granted publication date: 20090325