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

技术

FPGA学习-Xilinx FPGA架构介绍

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

在学习FPGA一段时间之后,昨天和师兄交流面试题,题目中问CLB、LUT的概念,我都是不知道这是什么?经过学习,总结如下内容:

Vivado报告指定路径时序

Vivado运行Report Timing Summary时,只显示各个子项目最差的十条路径,很可能并不包含你最关心的路近,这个时候显示指定路径的时序报告就显得很重要了,下面就简单介绍一下Vivado下显示指定路径时序报告的流程。

汽车雷达传感器和拥挤不堪的无线电频谱: 城市电子战场?

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

随着汽车雷达越来越普及,城市环境中拥挤不堪的射频频谱将变成一个电子战场。雷达将面临无意或有意干扰的组合式攻击,设计人员必须像在电子战(EW)中一样实施反干扰技术。

汽车雷达通常会遭受拒绝式或欺骗式干扰。拒绝式干扰会致盲受害车辆雷达。这种技术会降低信噪比,导致目标检测的概率降低。另一方面,欺骗式干扰会让受害车辆雷达"认为"存在虚假目标。受害车辆雷达失去追踪真实目标的能力,故而受害车辆的行为受到严重影响。

这些干扰可能源于汽车雷达之间的相互干扰,或者是使用廉价硬件简单地将强连续波(CW)信号指向受害车辆雷达而故意发生的攻击。

Xilinx SDK 初学之——API函数笔记(GPIO函数)

初学Xilinx SDK的开发,下面记录使用到的API函数及自己的理解。若有误,还请指教。

用于汽车ADAS应用的以太网时间敏感网络

<font color="#FF8000">作者:John Swanson,Synopsys公司高级产品营销经理</font>

学会System Generator(11)——Black Box调用HDL代码

本文是该系列的第11篇。从前面的设计中可以看出,System Generator最适合的是完成DSP系统的设计,可以大大提高设计效率,而其它设计任务通常仍需要使用HDL模型来设计。

但是System Generator提供了一个特性:可以通过black box这个block将其它HDL文件以黑盒的形式封装到System Generator设计中,在仿真时使用Simulink+Vivado Simulator(或ModelSim)协同仿真的方法,在Simulink环境中完成设计的仿真测试。

在本系列的第2篇中,我们用Digital FIR Filter这个block完成了数字滤波器的设计。本文设计将把其中的滤波模块改为由HDL实现,借此介绍上述功能。

JTAG各类接口针脚定义及含义

JTAG有10pin的、14pin的和20pin的,尽管引脚数和引脚的排列顺序不同,但是其中有一些引脚是一样的,各个引脚的定义如下。

<strong>一、引脚定义</strong>

Test Clock Input (TCK) -----强制要求1

TCK在IEEE1149.1标准里是强制要求的。TCK为TAP的操作提供了一个独立的、基本的时钟信号,TAP的所有操作都是通过这个时钟信号来驱动的。

Test Mode Selection Input (TMS) -----强制要求2

TMS信号在TCK的上升沿有效。TMS在IEEE1149.1标准里是强制要求的。TMS信号用来控制TAP状态机的转换。通过TMS信号,可以控制TAP在不同的状态间相互转换。

锁相环(PLL)基本原理

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

<strong>摘要:</strong>
锁相环(PLL)电路存在于各种高频应用中,从简单的时钟净化电路到用于高性能无线电通信链路的本振(LO),以及矢量网络分析仪(VNA)中的超快开关频率合成器。本文将参考上述各种应用来介绍PLL电路的一些构建模块,以指导器件选择和每种不同应用内部的权衡考虑,这对新手和PLL专家均有帮助。本文参考ADI公司的ADF4xxx和HMCxxx系列PLL和压控振荡器(VCO),并使用ADIsimPLL(ADI公司内部PLL电路仿真器)来演示不同电路性能参数。

静态时序分析初步认识

静态时序分析是学习FPGA必须学习的一个知识点,通过一段时间的学习,先将自己所学到的一点静态时序分析的基础稍作总结。
<center><img src="http://xilinx.eetrend.com/files-eetrend-xilinx/blog/201808/13272-38695-…; alt=""></center>

卷积神经网络的最佳解释

CNN由由可学习权重和偏置的神经元组成。每个神经元接收多个输入,对它们进行加权求和,将其传递给一个激活函数并用一个输出作为响应。整个网络有一个损失函数,在神经网络开发过程中的技巧和窍门仍然适用于CNN。很简单,对吧?

那么,卷积神经网络与神经网络有什么不同呢?
<center><img src="http://xilinx.eetrend.com/files-eetrend-xilinx/article/201808/13270-386…; alt=""></center>

关于Xilinx FPGA FFT IP核的学习笔记

最近在做载波同步锁相环的时候,需要用到FFT核对AD采样数据进行傅里叶变换,以得到锁相环中NCO的初始频率控制字。关于FFT蝶形算法,包括高版本的FFT核(带AXI4协议)在这先不阐述了。

