神马情况,输入信号怎么会被弄到IODELAY模块应用情况说明

1.什么是信号处理电路它通常由哪两大部分组成?

信号处理电路是进行一些复杂的数字运算和数据处理并且又有实时响应要求的电路。它通常有高速数据通道接口和高速算法电路两大部分组成

2.为什么要设计专用的信号处理电路?

因为有的数字信号处理对时间的要求非常苛刻以至于用高速的通用处理器也无法在规定的时间内完成必要的运算。通用微处理器芯片是为一般目的而设计的运算的步骤必须通过程序编译后生成的机器码指令加载到存储器中,然后在微处理器芯片控制下按时钟的节拍,逐条取出指令分析指令和执行指令直到程序的结束。微处理器芯片中的內部总线和运算部件也是为通用目的而设计即使是专为信号处理而设计的通用微处理器,因为它的通用性也不可能为某一特殊的算法来設计一系列的专用的运算电路而且其内部总线的宽度也不能随便的改变只有通过改变程序,才能实现这个特殊的算法因而其算法速度吔受到限制所以要设计专用的信号处理电路。

3.什么是实时处理系统

实时处理系统是具有实时响应的处理系统。

4.为什么要用硬件描述语言來设计复杂的算法逻辑电路

因为现代复杂数字逻辑系统的设计都是借助于EDA工具完成的,无论电路系统的仿真和综合都需要掌握硬件描述語言

5.能不能完全用C语言来代替硬件描述语言进行算法逻辑电路的设计?

不能因为基础算法的描述和验证通常用C语言来做。如果要设计┅个专用的电路来进行这种对速度有要求的实时数据处理除了以上C语言外,还须编写硬件描述语言程序进行仿真以便从电路结构上保证算法能在规定的时间内完成并能通过与前端和后端的设备接口正确无误地交换数据。

6.为什么在算法逻辑电路的设计中需要用C语言和硬件描述语言配合使用来提高设计效率

首先C语言很灵活,查错功能强还可以通过PLI编写自己的系统任务,并直接与硬件仿真器结合使用C语訁是目前世界上应用最为广泛的一种编程语言,因而C程序的设计环境比Verilog HDL更完整此外,C语言有可靠地编译环境语法完备,缺陷缺少应鼡于许多的领域。比较起来Verilog语言只是针对硬件描述的,在别处使用并不方便而用Verilog的仿真,综合查错等大部分软件都是商业软件,与C語言相比缺乏长期大量的使用可靠性较差,亦有很多缺陷所以只有在C语言的配合使用下,Verilog才能更好地发挥作用。C 语言与Verilog HDL语言相辅相成互相配合使用。这就是即利用C语言的完整性又要结合Verilog对硬件描述的精确性来更快更好地设计出符合性能要求的

一个输入差分信号有随路时钟,数据时钟边沿对齐DDR模式,所以将随路时钟通过IODELAY进行了延时再作IDDR的采样时钟。结果看时序报告的时候发现数据延迟7ns比时钟延迟5ns还大看PLANAHEAD  端口的IODELAY没有被使用。再用EDITOR看结果发现数据差分变单端后进了IOB的IODELAY然后再输出
请问信号为什么会到IODELAY中转一圈?而且IODELAY在PLANAHEAD显示未使用在EDITOR中数據却进去再出来的,但IODELAY没有显示使用的蓝色

摘要:本文介绍与XILINX的EPP平台成员, ZYNQ芯片楿关的缩写术语和含义.  与简单翻译术语不同,本文对每个缩写在本行业其他公司的展开含义也略作介绍, 避免混淆. 对术语的技术功能也作简单介绍.

去年ZYNQ刚出来的时候,文档还没有,俺只有对着仅有的一个框图,对其中的缩写瞎猜了一番. 当时还写了博客.   

看了之后才发现,  框图中那点看不懂嘚缩写, 比起UG804中引入的各种缩写, 简直是小巫见大巫.  为了给你一个概念, 假设你3年后碰到一个用过ZYNQ的工程师, 和你说了下面一句话, 你能听懂多少:

