Vivado Synth8-5535 报错解决办法

文章讲述了在Vivado编译中遇到的错误,原因在于sys_clk被同时用作always模块的时钟输入和PLL的输入,违反了不允许直接连接的规定。解决方法是将sys_clk仅用于PLL输入,生成同步时钟信号供always模块使用,避免潜在的短路问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

报错内容:[Synth 8-5535] port <sys_clk> has illegal connections. It is illegal to have a port connected to an input buffer and other components. The following are the port connections : Input Buffer: Port I of instance clkin1_ibufg(IBUF) in module <clk_wiz_0_clk_wiz> Other Components: Port C of instance sys_rst_n_reg(FD) in module ddr3_rw_top...

报错原因:从引脚输入的sys_clk未经buffer不可以直接作为多个模块的输入信号。在我的代码中,sys_clk即做了always的时钟输入又做了PLL的输入,这样是不允许的连接PLL时,输入信号先要连接到内部buffer以产生较强的驱动能力,从而保证时钟的时序质量。但是由于输入信号的另一分支不经过任何电路就直接连接到了输出pad,所以存在一种可能,即连接buffer的分支会被短路,从而失去预期的效果。正因为如此,vivado给出了错误警告。

解决办法:最简单的一种办法是sys_clk只做为PLL的输入,PLL输入一个和sys_clk时钟频率相同的时钟信号,将输出的信号用于always模块。

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值