虚拟FPGA逻辑测试验证平台的设计_第1页
虚拟FPGA逻辑测试验证平台的设计_第2页
虚拟FPGA逻辑测试验证平台的设计_第3页
虚拟FPGA逻辑测试验证平台的设计_第4页
虚拟FPGA逻辑测试验证平台的设计_第5页
已阅读5页,还剩56页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、电子科技大学硕士学位论文虚拟FPGA逻辑测试验证平台的设计 姓名:王军申请学位级别:硕士专业:测试计量技术及仪器 指导教师:詹惠琴20090501摘要摘要随着FPGA器件的快速发展使用,如何准确高效地测试验证大量同型号的 FPGA芯片,在类似实际使用的环境下是否能正确执行设计规范所设定的逻辑功 能,就成为厂家需要考虑的一个重要问题。因此,研发一套FPGA逻辑测试验证 平台是十分必要的。本文以虚拟仪器技术为软件核心,针对FPGA逻辑测试验证的特性,设计了 一台虚拟FPGA逻辑测试验证平台。该仪器是由软件提供不同的测试向量信号, 在数据采集与逻辑控制等部分的硬件电路及计算机软件的共同作用下,完成F

2、PGA 中所下载数字电路的逻辑测试验证。论文首先对FPGA逻辑测试验证及虚拟仪器技术作出概述,其次介绍了课题 的研究背景和意义,然后重点论述了虚拟FPGA逻辑测试验证平台的总体设计与 实现,接着分章仔细讨论了仪器的硬件设计方案和原理以及应用软件的设计。最 后简单介绍了被测FPGA开发板和验证样例的设计,并且给出了验证样例的测试 结果与分析。在硬件组成上,一个完整的测试验证平台包括主板、被测FPGA开发板和计 算机。在应用软件的配合下,平台的硬件部分具有信号产生、数据采集、缓冲存 储、定时计数等多种功能。论文主要对平台的主板和被测FPGA开发板作了详细 设计和调试。主板包括测试向量下载存储电路、

