Xilinx 产品设计与功能调试技巧 - 第2页

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 

Xilinx 产品设计与功能调试技巧 - 第2页

yolanda
Moderator
Moderator

BSCANE2模块是FPGA中的一个特殊硬核模块,是联通外部JTAG管脚和FPGA内部用户逻辑的一个接口。

BSCANE2的定义和端口描述,可以在对应器件的Libraries Guide中找到。比如7系列的定义可以参考UG768,第4章。其基本功能介绍,请参考UG470, 第10章。

在FPGA中,JTAG管脚除了负责原始的芯片测试功能(IEEE1149.1),还主要用于下载和调试,比如ILA就是通过JTAG接口捕捉内部逻辑信号,送回ISE或Vivado,并在界面上直接显示和控制。BSCANE2其实就是实现这一内外沟通的关键核心模块,这部分实现对于用户来说是透明的。

那么如何利用BSCANE2模块,构建用户自己的专用内部扫描链/功能链呢?本文提供一个基于7系列的ISE版本的参考设计。通过FPGA的JTAG管脚,用户可以直接控制内部的逻辑实现自定义的功能。

UltraScale/UltraScale+的BSCANE2模块用法和7系列基本相同。

 

设计说明:

这是一个关于如何使用BSCANE2模块的简单实例。基于Xilinx的开发板KC705,该设计例化了一个BSCANE2模块,由USER1命令控制。通过JTAG接口发送标准和自定义的指令,可以实现:

1.      从运行的设计中读取32位的用户ID;

2.      从JTAG接口输入控制LED灯显示的字符串;

3.      从JTAG口向BRAM写入32位数据;

4.      从BRAM读出32位数据;

5.      向BRAM中一次写入1024 bits(可用于EDK设计中bootloader的修改,升级等)。

 

指令定义:

该设计的shift register定位为33位。其中第32位(从0开始计数)用于区分JTAG发送的是指令还是数据。Bit[32]为1,则送入的为指令;Bit[32]为0,则送入的为指令对应的数据。其他的JTAG寄存器均为32位。

33'h100000241 用户ID读取;

33'h100000242 LED灯显示控制;

33'h100000243 向BRAM写入32位数据;

33'h100000244 从BRAM读取32位数据;

33'h100000245 向BRAM写入1024位数据。

 

设计运行实现:

SVF文件可以以可读形式清楚的描述、记录JTAG链的动作,并可以在ISE/iMPACT或Vivado/HW Manager中直接执行。本设计使用SVF来实现以下功能:

1.  发送USER1指令‘02’,来选择和使能用户自定义的JTAG链;

2.  发送指令‘100000241’读取用户定义ID;

3.  发送指令‘100000242’获取一个二进制码,并送入7位LED灯显示;

4.  使用指令‘100000243’向BRAM中每次写入一个32位数据;然后使用指令‘100000244’将写入的数据逐个读出来。

5.  使用指令‘100000245’向BRAM写入1024位数据;如果需要写入的数据大于1024,则多次执行该指令即可。

 

 

更多
0 0 300
yolanda
Moderator
Moderator

BY Chao Zhang

如果你是一个嵌入式工程师,那么入门的第一个例子很可能就是 - 呼吸灯。在本次视频中,Xilinx的嵌入式工程师张超将和大家一起,用最简单的例子展示如何使用Xilinx Zynq UltraScale+ MPSoc器件,在搭载Linux操作系统的环境下进行的LED灯控制。

阅读更多内容...

更多
0 0 294
yolanda
Moderator
Moderator

By  Grace Sun

用户在用第三方仿真器对Vivado设计做仿真的时候,面临的第一个任务就是做仿真库的编译。事实上,后续相当一部分碰到的问题都与仿真库编译相关。今天,我们就来梳理一下关于仿真库编译的方方面面。

阅读更多内容...

更多
0 0 394
yolanda
Moderator
Moderator

BY Deepesh Man Shakya

