打印

生成bit流时incompatible due to VCCO mismatch

[复制链接]
5599|9
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
entepino|  楼主 | 2013-2-3 16:15 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
生成bit流的时候总是出现以下错误。
ERROR:Place:864 - Incompatible IOB's are locked to the same bank 2
   Conflicting IO Standards are:
   IO Standard 1: Name = LVCMOS33, VREF = NR, VCCO = 3.30, TERM = NONE, DIR =
   OUTPUT, DRIVE_STR = 12
   List of locked IOB's:
           RS232_Uart_1_sout
           axi_can_0_CAN_PHY_TX
           axi_can_1_CAN_PHY_TX

   IO Standard 2: Name = LVCMOS25, VREF = NR, VCCO = 2.50, TERM = NONE, DIR =
   BIDIR, DRIVE_STR = 12
   List of locked IOB's:
           axi_gpio_0_GPIO_IO_pin<0>
           axi_gpio_0_GPIO_IO_pin<1>
           axi_gpio_0_GPIO_IO_pin<2>
           axi_gpio_0_GPIO_IO_pin<3>
           axi_gpio_0_GPIO_IO_pin<4>
           axi_gpio_0_GPIO_IO_pin<5>

   These IO Standards are incompatible due to VCCO mismatch.
Baidu了一下,有个哥们说:原来是程序的源语中定义了差分电压为2.5V,而约束文件又在同一个BANK定义了3.3V,才会产生冲突。并且把程序的源语贴了出来。
genvar i,j ;
generate
for (i = 0 ; i <= 3 ; i = i + 1)
begin : loop0
OBUFDS #(.IOSTANDARD("LVDS_25"))  
obuf_d   (.I(tx_output_reg[i]), .O(dataouta_p[i]), .OB(dataouta_n[i]));
ODDR2  #(.DDR_ALIGNMENT("NONE")) fd_ioc (.C0(clkx3p5), .C1(clkx3p5not), .D0(tx_output_fix[i+4]), .D1(tx_output_fix[i]), .CE(1'b1), .R(1'b0), .S(1'b0), .Q(tx_output_reg[i])) ;
assign tx_output_fix[i]   = outdata[i]   ^ TX_SWAP_MASK[i] ;
assign tx_output_fix[i+4] = outdata[i+4] ^ TX_SWAP_MASK[i] ;
end
endgenerate
说把IOSTANDARD("LVDS_25")改成IOSTANDARD("LVDS_33")就ok了,我怎么没找到这个所谓的程序的源语。*.mhs文件,*.mss文件中没有,*.ucf文件中没有。这个所谓的程序的源语到底在哪里,莫非像房姐一样凭空消失了?大家遇到这个error都是怎么解决的,谢谢。


相关帖子

沙发
cjhk| | 2013-2-3 18:23 | 只看该作者
不是很了解   帮你顶一个   呵呵    顶起来    呵呵

使用特权

评论回复
板凳
entepino|  楼主 | 2013-2-4 09:10 | 只看该作者
有人看,请指点一下,谢谢!

使用特权

评论回复
地板
ifpga| | 2013-2-4 11:19 | 只看该作者
一般默认 IO 可能会是 2.5V的,如果 .ucf 里没有,你可强制在里面加一个新的约束
.mhs 描述的是内部IP之间的连接关系,以及参数配置,IO电平是不会在这里描述和定义的

所以说,在 .ucf 里把所有的约束都做到是比较好的一种习惯

不知道说的对错,你可以试一下

使用特权

评论回复
5
otod3r| | 2013-2-5 14:28 | 只看该作者
那哥们说的没错,但不见得都是这样出错的,你把ucf贴出来看看

使用特权

评论回复
6
zcb86209768| | 2015-6-22 10:27 | 只看该作者
请问后来怎么解决的,我也遇到了这个问题

使用特权

评论回复
7
fanxixi| | 2015-7-16 15:34 | 只看该作者
zcb86209768 发表于 2015-6-22 10:27
请问后来怎么解决的,我也遇到了这个问题

错误产生的原因是Bank0中VCCO 电压不一致,详细情况可以查看编译产生的文件(*.par)报告。

在Kintex 7 中,编译产生的文件是(*.map)报告。

此外,在Kintex 7 中,我们可以通过编译产生的文件是(*.lpc)报告来看所有已分配和未分配引脚的约束,对于未分配的引脚我们就可以直接用它,只要这样做能编译通过,且能通过Chipscope来观察此信号就OK。

使用特权

评论回复
8
fanxixi| | 2015-7-16 15:35 | 只看该作者
fanxixi 发表于 2015-7-16 15:34
错误产生的原因是Bank0中VCCO 电压不一致,详细情况可以查看编译产生的文件(*.par)报告。

在Kintex 7  ...

应该是相同的道理

使用特权

评论回复
9
enjoylife2017| | 2015-8-17 23:14 | 只看该作者
错误是因为你至少有一个管脚的约束没分配。比如你只分配了 具体的哪个脚而忘了电压的分配。

使用特权

评论回复
10
enjoylife2017| | 2015-8-17 23:15 | 只看该作者
这个问题我也遇到过,我就是SD_CMD忘了分配电压了,它默认的电压不行。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

211

主题

649

帖子

2

粉丝