历史上的今天
返回首页

历史上的今天

今天是:2024年12月03日(星期二)

正在发生

2019年12月03日 | 虚拟FPGA逻辑验证分析仪的设计

2019-12-03 来源:elecfans

虚拟FPGA逻辑验证分析仪的设计


随着FPGA技术的广泛使用,越来越需要一台能够测试验证FPGA芯片中所下载电路逻辑时序是否正确的仪器。目前,虽然Agilent、Tektronix 等大公司生产的高端逻辑分析仪能够实现FPGA电路的测试验证功能,但此类仪器价格高昂,一般要十万、数十万人民币。所以,研究开发价格适中且具有逻辑分析仪和FPGA电路的测试验证功能的仪器是非常有价值的。



本文所介绍的基于虚拟仪器技术的逻辑验证分析仪,采用FPGA技术来实现仪器硬件部分的主要设计,应用图形化编程语言LabVIEW来实现仪器的测试软件设计。文中阐述了虚拟FPGA逻辑验证分析仪的总体设计方案及其工作原理,并对仪器的两个主要工作环节的开发设计作了具体介绍。虚拟FPGA逻辑验证分析仪除了具有FPGA电路的基本测试验证功能,还具有逻辑分析仪和产生激励信号的功能。它是微机系统及数字电路设计、侦错、软件开发和仿真的理想仪器。


虚拟FPGA逻辑验证分析仪的设计


1 虚拟FPGA逻辑验证分析仪的总体设计


虚拟FPGA逻辑验证分析仪是把计算机作为数据的显示控制,显示器和鼠标、键盘作为仪器的用户面板,其组成框图如图1所示。

图1 虚拟FPGA逻辑验证分析仪组成框图

本仪器的基本工作原理是:由计算机编辑输入电路的仿真激励信号给所设计的被测电路,同时进行采集和存储,再传送回计算机,最后进行电路的逻辑时序分析等,从而实现仪器的FPGA电路的基本测试验证功能以及逻辑分析仪功能和产生激励信号的功能。仪器的工作步骤如图2所示。

图2 虚拟FPGA逻辑验证分析仪工作流程图

2 虚拟FPGA逻辑验证分析仪的硬件设计


虚拟FPGA逻辑验证分析仪的硬件组成包含三个部分:


①主板,具有数据采集、数据存储、定时计数、主板与计算机进行数据通信等多种功能。由于FPGA(现场可编程门阵列)可实现无限次地反复编程,快速方便实用,具有可现场模拟调试验证等特点,所以本系统中比较复杂的控制器部分、采样部分等都采用FPGA实现;其他的由外围芯片组成。外围芯片上主要有RAM及数据缓冲和锁存等数据通道部分。
②FPGA被测电路板。
③通用的个人计算机,具有运行图形化编程软件的能力。


3 虚拟FPGA逻辑验证分析仪的软件设计


虚拟逻辑验证分析仪的软件设计采用NI公司的图形化编程语言工具LabVIEW7.0。FPGA测试验证软件是一款包含数字波形打开、编辑、保存、浏览的高性能软件,在硬件的配合下,可以完成数字波形的下载,即将编辑生成波形以数据形式加载到被测FPGA电路板的激励端口,并从输出端口取回测试数据显示,以验证用户下载到被测FPGA电路板中的可编程逻辑设计是否正确。软件的主界面如图3所示。

图3 软件主界面

介绍虚拟FPGA逻辑验证分析仪的两个工作环节


1 编辑激励信号


虚拟FPGA逻辑验证分析仪的激励信号源采用纯软件LabVIEW来实现,该激励信号源可选择以真值表方式(按位方式)或编码表(总线方式)打开、编辑或保存数字激励波形,并可选择周期数。其主要技术指标如下。


①输入方式:真值表、总线方式编辑输入;
②输出通道:13个输出激励信号数据通道;
③显示方式:
A:时序波形显示,可水平位移和水平伸缩;
B:数据显示,分为二进制、十六进制显示。


