跳转到主要内容
瑞苏盈科专栏
我与瑞苏盈科板卡的开发故事

技术

“添加”少许FPGA :Arduino和Raspberry Pi新玩法

从前,嵌入式系统的开发从硬件开始。现在,可以再加入FPGA!面对应用需求越来越复杂的物联网细分市场,以及快速迭代和成本效益的挑战,选择一种现成套件用于无线传感节点原型设计和调试,是一种兼具开发效率和成本效益的解决方案,而全面的软件环境和优化的硬件平台可加快你的开发进度。在这个一连三集的开发板小系列,我们一起来了解更多

开发者分享 | 使用 ICAP 在 SPI 模式下执行 Spartan-3AN 多重启动

(UG332) 即为《Spartan-3 系列配置用户指南》。在此用户指南中,并未涵盖有关从 SPI 闪存启动时,如何使用内部配置访问端口 (ICAP) 来支持在 Spartan-3AN FPGA 内运行多重启动应用的用例。我们将在本篇博文中讲解此用例。

【问答】Versal ACAP PS GEM - GEM 控制器可能在大型发送卸载配置中触发错误的 Amba_Error

当在硬件配置中包含“大型发送卸载 (Large Send Offload)”并在缓冲区描述符中启用 LSO 功能时,GEM IP 可能通过中断状态寄存器的位 6(同样反映在发射状态寄存器的位 4 中)错误触发“amba error”中断事件。除了误报此错误外,并未观测到任何功能性问题,且仍可继续使用 LSO 卸载功能。

【问答】Versal ACAP,APU - 当有逐出传输事务处于暂挂状态时,外部数据嗅探可能导致数据损坏

如果 Arm Cortex-A72 处理器配置为向处于 UniqueClean (UC) 状态的缓存行发送逐出传输事务,那么 Cortex-A72 处理器可能返回陈旧数据并发出嗅探响应。

【问答】Versal ACAP、APU - ELR 错误报告序列中加密指令之间的中断

在 aarch32 模式下,如果执行的代码包含下面的加密指令序列,并且在执行第一条加密指令后立即断言并中断,ELR 会被记录为返回地址,产生的错误可能会导致数据损坏

【工程师分享】MicroBlaze大内部存储器(AXI BRAM)设计

MicroBlaze可以使用AXI BRAM存放数据和指令。有些客户软件很大,需要把AXI BRAM的空间做到最大。AXI BRAM底层是Block RAM或者Ultra RAM。器件的Block RAM或者Ultra RAM个数,决定了AXI BRAM的大小。

开发者分享 | 如何在Vitis加速设计中为Kernel创建面积约束

Alveo系列开发板上的平台其实是一个DFX设计的静态部分,在Vitis 统一软件平台中使用Alveo系列开发板设计加速Kernel, 最终这些Kernel的逻辑会在分布在DFX设计的动态区域。本篇将介绍如何为Kernel的逻辑做floorplan(画Pblock),人为控制Kernel逻辑的布局。

基于ZCU106来实现PL PCIE Tandem PROM功能,从而满足100MS之内主板能识别PCIE接口

现在大规模FPGA的bitstream比较大导致板卡从上电到FPGA配置完成的时间远远超过100MS的要求,从而电脑端无法正常识别到PCIE设备。为此Xilinx的PCIE Tandem功能是专为满足PCIe设备在100ms之内枚举起来要求而设计的。

开发者分享 | 如何确定一个硬件加速应用

在开发一个加速程序的之前,有一个很重要的步骤:正确设计程序架构。开发人员需要明确软件应用程序中哪一部分是需要硬件加速的,并且它多少的并行量,以保证硬件加速器件(FPGA)能完美发挥其作用。本文将分为5个步骤来介绍

FMCW​激光​雷达​原型​验证​和​测试