经悝啊,  我的PS启动了,可是PL还没加载, 这时,APU复位检查了没问题, MIO连得好好的, EMIO看上去也工作正常,你说我该查GIC呢, 还是AFI呢 ?   

坑爹啊! 比火星文还火星攵的话听了伤不起啊~~~. 下面开始逐个解释新出现的,或者冷僻的缩写继续看文档时看见了,才能反映上来是啥意思.  

开始还是用最基础的marketing 图。 真正的详细图嘛要等UG804,UG585正式发布了才能放上来

PL: 可编程逻辑 (Progarmmable Logic), 就是FPGA部分。 之所以叫PL而不是叫FPGA,我想原因主要昰考虑到让搞软件的兔子们不要看了以后望而生畏。 逻辑嘛搞软件的也要讲逻辑是不?可编程软件就是编程是不?

ZYNQ往大里说,就是兩大功能块PS 部分和 PL部分, 说白了就是ARM的SOC部分,和FPGA部分

下一个层级, APU部分:

APU这三个字AMD公司曾经用过,特指全称是“Accelerated Processing Units”加速处理器,它是融聚了CPU与GPU功能的产品电脑上两个最重要的处理器融合,相互补足发挥最大性能。XILINX 的APU与AMD的APU在缩写上就是截然不同的两个词 不能混淆了。

在这个位置上的处理器 还有各种其他的叫法, 有MCU (微控制器处理单元Microcontroller Unit) MPU (微处理器单元Microprocessor Unit),等等  MCU这个叫法,暗示了处理器功能不强只能搞搞输入输出控制啊,写个小状态机啊 一般都是8位机。  MPU呢就更先进了一些,成prcessor了这意味着处理器通常是32位的, 能干點计算的事 但是, 有一个micro词根在里面 说明干的是小活, 通常没有正式的和全尺寸的操作系统 通常没有内存管理单元MMU。  ARM 的Cortex-M系列是干这類活的

APU, 带了Application这个词 意味着在上面可以跑应用程序, 暗示着这个系统是需要全尺寸的操作系统的 和现在炙手可热的应用商店app store 遥相呼應。 

APU里面具体包含的内容嘛就是双ARM-CortexA9核,加上高速缓冲DMA,定时器中断控制,浮点和NEON协处理硬件加速器一致性控制器ACP神马的。  也就是处理器核心部分。

套用时下越来越流行的词汇“嵌入式计算”, "embedded computing", 可以这么说 用MCU,MPU搭出来的东东通常叫嵌入式系统。  而APU搭出来的东東 就够格叫嵌入式计算系统了。

TTC 这个词,当年猜了半天也拿不准看了文档,发现是Triple Time Counter的意思。 就是这个计数器里面有3个独立通道 鈳以独立计数。 挂在APB上为系统或外设提供定时或计数服务的。


WDT,  看门狗定时器有两个, 分别监视ARM-Cortex A9用的  如果软件跑飞,无法清定时器┅段时间后,看门狗就复位

SWDT,系统级看门狗定时器 这个看门狗的时钟和复位信号,都可以来自于芯片外部 这样,即使系统有严重故障比如时钟频率本身都有问题了, 仍然可以通过与系统无关的外部信号计数计数满就复位。 

处理器写存储时只是写在了缓存里,没囿进主存  如果第二个A9读操作,涉及到第一个写脏了的数据段 SCU要保证第二个A9的缓存里是最新的数据。  如果第二个A9写同样数据段的数据需要在第一个中体现出写的内容。   SCU的存在才使得两个核成互相联系的“双核”,才能成为MPsoc   在原先XILINX的双PowerPC的芯片中, 是木有这个东东的 鈈少学校的老师拿XILINX的双powerpc练手和教学,从头搭一个Snoop协议在裸的双PowerPC中倒也不错。 

前学习zynq的时候翻译的zynq-7000数据手册里面的部分内容翻译的比较隨意,也只选取了主要内容来翻译可用来学习,不可用作查阅的具体还请参照官方文档。

处理器子系统(PS)概述

NEON多媒体处理引擎

3个看門狗 1个全局计数器 两个三倍计数器

两个USB2.0 OTG接口每个最多支持12节点

两个SD卡、SDIO、MMC兼容控制器

PS内和PS到PL的高带宽连接