3、响应数据采集存储电路、逻辑控 制电路、缓冲电路和EPP(增强型并口接口等部分。各控制电路均在FPGA中 实现,本文重点阐述了FPGA中时钟分频电路、触发电路、地址产生电路、存储 及控制电路、EPP接口控制电路及逻辑控制电路的设计。软件是虚拟FPGA逻辑测试验证平台的重要组成部分。所采用的软件编程环 境是NI公司的Labwindows/CVI和LabVIEW。在软件的设计部分,采用模块化的 编程方法,详细阐述了编程思路和实现方式,给出了设计流程图。在硬件的配合 下,所设计的应用软件能够实现向量的新建、编辑、保存、下载、加载以及被测 电路板响应数据地读取,并将其与预期响应数据的对比验证、保存打印等

4、功能。 最后论文对主要工作进行总结,并指出了平台的硬软件设计需要进一步完善 和发展的方面。关键词:虚拟仪器,FPGA,逻辑测试验证,测试向量,LabVIEWTABSTRACTAB STRACTWith therapid development and use of the FPGA chip,it isan important problem to be considered what to fleetly and exactly verify logic connection of the plentiful homotypic FPGA chips.Therefore,the develo

5、pment of the FPGA Logic Test Verification Platform is necessary.This paper mainly discusses the design and realization of a virtual FPGA Logic Test Verification Platform based on the technology of EPP interface and virtual instrument,considered the characteristic of FPGA logic test verification.This

6、 paper first summarizes the technology of virtual instrument and introduces the principle of FPGA logic test verification,and secondly introduces the research background and significance of the topic,and then focuses on the collectivity design and implementation of virtual FPGA Logic Test Verificati

7、on Platform.The following Chapters detailedly discuss the theory and design scheme of the hardware of the instrument,and the functional software design.Finally,the thesis simplely intuoduces the design of the exploitable board of based on FPGA chip and the design of verification examples,and present

8、 testing and analyzing result of verification examples.The hardware circuit board is designed and discussed in detail,which consist of the part of test vector generator,datasampling and the logic control unit,storage apparatus, EPP interface,etc.These parts constitute the board,which is provided wit

9、ll the multi-function of data sampling,vector generating,data memory,timing and counting, data traffic,etc.All control circuits of the instrument are integrated in FPGA.Software is an important component of virtual FPGA Logic Test Verification Platform.Software programming environment is Labwindows/

10、CVI and LabVIEW of NI Company,谢廿1graphical user interface.In software design,the paper uses modular programming and discusses the programming ideas and a detailed explanation of the way,and offers the design flow chart.In the end of the thesis,a summary is presented and some suggestions are forward

11、to improve the instrument.Keywords:virtual instrument,FPGA,logic test verification,test vector,LabVlEW II独创性声明本人声明所呈交的学位论文是本人在导师指导下进行的研究工作 及取得的研究成果。据我所知,除了文中特别加以标注和致谢的地方 外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含为 获得电子科技大学或其它教育机构的学位或证书而使用过的材料。与 我一同工作的同志对本研究所做的任何贡献均己在论文中作了明确的 说明并表示谢意躲一丛.t:碑嗍沙c1年j月己日 关于论文使用授权的说明本学

12、位论文作者完全了解电子科技大学有关保留、使用学位论文 的规定,有权保留并向国家有关部门或机构送交论文的复印件和磁盘, 允许论文被查阅和借阅。本人授权电子科技大学可以将学位论文的全 部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描 等复制手段保存、汇编学位论文。褓芝喜-孑器嚣守篓名:镌嚏弩 签名:囊砚新签名:像筋侈”,71日期:沙(7年r月第一章引言第一章 引言1.1FPGA逻辑测试验证概述FPGA是现场可编程门阵歹U(Field Pro伊ammable Gate Array的简称,起源于美 国的Xilinx公司,该公司于1985年推出了世界上第一块FPGA芯片。在这二十年 的发展过

13、程中,FPGA的硬件体系结构和软件开发工具都在不断的完善,日趋成熟。 从最初的1200个可用门,90年代时几十万个可用门,发展到目前数百万门至上千 万门的单片FPGA芯片,Xilinx、Altem等世界项级厂商已经将FPGA器件的集成 度提高到一个新的水平。FPGA结合了微电子技术、电路技术和EDA技术,它允 许电路设计者利用基于计算机的开发平台,经过设计输入、仿真、测试和校验, 达到预期的结果。使用FPGA器件不但可以大大缩短系统的研制周期,减少资金 投入,更为可贵的是,采用FPGA器件可以将原来的电路板级产品集成为芯片级 产品,从而实现了产品的小型化,降低了功耗,提高了可靠性,同时还可以很

14、方 便地对设计进行在线修改ll】。FPGA逻辑测试验证是检查被测芯片在类似实际使用的环境下是否能实现其 预期逻辑功能,即给被测FPGA芯片输入测试向量,从而验证芯片是否正确执行 设计规范所设定的逻辑功能,以判定下载程序后的芯片能否正常工作。当捕获到 的输出响应与期望值不吻合时,就表明芯片在逻辑测试验证上失效了。FPGA逻辑 测试验证的主要目的是,判断已下载设计电路的FPGA是否能实现其预期的逻辑 功能。这与设计过程中的验证是不同的。设计验证的目的在于证明芯片中电路设 计的正确性。设计者通过验证过程证明芯片设计与设计要求是一致的,也就是芯 片的模型与设计构想是一致的【2卅。而厂家通过FPGA逻辑

15、测试验证过程来筛选出 物理实现与设计模型一致的芯片。FPGA逻辑测试验证的必要性主要是由于在芯片 设计过程中一些功能的不完整或时序的偏差引起的。1。2虚拟仪器技术概述虚拟仪器的起源可以追溯到20世纪70年代。“虚拟"的含义主要是强调了软 件在这类仪器中的作用,体现了虚拟仪器与主要通过硬件实现各种功能的传统仪电子科技大学硕士学位论文器的不同。虚拟仪器主要由通用的计算机资源(例如微处理器、内存、显示器等、 应用软件和仪器硬件(例如A/D、D/A、数字I/O、定时器、信号调理等等构成。 使用者利用应用软件将计算机资源和仪器硬件结合起来,通过友好的图形界面来 操作计算机,完成对测试信号的采集

16、、分析、判断、显示和数据处理等功能。虚 拟仪器中的硬件主要完成信号的调理以及数据的输入与输出的工作,而软件才是 真正实现测量功能的,其主要用于实现对数据的读取、分析处理、显示以及对硬 件的控制等工作。因此,虚拟仪器与传统仪器的最大区别是,它是由用户定义的, 是灵活多变的,它不仅把传统仪器的现有功能搬到了计算机显示屏上,而且还利 用计算机的计算技术和数字信号处理技术,增加了传统仪器所没有的计算功能和 分析等功能。并且虚拟仪器可以节省用户的投资。由于虚拟仪器的软、硬件资源 可以根据用户需要组成不同的测试设备,也就是说,用户的一次投资的软硬件可 以重复使用,因此大大提高了用户的投资效率。因此,虚拟仪

17、器的出现给仪器技 术带来了巨大的活力,是仪器发展史上的一场革命,代表着仪器发展的最新方向 和潮流,是信息技术的一个重要领域,对科学技术的发展和工业生产将产生巨大 的影响【4-51。在专用测量系统方面,虚拟仪器的发展空间更为广阔。环顾当今社会,信息 技术的迅猛发展,各行各业无不转向智能化、自动化、集成化。无所不在的计算 机应用为虚拟仪器的推广提供了良好的基础。虚拟仪器的概念就是用专用的软硬 件配合计算机实现专有设备的功能,并使其自动化、智能化。因此,虚拟仪器适 合于一切需要计算机辅助进行数据存储、数据处理、数据传输的计量场合。测量 与处理、结果与分析相脱节的面貌将大为改观。数据的拾取、存储、处理

18、、分析 一条龙操作,既有条不紊又迅捷快速。推而广之,一切计量系统,只要技术上可 行,都可用虚拟仪器代替,由此可见虚拟仪器应用空间是很宽广的。虚拟仪器技 术的优势就在于可由用户自己定义自己专用的仪器系统,且功能灵活,构建容易, 所以它的应用范围极为广泛。构建虚拟实验系统已经十分方便和容易。如果把这 些基于软件开发的虚拟实验系统和传统的基于实验室的物理环境结合起来,就可 以在发挥各自效益的同时有效地提高教学效果,培养学生的工程实践能力【6J。本文 正是在这种背景下进行的。1.3课题来源背景及意义随着微电子设计技术与工艺的发展,超大规模、高速、低功耗的新型FPGA 2第一章引言不断推陈出新。新一代的

19、FPGA甚至集成了中央处理器或数字信号处理器内核, 已成为当代数字系统设计的首选方式之一。当今的FPGA正朝着高密度,低成本 的方向发展。随着FPGA成本的降低,越来越多的电子系统采用基于FPGA的设 计。当厂家要将利用FPGA芯片研制生产出的新产品批量投产时,如何快速准确 的测试验证大量同型号的FPGA芯片是否正确执行设计规范所设定的逻辑功能, 以判定下载程序后的芯片能否正常工作,就成为厂家需要考虑的一个重要问题。 因为,这是降低产品测试成本和缩短产品上市时间的一个关键因素。目前,虽然Agilent、Tektronix等大公司生产的高端逻辑分析仪能够实现FPGA 电路的测试验证功能,但此类仪

20、器价格高昂,一般要十万、数十万人民币。国内 在逻辑测试验证仪方面也做了一些相关的尝试,由于功能单一、性能指标低、操 作不方便灵活,能投入实际运行的并不多。伴随着电子技术和计算机技术的发展, 传统仪器的缺陷也使得开发基于虚拟仪器的FPGA逻辑测试验证仪具有相当的现 实意义。本论文设计开发的虚拟FPGA逻辑测试验证平台,是一个完整的测试验 证系统,不但具有FPGA数字电路的逻辑状态与时序的测试功能,还具有逻辑测 试激励信号的产生功能,即是有逻辑分析仪和向量发生器的功能。它是微机系统 及数字电路设计、侦错、软件开发和仿真的理想仪器。本文设计的出发点是不一味地追求高性能、高指标,而是在如何实现仪器的

21、功能全面、资源节约、成本降低等方面下功夫,即是使用户一次投资的软硬件资 源可以根据用户需要组成不同的测试设备,从而使资源得到重复使用,大大提高 用户的投资效率。比如,虚拟FPGA逻辑测试验证平台中的采集、存储等部分, 可以作为数字示波器自A/D后的电路部分,这样仅仅需要加入模拟通道电路等部 分就能够扩展为一台数字示波器。因此,本课题研究的目的是提供一种较为简易 的虚拟FPGA逻辑测试验证平台的设计思想及实现方法,其研制的样品是供教学 实验使用的,同时也为今后深入研究FPGA逻辑测试验证奠定一定基础。1.4本论文的主要研究内容本课题“虚拟FPGA逻辑测试验证平台的设计"其主要内容就是以

22、虚拟仪器 技术为软件核心,利用EPP接口技术,针对FPGA逻辑测试验证的特性,设计一 个由软件提供不同的测试向量信号,由数据采集与逻辑控制部分和计算机软件共 同完成FPGA中所下载数字电路的逻辑测试验证的平台。本设计没有追求很高的 指标,而是立足于资源的可重复利用性和在尽量降低成本的情况下努力扩展仪器3电子科技大学硕士学位论文的多功能化,并且从实验教学实际出发,让学生熟练掌握FPGA逻辑测试验证的 基本原理,了解逻辑测试验证平台的基本概念和功能,在此基础上进一步提高动 手能力和实际开发的能力。平台的综合性、通用性、灵活性、开放性、可扩展性, 才是我们研究的重点。本课题的主要工作有以下几个方面:

23、硬件:(1外置式主板设计,其包括测试向量下载与存储电路、响应数据采 集与存储电路、逻辑控制电路、缓冲器件和EPP接口等部分。主板具有数字信号 产生、数据采集、缓冲存储、定时计数、数据通信等多种功能,它通过EPP接口 与计算机相连;(2插接在主板上的被测FPGA开发板设计。软件:(1虚拟FPGA逻辑测试验证平台的应用软件设计;(2系列化的FPGA 测试验证的样例程序软件包。虚拟FPGA逻辑测试验证平台的设计指标如下:输入/输出数据通道数:各16个最大存储深度:64刚通道最大采样速率:40M时钟类型:外时钟和内时钟触发方式:始端触发、终端触发、预置触发触发源:时钟触发、字触发、外部触发、手动触发接

24、口类型:EPP口(增强型并口向量编辑输入方式:真值表、总线输入方式向量显示方式:A:时序波形显示,可水平位移和水平伸缩范围B:数据显示,分为二进制、十六进制显示向量操作功能:可新建、打开、编辑、保存和打印向量文件逻辑验证功能:可对比验证实测响应数据与预期响应数据是否一致4第二章虚拟FPGA逻辑测试验证平台的总体设计第二章 虚拟FPGA逻辑测试验证平台的总体设计2.1测试验证系统概述测试验证系统【7-9】一般包括输入测试向量(Input Test Vector、测试平台 (Testbench、被测试对象(DUT及输出响应等,图2.1是测试验证系统的简单 组成方框图。图2-1测试验证系统基本框图通

25、常,针对复杂情况所建立的测试验证系统平台如图2.2所示。它向被测试对 象施加输入激励,对其输出进行采样,并将其输出与期望结果(即golden结果 相比较,这样的测试验证系统被称为自核对式测试验证系统。如果采样输出与 golden结果不一致,那么自核对式测试验证系统将生成错误报告。一个良好的测 试验证系统还能标明输入激励,所得到的输出、golden等状态信息以及错误信息, 这将有助于分析被测试对象的功能细节并将错误的成因隔离出来。图2-2白核对式测试验证系统随着IC设计规模的扩大,FPGA逻辑测试验证的复杂性以指数级速度提高, 因此建立一个功能完善、性能优良的测试验证环境,所投入的工作量和资金都

26、是 极其巨大的。2.2虚拟FPGA逻辑测试验证平台的设计原理虚拟FPGA逻辑测试验证平台的基本工作原理是:首先由计算机编辑输入被 测电路所需要的仿真测试向量,其次是把编辑好的测试向量下载到主板上的测试电子科技大学硕士学位论文向量存储器(R AMl中存储,而后由逻辑控制电路把测试向量送给被测电路,同 时对被测电路的响应数据进行采集,并保存在响应数据存储器(RAM2中,再由 计算机通过EPP口读回响应数据,最后由计算机对数据结果做逻辑功能和时序的 验证对比、分析处理等工作,从而来实现FPGA中所设计电路的逻辑测试验证功 能。2.3虚拟FPGA逻辑测试验证平台的构造组成虚拟FPGA逻辑测试验证平台由

27、硬件和软件两大部分组成,测试平台通过EPP 并行接口与微型计算机(PC机相连,构成一个PC机的测试验证系统。测试平 台主要完成测试向量的发生和响应信号的采集两大功能其作用就像传统实验 室的激励信号源和逻辑分析仪。硬件部分包括:(1个人计算机(PC,具有运行图形化编程软件的能力:(2 外置式主板,包括测试向量下载与存储电路、响应数据采集与存储电路、逻辑控 制电路、缓冲电路和EPP接口电路等部分。主板具有信号产生、数据采集、缓冲 存储、定时计数、数据通信等多种功能,它通过EPP接口与计算机相连;(3插 接在主板上的被测FPGA开发板。软件部分包括:(1基于Window环境下的虚拟仪器软件开发平台L

28、abVIEW 和LabWindows/CvI;(2虚拟FPGA逻辑测试验证平台的应用软件;(3系列化 的测试与验证的样例程序软件包。虚拟FPGA逻辑测试验证平台的组成框图如图 2.3所示。JTAG被钡1. FpGA宅 路模板 16通道灏试向.量 缓冲器74241(2片酝 卅;并j茯q1Af口J1里RAMl1S61LV6416-10RAM2IS61LV6416-10主板16通道 响应数 据图2.3虚拟FPGA逻辑测试验证平台组成框图2.4虚拟FPGA逻辑测试验证平台的工作流程 6计算机 (带逻 辑测试 验证功 能软 件 道向un通试量1,硭鬻黼 印互第二章虚拟FPGA逻辑测试验证平台的总体设计从

29、虚拟FPGA逻辑测试验证平台的工作原理和组成框图可知,本仪器的工作 流程是:(1在计算机上,按真值表、总线或时钟方式编辑输入测试向量和所预 期的响应数据结果;(2将编辑好的测试向量通过EPP接口下载并保存到主板上 的RAMl中;(3当计算机发出采集测试命令后,在逻辑控制电路的作用下,将 测试向量送到被测FPGA开发板的激励端口,同时对其响应数据进行采集,并存 储至RAM2中;(4当采集数据结束后,由计算机从主板上的RAM2中读回响应 数据;(5由计算机完成响应数据结果与它所对应的预期响应数据结果的逻辑时 序对比验证、分析处理及保存打印等工作。虚拟FPGA逻辑测试验证平台的工作 流程如图2.4所

30、示。编辑测试向IR.及预期响应数据之乡测试向量下载并保存到主板上的RAil中妙测量向量加载纠被测电路板,同时采集和存储响应数据至RA82之乡读回响应数据(RAI忱2rtl一17Vf数据对比验证、分析处理及保存打印图2_4虚拟FPGA逻辑测试验证平台的工作流程图2.5硬件部分的总体设计虚拟FPGA逻辑测试验证平台的硬件部分包括个人计算机、主板和被测FPGA 开发板。在本节中所讲述的硬件部分设计指的是主板设计,其包括测试向量下载 与存储电路、响应数据采集与存储电路、逻辑控制电路、缓冲电路、晶振40M和 EPP接口电路等部分。主板包括16路高速数字信号的输入通道和16路输出通道。 由于时序逻辑控制信

31、号较为复杂,本文采用FPGA来完成其主要的设计工作,包 括时钟电路、地址电路、触发电路、逻辑控制电路及EPP接口控制电路等。主板 的设计原理框图如图2.5所示¨0_191。7电子科技大学硕士学位论文图2.5主板的设计原理框图测试向量的编辑输入部分由应用软件完成,测试向量的下载、缓冲及存储部 分则由硬件构成。测试向量下载与存储电路的输出是16路的测试向量信号,而输出什么样的测 试向量信号则取决于操作人员在计算机上所编辑或调用的向量信号以及硬件参数 的设置。其工作过程是:首先,由操作人员编辑输入被测FPGA开发板中待测电 路所需的测试信号,当应用软件发出下载的控制命令后,计算机就把测试向

32、量通 过EPP口传送给主板上的缓冲器,并且在逻辑控制电路和地址计数器的作用下, 将测试向量写入到RAMl中。当应用软件发出采集测试的控制命令后,又在逻辑 控制电路和地址计数器的作用下,将保存在主板上RAMl中的测试向量,通过缓8第二章虚拟FPGA逻辑测试验证平台的总体设计冲电路和主板与被测板之间的插座加载到被测FPGA开发板的激励端口。对于测试向量下载与存储电路来说,最主要的技术指标是输出通道数、通道 存储深度和最大数据输出速纠16】。输出通道数和通道存储深度主要受限于存储器 件的空间大小,最大数据输出速率则主要由时钟触发信号的频率及存储器件的读 取速度决定。在考虑上述指标要求以后,还应该做到

33、选择测试向量的便捷。存入 存储器RAMl中的测试向量,既可以是操作人员在测试现场所编辑的向量信号, 也可以是通过读取保存在计算机上已经编辑好的测试信号文件。采用第一种方式 可以做到现场编写测试向量,而且修改方便;采用第二种方式是直接调用已经编 辑好的测试向量,这样当然更加快捷,更加方便。在实际使用当中,两种向量操 作方式都会经常用到,因此本文设计的虚拟FPGA逻辑测试验证平台要具备这两 种向量操作方式。存放于存储器RAMl中的测试向量,在工作中将按照地址的变 化,依次读出。从RAMl中读出的数据要送入锁存器锁存,同步输出,这样可以 提高驱动能力和对外电路的隔离能力。测试向量信号输出的速率.,俐

34、取决于时钟触 发信号的频率JCLK,他们的频率关系如下厶=允K (2-1 由式2.1可知,时钟频率的稳定将直接影响到测试向量下载与存储电路输出的 测试向量的质量。因此本电路的设计对于时钟电路有较高的要求。为了得到较高 精度和稳定度的时钟频率,可以采用频率合成和直接分频两种方法。当然使用数 字锁相环的频率合成器能得到高质量的时钟信号,但是其相对于直接分频来说成 本较高,并且对于实验教学中同学动手做二次开发来说有相对的难度,所以本文 在设计时选择了直接分频的方式来产生时钟。9电子科技大学硕士学位论文图2-6IS61LV6416原理框图表2-1IS61LV6416控制信号真值表脚UTH 7ZBLEI

35、/OPINMode 程 琵 醒 西 砸 I/00-I/07I/08-110t5VDDCurrentWL L X L H 瞻I HIg忆 虹L L X H L l-li舟Z D¨缓冲器件采用SN74LS245芯片,它是8八位的三态总线收发器。它的控制信 号真值表如表2.2所示。表2-2SN74LS245控制信号真值表使能端万 方向控制端D限 操作L L右一左L H 左一右H X 隔离本测试向量下载与存储电路在应用软件的配合作用下,其设计指标如下:输出测试向量通道数:16个最大存储深度:64列通道最大输出速率:40M向量编辑输入方式:真值表、总线输入方式10=茹粼第二章虚拟FPGA逻辑测

36、试验证平台的总体设计向量显示方式:A:时序波形显示,可水平位移和水平伸缩范围B:数据显示,分为二进制、十六进制显示向量操作功能:可编辑、保存和打印向量文件响应数据采集与存储电路21-221中的采集控制和缓冲存储部分由硬件构成,响 应数据的验证处理则由应用软件完成。响应数据采集与存储电路的任务就是,当应用软件发出采集测试的控制命令 后,在逻辑控制电路、时钟电路和地址计数器的作用下,将保存在主板上RAMl 中的测试向量,通过缓冲器和主板与被测板之间的插座加载到被测FPGA开发板 的激励端口,同时采集和存储被测FPGA开发板的输出响应数据,最后由计算机 从主板上的RAM2中读回响应数据,并完成数据的

37、对比验证、分析处理及保存打 印等工作。下面以字触发为例,说明其工作原理:在设置好触发源、触发方式、采集频 率、采样点数及时钟类型等参数后,在逻辑控制电路的作用下,发出指令使输入 缓冲器74245打开,通道数据进入字触发识别电路。通道数据与事先由应用软件 设置的触发字进行比较,若符合,则产生触发标志脉冲来启动地址计数器工作, 为响应数据存储器RAM2提供地址码,进而采集开始。当采集结束后,在逻辑控 制电路的作用下把响应数据读回计算机进行对比验证、分析处理和保存打印等工 作。保存响应数据所选用的芯片与存储测试向量的芯片一样,都是 IS61LV6416.10。本响应数据采集与存储电路在应用软件的配合

38、作用下,其设计指 标如下:最大采样速率:40M通道数:16个最大存储深度:64K/通道时钟类型:外时钟和内时钟触发方式:始端触发、终端触发、预置触发电子科技大学硕士学位论文触发源:时钟触发、字触发、外部触发、手动触发2.6软件部分的总体设计目前,较流行的虚拟仪器软件开发环境可分为两类【25】:一类是文本式的编程 语言,如C、Visual C+、Visual Basic、Labwindows/CVI等;另一类是图形化的 编程语,代表性的是NI公司的LabVIEW和HP公司的HPVEE。NI公司的软件开 发环境LabVIEW、LabWilldows/C主要适用于测试技术、控制技术、虚拟仪器 技术以

39、及信号分析处理和故障诊断技术等,是相关领域的技术人员首选的软件开 发工具。其中LabVlEW是完全图形化的开发工具,具有使用方便、易于学习的特 点,但是缺乏开发灵活性;LabWindows/CVI则是可视化的开发工具,它以标准C 语言为基础,提供了灵活的开发手段和强大的开发功能。因此本文在虚拟FPGA 逻辑测试验证平台的软件开发中,选择了把NI公司的LabWindows/CVI和 LabVIEW结合使用的开发平台。为了保证虚拟仪器软件具有较高的可靠性和可用性及良好的可移植性和兼容 性,在进行软件设计时,应按照软件工程学提出的软件设计过程和方法进行127|, 具体地应注意以下几点。(1采用自顶而

40、下的软件设计方法,即从整体到局部,最后到细节。首先完 成软件的需求分析、系统功能分析和结构分析,通过逐层分解和逐级抽象,建立 软件的层次化结构框图,确定各部分的功能及相互关系,然后根据软件的结构框 图,划分程序模块,最后再开始具体的编程工作。(2在软件系统分析和具体编程过程中,应注意采用模块化和面向对象的软件 设计方法,特别要重视一些可重用的基本软件模块,以提高系统软件的灵活性、 移植性和可维护性,降低系统的复杂程度。(3虚拟仪器软件应具有较高的可靠性。系统不能因测试人员的操作失误而导 致崩溃,也不能因环境干扰或其他问题导致故障蔓延和丢失信息。在系统软件设 计与实现过程中,应对此给予充分的重视

41、。(4虚拟仪器软件设计要符合一些相关规范的要求,如VPP规范或I规范等, 12第二章虚拟FPGA逻辑测试验证平台的总体设计选择符合规范的软件开发环境和仪器驱动程序,保证应用软件的可移植性和兼容 性。(5采用图形化用户界面设计技术和可视化编程技术,提供切合实际需要和友 好的人机交互界面,提供完善的帮助信息和快捷简便的帮助信息访问手段,提高 软件的可用性。(6采用自顶而下和自底而上相结合的方法进行软件调试。将整个软件调试过 程分为模块调试、子系统调试、系统联调、试运行四个步骤,对所设计的软件进 行完全的测试和诊断,发现和纠正编程和设计错误,生产出合格的软件产品。本文所设计的虚拟FPGA逻辑测试验证

42、平台的应用软件采用LabVIEW和 LabWindows/CVI编写,它是一款包含数字波形新建、打开、编辑、保存、浏览的 高性能软件,在硬件的配合下,可以完成数字波形的下载,即将编辑生成波形以 数据形式加载到逻辑被测卡上FPGA的激励端口,并从输出端口取回响应数据, 再与对应测试向量的预期响应数据做对比验证显示,以验证用户下载到FPGA的 可编程逻辑设计是否正确,并生成报告文件存档。该软件实现的功能如图2.7所示。 主窗口(面板圉园囡圈困围困圉 图2.7虚拟FPGA逻辑测试验证平台软件主窗口在主窗口界面中包含8个子窗口:1淑0试向量波形显示:该窗口中显示用户编辑或打开的测试向量波形;2.响应数

43、据波形显示:该窗口中显示从被测板的FPGA输出端口取回的响应数 据的数字波形;3.预期响应数据波形显示:该窗口中显示与加载测试向量所对应的预期响应数 据的数字波形;4.波形编辑表:在该窗口中可以直接输入编辑向量数据:5湖0试向量编辑下载:在该窗口中可选择以真值表方式(按位方式或编码表 方式(按总线方式新建、打开、编辑、下载(到平台中主板上的RAMl或保 存数字波形,并可选择起始电平、周期倍增;电子科技大学硕士学位论文6.波形显示控制:该窗口用于调整测试向量波形和输出响应波形这两个窗口中 的波形显示,可连续调整显示波形的起点和长度;7.参数设置与启动:设置平台中下载、采集及逻辑控制电路的一些相关

44、硬件参 数,包括时钟选择、采集频率、采集点数、触发源、触发方式等;启动测试向量 加载和响应数据的采集;8.响应数据验证及处理:该窗口包含响应数据和预期响应数据的对比验证、保 存响应数据及生成测试报告等功能。虚拟FPGA逻辑测试验证平台的测试验证软件的基本流程图如图2.8所示:图2.8测试验证软件的基本流程图2.7EPP通信接口的使用虚拟FPGA逻辑测试验证平台通过一个25芯的EPP并行接口与PC机相连。 这种通信方式采用单独的扩展箱来单独供电,它和计算机系统的结合也更为灵活。 它比较适合普及型低端产品的研制开发使用,特使是用在为学生实验教学研制的 仪器上,更能展现出虚拟仪器技术的优越性【161

45、。14第二章虚拟FPGA逻辑测试验证平台的总体设计当计算机工作于EPP并口模式时,实际上只用了5条信号线nWrite、nWait、 nDataSTB、nAddrSTB、nReset(一n表示低电平有效和8条数据线Data0-7。EPP 信号引脚的定义见表2.3所示【29。30】。表23EPP信号引脚定义引脚 EPP信号 EPP输入/输出 EPP功能描述1nWritc 输出 读/写信号,高读低写29Data07双向 双向地址/数据线10Interrupt 输入 中断请求信号,上升沿触发ll nW撕t 输入 握手信号,低表示一个周期开始,高表示一个周期结束12用户自定义 输入 根据不同外设自定义1

46、3用户自定义 输入 根据不同外设自定义14nDataSTB 输出 数据选通信号,低表示正在进行数据读/写操作15用户自定义 输入 根据不同外设自定义16nReset 输出 外设复位信号,低有效17nAddrSTB 输出 地址选通信号,低表示正在进行地址读/写操作1825GND GND 信号地EPP协议规定:nAddrSTB(nDataSTB信号要在PC机检测到nWait有效后 才能置低;当nAddrSTB(I山ataSTB有效时,外设完成相应的读写操作,而后使 nWait信号变高,即通知PC机结束该读写周期,随后nAddrSTB(nDataSTB恢 复到空闲时的高电平状态。上述信号之间的互锁关

47、系,在设计外设的EPP接口时 可通过图2-9实现其逻辑时序关系。图中的R、C用于产生外设读/写操作所需的 延时。j享图2-9产生nWait信号的原理图在使用EPP接口时,有以下几点需要注意:(1EPP初始化:当EPP处于空闲状态时,n_Reset、nWrite、nDataSTB和 nAddrSTB信号必须处于高电平,即无效状态。有的PC机需要程序在读写EPP之 前,初始化并口控制寄存器(BASE+2的相应位(Bit0、Bitl、Bit3。而有的PC电子科技大学硕士学位论文机并口被置于反向传输模式时,则无法正常实现EPP写周期,所以需要在使用EPP 之前将并口置于正向传输模式,即清除控制寄存器的

48、第5位Bit5。因此,在访问 EPP地址、数据寄存器之前,程序需要先向控制寄存器写入××0×0100的控制字。(2EPP时序复位:在程序中有时需要PC对EPP外设复位。可使EPP控制 寄存器相应位(Bit2先清零,使nReset信号保持有效一段时间(如50ms后, 再将B砣置位使nReset恢复到高电平。(3EPP超时状态位的检测与清除:当EPP等待超时(比如EPP外设没有连 接或连接不可靠或EPP外设有故障不能给出nWait为高的信号,当超过lOps,则 被认为超时,状态寄存器BASE+I中的超时状态位将被置1,从而EPP周期不能 正常结束。因此在每次EPP读写

49、操作以后都应检查状态寄存器。通常清除超时状 态位不是往相应位写0,而是写1。虚拟FPGA逻辑测试验证平台通过EPP接口控制电路,产生平台内总线,包 括数据线、地址线、读/写控制RD、WR等信号,并通过地址译码产生平台I/O端 口地址。图2一lO所示为平台的地址分配电路的设计。由于EPP只有8条数据线, 因此采用分时复用的方法为平台提供所需要的数据和地址总线。一次读写操作包 括一次地址写周期(无需进行地址读操作和一次数据读/写周期,即PC机先通 过EPP输出8位地址并锁存,再进行相应的数据读/写。将EPP的8条数据/地址 线分别通过双向总线收发器和地址锁存器,从而分别得到了平台所需的数据线和 地

50、址线。而各个电路所需的片选控制信号线则由地址线通过译码器得到。EPP接 口控制电路的具体设计将在下一章作出说明。eppLcontr。f70】髀DATArnAdOstbd7一o】日tDATAnRead nDatasIbnAddstb nRBadRE:l741380XH、nV_raenDatastb RDVVR a4YONV1XHAY1N D-'矿 nWaitR2nVVait 一a61B Y2N 一 ;又玎寸nV订ReWRnWait陀nWait nVVaRR1一nWait R1a0一 C Y3N D-1矿aO a1一5dG1Y4N D-=?÷a1a27、K巢趣G2AN Y5N3髝

51、型:N-I3DEODBtll10平台的地址分配控制电路 1第三章虚拟FPGA逻辑测试验证平台的硬件设计第三章虚拟FPGA逻辑测试验证平台的硬件设计在本章中论述的虚拟FPGA逻辑测试验证平台的硬件设计,指的是平台主板 上的时序逻辑电路设计。因为时序逻辑电路的设计即是整个主板设计的重点,也 是整个平台工作的中心,它对测试向量的下载、保存与加载、响应数据的采集起 始与停止、响应数据的写入与读出等全过程进行管理,决定了整个过程的定时、 触发和读写的时序关系及逻辑关系。由于时序逻辑电路各信号间的关系较为复杂,本文采用FPGA来完成其设计 工作,包括时钟电路、触发电路、地址电路、逻辑控制电路及EPP接口控

52、制电路 等。3.1FPGA的概述FPGAt26】是在PAL、GAL、EPLD等可编程器件的基础上进一步发展的产物。 它是作为专用集成电路(ASIC领域中的一种半定制电路而出现的,既解决了定 制电路的不足,又克服了原有可编程器件门电路数有限的缺点。FPGA一般由三种可编程电路和一个用于存放编程数据的SRAM组成,这三 种可编程电路是:可编程逻辑块CLB(Configurable Logic Block、输入输出模块 IOB(VO Block和互连资源IR(Interconnect Resource。可编程逻辑块是实现逻辑功 能的基本单元,它们通常规则地排列成一个阵列,散布于整个芯片;可编程输入/

53、输 出模块主要完成芯片上的逻辑与外部封装脚的接口,它通常排列在芯片的四周;可 编程互连资源包括各种长度的连线线段和一些可编程连接开关,它们将各个CLB 之间或CLB、IOB之间以及IOB之间连接起来,构成特定功能的电路。FPGA的功能由逻辑结构的配置数据决定。工作时,这些配置数据存放在片内 的SRAM或熔丝图上。基于SRAM的FPGA器件,在工作前需要从芯片外部加载 配置数据,配置数据可以存储在片外的EPROM或其它存储体上。用户可以控制 加载过程,在现场修改器件的逻辑功能,即所谓现场编程。用户可以根据不同的 配置模式,采用不同的编程方式。加电时,FPGA芯片将EPROM中数据读入片内 编程R

54、AM中,配置完成后,FPGA进入工作状态。掉电后,FPGA恢复成白片, 内部逻辑关系消失,因此,FPGA能够反复使用。FPGA的编程无须专用的FPGA17电子科技大学硕士学位论文编程器,只须用通用的EPROM、PROM编程器即可。当需要修改FPGA功能时, 只需换一片EPROM即可。这样,同一片FPGA,不同的编程数据,可以产生不同 的电路功能。因此,FPGA的使用非常灵活。FPGA有多种配置模式:并行主模式 为一片FPGA加一片EPROM的方式;主从模式可以支持一片PROM编程多片 FPGA;串行模式可以采用串行PROM编程FPGA;外设模式可以将FPGA作为微 处理器的外设,由微处理器对其

55、编程。3.2FPGA芯片选择及使用随着可编程逻辑器件应用的日益广泛,许多IC制造厂家涉足CPLD/FPGA领 域。目前世界上有几十家生产CPLD/FPGA的公司,最大的三家是Altera、Xilinx 和LatticeVantis。针对市场对低成本FPGA的需求,Altera先后推出了多款低成本的FPGA,其 中Cyclone系列FPGAl26】是Altera最新一代SRAM工艺中等规模的FPGA,配置 芯片采用新的配置产品EPCSl或EPCS4,其非常适合中小型数字系统设计,有 较高的性价比。在本设计中选择了Cyclone系列的EPlC6Q240芯片。这是因为 Cyclone芯片是目前市场上

56、性价比最优且价格最低的FPGA,仅为Altera现有主流 器件价格的30%.50%。3.2。1Cyc I one系列EPl 060240简介Cyclone系列器件是Altera继ACEX后推出的又一款低成本FPGA。Cyclone FPGA是基于Stratix的工艺构架,其设计初期就定位为一款低成本的FPGA,主要 用于终端市场,如消费电子、计算机、工业和汽车领域。Cyclone器件采用全铜O.13la m的工艺制造,其内部有锁相环、RAM块,逻 辑容量从2910"-20060个LE,其不同型号器件的资源如表3.1所示。型号(1.5V 逻辑单元 锁相环 M4K RAM块 备注EPlC

57、32.910l 13每块RAM为4Kbit,可以另加l位奇偶校验位 EPlC44,000217EPlC65.980220EPlCl212.06025218第三章虚拟FPGA逻辑测试验证平台的硬件设计I 兰!兰Q I兰Q:Q鲤I 三 l 丝 I I Cyclone系列EPlC6Q240具有以下特点:1采用240引脚的TQFP封装形式,能提供185个用户IO引脚和5980个逻辑 单元。2具有20个4608位的RAM存储区,最高可支持200MHz的数据传输。它可 以实现真正的双端口、简单双端口和单端口的RAM,可以支持移位寄存器和ROM 方式,并支持8位、16位、32位、36位等数据存储类型。3片上的锁相环电路可以提供输入时钟的1.32分频或倍频、156.417ps移相或 可变占空比的时钟输出,输出时钟信号的特性可直接在开发软件QUARTUS II里 设定。经过锁相环输出的时钟信号既可以作为内部的全局时钟,也可以输出到片 外供其它电路使用。4多功能10结构支持差分和单端输入,与3.3V、32位、66MHz的PCI局部 总线兼容;IO输出可以根据需要调整驱动能力,并具有压摆率控制、三态缓冲、 总线状态保持等功能;整个器件的IO引脚分为四个区,每一个区可以独立采用不 同的输入电压,并可提供不同电压等级的Io输出。5Cycl

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论