Vivado中原语使用汇总
Vivado 中的原语使用汇总 Vivado 中的原语使用汇总是 FPGA 设计中的一种重要技术,用于对输入时钟数据进行时延,以满足代码时序需要。在 Vivado 中,原语是指一组基本的数字电路单元,用于实现数字电路的设计和实现。 在 Vivado 中,IDELAY 是一种常用的原语,用于对输入时钟数据进行时延,以满足代码时序需要。IDELAY 的使用可以分为两种模式,一种是固定的模式,即编译后延时多少就是多少不可改变;另外一种是动态配置延时的模式,即编译后可以动态配置延时多少。 在 Xilinx 7 系列的 FPGA 中,IDELAY 通常用于对输入时钟数据进行时延,以满足代码时序需要。如果对 FPGA 代码进行时序约束,IDELAY 会自动添加;如果没有进行时序约束就需要手动添加 IDELAY,以满足时序要求。 IDELAY 的使用可以分为以下几步: 需要说明一下 IDELAY 所在位置。在 Xilinx 7 系列的 FPGA 中,有两种 BANK,分别是 HR BANK 和 HP BANK。HP I/O BANK 电压最高可以达到 1.8V,主要用于高速存储器和芯片间的数据传输;HR I/O BANK 可以支持更大范围的电压,最高可以达到 3.3V。 需要在 Vivado 中实例化 IDELAY 模板。例如,在写以太网 RGMII 数据链路层接收端时就需要用到 IDELAY 对双沿时钟延时,以使得数据能够正常的被时钟采集到。 需要对 IDELAY 进行配置,例如,设置延时值、选择时钟源、选择动态配置延时模式等。 在 Vivado 中,IDELAY 模板的实例化可以使用以下代码: IDELAYE2 #( .CINVCTRL_SEL("FALSE"), // Enable dynamic clock inversion (FALSE, TRUE) .DELAY_SRC("IDATAIN"), // Delay input (IDATAIN, DATAIN) .HIGH_PERFORMANCE_MODE("FALSE"), // Reduced jitter ("TRUE"), Reduced power ("FALSE") .IDELAY_TYPE("FIXED"), // FIXED, VARIABLE, VAR_LOAD, VAR_LOAD_PIPE .IDELAY_VALUE(0), // Input delay tap setting (0-31) .PIPE_SEL("FALSE"), // Select pipelined mode, FALSE, TRUE .REFCLK_FREQUENCY(200.0), // IDELAYCTRL clock input frequency in MHz (190.0-210.0, 290.0-310.0) .SIGNAL_PATTERN("DATA") // DATA, CLOCK input signal ) IDELAYE2_inst ( .CNTVALUEOUT(CNTVALUEOUT), // 5-bit output: Counter value output .DATAOUT(DATAOUT), // 1-bit output: Delayed data output .C(C), // 1-bit input: Clock input .CE(CE), // 1-bit input: Active high enable increment/decrement input .CINVCTRL(CINVCTRL), // 1-bit input: Dynamic clock inversion input .CNTVALUEIN(CNTVALUEIN), // 5-bit input: Counter value input .DATAIN(DATAIN), // 1-bit input: Internal delay data input .IDATAIN(IDATAIN), // 1-bit input: Data input from the I/O .INC(INC), // 1-bit input: Increment / Decrement tap delay input .LD(LD), // 1-bit input: Load IDELAY_VALUE input .LDPIPEEN(LDPIPEEN), // 1-bit input: Enable PIPELINE register to load data input .REGRST(REGRST) // 1-bit input: Active-high reset tap-delay input ); 在上面的代码中,IDELAYE2 是一个 IDELAY 模板,用于实例化 IDELAY。该模板有多个参数,例如,CINVCTRL_SEL、DELAY_SRC、HIGH_PERFORMANCE_MODE 等,用于配置 IDELAY 的行为。 IDELAY 是 Vivado 中的一种重要的原语,用于对输入时钟数据进行时延,以满足代码时序需要。其使用可以分为固定的模式和动态配置延时的模式,并且可以在 Vivado 中实例化 IDELAY 模板,以满足不同的设计需求。
剩余19页未读,继续阅读
- 粉丝: 1
- 资源: 7
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助