技术
FPGA中有符号数和无符号数的加法运算
首先定义一个B比特的二进制数:<img src="http://xilinx.eetrend.com/files-eetrend-xilinx/article/201808/13293-388…; alt="">
verilog HDL表示正数就按一般的规则即可,这里主要讲如何表示负数?
无符号数
zynq AXI是很重要的内容,本篇仅是简单的介绍。大量参考了其他书籍。
AXI (Advanced eXtensible Interface) 本是由ARM公司提出的一种总线协议, Xilinx从 6 系列的 FPGA 开始对 AXI 总线提供支持,目前使用 AXI4 版本。
1.AXI总线
ZYNQ有三种AXI总线:
(1)AXI4:(For high-performance memory-mapped requirements.)主要面向高性能地址映射通信的需求,是面向地址映射的接口,允许最大256轮的数据突发传输;
<font color="#FF8000">作者:葛兴</font>
cortex-M0是ARM公司的一款开源内核,以低功耗著称,本文提纲挈领的讲述了用FPGA实现SOPC的流程。
1、开源核心
DDR3:使用流程
一. 配置过程
1>首先找到IP核
<center><img src="http://xilinx.eetrend.com/files-eetrend-xilinx/article/201808/13290-388…; alt=""></center>
1.添加debug核的合理方法是在源代码中添加(*mark_debug="true"*),综合后,打开综合结果,set debug内这些标记的信号全部在网标内,不会被优化掉。如果不在代码里加这些标记,直接在综合结果里添加net,很多感兴趣的信号会被优化掉,且残缺不全。
2.若果debug核使用的时钟是zynq ps端输出的时钟,那么烧录完bit文件后,是不会自动弹出debug界面的,需要在软件工程里,debug软件工程,让cpu跑起来,产生时钟信号,再回vivado内refresh device,即可弹出debug界面。
3.自定义IP内代码被改动后,Block Design内会提醒刷新IP路径,然后在窗口下方勾选改动的IP,点击UPDATE IP按钮,即可更新IP核。
<font color="#FF8000">作者:Kevin Zhang</font>
在学习FPGA一段时间之后,昨天和师兄交流面试题,题目中问CLB、LUT的概念,我都是不知道这是什么?经过学习,总结如下内容:
Vivado运行Report Timing Summary时,只显示各个子项目最差的十条路径,很可能并不包含你最关心的路近,这个时候显示指定路径的时序报告就显得很重要了,下面就简单介绍一下Vivado下显示指定路径时序报告的流程。
<font color="#FF8000">作者:Sefa Tanis</font>
随着汽车雷达越来越普及,城市环境中拥挤不堪的射频频谱将变成一个电子战场。雷达将面临无意或有意干扰的组合式攻击,设计人员必须像在电子战(EW)中一样实施反干扰技术。
汽车雷达通常会遭受拒绝式或欺骗式干扰。拒绝式干扰会致盲受害车辆雷达。这种技术会降低信噪比,导致目标检测的概率降低。另一方面,欺骗式干扰会让受害车辆雷达"认为"存在虚假目标。受害车辆雷达失去追踪真实目标的能力,故而受害车辆的行为受到严重影响。
这些干扰可能源于汽车雷达之间的相互干扰,或者是使用廉价硬件简单地将强连续波(CW)信号指向受害车辆雷达而故意发生的攻击。
本文是该系列的第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有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在不同的状态间相互转换。
<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>
最近在做载波同步锁相环的时候,需要用到FFT核对AD采样数据进行傅里叶变换,以得到锁相环中NCO的初始频率控制字。关于FFT蝶形算法,包括高版本的FFT核(带AXI4协议)在这先不阐述了。
本文主要是记录7.1版本的FFT核学习仿真记录,把摸索过程中遇到一些问题和解决方法都记录下来,方便以后借鉴和使用。
相信很多朋友在调试ZYNQ的时候也遇到过这个问题,在SDK模式先DEBUG电路板的时候,执行完debug后,分布运行有时候进入C语言的main函数,有时候进入编译后的汇编main函数。
对于我这种汇编小白,C函数显得更容易理解,也方便调试。下面解释一下为什么会出现这两种现象,完全是因为我们操作的原因,因而完全可以避免。
1. Precision:仿真计算时可按任意精度定点数进行,Full Precision,提供足够的精度;User defined Percision,由开发人员定义位数和小数位。(FPGA上运行的是浮点型?)
2. Aritchmetic Type:可以定义无符号或带符号位(二进制补码)作为输出类型。
3. Number of bits:定义定点数的数据格式:位数,小数位。最大位数为4096。
本文是该系列的第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经常用于实现一些简单的算法功能、有限状态机和控制逻辑。