LaTeCeCp3设备需要专用或主时钟资源来驱动DDR(双数据速率)原始组件。从时钟输入垫到目的地DDR组件的时钟网络必须使用纯主时钟或专用时钟网络。如果在RTL设计中实现动态时钟选择器元素,则可以使用一般路由资源。这会导致设计规则检查违例,并生成NETSANITICCHECK错误。
LaTiCeCp3包含专用DCS(动态时钟选择)功能块,允许您只使用主时钟资源。虽然您的RTL编码是DCS块的等效函数,但除非显式实例化DCS块,否则合成工具可能不使用DCS资源。下面的Verilog示例演示如何在LaTeCeCP3设计中实例化DCS函数:
假设“CKYA”和“CKYB”是两个时钟输入,而“SEL”是时钟选择器输入。它可以表示如下所示,并且注意它可能不使用DCS块功能。
[ Verilog ]
分配CKKYOUT= =(SEL)?CKYA:CKYB;
[VHDL]
如果(SEL=1)则
βl;
否则
K·CKKYOUT=CKYB;
第二节
为了使用专用的DCS块函数,实例化DCS原语,如下所示:
[ Verilog ]
DCs U1YDCs(CLK0(CKYA),CLK1(CKYB),.SEL(SEL),DCSOUT(CKKYOUT));
[VHDL]
U1YDCS:DCS端口映射
αClk0= & gt;CKYA,Clk1= & gt;CKYB,SEL=& Gt;SEL,DCSOUT=& ClklOUT;
使用DCS块将让您使用完全专用的主时钟资源,并且您将不会看到NETSANITICCHECK错误。
没有回复内容