FPGA基础学习(2) -- FIFO IP核(Quartus)】的更多相关文章

ALTERA在LPM(library of parameterized mudules)库中提供了参数可配置的单时钟FIFO(SCFIFO)和双时钟FIFO(DCFIFO).FIFO主要应用在需要数据缓冲且数据符合先进先出规律的同步或异步场合.LPM中的FIFO包含以下几种: 1.SCFIFO:单时钟FIFO: 2.DCFIFO:双时钟FIFO,数据输入和输出的宽度相同: 3.DCFIFO_MIXED_WIDTHS:双时钟FIFO,输入输出数据位宽可以不同. 配置不细说,直接看时序来理解. 1.…
为了突出重点,仅对I/O数据流为steaming的情况作简要说明,以便快速上手,有关FFT ip核模型及每种设置详细介绍请参考官方手册FFT MegaCore Function User Guide. 1 配置 在FFT Megacore Function中选择"parameterize",弹出对话框. "Parameters"栏中,选择器件.转换数据的长度.数据精度已经旋转因子的精度.注意旋转因子精度必须小于等于数据精度. "Architecture&q…
转载: 说白了,IP核就是别人做好了的硬件模块,提供完整的用户接口和说明文档,更复杂的还有示例工程,你只要能用好这个IP核,设计已经完成一半了.说起来容易,从冗长的英文文档和网上各个非标准教程中汲取所需,并灵活运用还是需要下一番功夫的. 我认为其中最重要的几点如下: 1) 提供给IP核正确的时钟和复位条件: 2) 明确各个重要用户接口功能: 3) 掌握所需指令的操作时序: 4) 知道内部寄存器地址及功能和配置方式.顺序: 5) 会从官方示例工程中学会IP核正确使用方式: 今天来讲讲一个最常用的I…
FIFO IP核仿真 1.FIFO IP核配置 2.FIFO测试逻辑代码 首先往FIFO里面写入512个数据(FIFO深度的一半),然后再开始同时往FIFO里面写入,读出数据.FIFO读和写的时钟域不同,对于不同时钟域的信号应该进行区分,状态机也应该分开来写. `timescale 1ns / 1ps ////////////////////////////////////////////////////////////////////////////////// // Company: //…
ALTERA在LPM(library of parameterized mudules)库中提供了参数可配置的单时钟FIFO(SCFIFO)和双时钟FIFO(DCFIFO).FIFO主要应用在需要数据缓冲且数据符合先进先出规律的同步或异步场合.LPM中的FIFO包含以下几种: 1.SCFIFO:单时钟FIFO: 2.DCFIFO:双时钟FIFO,数据输入和输出的宽度相同: 3.DCFIFO_MIXED_WIDTHS:双时钟FIFO,输入输出数据位宽可以不同. 配置不细说,直接看时序来理解. 1.…
根据上一篇生成的IP核,例化之后如上图,Local开头的数据是用户侧数据,其他数据暂时不用纠结,不用管. 这些是需要关注的信号,但是初学阶段很难对这些信号形成具体的概念,这里参考明德扬的代码进行二次封装. module ddr2_intf( clk_in           , clk_out          , rst_n            , local_address    , local_write_req  , local_read_req   , local_wdata    …
打开IP核工具,然后选择Verilog HDL选项,填写路径,写入文件名DDR2_IP.V,点击next PLL reference clock frequency填入板子晶振的频率50MHZ,这里设置Memory clock frequency为133MHZ,Controller data rate 为Full模式. 芯片型号如果有相同的就选相同的,如果没有就选类似的,然后修改参数.这里选择 然后点击Modify parameters设置参数,也可以选择Loda Preset载入设置好的参数…
目录 1. 基本结构 2. BRAM与DRAM的比较 3. BRAM的特点 4. Block Memory的使用 4.1 配置为RAM或ROM 4.2. 配置为FIFO 参考文献: 上一篇中提到了SLICEL和SLICEM都可用作ROM,后者还可以作为分布式RAM(Distribute RAM,DRAM).本篇主要总结的是块状Memory(Block Memory),实际上就是FPGA内部独立于逻辑单元的专用存储器,更像是一种硬核. 1. 基本结构 如下图所示,一个Block Memory的大小…
文章主要是基于学习后的总结. 1. 时钟域 假如设计中所有的触发器都使用一个全局网络,比如FPGA的主时钟输入,那么我们说这个设计只有一个时钟域.假如设计有两个输入时钟,如图1所示,一个时钟给接口1使用,另一给接口2使用,那么我们说这个设计中有两个时钟域. 2. 亚稳态 触发器的建立时间和保持时间在时钟上升沿左右定义了一个时间窗口,如果触发器的数据输入端口上数据在这个时间窗口内发生变化(或者数据更新),那么就会产生时序违规.存在这个时序违规是因为建立时间要求和保持时间要求被违反了,此时触发器内部…
目录 1. 常见问题 2. 常见的复位方式 3. 合理的复位设计 3.1 复位电平 3.2 异步复位同步化 3.3 恰到好处的复位 4. 补充 4.1 所谓的上电初始化 参考文献 一开始接触到FPGA,肯定都知道"复位",即简单又复杂.简单是因为初学时,只需要按照固定的套路--按键开关复位,见寄存器就先低电平复位一次,这样一般情况可以解决99%的问题,甚至简单的设计,就不可能有问题.复杂是因为复位本身是对大规模的硬件单元进行一种操作,必须要结核底层的设计来考虑问题. 1. 常见问题 自…