跳转到主要内容

技术

学会System Generator(12)——Black Box及配置文件详解

本文是该系列的第12篇,上一篇介绍了在System Generator设计中使用Black Box调用HDL代码的方法,并使用Simulink+Vivado Simulator进行了协同仿真。本文将对该block及其中涉及到的MATLAB配置文件作详细介绍。

同步FIFO的设计

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

本篇文章整理一下同步FIFO的实现。首先介绍一下FIFO的基础知识:

Xilinx SDK 初学之——API函数笔记(timer相关函数)

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

Zynq-7000 ARM端helloworld实验

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

<strong>1. 背景知识</strong>

Helloworld 实验总是各种编程语言的开始第一课,这里我们将使用xilinx zynq-7000芯片ARM端完成串口打印”Helloworld”实验,旨在体验一下zynq-7000 的开发流程,为以后的zynq-7000的开发打下基础。

<strong>2. Zynq-7000 HelloWord</strong>

本人使用的zynq-7000芯片为xc7z010clg400。

Vivado的工程创建我们在这里就不在详述。

Vivado使用技巧(13)——CSV文件定义IO Ports

<strong>定义I/O Ports信息</strong>
每个完整的FPGA设计必然包含I/O Ports定义与配置环节。I/O Ports包含了FPGA内部信号、管脚、PCB之间的连接关系。常用的设计方法有两种:
1. RTL工程:完成了RTL设计后,打开一个设计(如综合后设计)并换到I/O Planning View Layout,Vivado会自动从设计中读取I/O端口导入到I/O Ports窗口中,进行后续设置。

2. I/O Planning工程:可以在设计之前预先创建此工程,只定义I/O端口。此工程还可以读取包含I/O定义的CSV或XDC文件,将I/O信息导入到I/O Ports窗口。此类工程的意义是在设计前就确定好管脚约束信息,保证硬件设计与RTL设计工作同步展开。

Zynq串口调试中遇到的问题

<font color="#FF8000">作者:圆宵,来源:FPGA那点事儿</font>

串口是很常用的通信端口,其速率比较慢,控制也比较简单,一般来说,使用时不会出现太大的问题。但笔者前一阵调试一块zynq的板子,用CPU通过串口和板卡上的一款芯片进行通信时,却也碰到了不大不小的麻烦。现在把解决问题的过程分享出来,虽然犯的都是很low的错误,但是也希望能对读者有一些借鉴。

用于高功率机器视觉闪光灯的 LED 驱动器

<font color="#FF8000">作者:Keith Szolusha 和 Kyle Lawrence</font>
机器视觉系统使用非常短的强光闪烁来产生用于各种数据处理应用的高速图像。例如,快速移动的传送带通过机器视觉系统进行快速标签和缺陷检测。红外和激光LED闪光灯常用于近程和运动检测机器视觉。安全系统发出高速、难以察觉的LED闪光灯来检测运动,捕获和存储安全影像。

Vivado HLS 入门(二)

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

<strong>1 概述</strong>

Vivado HLS 是 Xilinx 提供的一个工具,是 Vivado Design Suite 的一部分,能把基于 C 的设计 (C、C++ 或 SystemC)转换成在 Xilinx 全可编程芯片上实现用的 RTL 设计文件 (VHDL/Verilog 或 SystemC)。

Xilinx SDK 初学之——PS对PL寄存器的读写控制

对于FPGA编程时的v文件中的寄存器,在SDK编程时需要一些读写操作,以实现PS与PL部分的信息交换。下面用一具体例子记录所需要的步骤 。如若有误请指正。

Vivado使用技巧(12)——设置DCI与内部参考电压

<strong>DCI与内部参考电压</strong>
Xilinx FPGA提供了DCI(Digitally Controlled Impedance)技术,包括两个功能:(1).控制驱动器的输出阻抗;(2).为驱动器或发送器添加一个并行端接,在传输线上得到精确的特征阻抗匹配,以提高信号完整性。DCI会主动调整I/O bank内的阻抗,以调整放在VRN和VRP管脚之间的外部精准参考电阻,这样可以补偿由于工艺变化、温度变化和电源电压抖动引起的I/O阻抗变化。每个I/O bank内都有两个复用引脚来控制该bank内所有I/O的阻抗或并行端接值。

FPGA中有符号数和无符号数的加法运算

FPGA中有符号数和无符号数的加法运算

首先定义一个B比特的二进制数:<img src="http://xilinx.eetrend.com/files-eetrend-xilinx/article/201808/13293-388…; alt="">

verilog HDL表示正数就按一般的规则即可,这里主要讲如何表示负数?

无符号数

Zynq AXI总线

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轮的数据突发传输;

FPGA实现Cortex-M0 SOPC的初步实践

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

cortex-M0是ARM公司的一款开源内核,以低功耗著称,本文提纲挈领的讲述了用FPGA实现SOPC的流程。

1、开源核心

Xilinx DDR IP详解与时序分析

DDR3:使用流程

一. 配置过程
1>首先找到IP核
<center><img src="http://xilinx.eetrend.com/files-eetrend-xilinx/article/201808/13290-388…; alt=""></center>

Vivado及Zynq使用经验

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核。

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>