DDR时序约束常见的ERROR

4 篇文章 4 订阅

DDR时序约束常见的ERROR

时钟约束,在约束的模块中未找到定义的变量,这个一般是在IP核例化中出现,需要把原始文件加入到工程中。

ERROR:ConstraintSystem:59 - Constraint <NET “u_hight_pass/sys_clk_ibufg” TNM_NET = “SYS_CLK”;> [src/top.ucf(721)]:
NET “u_hight_pass/sys_clk_ibufg” not found. Please verify that: 1. The specified design element actually exists in the original design. 2. The specified object is spelled correctly in the constraint source file.

解决方法1 :In ISE, go into the XST process properties. Under the Synthesis Options heading, enable the option called “Keep Hierarchy.”
解决方法2 :把IP核的代码例化进去,加入到工程中,然后直接把信号所在层级写全。更改后的UCF约束语句如下:
NET “u_hight_pass/u_ddr2_core/u_ddr2_infrastructure/sys_clk_ibufg” TNM_NET = “SYS_CLK”;
TIMESPEC “TS_SYS_CLK” = PERIOD “SYS_CLK” 5 ns HIGH 50 %;

建立时间不满足:
在这里插入图片描述

Timing constraint:
TS_u_clk_rst_gen_u_clk_pll1_CLKOUT4_BUF = PERIOD TIMEGRP “u_clk_rst_gen_u_clk_pll1_CLKOUT4_BUF” TS_SYS_clk_100m_i / 1.25 HIGH 50%;
For more information, see Period Analysis in the Timing Closure User Guide (UG612).
431090 paths analyzed, 57963 endpoints analyzed, 540 failing endpoints 540 timing errors
detected. (540 setup errors, 0 hold errors, 0 component switching limit errors)
Minimum period is 9.824ns.

Paths for end point u_low_pass/u_low_data/u_low_data_mux17/blk00000001/blk00000015
(DSP48_X6Y33.PCIN0), 35 paths

Slack (setup path): -0.844ns (requirement - (data path -clock path skew + uncertainty))

Source:
u_low_pass/u_low_data/u_low_data_rom/U0/xst_blk_mem_generator/gnativebmg.native_blk_mem_gen/valid.cstr/ramloop[0].ram.r/v5_init.ram/SP.WIDE_PRIM18.SP (RAM)
Destination: u_low_pass/u_low_data/u_low_data_mux17/blk00000001/blk00000015 (DSP)
Requirement: 8.000ns

Data Path Delay: 8.347ns (Levels of Logic = 1)

lock Path Skew: -0.415ns (1.107 - 1.522)

Source Clock: clk_125m rising at 0.000ns

Destination Clock: clk_125m rising at 8.000ns

Clock Uncertainty: 0.082ns

Clock Uncertainty: 0.082ns((TSJ^2 + DJ2)1/2)/2+PE

Total System Jitter (TSJ): 0.070ns

Discrete Jitter (DJ): 0.147ns

Phase Error (PE): 0.000ns

解决方式:1、更改Place and Route Effort Level,overall,把Standard模式(通过最少的布局布线努力,给出最快的运行时间,适用于不太复杂的设计)更改为High模式(有最好的布局布线结果,运行实际也长,适用于复杂设计(默认设置))。2、通过在.UFC文件中添加约束规则,把RAM输出端口和DSP的输入端口的布线延时进行缩短,约束规则如下:TIMESPEC
“TS_low_data_rom_to_low_data_DSP” = FROM “u_low_pass/u_low_data/u_low_data_rom/BRAMS_PORTB” TO “u_low_pass/u_low_data/u_low_data_mux2/DSPS” 8 ns DATAPATHONLY;

NET “adc_fclk_p<0>” CLOCK_DEDICATED_ROUTE = FALSE;
CLOCK_DEDICATED_ROUTE是一个高级约束,它指导软件是否遵循时钟配置规则。
当没有设置CLOCK_DEDICATED_ROUTE或设置为TRUE的时候,软件必须遵循时钟配置规则。
当CLOCK_DEDICATED_ROUTE设置为FLASE的时候,软件进行操作:
1 忽略到时钟配置规则
2 继续布局布线
只有当必须违反时钟配置规则的时候才设置CLOCK_DEDICATED_ROUTE约束。

ERROR:Pack:2907 - The I/O component “adc_clk_out_p” has an illegal IOSTANDARD value. The IOBM component is configured to use differential signaling and can not use single-ended IOSTANDARD value LVCMOS25. Two ways to rectify this issue are: 1)Change the IOSTANDARD value to a differential standard. 2) Correct the I/O connectivity by instantiating a single-ended I/O buffer.
这个是更改IO的电平标准。

ERROR:Xst:2033 - Port IB of Input buffer u_adc_inf/adc_inf[0].u_adc64xx/ibufdsah_inst is connected to GND
ERROR:Xst:1847 - Design checking failed
ERROR:Xst:2033的意思是:在IBUFDS模块里面的输入被接地了。
问题的原因是:这个源语的输入是一个0.这种原因一般是输入信号的例化出了问题或者输入信号是个定值。更改这个错误一般是找输入信号的各个例化路径和信号的输入源头。

ERROR:NgdBuild:455 - logical net ‘clk400m_p’ has multiple driver(s)

原因分析:DCM出来的时钟经进了BUFG,输入时钟是从IBUFG进入的,在底层结构上BUFG不能联到IBUFG。DDR生成后有一个顶层的源文件,在那里面找到一个关于原语写的BUFG也不知是IBUFG,将这个原语跳过就可以,保存然后在编译就不报错了。

"ERROR:ConstraintSystem:59 - Constraint< xxx>: NET/INST “xxx” 未找到。Please verify that:

  1. The specified design element actually exists in the design.2. The specified object is spelled correctly in the
    constraint source file.
    解决办法:为了防止综合工具删除net,应为 net 应用 (* keep=“true” *)
    另外注意检查管脚约束UCF文件中,是否有对多余的IO信号分配了同一个管脚。

NET"u_ddr2_infrastructure/sys_clk_ibufg"TNM_NET= “SYS_CLK”;
TIMESPEC “TS_SYS_CLK” = PERIOD “SYS_CLK” 3.75 ns HIGH 50 %;
NET “u_ddr2_infrastructure/clk200_ibufg” TNM_NET = “SYS_CLK_200”;
TIMESPEC “TS_SYS_CLK_200” = PERIOD “SYS_CLK_200” 5 ns HIGH 50 %;
但是在Implement Design过程中会报错找不到NET"SYS_CLK",
原因就是时序约束时没有把系统官方给的时序约束添加到自己文件放置的路径上。可以这样修改:就是把自己文件所在的路径加上即可INST “u_hight_pass/u_ddr2_core//gen_rden_dly.u_ff_rden_dly” TNM =
“TNM_RDEN_DLY”;
TIMESPEC “TS_MC_RDEN_DLY” = FROM"TNM_RDEN_DLY" TO FFS “TS_SYS_CLK” * 4;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值