2 测量被测电路板


在虚拟FPGA逻辑验证分析仪的工作流程中,测量被测电路板这一工作即将编辑好的仿真激励信号输入给所设计的被测电路板,同时进行采集和存储所测试电路板的数据。该步骤中的采集工作主要采用FPGA来实现,存储工作用RAM来完成。通过分析论证,本设计采用ALTER公司Cyclone系列的芯片,型号为EP1C6Q144。它采用1.5V内核电压,内嵌92160位存储区间,可提供两个锁相环和双信数据传输速率(DDR)的接口电路。设计中,逻辑分析仪电路及采集电路的主要技术指标如下。


①采集时钟:外时钟和内时钟;
②内时钟频率:25kHz、50kHz、100kHz、250kHz、500kHz、1MHz、5MHz、10MHz;
③采集存储点数:1~2048;
④触发方式:时钟触发、外部触发、字触发和按键触发。
 
结束语


本文所介绍的虚拟FPGA逻辑验证分析仪,采用FPGA技术来实现仪器硬件部分的主要设计,应用图形化编程语言LabVIEW来实现仪器的测试软件设计。事实证明,该方案设计的虚拟FPGA逻辑验证分析仪不但具有FPGA电路的基本测试验证功能,还有逻辑分析仪和产生激励信号的功能。通过实用证明,该仪器具有功能强大、稳定性好、可扩展性强及操作方便灵活等特点,是教学、实验和科研的很好的辅助仪器。

推荐阅读

史海拾趣

Alpha (Taiwan)公司的发展小趣事

Alpha (Taiwan)公司自创立之初,便致力于电子技术的研发与创新。面对日益激烈的市场竞争,公司不断投入资金,引进先进设备,吸引了一批优秀的研发人才。这些人才凭借深厚的专业知识和敏锐的市场洞察力,成功开发出一系列具有竞争力的电子产品,如高性能的芯片、精密的传感器等。这些产品的推出,不仅提升了公司的市场地位,也为公司的快速发展奠定了坚实基础。

Anderson Power Products公司的发展小趣事

在电子产品市场竞争激烈的背景下,Alpha (Taiwan)公司始终坚持品质至上的原则。公司建立了严格的质量管理体系,从原材料采购到生产流程,再到产品出厂,每一个环节都进行严格把控。同时,公司还定期对员工进行品质意识培训,确保每一位员工都能充分认识到品质对于公司发展的重要性。正是凭借这种对品质的执着追求,Alpha (Taiwan)公司的电子产品在市场上赢得了良好的口碑,赢得了众多客户的信赖。

GHI Electronics公司的发展小趣事

GHI Electronics深知技术创新是企业持续发展的关键。因此,公司不断加大研发投入,致力于开发具有自主知识产权的产品。其中,ARM微控制器、显示模块、空气质量传感器、模块化系统以及微处理器等主打产品系列,凭借其卓越的性能和稳定的品质,在消费电子、便携设备、通讯/网络等领域获得了广泛应用。这些技术创新不仅巩固了GHI Electronics在市场上的领先地位,也为其未来的发展奠定了坚实的基础。

HCH Co公司的发展小趣事

背景:面对日益激烈的市场竞争,HCH Co公司决定通过智能制造来提升生产效率和产品质量。公司引入先进的自动化生产线和智能物流系统,实现了从原材料采购到成品出库的全程智能化管理。

发展:智能制造的实施,不仅大幅提高了生产效率和产品良率,还降低了人力成本和运营风险。HCH Co公司因此能够在更短的时间内响应市场需求变化,推出更多符合消费者需求的高品质电子产品。同时,公司还通过智能制造的实践经验,为行业内的其他企业提供了可借鉴的转型路径。

ENOCEAN公司的发展小趣事

