完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
您好我正在使用Spartan6 16xt并尝试实现使用MCB的100mhz设计。
我的MIG DDR实例化附在下面,当我尝试使用ISE合成设计时,我得到以下错误: 错误:PhysDesignRules:2449 - VCO工作频率的计算值 计算PLL_ADV实例的MEM_DDR / memc1_infrastructure_inst / u_pll_adv 为100.000000 MHz。 这低于PLL VCO的工作范围 该设备的频率为400.000000 - 1000.000000 MHz。 请调整 输入频率CLKINx_PERIOD,乘法因子CLKFBOUT_MULT 或分频因子DIVCLK_DIVIDE,以实现VCO频率 在此设备的额定工作范围内。 要通过转到文件夹/ip/user_design/rtl/ddr.vhd并在CLKBOUT_MULT中将常量值从4修改为16来解决此问题 常数C1_CLKOUT0_DIVIDE:整数:= 2; 常数C1_CLKOUT1_DIVIDE:整数:= 2; 常数C1_CLKOUT2_DIVIDE:整数:= 16; 常数C1_CLKOUT3_DIVIDE:整数:= 8; - 常数C1_CLKFBOUT_MULT:整数:= 4; 常量C1_CLKFBOUT_MULT:整数:= 16; 常数C1_DIVCLK_DIVIDE:整数:= 1; 这个解决方案好吗? 当我在改变之后进行合成时,我看到我的设计中与MCB相关的时序问题 异步控制信号信息: ---------------------------------------- 本设计中没有发现异步控制信号 时间摘要: --------------- 速度等级:-2 最短时间:13.584ns(最高频率:73.616MHz) 时钟前的最小输入到达时间:8.640ns 时钟后最大输出所需时间:8.599ns 最大组合路径延迟:3.743ns 我看到了详细的静态计时报告,我看到了这一点 时序约束:TS_MEM_DDR_memc1_infrastructure_inst_mcb_drp_clk_bufg_in = PERIOD tiMEGRP“MEM_DDR_memc1_infrastructure_inst_mcb_drp_clk_bufg_in”TS_clkpin_ddr / 2 HIGH 50%; 有关更多信息,请参阅“时序收敛用户指南”(UG612)中的“时段分析”。 分析了11960个路径,分析了1046个端点,1个端点失败 检测到1个定时错误。 (1个设置错误,0个保持错误,0个组件切换限制错误) 最短期限为23.800ns。 -------------------------------------------------- ------------------------------ 终点路径MEM_DDR / memc1_wrapper_inst / memc1_mcb_raw_wrapper_inst / gen_term_calib.mcb_soft_calibration_top_inst / mcb_soft_calibration_inst / SELFREFRESH_MCB_MODE_R1(SLICE_X37Y48.AX),1路径 -------------------------------------------------- ------------------------------ Slack(设置路径): - 0.475ns(要求 - (数据路径 - 时钟路径偏差+不确定性)) 来源:MEM_DDR / memc1_wrapper_inst / memc1_mcb_raw_wrapper_inst / samc_0(CPU) 目的地:MEM_DDR / memc1_wrapper_inst / memc1_mcb_raw_wrapper_inst / gen_term_calib.mcb_soft_calibration_top_inst / mcb_soft_calibration_inst / SELFREFRESH_MCB_MODE_R1(FF) 要求:2.500ns 数据路径延迟:1.738ns(逻辑电平= 0) 时钟路径偏差:-0.944ns(1.514 - 2.458) 源时钟:MEM_DDR / c1_sysclk_2x_180上升至17.500ns 目标时钟:MEM_DDR / c1_mcb_drp_clk上升到20.000ns 时钟不确定度:0.293ns 不确定如何分析它是否可以..有人可以帮我一把吗? 有时我从DDR中得到错误的值,我认为这与我的计时问题有关 ddr.xco 2 KB 以上来自于谷歌翻译 以下为原文 Hello i am using a Spartan6 16xt and trying to implement a 100mhz design that is using the MCB. My MIG DDR instantiation is attached below, when i try to synthetesize the design with ISE i get the following error: ERROR:PhysDesignRules:2449 - The computed value for the VCO operating frequency of PLL_ADV instance MEM_DDR/memc1_infrastructure_inst/u_pll_adv is calculated to be 100.000000 MHz. This falls below the operating range of the PLL VCO frequency for this device of 400.000000 - 1000.000000 MHz. Please adjust either the input frequency CLKINx_PERIOD, multiplication factor CLKFBOUT_MULT or the division factor DIVCLK_DIVIDE, in order to achieve a VCO frequency within the rated operating range for this device. To fix this by going to the folder /ip/user_design/rtl/ddr.vhd and modifying the constant value from 4 to 16 in CLKBOUT_MULT constant C1_CLKOUT0_DIVIDE : integer := 2; constant C1_CLKOUT1_DIVIDE : integer := 2; constant C1_CLKOUT2_DIVIDE : integer := 16; constant C1_CLKOUT3_DIVIDE : integer := 8; -- constant C1_CLKFBOUT_MULT : integer := 4; constant C1_CLKFBOUT_MULT : integer := 16; constant C1_DIVCLK_DIVIDE : integer := 1; Is this solution ok? When i attemplt to synthesize after my change i see timing problems in my design related to the MCB Asynchronous Control Signals Information:----------------------------------------No asynchronous control signals found in this designTiming Summary:---------------Speed Grade: -2 Minimum period: 13.584ns (Maximum Frequency: 73.616MHz) Minimum input arrival time before clock: 8.640ns Maximum output required time after clock: 8.599ns Maximum combinational path delay: 3.743ns I saw the detailed static timing report and i saw this Timing constraint: TS_MEM_DDR_memc1_infrastructure_inst_mcb_drp_clk_bufg_in = PERIOD TIMEGRP "MEM_DDR_memc1_infrastructure_inst_mcb_drp_clk_bufg_in" TS_clkpin_ddr / 2 HIGH 50%; For more information, see Period Analysis in the Timing Closure User Guide (UG612). 11960 paths analyzed, 1046 endpoints analyzed, 1 failing endpoint 1 timing error detected. (1 setup error, 0 hold errors, 0 component switching limit errors) Minimum period is 23.800ns. -------------------------------------------------------------------------------- Paths for end point MEM_DDR/memc1_wrapper_inst/memc1_mcb_raw_wrapper_inst/gen_term_calib.mcb_soft_calibration_top_inst/mcb_soft_calibration_inst/SELFREFRESH_MCB_MODE_R1 (SLICE_X37Y48.AX), 1 path -------------------------------------------------------------------------------- Slack (setup path): -0.475ns (requirement - (data path - clock path skew + uncertainty)) Source: MEM_DDR/memc1_wrapper_inst/memc1_mcb_raw_wrapper_inst/samc_0 (CPU) Destination: MEM_DDR/memc1_wrapper_inst/memc1_mcb_raw_wrapper_inst/gen_term_calib.mcb_soft_calibration_top_inst/mcb_soft_calibration_inst/SELFREFRESH_MCB_MODE_R1 (FF) Requirement: 2.500ns Data Path Delay: 1.738ns (Levels of Logic = 0) Clock Path Skew: -0.944ns (1.514 - 2.458) Source Clock: MEM_DDR/c1_sysclk_2x_180 rising at 17.500ns Destination Clock: MEM_DDR/c1_mcb_drp_clk rising at 20.000ns Clock Uncertainty: 0.293ns not sure on how to analyse it of is it's ok.. Can someone give me a hand? Sometimes i get wrong values out of the DDR and i think it's related to my timing problems ddr.xco 2 KB |
|
相关推荐
7个回答
|
|
在UCF文件中,I / O标准部分上方的所有约束均指内部
不在设计层次结构顶部的网络或实例。 你需要编辑这些 通过添加MIG顶级实例的路径。 在您的设计中,基于时机 报告这称为“MEM_DDR”。 所以例如你需要改变: NET“memc?_wrapper_inst / memc?_mcb_raw_wrapper_inst / selfrefresh_mcb_mode”TIG; to:NET“MEM_DDR / memc?_wrapper_inst / memc?_mcb_raw_wrapper_inst / selfrefresh_mcb_mode”TIG; 等等... - Gabor 在原帖中查看解决方案 以上来自于谷歌翻译 以下为原文 In the UCF file, all of the constraints above the I/O Standards section refer to internal nets or instances that are not at the top of your design hierarchy. You need to edit these by adding the path to the MIG top level instance. In your design, based on the timing report this is called "MEM_DDR." So for instance you need to change: NET "memc?_wrapper_inst/memc?_mcb_raw_wrapper_inst/selfrefresh_mcb_mode" TIG; to: NET "MEM_DDR/memc?_wrapper_inst/memc?_mcb_raw_wrapper_inst/selfrefresh_mcb_mode" TIG; and so on... -- GaborView solution in original post |
|
|
|
MIG的Spartan 6版本不处理输入时钟,因此您总是最终编辑
用于更改输入时钟的PLL反馈乘数的文件。 我希望你做到了 对的。 我通常使用Verilog,你需要更改一些localparams,所以它 有意义的是,在VHDL中它可能是常量。 我不是百分之百地确定时间失败,但它可能是一条道路。 检查以确保这一点 您已添加MIG生成的UCF,使时间约束匹配 你的实际设计层次。 您可能需要在实例的开头添加通配符 命名或添加实际的层次结构路径。 我相信你表现为失败的道路是一条道路 在MIG生成的UCF中具有TIG约束的那些。 你可以浏览一下 并查看您是否看到匹配的网络或实例名称,可能具有不完整的前导 路径。 - Gabor 以上来自于谷歌翻译 以下为原文 The Spartan 6 version of MIG doesn't handle the input clock, so you always end up editing the file to change the PLL feedback multiplier for your input clock. I expect you have done it right. I generally work with Verilog, where you need to change some localparams, so it makes sense that in VHDL it could be constants. I'm not 100% sure of the timing failure, but it may be a flase path. Check to make sure that you have added the UCF generated by MIG in such a way that the timing constraints match your actual design hierarchy. You might need to add a wildcard to the start of instance names or add the actual hierarchy path. I believe the path you showed as failing is one of the ones that have a TIG constraint in the MIG-generated UCF. You can look through it and see if you see a matching net or instance name, perhaps with an incomplete leading path. -- Gabor |
|
|
|
我试图添加DDR ucf文件,我得到一个错误,说它已经存在,我还能做什么?
以上来自于谷歌翻译 以下为原文 I tried to add the DDR ucf file and i got an error saying it was already there, what else can i do? |
|
|
|
你可以将UCF文件附加到帖子,以便我可以看到它是否确实有TIG约束
失败的道路? 通常问题不在于您没有附加UCF文件,而是您需要 编辑它以匹配实际的设计层次结构。 - Gabor 以上来自于谷歌翻译 以下为原文 Can you attach the UCF file to a post so I can see if it indeed has a TIG constraint for the failing path? Usually the problem is not that you haven't attached the UCF file, but that you need to edit it to match the actual design hierarchy. -- Gabor |
|
|
|
None
以上来自于谷歌翻译 以下为原文 Sure, here it goes ############################################################################## ## Xilinx, Inc. 2006 www.xilinx.com ## qua 3. abr 10:07:40 2013## Generated by MIG Version 3.91## ############################################################################## File name : ddr.ucf## ## Details : Constraints file## FPGA family: spartan6## FPGA: xc6slx16-ftg256## Speedgrade: -2## Design Entry: VHDL## Design: without Test bench## DCM Used: Enable## No.Of Memory Controllers: 1############################################################################## ############################################################################# VCC AUX VOLTAGE ############################################################################CONFIG VCCAUX=2.5; # Valid values are 2.5 and 3.3############################################################################# DDR2 requires the MCB to operate in Extended performance mode with higher Vccint# specification to achieve maximum frequency. Therefore, the following CONFIG constraint# follows the corresponding GUI option setting. However, DDR3 can operate at higher # frequencies with any Vcciint value by operating MCB in extended mode. Please do not# remove/edit the below constraint to avoid false errors.############################################################################CONFIG MCB_PERFORMANCE= STANDARD;################################################################################### Timing Ignore constraints for paths crossing the clock domain ##################################################################################NET "memc?_wrapper_inst/memc?_mcb_raw_wrapper_inst/selfrefresh_mcb_mode" TIG;NET "c?_pll_lock" TIG;INST "memc?_wrapper_inst/memc?_mcb_raw_wrapper_inst/gen_term_calib.mcb_soft_calibration_top_inst/mcb_soft_calibration_inst/DONE_SOFTANDHARD_CAL*" TIG;#Please uncomment the below TIG if used in a design which enables self-refresh mode#NET "memc?_wrapper_inst/memc?_mcb_raw_wrapper_inst/gen_term_calib.mcb_soft_calibration_top_inst/mcb_soft_calibration_inst/SELFREFRESH_MCB_REQ" TIG; ############################################################################## Memory Controller 1 ## Memory Device: LPDDR->MT46H64M16XXXX-5L-IT ## Frequency: 100 MHz## Time Period: 10000 ps## Supported Part Numbers: MT46H64M16LFCK-5L-IT######################################################################################################################################################### All the IO resources in an IO tile which contains DQSP/UDQSP are used# irrespective of a single-ended or differential DQS design. Any signal that# is connected to the free pin of the same IO tile in a single-ended design# will be unrouted. Hence, the IOB cannot used as general pupose IO.############################################################################CONFIG PROHIBIT = N16,T15;############################################################################## Clock constraints ############################################################################NET "memc1_infrastructure_inst/sys_clk_ibufg" TNM_NET = "SYS_CLK1";TIMESPEC "TS_SYS_CLK1" = PERIOD "SYS_CLK1" 10 ns HIGH 50 %;######################################################################################################################################################### I/O STANDARDS ############################################################################NET "mcb1_dram_dq |
|
|
|
在UCF文件中,I / O标准部分上方的所有约束均指内部
不在设计层次结构顶部的网络或实例。 你需要编辑这些 通过添加MIG顶级实例的路径。 在您的设计中,基于时机 报告这称为“MEM_DDR”。 所以例如你需要改变: NET“memc?_wrapper_inst / memc?_mcb_raw_wrapper_inst / selfrefresh_mcb_mode”TIG; to:NET“MEM_DDR / memc?_wrapper_inst / memc?_mcb_raw_wrapper_inst / selfrefresh_mcb_mode”TIG; 等等... - Gabor 以上来自于谷歌翻译 以下为原文 In the UCF file, all of the constraints above the I/O Standards section refer to internal nets or instances that are not at the top of your design hierarchy. You need to edit these by adding the path to the MIG top level instance. In your design, based on the timing report this is called "MEM_DDR." So for instance you need to change: NET "memc?_wrapper_inst/memc?_mcb_raw_wrapper_inst/selfrefresh_mcb_mode" TIG; to: NET "MEM_DDR/memc?_wrapper_inst/memc?_mcb_raw_wrapper_inst/selfrefresh_mcb_mode" TIG; and so on... -- Gabor |
|
|
|
|
|
|
|
只有小组成员才能发言,加入小组>>
2429 浏览 7 评论
2831 浏览 4 评论
Spartan 3-AN时钟和VHDL让ISE合成时出现错误该怎么办?
2298 浏览 9 评论
3378 浏览 0 评论
如何在RTL或xilinx spartan fpga的约束文件中插入1.56ns延迟缓冲区?
2468 浏览 15 评论
有输入,但是LVDS_25的FPGA内部接收不到数据,为什么?
1371浏览 1评论
请问vc707的电源线是如何连接的,我这边可能出现了缺失元件的情况导致无法供电
596浏览 1评论
求一块XILINX开发板KC705,VC707,KC105和KCU1500
460浏览 1评论
2013浏览 0评论
738浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-29 10:12 , Processed in 1.309648 second(s), Total 88, Slave 72 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号