​调频​连续​波​(FMCW)​光​雷达​的​原型​验证​和​测试​面临​着​许多​挑战。​接​下来​让​我们​一起​探讨,​对​这些​挑战​进行​分解,​使​其​变得​可​管理​且​可​付诸行动,​并​学习​有关​如何​逐步​克服​组​件​级​到​系统​级​测试​挑战​的​实用​指南。

【工程师分享】精简Linux的源代码

Linux是现在最流行的操作系统,含有大量的源代码。Xilinx 2020.1使用的Linux 5.4,含有大约67430个文件。大部分文件没有被使用到。分析Linux源代码的代码实现时,经常查找函数或者数据结构定义。如果分析所有文件,既消耗软件查找时间;也会找到多个定义,增加理解代码的难度

基于ZYNQ的内窥镜方案 (OV6946 OV9734 OH0TA10等)

这一次,熊猫君分享一个内窥镜的技术实现方案。内窥镜的方案很多:主处理器有用专用ASIC的,比如日、台、韩的相机ASIC;有用专用CPU的,比如海思、瑞星微和君正等。熊猫君的这个是基于Xilinx ZYNQ的低成本方案。

Versal ACAP, RPU - 为调试寄存器 DBGDSAR 设置的值错误

每个 RPU 处理器都有 1 个 DBGDSAR 寄存器,其中包含其 CoreSight ROM 表的偏移地址。但是,读取 RPU 的 DBGDSAR 寄存器会返回以下不正确的偏移值:

【工程师分享】升级Vivado工程脚本

Vivado可以导出脚本,保存创建工程的相关命令和配置,并可以在需要的时候使用脚本重建Vivado工程。脚本通常只有KB级别大小,远远小于工程打包文件的大小,因此便于备份和版本管理。下面把前述脚本升级到Vivado 2020.2为例,讨论如何升级Vivado工程脚本。

Versal ACAP,APU - 持续逐出与互连反压相结合可能导致写回无分配存储发生停滞

在任何一致的 ACE 系统中,启用 WriteUnique/WriteLineUnique (WU/WLU) 传输事务后,如果在有一项或多项高速缓存逐出事务处于暂挂状态时尝试执行存储,那么写回无分配 (WBNA) 存储可能发生停滞。

开发者分享 | 如何在Vitis中设定Kernel 的频率

在Vitis 统一软件平台中使用Alveo系列开发板设计加速Kernel时,系统会自动为Kernel的时钟设置默认频率。以 xilinx_u200_qdma_201910_1 平台为例,在Vitis中选择平台时可以看到默认的时钟频率是300Mhz和500Mhz。

Versal ACAP PS GEM - GEM 控制器可能在大型发送卸载配置中触发错误的 Amba_Error

当在硬件配置中包含“大型发送卸载 (Large Send Offload)”并在缓冲区描述符中启用 LSO 功能时,GEM IP 可能通过中断状态寄存器的位 6(同样反映在发射状态寄存器的位 4 中)错误触发“amba error”中断事件

【工程师分享】MPSoC设计中USB Phy的复位信号

在Xilinx的ZCU102和ZCU106单板设计中,使用了管脚PS_MODE1作为外部USB Phy的复位信号。在MPSoC的文档ug1085和ug1087中,关于PS_MODE1的信息比较少。下面是更详细的描述。

Versal ACAP,RPU - 处理器可能发生死锁或者数据丢失

Arm Cortex-R5F 处理器包含 1 个 4 输入存储缓冲器,用于对数据先进行缓冲、合并和转发,然后再使用 AXI 主接口将数据写入高速缓存或 L2 存储器系统。由于此错误,存储缓冲器可能进入所有现有写入都无法继续执行的状态。此状态可能会导致下列问题:

开发者分享 | PetaLinux 镜像调试系列-在 Vitis 中调试 ARM 可信固件和 U-boot

在本篇博文中,我们将探讨如何在 Vitis 中调试 Zynq UltraScale 器件启动镜像。这些启动镜像包括 ARM 可信固件 (ATF) 和 U-boot。