技术

你真的会Xilinx FPGA的复位吗?

<font color="#FF8000">作者:NingHeChuan</font>

<strong>Get Smart About Reset: Think Local, Not Global。</strong>
  对于复位信号的处理,为了方便我们习惯上采用全局复位,博主在很长一段时间内都是将复位信号作为一个I/O口,通过拨码开关硬件复位。后来也看了一些书籍,采用异步复位同步释放,对自己设计的改进。

  不过自从我研读了Xilinx的White Paper后,让我对复位有了更新的认识。

基于FPGA的CPCI系统设计与实现

<font color="#FF8000">作者:魏建勇,来源:2018年电子技术应用第11期</font>

Vivado如何清理工程并保证不缺失必要文件

<font color="#FF8000">作者:材哥,玩儿转FPGA</font>

<strong>前言</strong>
vivado和ISE的使用差别很大,Vivado是专门针对7系列和以后系列的FPGA/AP SOC进行高效设计的工具,特别是最近提出的UltraFast设计方法,能够极大地提高开发效率。ISE在支持老版本器件的基础上,目前也支持7系列/ZYNQ的设计,但是效率不能和Vivado相比。关于vivado的基本使用这里不多说,主要把一些问题点整理成“错题集”,把一些小技巧进行归纳。

初识FPGA——如何理解时序电路

<font color="#FF8000">作者: 小鱼,Xilinx学术合作</font>

一. 概述
时序逻辑示意图,如下图所示。数据从一个寄存器出来,经过组合逻辑到达下一个寄存器。
<center><img src="http://xilinx.eetrend.com/files-eetrend-xilinx/article/201811/13907-407…; width="670"></center>

PYNQ系列学习(三)——pynq与zynq对比(二)

上一期的学习中,我们系统性地介绍了PYNQ与ZYNQ地区别与联系。PYNQ = Python + ZYNQ,即将ZYNQ部分功能的Python化,直接调用Python库和FPGA硬件库进行功能的开发。

Pynq降低了开发人员的门槛,但知其然也知其所以然,开发效率将会更高。因此,在进入PYNQ的python开发之前,我们先来学习ZYNQ的PL与PS开发,为接下来的学习提供良好的基础。

本部分的学习,我们依旧借助PYNQ_z2来完成。

<strong>1. ZYNQ功能块</strong>
ZYNQ中包含两大功能块:PS部分和PL部分。

【专家分享 】在Docker里玩转PetaLinux

<font color="#FF8000">作者:Alex He,Xilinx 嵌入式技术专家 </font>

Xilinx 嵌入式技术专家 Alex He 与大家分享在Docker里玩转PetaLinux的上手教程~

<strong>PetaLinux</strong>
PetaLinux是Xilinx推出的针对Zynq Soc, Zynq MPSOC嵌入式开发板的基于Yocto二次封装的Linux BSP构建工具,支持Ubuntu/CentOS/RedHat等多个版本。通常,我们都是将其直接安装在所支持的Linux OS中。

(SelectIO)新IP核学习的正确打开方式

<font color="#FF8000">作者: 做但不能忘思考,FPGA2嵌入式</font>

当我们使用一种新的IP核的时候,遇到的最大问题是:以前根本没有接触过的新东西,我们会感到恐惧,不知道如何下手。比如,SelectIO该怎么来实现LVDS的功能:

PYNQ系列学习(二)——pynq与zynq对比(一)

Zynq可扩展处理平台是赛灵思新一代 FPGA的可编程技术的产品系列。与采用嵌入式处理器的FPGA不同,Zynq产品系列的处理系统不仅能在开机时启动,而且还可根据需要配置可编程逻辑。采用这种方法,软件编程模式与全功能的标准ARM处理SoC毫无二致。

与之相关和不同的是,PYNQ = Python + ZYNQ,即将ZYNQ部分功能的Python化,直接调用Python库和FPGA硬件库进行功能的开发。

<strong>1. 实例图片</strong>
下面是ZYNQ系列与PYNQ系列中两款具有代表性的开发板:

利用FPGA进行基本运算及特殊函数定点运算

<font color="#FF8000">作者:没落骑士</font>

<strong>一、前言</strong>

  FPGA以擅长高速并行数据处理而闻名,从有线/无线通信到图像处理中各种DSP算法,再到现今火爆的AI应用,都离不开卷积、滤波、变换等基本的数学运算。但由于FPGA的硬件结构和开发特性使得其对很多算法不友好,之前本人零散地总结和转载了些基本的数学运算在FPGA中的实现方式,今天做一个系统的总结归纳。

<strong>二、FPGA中的加减乘除</strong>

1.硬件资源

Xilinx ZYNQ 7000+Vivado2015.2系列(六)创建一个基于AXI总线的GPIO IP并使用