本文主要是记录7.1版本的FFT核学习仿真记录,把摸索过程中遇到一些问题和解决方法都记录下来,方便以后借鉴和使用。

关于zynq debug进入main函数或汇编函数的小技巧

相信很多朋友在调试ZYNQ的时候也遇到过这个问题,在SDK模式先DEBUG电路板的时候,执行完debug后,分布运行有时候进入C语言的main函数,有时候进入编译后的汇编main函数。

对于我这种汇编小白,C函数显得更容易理解,也方便调试。下面解释一下为什么会出现这两种现象,完全是因为我们操作的原因,因而完全可以避免。

Xilinx System Generator模块中各个常见选项的含义

1. Precision:仿真计算时可按任意精度定点数进行,Full Precision,提供足够的精度;User defined Percision,由开发人员定义位数和小数位。(FPGA上运行的是浮点型?)

2. Aritchmetic Type:可以定义无符号或带符号位(二进制补码)作为输出类型。

3. Number of bits:定义定点数的数据格式:位数,小数位。最大位数为4096。

学会System Generator(10)——支持的MATLAB语法

本文是该系列的第10篇,上一篇介绍了在System Generator设计中使用MCode模块调用MATLAB代码来完成逻辑控制。本文将介绍System Generator支持的所有MATLAB语法。

限于篇幅,本文只记录了经常用到或相对重要的内容,更详细的信息可以参考xilinx官方文档ug958->第一章->MCode小节。

<strong>MCode block特性</strong>
MCode用于在Simulink环境下执行MATLAB函数。MCode的名称与管脚即为函数名称与函数接口。在将System Generator设计导出到FPGA时,软件会将MATLAB代码转换为对应的HDL模型。MCode经常用于实现一些简单的算法功能、有限状态机和控制逻辑。

Zynq平台移植知识点

一、嵌入式Linux系统组成

Vivado常见问题集锦

<font color="#FF8000">作者:NingHeChuan(宁河川)</font>

 对于电子工程师来说,很多电路设计仿真软件都是特别大的,安装下来一般都是上G,甚至几十G,而且win7的兼容性也是最好的,不愿意升级win10是因为麻烦,而且没有必要,对于很多的设计软件来说win10还没有完全兼容,而且还不停自动更新,时间很珍贵的,谁愿意浪费大把时间搞什么兼容性问题,而不是code or design。所以EE一般会把Wndows自动更新关闭。对于普通用户来说就无所谓了,用电脑写写报告,看看片子,跟着win10升级还能体验到很多新功能,完全不会被兼容性问题困扰。关闭Windows10自动更新的方法请自行百度。

SDSoc学习(四):搭建包含AXI_GPIO的平台(解决找不到基地址的问题)

<strong>简介 </strong>
本篇博客大部分内容前三篇博客都已经包含了,此处重点叙述不同之处,主要对比Tcl命令的不同和解决SDSoc程序找不到基地址的问题。

使用ZedBoard开发板,SDSoc 2017.4, Win10系统;此处通过AXI_GPIO点亮ZedBoard板子上连接在PL端的8个LED灯。

<strong>Tcl命令</strong>
搭建平台的步骤在 SDSoc学习(二)中进行了较为详细的描述,同时也可以参见官方文档 ug1146 和 ug1236 。

8个Python高效数据分析的技巧

<strong>作者 | Conor Dewey</strong>
<strong>编译 | 专知</strong>
<strong>整理 | Yingying, Jiahui</strong>

不管是参加Kaggle比赛,还是开发一个深度学习应用,第一步总是数据分析,这篇文章介绍了8个使用Python进行数据分析的方法,不仅能够提升运行效率,还能够使代码更加“优美”。

学会System Generator(9)——MCode调用MATLAB代码

本文是该系列的第9篇。FPGA设计中经常用到一些控制逻辑,如有限状态机(FSM),如果用各种block搭建一个FSM比较麻烦。System Generator支持调用MATLAB代码,通常可以编写MATLAB代码来实现FSM等控制逻辑,通过MCode block调用到System Generator设计中。

本文将使用MATLAB代码设计一个FSM,对“1011”这个序列进行检测。序列检测应该是很多Verilog/VHDL学习者在学习FSM时接触到的一个简单设计。本文将以该设计在System Generator中的实现为主题,介绍MCode的使用。

本设计使用到的block
1.Xilinx block:
MCode(->Index):调用MATLAB函数

用Python玩FPGA背后的故事

近日,想必各位科技爱好者的朋友圈都被一篇发表在第25届IEEE国际讨论会上,用Python开发FPGA的论文刷屏了吧,那么这是如何实现的呢?今天,就请各位看官和小编一起来了解一下,这个构想的实现基础——PYNQ。
<center><img src="http://xilinx.eetrend.com/files-eetrend-xilinx/news/201808/13256-38595-…; alt="图为该篇论文"></center>