中级知识库

为有一定FPGA开发基础的工程师提供进阶所需的设计知识、方案分析以及深度技术介绍。

【白皮书】Versal: 首款自适应计算加速平台 (ACAP)

近来涌现的技术挑战迫使业界跳出传统的通用(one-size-fits-all)型CPU标量处理解决方案,进而探讨新的发展方向。大型的矢量处理(DSP-GPU)技术能够解决一些问题,但由于其灵活性欠佳及低效率存储器带宽的使用,导致再次陷入了传统的扩展挑战。传统FPGA解决方案提供可编程存储器层级,但传统的硬件开发流程一直是阻碍数据中心市场等应用领域广泛、大规模采用FPGA的障碍。

该解决方案将所有这三大要素与一个新的工具流相结合,通过单个自适应技术加速平台(ACAP),提供了从框架到C到 RTL级编码的各种不同抽象。赛灵思Versal ACAP作为一大新器件门类,支持用户利用三大可编程要素定制自己的特定领域专用架构(DSA)。

下一次 IT 变革:边缘计算(Edge computing)

外媒 ZDnet 发布了此篇边缘计算领域的重要文章,详细分析了各机构不同的定义、市场状况、前景等,经编译,供各位参考。

数十亿物联网设备和5G网络这两股力量必将推动计算工作负载的部署方式发生深远而重大的变化。

近年来,计算工作负载一直在迁移:先是从本地数据中心迁移到云,现在日益从云数据中心迁移到更靠近所处理的数据源的“边缘”位置。旨在缩短数据的传输距离,从而消除带宽和延迟问题,最终提升应用和服务的性能和可靠性,并降低运行成本。

这倒不是说本地环境或云中心已死亡;一些数据总是需要存储在集中的地方并加以处理。但数字基础设施无疑在发生变化。比如据Gartner声称,到2025年,80%的企业将关闭传统数据中心,而2018年这个比例只有10%。工作负载的布置是这次基础设施演变的关键驱动因素,工作负载的布置有赖于各种业务需求,这家调研公司称:

随着最近业务驱动的IT项目不断增加(通常超出传统IT预算的范围),实施物联网解决方案、边缘计算环境和“非传统”IT的现象在迅速增多。此外日益关注面向外部的应用的客户体验,并日益关注糟糕的客户体验给企业声誉带来的直接影响。关注外部的这种形势导致许多企业组织基于网络延迟、客户群体和地缘政治限制因素(比如欧盟的《通用数据保护条例》即GDPR或监管方面的限制),重新考虑某些应用的布置。

用FPGA对ASIC进行原型验证的过程

鉴于芯片设计的复杂度提升, 成功设计一个芯片所牵扯的步骤与过程也愈加复杂,所需花费的资金也成倍增加,一个典型的芯片开发项目的周期和花销如下所示

可以见到在芯片制造出来之前,很多精力会花费在RTL代码验证工作上,另外软件的相关开发工作,也会在得到芯片前开始,这2方面都需要借助FPGA原形来模拟芯片的行为,帮助硬件开发和软件开发者,共同提升工作效率。

FPGA原型在数字芯片设计中,基本是必不可少的,原因非常明显,相比用仿真器,或者加速器等来跑仿真,FPGA的运行速度,更接近真实芯片,可以配合软件开发者来进行底层软件的开发。当然FPGA原型作为芯片的替身,也是有诸多限制的,比如规模限制,速度限制,功耗限制,结构限制等,在使用FPGA原型作为芯片的替代时,需要进行相应的修改,才能完成相应功能,甚至有些功能最终无法覆盖。

如果对FPGA中可以映射为ASIC的资源做逐一对比,我们可以得到这样的表格。

HDMI协议解析

本文从软件工程师角度对HDMI spec进行解析,基于的spec版本为1.4,也是设备支持最多最成熟的版本,目前最新版本为2.0。

1 概述

HDMI(High-Definition Multiface Interface)是Hitachi, Panasonic, Philips, SiliconImage, Sony, Thomson, Toshiba几家公司共同发布的一款音视频传输协议,主要用于DVD, 机顶盒等音视频source到TV,显示器等sink设备的传输。传输基于的是TMDS(Transition Minimized Differential Signaling)协议。此外,使用TMDS也是DVI标准的主要特点 。

2 物理结构

Xilinx Ten Giga Sub System IP 使用

IP核描述

10 Giga Ethernet Sub System , 参考文档PG157:

https://www.xilinx.com/support/documentation/ip_documentation/axi_10g_et...

IP核提供一个MAC模块和一个PCS/PMA模块,PCS/PMA模块支持10GBASE-R/10GBASE-KR。客户端接口协议为AXI4 Stream,有32bits和64bits两种位宽,对于10GBASE-R,32bits位宽接口有着低延迟和低资源消耗的优势。AXI4-lite为可选接口,用于配置IP核内部寄存器。IP核支持DIC机制,支持Vlan和jumbo帧,支持客户定制Preamble。支持BASE-R上的1588时钟机制(onestep & two step)。

