草庐IT

Xilinx IDDR与ODDR原语的使用

IDDR原语如图所示,IDDR原语的输入输出包括D,CE,C,S,R,Q1,Q2,其中,D为输入的双倍速率的数据,即D在时钟的上升沿和下降沿都会发生切换,一个时钟周期发送2bit数据,CE为时钟使能信号,C为时钟信号,S,R为复位和置位信号,Q1,Q2为单倍速率的输出数据。IDDR主要有三种工作模式,分别是:OPPOSITE_EDGE,SAME_EDGE,SAME_EDGE_PIPELINED。下面分别作一介绍:1.OPPOSITE_EDGE在该模式下,上升沿采样到的数据(如DOA)和下降沿采样到的数据(如D1A),可以在下一个时钟周期的上升沿从Q1,Q2端口读取。附一张仿真的效果图:2.SA

Xilinx 7系列FPGA内置ADC

 Xilinx7系列FPGA全系内置了一个ADC,称之为XADC。这个XADC,内部是两个1mbps的ADC,可以采集模拟信号转为数字信号送给FPGA内部使用。   XADC内部可以直接获取芯片结温和FPGA的若干供电电压(7系列不包括VCCO),用于监控FPGA内部状况。同时提供了17对差分管脚,其中一对专用的模拟差分输入,16对复用的模拟差分输入,不使用的时候可以作为普通的UserI/O。01XADCPinoutRequirements模块管脚需求:    所有的XADC模块的专用管脚都属于Bank0,所以都加上后缀_0,上图1-2表示了XADC的基本输入输出需求:上面有两种配置需求,左边

Xilinx 参数化宏 XPM

赛灵思主要有3种:        XPM_CDC,主要用于跨时钟域信号处理        XPM_FIFO,用于FIFO例化,相似于FIFOIP核        XPM_MEMORY,用于RAM和ROM例化,相似于RAMIP核        以上三种宏都可以用来实现跨时钟域的处理,FIFO与RAM的跨时钟域处理主要是通过缓存的方式实现。利用宏和IP核来实现FIFO、RAM的例化,功能上相差不大,就是使用方式略有区别。    下面主要介绍一下XPM_CDC,通过程序注释的方式进行介绍。需要注意的是,正常情况下仅有xpm_cdc_handshake可以实现快时钟到慢时钟的同步。//--------

xilinx srio ip学习笔记之srio example

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档xilinxsrioip学习笔记之srioexample前言IP的配置例程前言前面对SRIO的理论有了初步的理解,现在急需要通过理解例程并且修改例程来建立自信心了。学东西确实是需要有一种任务驱动才能学的快,以前也想通过自学学习SRIO,但就是没有动力,但有了任务驱动之后,确实学习的效率高多了IP的配置就是这三页比较主要的,我是这么设置的,之所以设置为3个lane。是我下载到一个创龙的example,他用到了3个lane,我希望我理解完xilinx官方的例程之后,直接套用创龙的例程去仿真。这样的话我既理解了官方的例程,又自己修改了一

xilinx srio ip学习笔记之srio example

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档xilinxsrioip学习笔记之srioexample前言IP的配置例程前言前面对SRIO的理论有了初步的理解,现在急需要通过理解例程并且修改例程来建立自信心了。学东西确实是需要有一种任务驱动才能学的快,以前也想通过自学学习SRIO,但就是没有动力,但有了任务驱动之后,确实学习的效率高多了IP的配置就是这三页比较主要的,我是这么设置的,之所以设置为3个lane。是我下载到一个创龙的example,他用到了3个lane,我希望我理解完xilinx官方的例程之后,直接套用创龙的例程去仿真。这样的话我既理解了官方的例程,又自己修改了一

到中流击水—XILINX (MIG) DDR3 UI接口

到中流击水—MIG-DDR3一、到中流击水—DDR3时钟部分(重点,这一部分时钟关系,能够进一步帮助理解DDR3预读取工作)DDR3FPGA时钟框图搭建DDR3部分三个时钟(上图左侧部分)FPGA部分三个时钟(上图右侧部分)DDR3芯片预读取原理重点二、到中流击水—MIG(MIS)DDR3UIMIG—ui接口一图知天下1.ui接口原理框图2.MIGip核时钟原理图3.MIGPHY图DDR3MIG-IP重点配置参数重点:ui(用户)数据位宽计算。4.ui接口信号5.ui接口时序6.ui接口逻辑一、到中流击水—DDR3时钟部分(重点,这一部分时钟关系,能够进一步帮助理解DDR3预读取工作)DDR3

关于xilinx BRAM IP的延迟以及流程

关于RAMIP的延迟:[1]选择了outputregisters;可以在RAM输出端口添加register,也可以在core的输出添加。 在primitives添加:降低clock-to-out到primitive的延迟在core添加register:改善clock-to-out到BlockMemoryGeneratorcore的延迟。没添加一个registerread操作都要加一个时钟周期。但是添加primitives不会占用fpga多余的资源,图中显示在两处均添加了register,当读地址进来之后会数据经过三排之后输出。可选的pipelinestages可以在muc处增加pipeline

[FPGA/VerilogHDL/Xilinx]基于FPGA的冒泡排序设计实现

概述原理冒泡排序(BubbleSort),是一种计算机科学领域的较简单的排序算法。它重复地走访过要排序的元素列,依次比较两个相邻的元素,如果顺序(如从大到小、首字母从Z到A)错误就把他们交换过来。走访元素的工作是重复地进行,直到没有相邻元素需要交换,也就是说该元素列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端(升序或降序排列),就如同碳酸饮料中二氧化碳的气泡最终会上浮到顶端一样,故名“冒泡排序”。冒泡排序算法的原理如下:比较相邻的元素。如果第一个比第二个大,就交换他们两个。对每一对相邻元素做同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会

Xilinx GTH 简介 ,CoaXpress FPGA PHY 部分

什么是GTHGTH是XilinxUltraScale系列FPGA上高速收发器的一种类型,本质上和其它名称如GTP,GTX等只是器件类型不同、速率有差异;GTH最低速率在500Mbps,最高在16GbpsCoaXpressHost/DeviceIP均需要用到厂商的GT收发器模块,因此这里写一篇笔记作为开发记录GTH的特性physicalcodingsublayer(PCS)是Xilinx高速收发器的最顶层.PCS(PhysicalCodingSublayer)层是数据链路层中的一个子层,位于物理层和MAC(MediaAccessControl)层之间。它是在数据链路层中的一个组成部分,用于实现物

关于 xilinx sdk软核elf文件与xilinx vivado bit文件合并的方法

xilinx软核elf文件与xilinxvivadobit文件合并的方法xilinx软核elf文件与xilinxvivadobit文件合并的方法一、背景二、elf文件与bit文件合并的步骤1.vivado工具中打开associateelffiles窗口2.添加sdk中的elf文件3.重新生成bit文件三、总结一、背景在版本的Vivado配套的软件工具是SDK,当vivado中使用软核时候,需要将软核生成的elf文件与vivado生成的bit文件合并成一个最终的BIT文件,然后再将此BIT文件下载到FPGA中,或者转化为MCS文件固化到Flash中,这样才不用每次都打开SDK,重新跑一遍SDK的