首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

[求助]如何将全局时钟约束到普通的IO上

如果你这个时钟信号从全局时钟管脚输入,不论它是否为时钟信号,都必须使用IBUFG或者
IBUFGDS;如果对某个信号使用了IBUFG或者IBUFGDS硬件原语,则这个信号必定是从全局时钟管脚输入的。如果违反了这条规则,那么在布局布线的时候会报错!
美梦成真-->噩梦降临!
大多数综合工具会自动分析时钟信号的扇出数目,在全局时钟富裕的情况下,将扇出数目最大的信号自动指定使用全局时钟资源(也就是说被综合器指定使用IBUFG、IBUFGDS、BUFGP全局时钟资源),由于这个原因,综合结果违反了我上面说的那条规则,所以会报错!
解决方法:(以SYNPLIFY PRO为例)
打开SCOPE(Synthesis Constraints Optimization Environment,综合约束优化环境),选择约束属性(Attributes)选项卡。选择约束对象类型(Object Type)为“clock”,然后再约束对象(Object)为你设计中的这个时钟,选择约束属性(Attribute)为“syn_nonclockbuf”,在设置约束值域(Value)为“1”
然后OK!
美梦成真-->噩梦降临!
上面我罗嗦了半天没准还弄出其他问题来,给你个最直接的,用以下的写法写你的输入时钟定义:
input clk /*synthesis syn_nonclockbuf=1*/;

[此贴子已经被stone133于2006-3-24 15:19:02编辑过]

美梦成真-->噩梦降临!
返回列表