tag 标签: fpga

相关博文
  • 2024-3-4 10:53
    75 次阅读|
    0 个评论
    FPGA质量控制与测试 随着数字化、智能化装备的爆发式发展,具备更高可靠性、更高集成性的FPGA产品,依靠自身的自定义编程设计、可重复性修订等特性,成功取代了传统堆叠化电子元器件设计方式,应用到装备的设计中去。未来电子信息领域,硬件装备软件化设计趋势已不可逆转。可以说,只要存在硬件,就必然有FPGA的身影。本期“专家访谈”栏目,邀请广电计量软件测试技术副总监齐跃,深度解析FPGA质量控制与测试,助力企业提升FPGA测试效率和设计质量。 齐跃 广电计量软件测试技术副总监 软件/FPGA测评从业经历13年,两项国家发明专利授权发明人,一项软件著作权著作人。主要从事航空航天、特殊装备等领域软件及FPGA第三方及鉴定测评,覆盖导航定位、雷达、图像处理、遥控遥测等专业,具有丰富的FPGA软件测评工作经验。 FPGA软件的主要应用领域有哪些? FPGA,全称 Field-Programmable Gate Array ,翻译成中文即现场可编程门阵列。它是一种主要以数字电路为主的 集成芯片 ,属于可编程器件中的一种。FPGA作为ASIC(专用集成电路)领域中的一种半定制电路而出现,具有无限次重新编程的能力,通过对预制的门电路、触发器和可编程布线资源重新配置,可以实现任意的逻辑功能,大大提高了集成电路的灵活性,既解决了定制电路缺乏灵活性的不足,又克服了原有可编程器件门电路数容量过小的缺点。 因此, FPGA的应用 方向非常广泛,按照应用领域来看,FPGA在高速通信、数据处理、工业控制、特殊装备和航空航天等众多领域都已经得到了广泛的应用。 为什么对FPGA软件进行测评 ? 根据有关单位某产品试验鉴定工作要求中提出,“FPGA应列入软件清单进行管理,列入软件测试要求考核范围,关键或重要FPGA要针对性开展代码规则检查、功能仿真、时序验证等测试”。所以根据上述文件要求所有设备中的FPGA软件都要进行内部测试/第三方测评/鉴定测评。 FPGA软件测试面临哪些挑战? FPGA软件包含进行设计而产生的程序、文档和数据,同时包含与之相关的软件特性和硬件特性。FPGA软件测试需要考虑软件代码正确性、软硬件接口协调性、时序性等方面的全面覆盖。FPGA能够稳定、可靠地工作,不但功能需满足要求,时序指标、安全性指标等均需满足要求。 不同的 FPGA芯片 厂商、不同的运行电压和温度情况下,FPGA的时序会有很大不同,经常造成FPGA执行时出现错误。因此,FPGA测试需要在验证FPGA软件特性的同时,验证FPGA芯片硬件特性、电压与温度对时序的影响等环境特性是否满足要求。因此,FPGA软件测试包含对FPGA软件特性、硬件特性及环境特性全方位的测试。 FPGA软件测试的内容及流程有哪些? FPGA开发流程复杂,从前端设计代码到最后生成配置位流文件,均有可能引入设计缺陷。因此,在安全关键领域,FPGA软件的独立测评流程涵盖由RTL代码生成位流文件的各关键节点,从不同层次采用多种方法对软件功能、接口、时序、和性能进行确认。 主要测试方法有:编码规则检查、跨时钟检查、功能仿真、门级仿真、时序仿真、功耗分析、逻辑等效性检查等。测试过程主要包括: 1.首先根据软件需求进行测试需求分析,确保测试100%覆盖软件需求。 2.针对RTL级代码进行编码规则检查及功能仿真测试,验证FPGA前端设计的正确性。 3.针对逻辑综合后的门级网表文件进行逻辑等效性测试,验证逻辑综合的可靠性、一致性。 4.针对布局布线后的布线网表进行静态时序分析及时序仿真测试,验证FPGA后端设计时序路径是否收敛。 5.针对烧写下载后的目标设备开展板级实物测试,验证FPGA整机设备功能实现正确性。 6.使用专业工具对FPGA前端硬件描述设计与后端时序电路逻辑一致性进行检查。 如何提高FPGA测试的效率和准确性? 1.采用自动化测试工具:自动化测试工具可以大幅提高测试效率,减少人为误差。 2.优化测试策略:根据FPGA的具体应用场景和规格要求,制定针对性的测试策略,以提高测试的有效性和准确性。 3.强化在板测试:在板测试可以更好地模拟实际工作情况,有助于发现潜在问题。 4.强化可靠性评估:通过改进加速老化试验方法、引入更多实际工作场景下的应力因子等方式,提高可靠性评估的准确性。 5.强化仿真测试:采用更精确的仿真模型和更全面的场景覆盖,提高仿真测试的有效性。 如何提高FPGA软件设计质量和可靠性? FPGA质量提升是一个涵盖设计、验证、实施和测试全过程的系统工程,下面将详细介绍几个关键环节: 1. 设计阶段的质量保证 模块化设计:采用模块化的设计方法有助于提高代码可读性与重用性,并简化后期维护。每个模块应有明确的功能定义,遵循良好的设计原则。 资源优化:根据具体应用需求合理分配逻辑资源、内存资源以及布线资源,通过算法优化和架构选择来降低功耗并提升性能。 RTL设计规范:遵循行业标准和最佳实践编写HDL代码,确保代码风格一致且易于综合工具理解,避免潜在的时序问题。 2. 验证流程强化 功能仿真:在早期阶段进行详尽的功能仿真验证,确保设计满足规格要求,并覆盖所有可能的状态和边界条件。 形式验证:利用形式化方法验证设计正确性,包括等价检查、属性检查及模型检查,以减少因传统仿真遗漏而引入的问题。 静态时序分析(STA):在布局布线后执行严格的STA,确保设计达到指定的时序约束,防止由于时钟偏斜、延时不匹配导致的功能失效。 3. 增强可靠性设计 冗余技术:使用三模冗余(TMR)、纠错码(ECC)或其他容错机制,提高系统的抗错误能力。 内建自测试(BIST):集成自测试电路,能够在运行过程中检测硬件故障,增强产品的现场可靠性。 软错误防护:针对辐射效应和其他非永久性故障,采用适当的软错误率( SER )防护策略。 4. 硬件实现与签核 综合与优化:选择高性能的综合工具,并对其进行参数调整以获得最优布局布线结果,同时考虑资源利用率、速度和功率。 物理设计签核:对完成布局布线后的设计进行全面的物理设计签核,包括DRC(设计规则检查)、LVS(Layout Versus Schematic),确保设计符合工艺要求。 综上所述,提升FPGA设计质量涉及诸多方面,需要在整个开发周期中结合先进的设计理念、严谨的验证手段和科学的测试方法,才能最终打造出高可靠性的FPGA产品。 广电计量具备哪些FPGA测试服务经验? 广电计量FPGA测试团队具有全面的装备软件测试资质,目前承接的项目包括商飞C919、载人航天、特殊装备等领域数十项FPGA软件测试项目,任务涵盖了第三方验收测试、内部测试、鉴定测试/定型测试,测试级别覆盖单元测试、配置项测试和系统测试。
  • 2024-1-25 16:39
    204 次阅读|
    0 个评论
    ZYNQ PL SFP光口IBERT链路误码测试
    本 文 主要介绍说明 XQ6657Z35-EVM 高速数据处理评估板 SFP 光口 IBERT 链路误码测试 、使用步骤以及各个例程的运行效果。 ( 基于 TI KeyStone 架构 C6000 系列 TMS320C6657 双核 C66x 定点 / 浮点 DSP 以及 Xilinx Zynq-7000 系列 SoC 处理器 XC7Z035-2FFG676I 设计的异构多核评估板,由核心板与评估底板组成 。) 1.1 ZYNQ PL SFP 光口 IBERT 链路误码测试 1.1.1 例程位置 ZYNQ IBERT 链路误码测试例程有两个,分别用于光口运行在 5Gbps 和 10Gbps 两种线路速率情形下的误码统计和眼图测试, I BERT 测试例程保存在资料盘中的位置如下: ( 1 ) 5Gbps IBERT 例程存放位置: Demo\ZYNQ\PL\ibert_test\ibert_7series_gtx_0_ex_5gbps 文件夹下; ( 2 ) 10Gbps IBERT 例程存放位置: Demo\ZYNQ\PL\ibert_test\ibert_7series_gtx_0_ex_ 10 gbps 文件夹下。 1.1.2 功能简介 LogiCORE IBERT IP 核是 Xilinx 提供的集成式误码率测试 I P 核,该 I P 核产生测试样式,由发送端发出测试样式,经接收端接收测试样式并进行误码检测、分析,以检测 Xilinx 器件内部高速串行收发器的收发性能。由 I BERT IP 生成的测试工程会提供一个图形化测试界面,方便用户直观控制和检测高速串行收发器的参数指标。 1.1.3 例程使用 1.1.3.1 连接光纤模块 将光模块插入光模块笼子,并使用光纤线缆将光模块的收、发端口自环对接: 1.1.3.2 加载运行 Z YNQ 程序 1.1.3.2.1 打开 Vivado工程 打开 Vivado 示例工程,打开 5Gbps IBERT 例程或 10Gbps IBERT 例程: 或 工程打开后界面及工程主要模块说明如下图所示: 1.1.3.2.2 下载 ZYNQ PL 程序 下载 b it 流文件 example_ibert_7series_gtx_0.bit ,如下图下载界面所示: 1.1.3.3 运行结果说明 1.1.3.3.1 查看链路状态 1.1.3.3.1.1 5Gbps速率测试时 可查看到 M GT_X0Y14 链路锁定在了 5Gbps 线路速率,通信链路已经建立起来: 1.1.3.3.1.2 10Gbps速率测试时 10Gbps 速率测试时,需要用户根据板卡实际情况调节链路参数。在调试窗口的下方,有一个 Serial I/O Links 窗口,打开此窗口去完成链路参数调节任务。 用户调节 Tx Pre-Cursor 、 Tx Post-Cursor 、 Tx Diff Swing 这三个链路参数,参数调节完毕后,首先点击 TX Reset ,然后点击 RX Reset ,最后再查看 Status 和 Errors 状态,直到 Status 显示出预期的线路运行速率,比如 10Gbps ,且 Errors=0 E0 ,即误码,则表示链路目前运行正常: 1.1.3.3.2 查看眼图 在 Serial I/O Scans 窗口,点击创建链路,然后再针对链路创建眼图扫描: 设置眼图扫描参数: 1.1.3.3.2.1 眼图测试结果 1.1.3.3.2.1.1 5Gbps速率测试时 1.1.3.3.2.1.2 10Gbps速率测试时 1.1.3.4 退出实验 Vivado 调试界面 Hardware Manager 窗口,右键单击 localhost (1) ,在弹出的菜单中点击 Close Server ,断开 Z YNQ JTAG 仿真器与板卡的连接。
  • 热度 1
    2023-11-30 11:23
    217 次阅读|
    0 个评论
    数字脉冲升级功能 德思特Spectrum系列全部在售数字化仪和AWG产品(包括TS-M2p,TS-M4i,TS-DN2,TS-DN6型号产品),发布了新增的数字脉冲(DPG)升级功能,于11月15日正式推出。用户购买后,可自行通过对产品内置FPGA进行固件升级获取相关功能,无需返厂。该功能可以为原本的数字化仪或AWG产品增加3~4个独立的数字脉冲发生器通道,帮助用户实现测试系统中的一系列控制功能,为客户的产品升级和系统扩建提供了一种较低成本的选项。 数字脉冲发生器技术浅析 #01 数字脉冲发生器是什么 数字脉冲发生器(Digital Pulse Generator, DPG),DPG的主要功能是产生可编程的数字脉冲信号,可以通过控制其频率、占空比、上升时间、下降时间等参数来模拟各种不同的数字信号,从而满足不同应用场景的需求。通常情况下,DPG的输出信号可以直接接入DUT或进行测试和分析。 #02 DPG可以干什么? ● 时序测试 :DPG可以产生各种不同频率、占空比、上升/下降时间等参数可编程的数字脉冲信号,可以用于测试各种电子设备和系统的时序特性,如芯片、接口、总线、存储器等。比如,常见的时序频率测试,精确可编程的时钟信号输入到待测器件中,可以评估不同时钟频率下的器件性能表现,通过调节时钟频率确定器件设备的最大工作频率。 ● 对外触发控制 :对于部分外部仪器或逻辑器件,需要有简单的时钟或复位信号进行触发或驱动,才能正常输出我们想测试的信号。加入DPG功能后,我们就能通过简单的设置,在不增加额外仪器的情况下,完成这个触发,在降低测试系统的复杂度和成本同时,不用为触发信号和采集卡之间的同步协调问题而烦恼。 德思特数字脉冲发生器解决方案 德思特数字脉冲发生器(DPG)功能都是通过PCIe卡、LXI或以太网仪器的板载FPGA实现的,德思特所有任意波形发生器板卡(AWG)系列都可以升级搭载DPG功能模块。 德思特AWG卡增加了4个内部独立的数字脉冲发生器,具有可编程占空比、输出频率、延迟和循环数量。这些脉冲发生器可以通过软件、硬件触发器触发,也可以相互触发,从而 形成复杂的数字脉冲方案来驱动外部设备或测试实验 。 德思特DPG模块在卡的采集/重放功能与外部设备之间,提供通用的定时同步接口。 DPG模块由四个脉冲发生器组成,每个发生器允许(独立)独立地生成单独的脉冲、脉冲串或连续的脉冲流,这些脉冲可以在多用途I/O线上输出,从而大大增强了模块的功能性。 ● 至多四个脉冲发生器可供配置 ● 单次、多次重复或连续/无限重复脉冲 ● 脉冲长度/占空比的单独控制 ● 每个脉冲发生器单独进行外部或内部触发/启动 ● 每个脉冲发生器都有单独的触发延迟,允许相移 ● 通过将脉冲发生器内部级联,可实现多达4倍触发时钟倍频 ● 二次开发SDK同步更新相关功能API,支持语言包括C/C++, C#, Python, VB.NET, LabVIEW, MATLAB等
  • 2023-11-5 08:12
    378 次阅读|
    0 个评论
    本文介一款大厂量产伺服驱动器方案!带2500线省线式编码器,17位增量编码器,20位绝对值编码器!标配CANopen、高精度运动控制,高速总线通讯,主芯片28335+FPGA,已验证过,带can和485通讯,程序代码能自动识别电机参数、惯量识别、低频振动抑制,含MODBUS、CANopen通讯。资料齐全理解后可直接打样,也是小伙伴们学习提高的模板资料! 下载链接! https://mp.weixin.qq.com/s?__biz=MzU2OTc4ODA4OA==&mid=2247552129&idx=1&sn=a4e0145d62c28750d611c06ebfeb0f6b&chksm=fcfb1f56cb8c9640cd7d2f6da845ee82aeaa72e40bf435b22e1472f6e34c5a0383bd7ac64a63&token=2071666884&lang=zh_CN#rd 硬件 方案-- 驱动板介绍 驱动板一共是3个方案,根据不同的功率划分,驱动板包含大功率IGBT,运算放大器,光耦隔离器,继电器,整流桥等期间 。资料中一张原理图对应一块驱动板。每个驱动板都是4层板,基本都是大面积铜皮走线,来走大电流回路,可以学习一下怎么走线电流。 软件方案 软件方案包含了工程文件,无需自己再搭建工程。包含了两部分代码。第1部分是DSP代码,用CCS5.5打开工程文件。第2部分是FPGA代码,Lattice编译环境:diamond1.4.2.105,synplify Pro环境版本:F-2011.09L。
  • 热度 2
    2023-9-19 09:33
    428 次阅读|
    0 个评论
    基于Xines广州星嵌OMAPL138 DSP+ARM+FPGA无人机避障系统
    基于 Xines 广州星嵌 OMAPL138DSP+ARM+FPAGA硬件平台、毫米波雷达平台以及大疆的无人机平台,开发了一套将毫米波雷达与单目视觉相融合的无人机自主避障演示系统;并利用该无人机自主避障演示系统做了避障飞行实验,初步验证了融合方案在无人机自主避障飞行中的可行性。 框架解析: 前端由 Xilinx Spartan-6 XC6SLX16/45 FPGA采集AD数据,AD数据通过uPP或者EMIF总线传输至OMAP-L138的DSP。 数据被 DSP处理之后,通过DSPLINK或者SYSLINK双核通信组件被送往ARM,用于应用界面开发、网络转发、SATA硬盘存储等应用。 OMAP-L138的DSP或者ARM根据处理结果,将得到的逻辑控制命令送往FPGA,由FPGA控制板载DA实现逻辑输出。 ( 1) 高速数据采集前端部分由Xilinx Spartan-6 XC6SLX16/45 FPGA同步采集AD模拟输入信号,可实现对AD数据进行预滤波处理,另外一路DAC可输出任意幅值和任意波形的并行DA数据。 ( 2) 高速数据传输部分由uPP、EMIF、SPI和I2C通信总线构成。大规模吞吐量的AD和DA数据,可通过uPP总线在DSP和FPGA之间进行高速稳定传输;DSP可通过EMIF总线对FPGA进行并行逻辑控制和进行中等规模吞吐量的数据交换;ARM可通过SPI和I2C对FPGA端进行初始化设置和参数配置。 ( 3) 高速数据处理部分由DSP核和算法库构成。可实现对AD和DA数据进行时域、频域、幅值等信号参数进行实时变换处理(如FFT变换、FIR滤波等)。 ( 4) DSP+ARM双核通信部分由DSP核、ARM核和DSPLINK/SYSLINK双核通信组件构成。通过内存共享方式,实现DSP和ARM双核之间的数据交换和通信。 ( 5) 数据显示存储拓展部分由ARM核、图形显示、网络和SATA硬盘等部分构成。通过ARM的应用界面可实时显示AD和DA的时域和频域波形;并可实现大数据存储和远程网络通信。 1.1.1 OMAP-L138+FPGA 评估 板资源图 图 4 OMAP-L138+FPGA三核高速数据采集处理资源图 1.1.2 评估板简介 基于 TI OMAP-L138(定点/浮点 DSP C674x+ARM9)+ Xilinx Spartan-6 FPGA处理器; OMAP-L138 FPGA 通过uPP、EMIFA、I2C总线连接,通信速度可高达 228MByte/s; OMAP-L138主频456MHz,高达3648MIPS和2746MFLOPS的运算能力; FPGA标配为Spartan-6系列芯片XC6SL16,可升级至XC6SL45; 开发板引出丰富的外设,包含 SATA、SD、USB OTG、USB HOST、UART、双网络(1个千兆 FPGA端 、 1个百兆 DSP端 )、 ADC、DAC、DSP RS485/422、FPGA RS485、FPGA CAN、DSP RS232、FPGA RS232、RTC、 LCD , 引出了 MCASP、MCBSP、uPP、 SPI、 EMIFA、 I2C等接口,方便用户扩展。 DSP+ARM+FPGA三核核心板,尺寸为 72 mm* 44 mm,采用工业级B2B连接器,保证信号完整性; 支持裸机、 SYS/BIOS 操作系统、Linux 操作系统。 图 1 开发板 正面 图 图 2 开发板侧视图 XQ138F-EVM 是一款基于 广州星嵌 SOM-XQ138F 核心板设计的开发板,采用沉金无铅工艺的 4层板设计,它为用户提供了 SOM-XQ138F 核心板的测试平台,用于快速评估 SOM-XQ138F 核心板的整体性能。 SOM-XQ138F 核心板 采用沉金无铅工艺的 8 层板设计 , 引出 CPU全部资源信号引脚,二次开发极其容易,客户只需要专注上层应用,大大降低了开发难度和时间成本,让产品快速上市,及时抢占市场先机。不仅提供丰富的 Demo 程序,还提供详细的开发教程,全面的技术支持,协助客户进行底板设计、调试以及软件开发。 1.1.3 典型运用领域 数据采集处理显示系统 智能电力系统 图像处理设备 高精度仪器仪表 中高端数控系统 通信设备 音视频数据处理 图 3 典型应用领域 1.1.4 OMAP-L138+FPGA 评估 板简介 广州星嵌 设计的 XQ138F-EVM 是一款 DSP+ARM+FPGA三核高速数据采集处理开发板,适用于电力、通信、工控、医疗和音视频等数据采集处理领域。 此设计采用 OMAP-L138+Spartan-6平台,其中OMAP-L138是德州仪器(TI)低功耗高性能浮点DSP C6748+ARM9双核处理器,而Spartan-6是赛灵思(Xilinx)平台升级灵活、性价比极高的FPGA处理器。此设计通过OMAP-L138的uPP、EMIF等通信接口将两个芯片结合在一起,而OMAP-L138内部的DSP和ARM通过DSPLINK/SYSLINK进行双核通信,实现了需求独特、灵活、功能强大的DSP+ARM+FPGA三核高速数据采集处理系统。 1.1.5 Xilinx Spartan-6 FPGA和TI OMAP-L138通信实现 图 5 FPGA与OMAP-L138通信 框图 图 6 OMAP-L138 +FPGA核心板 高速通信总线 ——uPP uPP(Universal Parallel Port)是OMAP-L138 CPU颇具特色的高速并行数据传输总线,可以单独发送和接受数据,也可以同时接收和发送数据,常用于和FPGA以及其他并口设备数据传输。 OMAP-L138的uPP 共有2个通道(通道A和通道B),共有32位数据线,控制简单,配置灵活,数据吞吐量大。uPP时钟速率可高达处理器时钟速率的一半,对于在456MHz下运行的OMAP-L138处理器,uPP单通道吞吐量理论值可高达228MB/s。 1.1.6 TI OMAP-L138的DSP和ARM双核通信实现 图 6 OMAP-L138 DSP+ARM双核通信原理 基本原理 TI官方的DSPLINK/SYSLINK双核通信组件提供了一套通用的API,从应用层抽象出ARM与DSP的物理连接特性,从而降低用户开发程序的复杂度。其中DSPLINK使用DSP/BIOS操作系统,SYSLINK使用SYS/BIOS操作系统,SYSLINK属于DSPLINK的新版本双核通信组件。 在 ARM和DSP的双核通信开发中,ARM端运行HLOS操作系统(一般是Linux),DSP端运行RTOS实时操作系统(一般是DSP/BIOS或者SYS/BIOS),双核主频456MHz。 优势 ( 1) SOC片上DSP+ARM架构可实现稳定的双核通信,缩短了双核通信开发时间。 ( 2) DSPLINK/SYSLINK双核通信组件突破了双核开发瓶颈,节约了研发成本。 ( 3) SOC上的DSP和ARM架构简化了硬件设计,降低了产品功耗和硬件成本。
相关资源