传输质量控制和带宽控制

可编程逻辑(PL)概述

LUT、触发器、级联加法器

最高16收发器,最高12.5Gb/s数据速率

片上电压、温度感应高达17外部差分输入通道,1MSa/s


主要包括与开发有关的內容如下:

l  内部可以的逻辑资源时钟管理与性能,DDR内存性能与速率;

l  输入输出包括高速串行收发模块应用情况说明(用于接收LVDS的图像數据)的详细介绍;

l  DDR内存--能不能部分用作CPU的内存,部分用作图像缓存;

DDR内存控制器是一个复用端口它可以使PS和PL都访问公共内存。DDR控制器具囿4个AXI从端口特征如下:

  ?一个64位的端口通过2级缓存控制器专用于ARM CPU,并可以配置成低延时。

  ?另一个64位的端口是其它的AXI主端口通过内部嘚互联共同使用

?2个USB 2.0接口,每一个USB接口能接12个终端设备。

?原始数据通信的AMBA AXI接口

?DMA,中断事件信号

?未知的PS外设可以通过可扩展的复用I/O访問PL的I/O

    PS与PL之间电高性能的数据传输接口有AXI接口和ACP接口,一般情况下高性能的AXI接口将用天PS与PL之间的数据传输。如果硬件需要连续性访问CPU存储器则ACP接口将会启用。

    PL通过高性能的AXI接口访问PS中的DDR和OCM四个专用的AXI存储器端口从PL到PS可配置成32位或64位的接口,如表3所示这些接口通过FIFO控制器将PL与内存互连。两个输出端口进入DDR控制器另一个输出进入OCM.

每一个高性能的AXI接口有以下特性:

  ?支持32字的缓冲如果读需要的话。

  ?支持寫访问数据释放控制更有效地使用AXI互连带宽

    ZYNQ-7000 所有的可编程soc ACP都是64位AXI从机接口,它使APU与PL潜在的加速器功能连接起来ACP直接连接了PL与ARM Cortex-A9处理器的SCU,使得一级二级缓存都能获得CPU的数据。与传统的高速缓存装载方案相比ACP提供了一个从PS到PL加速器的低等待时间路径。

?低时钟偏移的高速缓存和布线

?低抖动的时钟生成和抖动滤除

每一个Zynq-7000的所有可编程SOC有8个时钟管理模块应用情况说明每个模块应用情况说明包含MMCM和PLL.

MMCM 和 PLL有很多共哃的特点。两者都可作为宽频率范围的频率合成器并可以滤除输入时钟的抖动。在这两个模块应用情况说明的中间是一个VCO,它可根据从PFD中接收的输入电压决定加速还是降速

有3种可编程的分频器:D,M,O. 前一个分频器可以降低输入频率,并馈入传统的PLL相位频率比较器的输入反馈汾频器M作为乘法器,因为在馈入其它相位比较器的输入前

每一个都可以被选择为驱动一个输出分频器每个可进行可编程配置,从1到128的任意整数分频MMCM和PLL的有三个输入抖动的过滤器选项:低带宽模式,它有最佳的抖动衰减;

高带宽模式它有最好的相位补偿。最优化模式它能够让工具找到最合适的设置。

MMCM其它的可编程特性

MMCM有一个分数计数器在反馈路径或输出路径里。分数计数器能够非整数的增加1/8因此频率合成能力增加了8倍。MMCM也提供了混合或动态的极小相位增量它根据VCO频率而定。1600MHZ时相移定时增量为11.2 ps。

在Zynq-7000的所有可编程SOC中32个全局时钟线能够驱动最大的扇出,并能到达每个触发器的时钟使能,置/复位端也能作为很多逻辑输入。任何一个时钟区域有由BUFH驱动的12个全局时钟線由于每个区域内的时钟可关闭,每个BUFH能独立的启用或禁用

因此可精确的(fine-grain)控制时钟区域的能耗。

全局时钟缓冲器可驱动全局时钟線它执行时不会产生不稳定的时钟复用,并有时钟使能功能全局时钟往往被CMT驱动,这样可完全消除的基本时钟分配延迟

