MemoryInterfaceGenerator(MIG7Series)是Xilinx为7系列器件提供的Memory控制器IP,使用该IP可以很方便地进行DDR3的读写操作。本文主要记录XilinxDDR3MIGIP的仿真过程,包括IP配置和DDR3读写仿真两部分内容。目录1MIGIP配置2DDR3读写仿真1MIGIP配置 在Vivado开发平台IPCatelog中,输入mig,然后选择MemoryInterfaceGenerator(MIG7Series),打开IP向导。 ComponentName可自行定义,这里填写ddr3_controller。 Mem
之前在验证FPGA板卡的芯片管脚时,所用的测试工程使用内部PLL生成的时钟作为DDR3的参考时钟。后来尝试将参考时钟改为外部100M晶振时钟,发现MIGIP配置工具找不到相应管脚,于是学习并梳理了 XilinxDDR3MIGIP时钟管脚的分配规则,在这里做个记录。 目录1MIG时钟输入2时钟管脚分配规则1MIG时钟输入 《ug586_7Series_MIS_v4.2》手册给出了XilinxDDR3MIG控制器IP内部时钟网络,如下图所示。可以看到MIGIP有2个时钟输入,分别是CLKREF 和SYSCK. REFCLK频率为200MHz,输入到MIGIP内部的MMCM,然后选择20
平台:vivado2017.4芯片:xc7k325tfbg676-2(active)关于GTX的开发学习。使用xilinx官方提供的IP核。最近在学习完PCIE协议,使用逻辑解析PCIE协议代码各种包头。那么数据在外传输用的什么方式呢?这里就是使用了GTX高速串行总线。那么GTX高速串行总线是什么呢?我们知道一般的数据传输都是采用的并行总线,一条时钟线,并行的数据总线。数据在时钟的边沿传输,和数据在时钟的双沿传输。但是并行传输的发展总归有很大的局限性。在时钟信号的频率很高的时候,就会担心时钟质量,以及数据传输的稳定性。这里随着技术的发展,高速的串行总线慢慢使用起来了。高速串行总线不需要传输时钟
此系列博客,仅对Xilinx平台PS端(ARM部分)开发做介绍,不对PL(FPGA)做过多介绍。目录一.单独编译UBoot2.1.拷贝源码2.拷贝配置文件3.编译二.单独编译内核源码2.1复制内核源码2.2复制配置文件(根据芯片,32位复制到arch/arm/configs,64位到arch/arm64/configs)2.3复制.its文件,用于生成image.ub,可复制到linux源码顶层目录,和Makefile同级2.4Makefile配置芯片架构以及编译工具链2.5使能配置2.6移植设备树文件2.7生成镜像一.单独编译UBoot当Uboot源码使用默认配置,从网络下载时,需要进行步骤
1、前言 DDR3SDRAM简称DDR3,是当今较为常见的一种储存器,在计算机及嵌入式产品中得到广泛应用,特别是应用在涉及到大量数据交互的场合,比如电脑的内存条。DDR3的时序相当复杂,对DDR3的读写操作大都借助IP核来完成。 MIG(MemoryInterfaceGenerators)IP核是Xilinx公司针对DDR存储器开发的IP,里面集成存储器控制模块,实现DDR读写操作的控制流程。在默认情况下,MIGIP核对外分出两组接口(即Naive接口)。一是用户接口,就是用户(FPGA)同MIG交互的接口,用户只有充分掌握了这些接口才能操作MIG。二是DDR物理芯片接口,负责产生
一、什么是原语?原语,英文名称primitive,是FPGA软件集成开发环境所提供的一系列底层逻辑功能单元。由于是底层逻辑功能单元,所以它们往往跟目标FPGA芯片以及芯片厂商紧密相关,因此不同厂商、不同器件的原语往往不能通用。当编译器对我们的HDL代码进行编译时,其中间环节的一些输出往往就是由原语组成的逻辑网表。因此,原语往往是不参与综合过程的,而使用原语描述的逻辑往往也不会被综合工具所优化。例如,Xilinx公司的ISE软件集成开发环境中的unisims库中定义了所有用于综合的原语,而simprims库中则定义了所有用于实现的原语。需要注意的是,在ISE安装目录下的verilog\src\u
如何创建XilinxBRAM或ROM初始化文件(.COE)并实现初始化数据在FPGA上的载入在FPGA开发中,初始化数据是一个非常重要的内容,它决定了电路从上电开始的初始状态,对于保证正确性和可靠性有着至关重要的作用。其中,BRAM(BlockRAM)和ROM(Read-OnlyMemory)是两种常见的存储器,因此本文将介绍如何创建XilinxBRAM或ROM的初始化文件(.COE),并将其载入FPGA中。一、创建.COE文件在XilinxVivado中,可以通过下述步骤创建.COE文件:在工程管理器中点击Sources->DesignSources->SimulationSources;右
1.Radix-2模式:基数-2使用整数操作数的非恢复整数除法,允许生成分数或整数余数。对于小于16位的操作数宽度或需要高吞吐量的应用程序,建议使用。基数-2非恢复算法使用加减法求解每个周期的一点商。该设计是完全流水线的,可以实现每个时钟周期一分的吞吐量。如果所需的吞吐量较小,则每个时钟参数的分法允许降低吞吐量和资源使用。该算法自然会生成一个余数,对于需要整数余数或模数结果的应用程序的选择也是如此。Radix-2模式下:可以选择是余数还是分数;也可以选择是有符号位还是无符号位;几个时钟读一次数也可以选择;但是当选择余数类型时,不可以更改其位宽;如果是分数类型,可以改位宽(不可以是0);计算的时
一、XPM简介 XPM全称是XilinxParameterizedMacros,是XILINX提供的一种IP参数化方法。传统的IP调用,我们需要进入到IPCatolog里选择自己需要的IP,这种调用方式的优点是比较直观,参数的设置图形化;但是它的弊端也很明显,就是每次修改IP参数都需要进入到图形化界面来修改然后保存。对于一些同质化比较高的项目,比如一个1K的视频图像处理项目,要移植成一个2K的版本;图像的分辨率发生了变化,工程里使用到的参数也会全部发生变化,我们需要把工程里面所有的IP全部重新设置一遍来进行更新,这样效率无疑是非常低的。Xilinx的工程师们考虑到用户的参数化设计需求,为
引言:本文我们介绍下DDR3的基础知识,涉及DDR3管脚信号、容量计算、重要参数介绍内容。01.DDR3SDRAM概述DDR3SDRAM全称double-data-rate3synchronousdynamicRAM,即第三代双倍速率同步动态随机存储器。双倍速率(double-data-rate),是指时钟的上升沿和下降沿都发生数据传输;同步,是指DDR3数据的读取写入是按时钟同步的;动态,是指DDR3中的数据掉电无法保存,且需要周期性的刷新,才能保持数据;随机,是指可以随机操作任一地址的数据。以镁光MT41K256M16RH-107为例(以下介绍均以此芯片为例),该芯片容量为512GB(4