lspci 命令和 setpci 命令均为 Linux 发行版中原生可用的命令。 这 2 条命令均可提供多级输出,适合在不同时间点用于查看 PCI 总线上训练的不同组件的功能和状态。

其中大部分功能均可反映《PCI Express 基本规范》中所需的配置空间寄存器。 与大部分命令一样,在 Linux 中可通过运行“lspci --help”或“man lspci”来获取实用的指示信息。

阅读更多内容...

更多
1 0 734
yolanda
Moderator
Moderator

Stephen MacMahon

在本篇博文中,我们将探讨如何在 Vitis™ 中使用 UIO 驱动框架创建简单的 Linux 用户应用。

阅读更多内容...

更多
1 0 406
yolanda
Moderator
Moderator

BY Xu Dong

RoE (Radio Over Ethernet) IP 可提供 2 个仿真流程示例:Block Automation 流程和 Open IP Example 流程。本文旨在为这 2 个流程提供一篇教程,以便向用户展示如何使用测试激励文件演示文件来控制 IP 配置。

 

阅读更多内容...

更多
0 0 416
yolanda
Moderator
Moderator

BY Stephen MacMahon

在本系列博客的前几篇博文中,我们讲解了如何创建硬件和软件工程。下一步,我们将讲解如何在 Vitis™ 中封装此工程。
随后,我们将在 Vitis 中通过创建简单应用并对其进行加速,以便对该工程进行测试。

阅读更多内容...

更多
0 0 409
yolanda
Moderator
Moderator

BY Stephen MacMahon

 

这是《创建 Vitis 加速平台》系列的第 3 篇博文。在前文中,我们讲解了如何创建硬件和软件工程。在本文中,我们将讲解如何在 Vitis™ 中将所有这些工程封装在一起。

 

阅读更多内容...

更多
0 0 652
yolanda
Moderator
Moderator

BY Hong Han

有时我们需要在设计网表的基础上微调一下逻辑,这样可以无需修改代码,也无需重新做综合,在设计调试中可以节省时间同时维持其他逻辑无任何改动.

这里带大家一起体验一下Vivado 的ECO流程,以vivado自带的Example Design为例, 直接用TCL命令修改网表,在正常的寄存器路径之间加一级LUT.

阅读更多内容...

更多
0 1 525
yolanda
Moderator
Moderator

BY Stephen MacMahon

这是《创建 Vitis 加速平台》系列的第 2 篇博文。

在前文中,我们讲解了如何创建硬件以及如何通过 XSA 将元数据 (metadata) 传递给 Vitis™。

在本文中,我们将讲解如何使用此 XSA 以及如何创建在目标平台上实现设计加速所需的软件镜像。

阅读更多内容...

更多
0 0 677
yolanda
Moderator
Moderator

BY Sam Hendrix

赛灵思为 FPGA 和 MPSoC 器件中所有受支持的 I/O 标准提供了 I/O 缓存信息规范 (I/O Buffer Information Specification, IBIS) 模型。

本篇博文旨在提供有关如何为可编程逻辑 (PL) 和处理器系统 (PS) 多用途 I/O (MIO) 进行 IBIS 模型名称解码的指导信息。  本文主要分 3 个部分。  

  1. PL I/O 标准
  2. PS MIO 标准
  3. PS DDR I/O 标准
阅读更多内容...

更多
1 0 423
yolanda
Moderator
Moderator

BY Stephen MacMahon

本篇博文系《创建 Vitis™ 加速平台的简单指南》的第 1 部分。在本文中,我们将讲解如何在 Vivado® Design Suite 中完成平台准备工作,以便将其用作为 Vitis 中的加速平台。

您既可以采用已确认的成熟设计作为平台,这样只需稍作改进便可灵活运用于加速软件功能,或者也可以采用仅含加速所需拓扑结构的简单基础平台。重点在于,此平台设计不是一次性的。平台也是可以更改的,这样即可随您的设计需求而变。

 

阅读更多内容...

更多
0 0 903
yolanda
Moderator
Moderator

BY Aoife Marsh

