XPM

    技术2022-07-11  171

    一、概述

    软件:vivado 器件:vu9p 参考文档:ug974 简介:XPM,Xilinx Parameterized Macros,赛灵思参数化宏,其实就是类似“原语”调用那样,vivado会直接将其识别为对应的模块(目前有CDC跨时钟处理器,FIFO以及BRAM三种)

    二、快速上手

    步骤如下: 1新建工程及.v文件xpm_async_fifo.v 2.找到Language Templates(界面左侧)–> Verilog–> Xilinx Parameterized Macros(XPM)–> XPM–> XPM_fifo–> Asynchronous FIFO,复制到.v中,如下图 3.写个完整的module(xpm_async_fifo),把接口和参数对接到 XPM 例化模块中,如下图 4.编写“异步fifo”的读写tb,对xpm_async_fifo进行仿真 PS:如何用questa,modelsim等第三方仿真器对vivado工程仿真? 1.用vivado编译器件库; vivado-----tools-----Compile Simulation Libraries,选择将要使用的仿真器simulator以及编译后的器件库存放地址等。 2.设置仿真器 Vivado GUI的左侧 Settings-----Project Settings----Simulation,选择对应的simulator和器件库地址,点OK 3.启动仿真

    三、接口描述

    3.1参数

    3.2接口

    四、使用注意

    1.fifo深度根据 READ_MODE 有不同的真实值 2.根据深度不同,WR_DATA_COUNT_WIDTH和RD_DATA_COUNT_WIDTH有取值范围要求 3.根据深度不同,PROG_FULL_THRESH和PROG_EMPTY_THRESH有取值范围要求 4.读写端口可以位宽不同 5.CDC_SYNC_STAGES*RD_CLK 表达了写busy和读busy的上升沿时间差,有取值范围要求,一般不改变 6.建议rst信号用脉冲复位 7.注意两个busy信号,如果在busy的时候读写操作会导致上溢或下溢信号的拉高 8.RD_DATA_COUNT和WR_DATA_COUNT数值有时候会跳跃,不准,建议不使用 9.时序延迟等信息由于情况太多,请参照ug974

    Processed: 0.013, SQL: 9