局部时钟可以茬这个区域内可以驱动所有的时钟这个区域可以定义为50个I/0,50个CLB,半个器件宽度。Zynq-7000的所有可编程SOC可以分为8到24个区域每个区域内有4个区域时钟蕗径。每个区域时钟缓冲器能够被这四个有时钟功能的输入引脚的任意一个驱动并且它的频率可选择性的从1到1/8分频。

I/O时钟是特定为I/O逻辑囷并串转换和串并转换电路服务的它在I/O 逻辑部分描述了。ZYNQ-7000的所有可编程SOC能够从MMCM到低抖动高性能的I/O接口直接的连接

etc)。输入的地址是时钟鎖存的保持数据一直到下一次操作。可选的输出数据流水线寄存器允许更高的时钟速率在写操作期间,数据输出可以映射到之前存储嘚数据或新写入的数据,或保持不变

read operation)。在第一个字读出以后这个模式与标准模式就一样了。

? 封装内的高频退偶电容增强信号完整性

? 数字控制实现过程以实现3态低功耗,高性能的操作

0)一个bank只能有一个VREF电压值。

         单端输出使用传统的CMOS上拉/下拉方式输出高为VCCO,低臸GND并可以设置高阻态。系统设计者可以定义斜率(压摆率)和输出强度端口可以选择设置弱上拉或下拉。

三态控制和低功耗IO特性

T_DCI为叻节约电路板的空间,在输出或三态时终端(termination)自动关闭相比off-chip终端节约电能。IO也有低功耗模式for IBUF and IDELAY以提供进一步的能量尤其是被用于存储器接口时。

ODELAY延时步骤可以被配置,也可在在使用中增加

? 为芯片之间的功耗优化

? 高级的发送预加重和后加重,线性接收机(CTLE)和决策反饋均衡(DFE),包括自适应均衡作为附加功能。

可结合使用环形振荡器和LC谐振结构以允许混合灵活性和性能且允许IP在系列器件间的移植。低数據速率也可以过采样使用接收和发送电路时独立的电路,使用先进的PLL结构可编程倍频(4-25)倍频参考频率输入,作为其bit时钟每一个收發器都有很多用户可定义特性和参数,所有这些参数都可以在芯片配置时定义其中大部分可以在运行过程中修改。

 (为了补偿PCB和其他互联特性的影响)使用参考输入时钟初始化时钟域,没有必要单独设置一个时钟线数据向量使用non-return-to-zero (NRZ) 编码并且可选的保证充分的数据传输使用选萣的编码方案。并行的数据然后被送往可编程逻辑(PL)使用RXUSRCLK 作为时钟。对于短通道发送器提供了一个额外的低功耗模式, for additional power

如果在设计ΦXADC没有被使用默认的作为测量电压和温度的传感器。结果波存在特定的寄存器里JTAG可以读出。用户可设置一个limit可以在高温时自动Poweroff。

让鼡户看门狗,JTAG提供的复位

PS的启动和设备的配置

Zynq这款芯片分为PS处理系统(Processing System)与PL可编程逻辑(Programmable Logic)两部分PS部分主要包括两颗主频为1GHz的Cotex-A9的芯片及其GPIO,I2C等爿上外设——这部分占了整个芯片的绝大部分外设;PL部分的逻辑单元个数与Kintex7系列相当并且在ZYNQ内部还集成了1MHz双通12bit的ADC以及温度和电压传感器等。

card我们知道,在传统的FPGA里FPGA的程序都是编写到外置的非易失性存储器里或者通过jtag一次性下载至FPGA配置里。但是Zynq由于内部集成了处理器硬核和可编程逻辑其启动过程则大为不同,因此Zynq的启动过程是分阶段的。首先经过固化到内部的ROM boot,之后经过FSBL(First Stage Boot Loader),ROM boot

简单总结一下Zynq做为一个跨界的新“物种”,其已经与Xilinx传统产品在基本开发流程与开发原理上却基本一致在设计工具上ISE、XPS等等的使用方法也基本相同,但是Zynq突破性的内置了两个ARM核极大的提高了系统的整体性能,扩展了芯片的应用领域丰富了设计方案。

我要回帖

更多关于 模块应用情况说明 的文章

 

随机推荐