IP核总体框架如下图所示:

IP核生成

按如下步骤生成IP核:

DVI-to-RGB(Sink)IP User Guide

1、介绍
本用户指南介绍了Digilent DVI-to-RGB视频解码器知识产权。 该IP直接连接到Sink器件的DVI 1.0规范中定义的原始转换最小化差分信号(TMDS)时钟和数据通道输入。 它解码视频流并输出24位RGB视频数据以及从TMDS链路恢复的像素时钟和同步信号。

2、特性
•直接连接到顶级数字视频接口(DVI)端口
•24位视频(带同步信号的时钟并行视频数据)输出
•带有内置EDID ROM的显示数据通道接口
•支持的分辨率:1920x1080 / 60Hz至800x600 / 60Hz(148.5 MHz - 40 MHz)
•EDID中可选的首选分辨率
•使用Xilinx接口:IIC,vid_io
•使用Digilent接口:TMDS

3、性能

如何用Python编写你最喜欢的R函数?

本文介绍了采用创建一个Python脚本,用该脚本模仿R风格的函数的方法来方便地进行统计。

是用R语言还是用Python语言?这是一个旷日持久的争论。在此,我们可以尝试采用折中路线:创建一个Python脚本,用该脚本模仿R风格的函数,来方便地进行统计!

简介
用R语言还是用Python语言?这是数据科学和机器学习的一场大的争论。毫无疑问,这两种语言在最近几年都取得了巨大的进展,成为数据科学、预测分析和机器学习的首选编程语言。事实上,在IEEE新近的一篇文章中,Python取代C++成为2018年的顶级编程语言,R已经牢牢地保住了它在前10名中的位置。

然而,这两种编程语言之间存在着一些本质的差异。R主要是为数据分析问题的统计分析和快速原型化而开发的工具。另一方面,Python作为一种通用的现代面向对象语言,与C或Java相似,它具有更简单的学习曲线和更为灵活的行为方式。因此,R在统计学家、定量生物学家、物理学家和经济学家中仍然非常受欢迎,而Python逐渐成为日常脚本、自动化、后端web开发、分析和通用机器学习框架的首选语言,Python语言的技术支持基础比较广泛,同时还有许多开源社区。

如何在Python环境中模仿函数式编程?

DDR3 SDRAM IP 的写时序

作者:OpenSLee ,来源:FPGA开源工作室

1. 背景

这篇文章主要介绍了DDR3IP核的写实现。

2. 写命令和数据总线介绍
DDR3 SDRAM控制器IP核主要预留了两组总线,一组可以直接绑定到DDR3 SDRAM芯片端口,一组是留给用户端使用的,框图如图1所示。

如图1 所示的中间部分为我们调取的IP 核,user FPGA Logic 为用户端逻辑,DDR2/DDR3 SDRAM 为存储芯片。其中IP 核与存储芯片之间的总线大部分以ddr 作为开头,这部分总线我们只需要在top 模板设为端口即可,无需我们控制。用户端与IP 核之间的总线大部分以app 作为开头,并且从用户端输出到IP 核的信号线需要我们产生。

基于Vivado HLS的Canny算法实时加速设计

作者:谭检成1,2,吴定祥2,3,李明鑫1,2,唐立军1,2;2018年电子技术应用第9期

摘要: 针对Canny边缘检测算法在实时图像处理过程中运算耗时长、数据运算量大的缺点,研究了利用Vivado HLS实现Canny边缘检测算法的硬件加速方法。该方法由FPGA的逻辑资源生成算法对应的RTL级硬件电路,实现算法硬件加速。实验结果表明,该方法能快速实时检测图像边缘,有效降低FPGA设计图像算法的难度,可以应用到实时视频图像处理中。

0 引言

作者:Steve Leibson

人们经常需要开发定制的仪器用于实验或生产测试。早期的方法是通过 GPIB/IEEE-488 接口来连接仪器,并通过台式电脑或工作站进行控制。如今流行的则是 PXI 和 PXI Express 机架系统等更加模块化的方法。然而,此类安装可能很昂贵,尤其对于一次性测试或一次性堆叠更是如此。

为加快开发速度并降低定制仪器的成本,设计人员应考虑具有充足板载模数转换器 (ADC) 或数模转换器 (DAC) 资源的单板仪器平台,所有资源均由嵌入式处理器和配套的 FPGA 进行控制。

本文将展示如何使用基于处理器/FPGA 的系统级模块 (SoM) 以及附带的开发工具来开发定制仪器。依托一个由社区支持的仪器设计开放市场,这种仪器开发方式可以避免开发硬件的需要,并可以开发出紧凑的低成本工具,用于开发多种类型的仪器。

仪器系统历史简述

同步内容