FPGA+ARM是ZYNQ的特点,那么PL部分怎么和ARM通信呢,依靠的就是AXI总线。这个实验是创建一个基于AXI总线的GPIO IP,利用PL的资源来扩充GPIO资源。通过这个实验迅速入门开发基于总线的系统。

使用的板子是zc702。

AXI总线初识:

AXI (Advanced eXtensible Interface),由ARM公司提出的一种总线协议。总线是一组传输通道, 是各种逻辑器件构成的传输数据的通道, 一般由数据线、地址线、 控制线构成。 Xilinx从6系列的 FPGA 开始对 AXI 总线提供支持, 此时 AXI 已经发展到了 AXI4 这个版本, Vivado里都是基于AIX4的 IP。

基于模型的设计 | 现代无线通信系统的研发趋势

<font color="#FF8000">作者:单博,MATLAB</font>

十分钟开发自己的IoT

在本教程的带领下,你将在十分钟内学会在PYNQ-Z2板卡上使用传感器和LED开发自己的IoT应用!

<strong>初始化板卡</strong>
from pynq.overlays.base import BaseOverlay
base = BaseOverlay("base.bit")

十分钟开发自己的AI

在本教程的带领下,你将在十分钟内学会在PYNQ-Z2板卡上使用二值化神经网络开发自己的AI应用!

1. AI初学者入门第一步:分类
AI入门第一步就是对输入的图片进行分类。首先我们需要初始化一个分类器,根据最终实现分类目标的不同需要选择不同的数据集。我们可以在‘road-signs','streeview'和‘cifar10’三个数据集中选择其一,这里选择的是'road-signs'交通标志数据集。

import bnn
print(bnn.available_params(bnn.NETWORK_CNVW1A1))

Zynq UltraScale+系列之“外围接口概述”

<font color="#FF8000">作者:XCZ,来源:硬件助手</font>

本篇主要介绍ZU+系列MPSoC的外围接口,针对每个接口进行概述性介绍,后续会针对个别接口进行详细介绍原理图设计和PCB设计。

Xilinx ZYNQ 7000+Vivado2015.2系列(五)之ZYNQ的三种启动方式-JTAG、SD card、Flash

<strong>前言:</strong>

前面我们都是使用JTAG方式下载比特流文件,然后下载elf文件,最后点击Run as或者Debug as来运行程序。JTAG方式是通过tcl脚本来初始化PS,然后用JTAG收发信息,优点是可以在线调试,缺点是断电后程序就丢失了。为了解决程序丢失的问题,可以制作镜像文件烧写到sd卡或者flash中,上电即可加载程序。

ZYNQ有两大类启动模式:从BootROM主动启动,从JTAG被动启动。

在没有外部JTAG的情况下,处理系统(PS)与可编程逻辑(PL)都必须依靠PS来完成芯片的初始化配置。即借助CPU来完成配置,这也是ZYNQ系列的不同之处。

板子依然使用的是zc702.

xilinx zynq RapidIO系统配置

参考

书籍《RapidIO The Embedded System Interconnect》
xilinx手册pg007《Serial RapidIO Gen2 Endpoint v4.1 LogiCORE IP Product Guide》
Zynq-Linux移植学习笔记之14-RapidIO驱动开发

<font size="3"><strong>host初始化</strong></font>

直接看RapidIO的初始化,一些底层的比如物理层链路层之类的不需要关心,用到了再去看,毕竟都是基于芯片或者IP来开发。先从高层了解这个过程。

<strong>系统启动过程概述</strong>

嵌入式工程师如何用好GitHub

这年头GitHub可谓是程序员必备交友技能。毫无疑问GitHub现在已经是全球最大的开源社区了,也常常被人戏称为“全球最大同性交友平台”。

你可以在这里follow各种开源社区的技术大牛,学习到各种各样的开源技术和开源项目。

那么作为一个嵌入式工程师,我们应该如何用好GitHub呢?GitHub可以用来做些什么好玩有意思的事情呢?

<font size="3"><strong>追随开源项目</strong></font>

要说在嵌入式方面应用最广的是什么,大家一定不会忽略Linux。

Python这么火,编码风格不可不知!

<strong>分号</strong>
Tip
不要在行尾加分号, 也不要用分号将两条命令放在同一行。

<strong>行长度</strong>
Tip
每行不超过80个字符

例外:
1. 长的导入模块语句
2. 注释里的URL

不要使用反斜杠连接行。

Python会将 圆括号, 中括号和花括号中的行隐式的连接起来 , 你可以利用这个特点. 如果需要, 你可以在表达式外围增加一对额外的圆括号。

借助vivado来学习FPGA配置模式

DA(Vivado)软件可以很好的帮助我们更好的去学习FPGA相关知识,例如:

利用以太网为工业市场供电

<font color="#FF8000">作者:Matt Chevrier,德州仪器 </font>

为工业以太网器件供电需要解决工业以太网和工业应用的几个特定问题。