技术

逻辑电平之常见差分逻辑电平(4)

本篇主要介绍常用的差分逻辑电平,包括LVDS、xECL、CML、HCSL/LPHCSL、TMDS等。

1、LVDS电平

LVDS器件是近年来National Semiconductor公司发展的一种高速传输芯片,它的传输机制是把TTL逻辑电平转换成低电压差分信号,以便于高速传输。与传统的ECL逻辑相比,它采用CMOS工艺,它的电压摆幅更低,只有400mV,ECL为800mV,动态功耗更小,(输出电流3~5mA)只有ECL电路的1/7(相同的数据传输量),低EMI,价格更低,因而具有很大的优势,从97-98年首先在欧洲开始得到应用。

ANSI/TIA/EIA-644是由TR30.2制定的,这个标准定义了收发器的输入输出阻抗,但是这仅仅是一个电气特性标准。其并不包括功能性和协议规格,完全是应用独立的。

静态时序分析基础

<strong>建立时间,保持时间</strong>
为了确保寄存器在时钟沿稳定采集数据,那么必须要满足寄存器的建立,保持时间要求。

逻辑电平之CMOS Latch up(3)

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

本篇主要针对CMOS电平,详细介绍一下CMOS的闩锁效应。

<strong>1、Latch up</strong>

闩锁效应是指CMOS电路中固有的寄生可控硅结构(双极晶体管)被触发导通,在电源和地之间存在一个低阻抗大电流通路,导致电路无法正常工作,甚至烧毁电路。

<li>Latch up是指CMOS晶片中,在电源VDD和地线GND(VSS)之间由于寄生的PNP和NPN双极性BJT相互影响而产生的一低阻抗通路,它的存在会使VDD和GND之间产生大电流;</li>

Xilinx FPGA原语总结

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

Vivado HLS 程序优化(基础实例)

前言(本文基于赛灵思官方HLS文档UG871中的7.1节):

          在使用高层次综合,创造高质量的RTL设计时,一个重要部分就是对C代码进行优化。

          Vivado HLS拥有自动优化的功能,试图最小化loop和function的latency,为了实现这一点,软件会在loop和function上并行执行尽可能多的操作(比如说,在function级别上,高级综合总是试图并行执行function)。 

          除了这些自动优化,我们可以手动进行程序优化,即用在不同的solution中添加不同的directive的方法,进行优化和性能对比。其中,对同一个工程,可以建立多个不同的solution(解决方案),为不同的solution添加directive可以达到如下目的: 

在Zynq SoC上实现裸机(无操作系统)软件应用方案

Zynq™-7000 All Programmable SoC在单个器件上实现了ARM处理功能与FPGA逻辑独特的组合,因此需要双重的配置过程,同时需要考虑处理器系统和可编程逻辑。工程师会发现,其配置顺序与传统的赛灵思FPGA稍有差别。尽管如此,方法仍是相似的,生成引导镜像和完成配置存储器编程的难度不大。

  虽然标准的FPGA配置实践一般只需要FPGA bit文件,但是如果您想最大限度地利用Zynq SoC的优势,还需要添加另一种配置文件,即软件可执行与可链接格式(ELF)文件。FPGAbit文件用于定义设计中可编程逻辑部分的行为,而ELF文件则是处理系统将要执行的软件程序。

下面让我们来看看如何在Zynq SoC上实现裸机(无操作系统)软件应用。

Video Codec – Xilinx EV系列Video Codec基本介绍

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

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

上一期,我们重点学习了ZYNQ的PL开发,本期我们侧重于进行PS开发的学习。我们将在 VIVADO 开发环境下搭建 ARM+FPGA 的系统架构,并在 SDK 中编译软件实现软硬件联合开发。

本部分的学习,我们依旧借助得力的助手与伙伴——PYNQ_z2来完成。

一. 实验目的

1. 点亮开发板右下角三个灯

2. 输出“Hello,World!”

二. 实验要求

1. 在 VIVADO 中编译 bit 文件;

2. 在 SDK 中编译 elf 文件并将 FPGA 的 bit 文件和 ARM 处理器 的 elf 文件下载到开发板中

三. 实验步骤

逻辑电平之常见单端逻辑电平(2)

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

本篇主要介绍常用的单端逻辑电平,包括TTL、CMOS、SSTL、HSTL、POD12等。

<strong>1、TTL电平</strong>

关于Xilinx FPGA的DNA的使用场景和读取方法

作者:Evening

Xilinx每一个FPGA都有一个独特的ID,也就是Device DNA,这个ID相当于我们的身份证,在FPGA芯片生产的时候就已经写死在芯片的eFuse寄存器中,具有不可修改的属性,因为使用的是熔断技术。值得说明的是,在7系列及以前,这个ID都是57bit的,但是在Xilinx的Ultraslace架构下是96bit。

Vivado HLS 开发步骤(高级综合)

对于Vivado Hls来说,输入包括Tesbench,C/C++源代码和Directives,相应的输出为IP Catalog,DSP和SysGen,特别的,一个工程只能有一个顶层函数用于综和,这个顶层函数下面的子函数也是可以被综合的,会生成相应的VHDL和Verilog代码,所以,C综合后的RTL代码结构通常是跟原始C描述的结构是一致的,除非是子函数功能很简单,所需要的逻辑量很小。 通常在main函数以下的函数都可以被综合,也就是说,并不是所有的C/C++都可以被综合,动态内存分配和涉及到操作系统层面的操作不可以被综合。

利用Vivado学习Verilog之 UG901

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

<strong>一.概述</strong>

在文章《Verilog HDL入门思路梳理》我们说过应该如何去学习Verilog HDL描述。然而第一步,我们需要知道Verilog有哪些语法,它是否可以综合,可以用这个语法来描述什么逻辑功能电路呢?

其实Xilinx已经贴心地准备好了答案,还给你准备了一堆参考实例。

逻辑电平之基本概念(1)

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

本篇为逻辑电平系列文章中的第一篇,主要介绍逻辑电平相关的一些基本概念。后续将会介绍常见的单端逻辑电平(针对CMOS的闩锁效应进行详细介绍)、差分逻辑电平、单端逻辑电平的互连、差分逻辑电平的互连、一些特殊功能的互连、逻辑互连中的电流倒灌问题、以及逻辑电平的转换等。

<strong>1、常见逻辑电平</strong>

常见的逻辑电平如下:

Vivado SPI Flash程序下载疑问解答

由于Vivado下载程序步骤和ISE有较大差异,特此写此文章,希望对大家有所帮助。

1,下载文件生成
在.bit文件生成后,在TCL中输入
write_cfgmem -format mcs -interface spix4 -size 16 -loadbit "up 0x0 F:/Git/XGA/Display_HDMI/Display.runs/impl_2/Display.bit" -file FPGA_TOP.mcs

spix4为模式设置。
-size 16为Flash大小,单位Byte。
即可得到FPGA_TOP.mcs和FPGA_TOP.prm两个文件,后边需要用到这两个文件。

你真的会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中。