XINLINX原语学习 IDELAYE2

该文描述了一个Verilog测试bench,用于评估IDELAYE2延迟控制器。模块使用IDELAYCTRL设置延迟,并通过改变CNTVALUEIN值调整延迟时间,展示了如何实现从600ps到3.018ns的延迟范围。
摘要由CSDN通过智能技术生成

先看下原语的例化

 

 各个参数的属性

 

以下test bench测试结果

`timescale 1ns / 1ps
module led();

reg ref_clk;
reg rst;
reg rx_frame;


always #2.5 ref_clk = ~ref_clk;


initial 
begin
rx_frame = 0;
ref_clk = 0;
rst = 1;
#10
rst = 0;
#1000
rx_frame = 1;
end

IDELAYCTRL IDELAYCTRL_inst (
  	.RDY(rdy),       // 1-bit output: Ready output
  	.REFCLK(ref_clk),// 1-bit input: Reference clock input
  	.RST(rst)        // 1-bit input: Active high reset input
);
 
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("VAR_LOAD"),        // 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 
  	.SIGNAL_PATTERN("DATA")          // DATA, CLOCK input signal
)
IDELAYE2_inst_frame_delay (
  	.CNTVALUEOUT(cnt_delay_tap),// 5-bit output: Counter value output
  	.DATAOUT(rx_frame_delay),	  // 1-bit output: Delayed data output
  	.C(ref_clk),	              // 1-bit input: Clock input
  	.CE(1'b0),                 	  // 1-bit input: Active high enable increment/decrement input
  	.CINVCTRL(1'b0),           	  // 1-bit input: Dynamic clock inversion input
  	.CNTVALUEIN(1'b0),  	  // 5-bit input: Counter value input
  	.DATAIN(1'b0),         	   	  // 1-bit input: Internal delay data input
  	.IDATAIN(rx_frame),    	  // 1-bit input: Data input from the I/O
  	.INC(1'b0),                	  // 1-bit input: Increment / Decrement tap delay input
  	.LD(1'b0),       // 1-bit input: Load IDELAY_VALUE input
  	.LDPIPEEN(1'b0),           	  // 1-bit input: Enable PIPELINE register to load data input
  	.REGRST(1'b0)              	  // 1-bit input: Active-high reset tap-delay input
);

endmodule

 当CNTVALUEIN= 0;延迟在600ps

 当CNTVALUEIN= 31,LD = 1延迟Tdelay=3.018ns=31x78(ps) +0.6ns;

 至此完成了IO的延迟。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值