如何在LATECI ECP3器件中使用和实现在单数据速率(SDR)模式中的固定延迟属性?

在SDR模式中,Delayb具有由该工具计算的固定值。

该值将补偿从输入时钟缓冲器通过主或次(无边)时钟网络到输入IO寄存器的输入CLK PIN的延迟。Delayb值将根据时钟是否通向主时钟或次时钟网络而不同。

您可以通过输入缓冲区的HDL“固定延迟”属性来实现延迟。

这种延迟将确保即使输入数据和时钟具有0个保持时间延迟关系,通过FIXEDELAY延迟数据将补偿芯片中的时钟延迟并防止保持时间违反。

为了使该属性工作,需要将输入时钟分配给SCLK输入。没有PLL或DLL可以在SCLK的路径中。否则,该工具可能会误算所需的延迟。时钟路径必须是初级或次要的,而不是边缘时钟。

请参阅下面的Verilog和VHDL示例。

Verilog
模块顶部(CLK,RSTN,DIN,DOUT);输入RSTN;输入DIN;输出DUT;Reg DInIIO;Reg DIIOFF;RIG DUT;IB IB(.I(DIN),O(DIN BUF))/*合成固定延迟=“真”*/ /总是@(POSSEDGE CLK或NEGEDGE RSTN)如果(~RSTN)B开始EGIN DIIIOIO & lt;= 1'B0;DiNIFF<=1'B0;DOUT & lt;=1'B0;EXTER开始DINIOIO & lt;= DIN NBUF;DINIFFF<= DIN;
VHDL语言
——SyopSysTraceTeXOFF库ECP3;使用ECP3.Cuffo.Studio;SyopopsTrAtLeTeX在图书馆IEEE;使用IEEE.STDYLogiCy1164.ALL;实体顶部是端口(CLK:在STDyLogic;RSTN:在STDyLogic中;DIN:在STDyLogic;DUT:OUT STDYLogic);ENTER顶部结构是组件IB端口(I:在STDYLogic;O:OUT STDYLogic);结束组件;属性固定延迟:字符串;属性固定延迟的iByNST:标签是“true”;信号DNIOIO:STDYLogic;信号DiNIFF:STDyLogic;信号DIN BUFF:STDYLogic;开始IB端口映射(I= & Gt;DIN,O= & Gt;DINYBUF);SEQ:进程(CLK,RSTN)开始(RSTN=‘0’),然后DInIOIO & lt;=“0”;DiNIFFF & lt;=“0”;DoT & lt;=“0”;Elsif RISIGIN EDGE(CLK)EN DIIIOIO & lt;= DIN BUF;DINIFFF<= DIN;IOUT和LT;= DINIFF;结束IF;结束进程SEQ;结束架构TopyCARCH;
编辑 重设标签(回车键确认) 标为违禁 关闭 合并 删除

提问于 2018-07-27 14:14:57 +0800

这个帖子被标记为一个社区wiki

这个帖子是一个wiki(维基). 任何一个积分 >500的人都可以完善它