您是否想创建自己带有 AXI4-Lite 接口的 IP 却感觉无从着手?本文将为您讲解有关如何在 Vitis HLS 中使用 C 语言代码创建 AXI4-Lite 接口的基础知识。 

 

阅读更多内容...

更多
0 0 818
yolanda
Moderator
Moderator

BY Ivy Guo

一、什么是SEU现象

由于高能粒子的撞击,器件的存储单元内容有可能受到干扰,甚至出现翻转。这种单个存储单元的翻转现象(原有内容为0的变成1;或者原有为1的变成了0)就称为SEU (Single Event Upset)。

正常情况下,SEU现象不会导致器件的永久性损坏,并且通过重新配置器件即可纠正。但是如果错误位置位于设计的核心区域,或者错误随逻辑构建的功能模块逐级传递出去,均会导致设计异常。

阅读更多内容...

更多
0 0 410
yolanda
Moderator
Moderator

BY Olivier Tremois / Florent Werbrouck

VersalTM 自适应计算加速平台 (ACAP) 是基于 TSMC 7 nm FinFET 工艺技术构建的最新一代赛灵思器件。它利用高带宽片上网络 (NoC) 将代表处理器系统 (PS) 的标量引擎、代表可编程逻辑 (PL) 的自适应引擎与智能引擎有机结合在一起。
本文将着重介绍智能引擎中所包含的 AI 引擎。

阅读更多内容...

更多
0 0 389
yolanda
Moderator
Moderator

BY Giovanni Guasti

在数据处理中,对原始数据进行重塑或重新排序并创建多个副本是很常见的行为。无论执行任何新步骤,都会创建新副本。随着程序的增大,占用的内存也会增大,我几乎从未考虑过这个问题,直到遇到了“内存不足”错误。

张量 (tensor) 的神奇之处在于多个张量可引用同一存储空间,从而显著提升内存使用效率。

在下一篇的文章中,我将聊一聊张量所具有的更神奇的属性,即跟踪上级操作,但在本文中,我将主要介绍内存优化方面的内容。

 

阅读更多内容...

更多
0 0 335
yolanda
Moderator
Moderator

BY Gary Pan

此调试过程亦适用于10G,25G,40G,50G,100G以太网IP核,每个IP可能会有些细节上的不同,但整个自协商和Link Training过程是类似的,可以作为参考

如果是40G/50G,100G以太网,选的是多通道的IP,务必保证两端的通道0是正确对接上的,因为在做自协商的时候,以太网只使用通道0,其它通道需在自协商完成后再加入工作

阅读更多内容...

更多
0 0 809
yolanda
Moderator
Moderator

BY Leo Karnan

 

本篇博文主要讲解了动态更改 UltraScale/UltraScale+ GTH/GTY 收发器线速率设置的方法。

阅读更多内容...

更多
0 0 723
yolanda
Moderator
Moderator

BY Snehal Ullagaddi

通过之前的博文,我们已经学会了如何使用 Report QoR Assessment (RQA) 和 Report QoR Suggestions (RQS) 来改进总体设计分析以及设计的时序收敛体验。

本篇博文将通过一个具体设计示例来演示如何在实现流程中将 RQA 与 RQS 结合使用。  

阅读更多内容...

更多
1 0 415
yolanda
Moderator
Moderator

BY John Blaine

Report QoR Assessment (RQA) 用于详述您的设计 QoR 目标实现的可能性。

如果此命令返回的结果与您的期望不符,那么本篇博文包含了有关您可采取的后续行动的附加信息。本篇博文不仅适合首次使用这些命令的新用户,对于有经验的用户应该同样很实用。

阅读更多内容...

更多
1 0 448
yolanda
Moderator
Moderator

BY Andre Nunes Guerrero

在某些情况下,比如远程工作时,可能需要访问本地不可得的器件。

本篇简介教程演示了如何共享并访问位于远程实验室内的开发板或归同事所有的开发板。

 

阅读更多内容...

更多
1 0 430
yolanda
Moderator
Moderator