作为一家以技术创新为核心竞争力的公司,EnOcean始终致力于研发更先进、更高效的无线无源传输技术。通过不断投入研发资源,EnOcean在能量转换效率、数据传输速率等方面取得了显著进展。同时,公司还积极探索新的应用领域和市场机会,以保持其在电子行业中的领先地位。

以上五个故事概述了EnOcean公司在电子行业中发展的主要历程和关键事件。通过这些故事,我们可以看到EnOcean凭借其在无线无源传输技术方面的持续创新和卓越性能,成功在全球市场上赢得了广泛认可和应用。

聚洵(Gainsil)公司的发展小趣事

EnOcean GmbH成立于2001年,总部设在慕尼黑附近的奥伯兴。自创立之初,公司就专注于无线无源传输技术的研发,旨在提供一种无需外部电源、低维护成本的无线传感器解决方案。这种技术的核心在于能量转换器,能够收集环境中的微弱能量(如光能、振动能等),转化为电能供传感器使用。随着技术的不断完善,EnOcean逐渐在电子行业中崭露头角。

问答坊 | AI 解惑

求助谁有4位led共阴(protel99se)封装

求助谁有4位led共阴(protel99se)pcb封装? 小弟先谢谢了!!!…

查看全部问答>

OALPAtoVA出问题吗?寄存器不听使唤了??

我想利用2450的GPB3口的TOUT3功能发出PWM波。 在Kernel/Oal/init.c下的OEMInit()中添加代码。下面是我的代码:     volatile S3C2450_IOPORT_REG *s2450IOP = (S3C2450_IOPORT_REG *)OALPAtoVA(S3C2450_BASE_REG_PA_IOPORT, FALSE); & ...…

查看全部问答>

关于C51内置EEPROM的问题

现在需要用EEPROM保存一些参数,程序用KEIL C写的,现在就不知道参数该怎么保存,直接赋值?还是需要其他什么操作 直接赋值的话: .... int xdata canshu; ..... canshu=122; .... 但有个EECON寄存器,不知道需不需要对这个寄存器进行操作? ...…

查看全部问答>

关于ADC基准的问题

                                 在用户手册里找不到如何把基准电压设置为外部基准,怎样设置成使用外部基准?如果要采样温度是不是只能使用内部基 ...…

查看全部问答>

报警???

本帖最后由 dontium 于 2015-1-23 13:22 编辑 这是什么原因引起的报警啊? 报警如下(用的是CCS2.0): >> warning: creating output section .vectors without SECTIONS specification …

查看全部问答>

SOPC自定义外设(LED数码管扫描)的问题

module Display(clk,data,addr,read_en,write_en,data_out,seg,lbit);input clk;input read_en,write_en;input [7:0]data;input [3:0]addr;output [7:0] seg;output [7:0] lbit;output [7:0]data_out;reg [7:0]data_in[7:0];reg [7:0]seg;reg [7:0] ...…

查看全部问答>

求msp430g2553的序列通道程序

最近在学msp430g2553,关于单通道单次采样没啥问题,求一个序列通道的程序。。。。。。。。。。。。。。。。。。。。。。。。…

查看全部问答>

关于S5pv210之Sate210 android4.0 kernel移植遇到的INITRD问题原因分析

在S5PV210 1GB DDR2 内存的开发板上跑android4.0 很快就跑起来了,但是换到Sate210 内存为 512MB的开发板上在启动内核后,挂载文件系统不成功,后来发现是INITRD 的问题 有打印信息 Starting kernel ... Uncompressing Linux... done, booting t ...…

查看全部问答>

精确延时的问题

想问下该怎么实现精确的延时? #define CPU_F ((double)1000000) #define delay_us(x) __delay_cycles((long)(CPU_F*(double)x/1000000.0)) #define delay_ms(x) __delay_cycles((long)(CPU_F*(double)x/1000.0))      &nbs ...…

查看全部问答>