BY Keith Lumsden

现代 RF 信号链对于跨多通道的数据转换器性能具有极高的要求。换言之,对于赛灵思 RF Data Converter 而言,关键要求之一是在多个 ADC/DAC Tile、RFSoC 器件甚至开发板之间都必须保持同步。 

了解赛灵思如何探索多块同步 (Multi-Tile Synchronization) 问题解决之道,以支持实现波束成形、大规模 MIMO (Massive MIMO) 和相位阵列雷达。

 

阅读更多内容...

更多
0 0 568
yolanda
Moderator
Moderator

BY  Deepesh Man Shakya

 

赛灵思 PCI Express IP 随附以下集成调试功能。

  • JTAG 调试器
  • 启用 In-System IBERT
  • 第三代模式解扰器

JTAG 调试器 (JTAG Debugger)”可提供以下信息来帮助调试 PCI Express 链接训练问题:

  • LTSSM 状态的图形化视图
  • 基于 GUI 的接收器检测状态(对应已配置的每个通道)
  • PHY RST 状态机的状态

In-system IBERT 可提供 PCIe 链接眼图。“JTAG Debugger”和“In-system IBERT”功能结合在一起即可提供即时信息,用于判断链接训练问题的可能原因。

“第三代模式解扰器 (Gen3 Mode Descrambler)”选项可提供 PIPE 数据的解码接口。它允许用户查看 PCIe 链接上的数据包。如需了解有关该功能以及数据包解码方法的详细信息,请参阅本篇博文

阅读更多内容...

更多
0 0 504
yolanda
Moderator
Moderator

BY Nan Zang

本篇博文将为您提供入门指南,帮助您开始在赛灵思 Versal ACAP VCK190 评估板上运行以太网应用。其中提供了使用 2019.2 版的 Vivado Vitis VCK190 评估板上构建和运行以太网应用的相应设计创建步骤。

阅读更多内容...

更多
1 0 437
yolanda
Moderator
Moderator

BY John Blaine

本篇博文旨在介绍如何通过解决方法问题来帮助您制定出更有效的时序收敛决策。

 

阅读更多内容...

更多
0 0 599
yolanda
Moderator
Moderator

BY Deepak D N

XAPP1247 是对应使用屏障镜像时的多重启动 (Multiboot) 和回退 (Fallback) 的示例应用。本篇快捷指南博文提供了一种屏障定时器流程测试方法以及使用此方法时可能出现的问题。

阅读更多内容...

更多
0 0 363
yolanda
Moderator
Moderator

BY 

EFuse 具备一次性可编程特性,即只要使用特定密钥将“熔丝 (FUSE)”熔断,就无法再使用任何其他密钥对其进行编程。

在本文中,我们将探讨有关 AES 密钥验证步骤的内容,当您在器件上以物理方式对 EFuse 密钥进行编程时应遵循这些验证步骤进行操作。

阅读更多内容...

更多
0 0 416
yolanda
Moderator
Moderator

BY Deepesh Man Shakya

本篇博文提供了有关 QDMA Linux 内核驱动程序的安装和运行的视频分步详解和关联文档链接。此外还提供了其它调试信息。

本文应与驱动随附的“read me”自述文件和文档搭配使用。QDMA Linux 内核驱动程序可从以下链接下载:

https://github.com/Xilinx/dma_ip_drivers/tree/master/QDMA/linux-kernel

阅读更多内容...

更多
0 0 1,258
yolanda
Moderator
Moderator

BY Bandi Venkateswarlu

Vivado 集成设计环境支持将通用验证方法学 (UVM) 应用于 Vivado 仿真器。
本文涵盖了在 Vivado 中创建 UVM 示例设计的步骤。

阅读更多内容...

更多
0 0 628
yolanda
Moderator
Moderator

BY 泷泽雅治 (Masaharu Takizawa)

本篇博文涵盖了配置设备树以将外设和第三方应用详细信息添加到 PetaLinux 工程中的基本流程。

阅读更多内容...

更多
0 0 641