cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
nanjing2002
Adventurer
Adventurer
830 Views
Registered: ‎01-25-2014

多年Xilinx经验工程求助:第一次遇见FPGA内部BRAM数据读写出错,怀疑器件或EDA工具异常?

我目前出现特别奇异的现象,就是FPGA内部的BRAM的写入数据和读出数据居然不一致。器件Virtex-690T,工具Vivado 2018.3

我的FIFO使用FIFO generator IP ,使用情况为读写位宽512,深度512,根据空满来写和读,ILA抓取波形显示写和读不匹配,没有出现empty和full违例,

我的设计写入数据后只要非空就可以发起读,读为1拍latency,也就是说写和读经常只是差一拍而已,读写时钟为相同时钟。异常如下:

第一行512bit的读和写是一致的,但是第二行就有1~2bit异常,0或1不同,多年Xilinx经验,第一次如此问题遇到。

 

以下是写,每行512bit
3029d0a42e47b94e2d46db78ad060a69ae6726b0ac86d9ad2d2ce489ad10086d2b59c680aa2108422cf9fbb1acaad0ea413504f62c527ac42cb3308c2c6dfa18 1
331e9f85327cfa84b0e361bfaf7fec06befb9e62b21a63142fa6e8412e33ea343b79d6c8bb6b19c2aefffbfdafaad3faf1a70e98b010c5fc2d81a938ac5d2026 1
b390b6f0b3166c20b3404abeb2a1c8d43ee3aef2b29ac7f7331ddcfa32433c7c3b7dded8bbef7dd3bedfebfebfa3fbbef3f92544b296e2f631e2166030a86c33 1
32a290a0b2c672e8a34081cb1248a2403000804000000000000000000000000033418a1832cc2193b2a1618ab199bfe6b33a5f553217c6f632eb52503293b5f0 1
32abd2e4be47ffeebf46dbfbbfcfbb79bff7eff3bffed9ff3f3ce5dbbdd34e7dbbfddffcbbefffffb2b9ebbeb5bbfff6f3774ff72e57fef62cf3309c2c7dfbf8 1
331e9f85327cfa84b0e361bfaf7fec06befb9e62b21a63142fa6e9412ef3ee343b79d6ecbb6bfbd7aefffbfdafaad3faf1a70e98b010c5fc2d81a938ac5d2026 1
b390b6f0b3166c20b3404abeb2a1c8d43ee3aef2b29ac7f7331ddcfa32433c7c3b7dded8bbef7dd3bedfebfebfa3fbbef3f92544b296e2f631e2166030a86c33 1
32a290a0b2c672e8a34081cb1248a2403000804000000000000000000000000033418a1832cc2193b2a1618ab199bfe6b33a5f553217c6f632eb52503293b5f0 1
32abd2e4be47ffeebf46dbfbbfcfbb79bff7eff3bffed9ff3f3ce5dbbdd34e7dbbfddffcbbefffffb2b9ebbeb5bbfff6f3774ff72e57fef62cf3309c2c7dfbf8 1
331e9f85327cfa84b0e361bfaf7fec06befb9e62b21a63142fa6e9412eb3ee343b79d6ecbb6bfbd3aefffbfdafaad3faf1a70e98b010c5fc2d81a938ac5d2026 1
b390b6f0b3166c20b3404abeb2a1c8d43ee3aef2b29ac7f7331ddcfa32433c7c3b7dded8bbef7dd3bedfebfebfa3fbbef3f92544b296e2f631e2166030a86c33 1
32a290a0b2c672e8a34081cb1248a2403000804000000000000000000000000033418a1832cc2193b2a1618ab199bfe6b33a5f553217c6f632eb52503293b5f0 1
32abd2e4be47ffeebf46dbfbbfcfbb79bff7eff3bffed9ff3f3ce5dbbdd34e7dbbfddffcbbefffffb2b9ebbeb5bbfff6f3774ff72e57fef62cf3309c2c7dfbf8 1
331e9f85327cfa84b0e361bfaf7fec06befb9e62b21a63142fa6e9412eb3ee343b79d6ecbb6bfbd7aefffbfdafaad3faf1a70e98b010c5fc2d81a938ac5d2026 1
b390b6f0b3166c20b3404abeb2a1c8d43ee3aef2b29ac7f7331ddcfa32433c7c3b7dded8bbef7dd3bedfebfebfa3fbbef3f92544b696e2f631e2166030a86c33 1
32a290a0b2c672e8a34081cb1248a2483000804000000000000000000000000033418a1832cc2193b2a1618ab199bfe6b33a5f553217c6f632eb52503293b5f0 1
32abd2e4be47ffeebf46dbfbbfcfbb79bff7eff3bffed9ff3f3ce5dbbdd34e7dbbfddffcbbefffffb2b9ebbeb5bbfff6f3774ff72e57fef62cf3309c2c7dfbf8 1
331e9f85327cfa84b0e361bfaf7fec06befb9e62b21a63142fa6e9412eb3ee343b79d6ecbb6bfbd3aefffbfdafaad3faf1a70e98b010c5fc2d81a938ac5d2026 1
b390b6f0b3166c20b3404abeb2a1c8d43ee3aef2b29ac7f7331ddcfa32433c7c3b7dded8bbef7dd3bedfebfebfa3fbbef3f92544b296e2f631e2166030a86c33 1
32a290a0b2c672e8a34081cb1248a2403000804000000000000000000000000033418a1832cc2193b2a1618ab199bfe6b33a5f553217c6f632eb52503293b5f0 1
32abd2e4be47ffeebf46dbfbbfcfbb79bff7eff3bffed9ff3f3ce5dbbdd34e7dbbfddffcbbefffffb2b9ebbeb5bbfff6f3774ff72e57fef62cf3309c2c7dfbf8 1
331e9f85327cfa84b0e361bfaf7fec06befb9e62b21a63142fa6e9412eb3ee343b79d6ecbb6bfbd3aefffbfdafaad3faf1a70e98b010c5fc2d81a938ac5d2026 1
b390b6f0b3166c20b3404abeb2a1c8d43ee3aef2b29ac7f7331ddcfa32433c7c3b7dded8bbef7dd3bedfebfebfa3fbbef3f92544b296e2f631e2166030a86c33 1
32a290a0b2c672e8a34081cb1248a2403000804000000000000000000000000033418a1832cc2193b2a1618ab199bfe6b33a5f553217c6f632eb52503293b5f0 1
32abd2e4be47ffeebf46dbfbbfcfbb79bff7eff3bffed9ff3f3ce5dbbdd34e7dbbfddffcbbefffffb2b9ebbeb5bbfff6f3774ff72e57fef62cf3309c2c7dfbf8 1
331e9f85327cfa84b0e361bfaf7fec06befb9e62b21a63142fa6e9412eb3ee343b79d6ecbb6bfbd7aefffbfdafaad3faf1a70e98b010c5fc2d81a938ac5d2026 1
b390b6f0b3166c20b3404abeb2a1c8d43ee3aef2b29ac7f7331ddcfa32433c7c3b7dded8bbef7dd3bedfebfebfa3fbbef3f92544b296e2f631e2166030a86c33 1
32a290a0b2c672e8a34081cb1248a2403000804000000000000000000000000033418a1832cc2193b2a1618ab199bfe6b33a5f553217c6f632eb52503293b5f0 1
32abd2e4be47ffeebf46dbfbbfcfbb79bff7eff3bffed9ff3f3ce5dbbdd34e7dbbfddffcbbefffffb2b9ebbeb5bbfff6f3774ff72e57fef62cf3309c2c7dfbf8 1
331e9f85327cfa84b0e361bfaf7fec06befb9e62b21a63142fa6e9412eb3ee343b79d6ecbb6bfbd3aefffbfdafaad3faf1a70e98b010c5fc2d81a938ac5d2026 1
b390b6f0b3166c20b3404abeb2a1c8d43ee3aef2b29ac7f7331ddcfa32433c7c3b7dded8bbef7dd3bedfebfebfa3fbbef3f92544b296e2f631e2166030a86c33 1
32a290a0b2c672e8a34081cb1248a2403000804000000000000000000000000033418a1832cc2193b2a1618ab199bfe6b33a5f553217c6f632eb52503293b5f0 1
32abd2e4be47ffeebf46dbfbbfcfbb79bff7eff3bffed9ff3f3ce5dbbdd34e7dbbfddffcbbefffffb2b9ebbeb5bbfff6f3774ff72e57fef62cf3309c2c7dfbf8 1
331e9f85327cfa84b0e361bfaf7fec06befb9e62b21a63142fa6e9412eb3ee343b79d6ecbb6bfbd3aefffbfdafaad3faf1a70e98b010c5fc2d81a938ac5d2026 1
b390b6f0b3166c20b3404abeb2a1c8d43ee3aef2b29ac7f7331ddcfa32433c7c3b7dded8bbef7dd3bedfebfebfa3fbbef3f92544b296e2f631e2166030a86c33 1
32a290a0b2c672e8a34081cb1248a2403000804000000000000000000000000033418a1832cc2193b2a1618ab199bfe6b33a5f553217c6f632eb52503293b5f0 1
32abd2e4be47ffeebf46dbfbbfcfbb79bff7eff3bffed9ff3f3ce5dbbdd34e7dbbfddffcbbefffffb2b9ebbeb5bbfff6f3774ff72e57fef62cf3309c2c7dfbf8 1
331e9f85327cfa84b0e361bfaf7fec06befb9e62b21a63142fa6e9412eb3ee343b79d6ecbb6bfbd3aefffbfdafaad3faf1a70e98b010c5fc2d81a938ac5d2026 1
b390b6f0b3166c20b3404abeb2a1c8d43ee3aef2b29ac7f7331ddcfa32433c7c3b7dded8bbef7dd3bedfebfebfa3fbbef3f92544b296e2f631e2166030a86c33 1
32a290a0b2c672e8a34081cb1248a2403000804000000000000000000000000033418a1832cc2193b2a1618ab199bfe6b33a5f553217c6f632eb52503293b5f0 1

以下是读,每行512bit
3029d0a42e47b94e2d46db78ad060a69ae6726b0ac86d9ad2d2ce489ad10086d2b59c680aa2108422cf9fbb1acaad0ea413504f62c527ac42cb3308c2c6dfa18 1
331e9f85327cfa84b0e361bfaf7fec06befb9e62b21a63142fa6e8412e33ea343b79d6c8bb6b1980aefffbfdafaad3faf1b70e9cb012c5fc2d83a938ac5d2026 1
b390b6f0b3166c20b3404abeb2a1c8d43ee7aef2b29ac7f7331ddcfa32433c7c3b7dded8bbef7dd3beffebffbfbbfbbef3fd2544b696eaf631e2166030a86c33 1
32a292e0b2c672ecb34481c30248a2403020884000000000000000000000000033618a1832cc2181b2b16188b199bfe6b37a5f553217c6f632eb52503293b5f0 1
32abd2e4be47ffeebf46dbfbbfcfbbf9bff7eff3bffeddff3f3ce5dbbdd34e7dbbfddffcbbeffbffbef9ebbeb5bbffb6f37f5ff73e57fef63ef332dc3c7ffbf8 1
331e9f85327cfa84b0e361bfaf7fec06befb9e62b21a63142fa6e9c12ef3ee343b79d6ecbb6bf983aefffbfdafaad3faf1b70e9cb012c5fc2d83a938ac5d2026 1
b390b6f0b3166c20b3404abeb2a1c8d43ee7aef2b29ac7f7331ddcfa32433c7c3b7dded8bbef7dd3beffebffbfbbfbbef3fd2544b696eaf631e2166030a86c33 1
32a292e0b2c672ecb34481c3024882403020884000000000000000000000000033618a1832cc2181b2b16188b199bfe6b37a5f553217c6f632eb52503293b5f0 1
32abd2e4be47ffeebf46dbfbbfcfbbf9bff7eff3bffeddff3f3ce5dbbdd34e7dbbfddffcbbeffbffbef9ebbeb5bbffb6f37f5ff73e57fef62ef332dc3c7ffbf8 1
331e9f85327cfa84b0e361bfaf7fec06befb9e62b21a63142fa6e9c12ef3ee343b79d6ecbb6bf983aefffbfdafaad3faf1b70e9cb012c5fc2d83a938ac5d2026 1
b390b6f0b3166c20b3404abeb2a1c8d43ee7aef2b29ac7f7331ddcfa32433c7c3b7dded8bbef7dd3beffebffbfbbfbbef3fd2544b696eaf631e2166030a86c33 1
32a292e0b2c672ecb34481c30248a2403020884000000000000000000000000033618a1832cc2181b2b16188b199bfe6b37a5f553217c6f632eb52503293b5f0 1
32abd2e4be47ffeebf46dbfbbfcfbbf9bff7eff3bffeddff3f3ce5dbbdd34e7dbbfddffcbbeffbffbef9ebbeb5bbffb6f37f5ff73e57fef63ef332dc3c7ffbf8 1
331e9f85327cfa84b0e361bfaf7fec06befb9e62b21a63142fa6e9c12ef3ee343b79d6ecbb6bf983aefffbfdafaad3faf1b70e9cb012c5fc2d83a938ac5d2026 1
b390b6f0b3166c20b3404abeb2a1c8d43ee7aef2b29ac7f7331ddcfa32433c7c3b7dded8bbef7dd3beffebffbfbbfbbef3fd2544b696eaf631e2166030a86c33 1
32a292e0b2c672ecb34481c31248a2403020884000000000000000000000000033618a1832cc2181b2b16188b199bfe6b37a5f553217c6f632eb52503293b5f0 1
32abd2e4be47ffeebf46dbfbbfcfbbf9bff7eff3bffeddff3f3ce5dbbdd34e7dbbfddffcbbeffbffbef9ebbeb5bbffb6f37f5ff73e57fef62ef332dc3c7ffbf8 1
331e9f85327cfa84b0e361bfaf7fec06befb9e62b21a63142fa6e9c12ef3ee343b79d6ecbb6bf983aefffbfdafaad3faf1b70e9cb012c5fc2d83a938ac5d2026 1
b390b6f0b3166c20b3404abeb2a1c8d43ee7aef2b29ac7f7331ddcfa32433c7c3b7dded8bbef7dd3beffebffbfbbfbbef3fd2544b696eaf631e2166030a86c33 1
32a292e0b2c672ecb34481c3024882403020884000000000000000000000000033618a1832cc2181b2b16188b199bfe6b37a5f553217c6f632eb52503293b5f0 1
32abd2e4be47ffeebf46dbfbbfcfbbf9bff7eff3bffeddff3f3ce5dbbdd34e7dbbfddffcbbeffbffbef9ebbeb5bbffb6f37f5ff73e57fef62ef332dc3c7ffbf8 1
331e9f85327cfa84b0e361bfaf7fec06befb9e62b21a63142fa6e9c12ef3ee343b79d6ecbb6bf983aefffbfdafaad3faf1b70e9cb012c5fc2d83a938ac5d2026 1
b390b6f0b3166c20b3404abeb2a1c8d43ee7aef2b29ac7f7331ddcfa32433c7c3b7dded8bbef7dd3beffebffbfbbfbbef3fd2544b696eaf631e2166030a86c33 1
32a292e0b2c672ecb34481c3024882403020884000000000000000000000000033618a1832cc2181b2b16188b199bfe6b37a5f553217c6f632eb52503293b5f0 1
32abd2e4be47ffeebf46dbfbbfcfbbf9bff7eff3bffeddff3f3ce5dbbdd34e7dbbfddffcbbeffbffbef9ebbeb5bbffb6f37f5ff73e57fef63ef332dc3c7ffbf8 1
331e9f85327cfa84b0e361bfaf7fec06befb9e62b21a63142fa6e9c12ef3ee343b79d6ecbb6bf983aefffbfdafaad3faf1b70e9cb012c5fc2d83a938ac5d2026 1
b390b6f0b3166c20b3404abeb2a1c8d43ee7aef2b29ac7f7331ddcfa32433c7c3b7dded8bbef7dd3beffebffbfbbfbbef3fd2544b696eaf631e2166030a86c33 1
32a292e0b2c672ecb34481c30248a2403020884000000000000000000000000033618a1832cc2181b2b16188b199bfe6b37a5f553217c6f632eb52503293b5f0 1
32abd2e4be47ffeebf46dbfbbfcfbbf9bff7eff3bffeddff3f3ce5dbbdd34e7dbbfddffcbbeffbffbef9ebbeb5bbffb6f37f5ff73e57fef62ef332dc3c7ffbf8 1
331e9f85327cfa84b0e361bfaf7fec06befb9e62b21a63142fa6e9c12ef3ee343b79d6ecbb6bf983aefffbfdafaad3faf1b70e9cb012c5fc2d83a938ac5d2026 1
b390b6f0b3166c20b3404abeb2a1c8d43ee7aef2b29ac7f7331ddcfa32433c7c3b7dded8bbef7dd3beffebffbfbbfbbef3fd2544b696eaf631e2166030a86c33 1
32a292e0b2c672ecb34481c30248a2403020884000000000000000000000000033618a1832cc2181b2b16188b199bfe6b37a5f553217c6f632eb52503293b5f0 1
32abd2e4be47ffeebf46dbfbbfcfbbf9bff7eff3bffeddff3f3ce5dbbdd34e7dbbfddffcbbeffbffbef9ebbeb5bbffb6f37f5ff73e57fef62ef332dc3c7ffbf8 1
331e9f85327cfa84b0e361bfaf7fec06befb9e62b21a63142fa6e9c12ef3ee343b79d6ecbb6bf983aefffbfdafaad3faf1b70e9cb012c5fc2d83a938ac5d2026 1
b390b6f0b3166c20b3404abeb2a1c8d43ee7aef2b29ac7f7331ddcfa32433c7c3b7dded8bbef7dd3beffebffbfbbfbbef3fd2544b696eaf631e2166030a86c33 1
32a292e0b2c672ecb34481c3024882403020884000000000000000000000000033618a1832cc2181b2b16188b199bfe6b37a5f553217c6f632eb52503293b5f0 1
32abd2e4be47ffeebf46dbfbbfcfbbf9bff7eff3bffeddff3f3ce5dbbdd34e7dbbfddffcbbeffbffbef9ebbeb5bbffb6f37f5ff73e57fef63ef332dc3c7ffbf8 1
331e9f85327cfa84b0e361bfaf7fec06befb9e62b21a63142fa6e9c12ef3ee343b79d6ecbb6bf983aefffbfdafaad3faf1b70e9cb012c5fc2d83a938ac5d2026 1
b390b6f0b3166c20b3404abeb2a1c8d43ee7aef2b29ac7f7331ddcfa32433c7c3b7dded8bbef7dd3beffebffbfbbfbbef3fd2544b696eaf631e2166030a86c33 1
32a292e0b2c672ecb34481c3024882403020884000000000000000000000000033618a1832cc2181b2b16188b199bfe6b37a5f553217c6f632eb52503293b5f0 1

0 Kudos
8 Replies
nanjing2002
Adventurer
Adventurer
829 Views
Registered: ‎01-25-2014

从第二行开始就总有几个bit会出错,后面的1表示数据有效标志,可以不关心,文件可用notpad打开,请Xilinx各位大佬出招。
0 Kudos
kaiseradler
Voyager
Voyager
806 Views
Registered: ‎03-06-2019

哈哈哈哈,就是读写只差一个时钟!第一个时钟写进去,第二个时钟就读了,然后第三个时钟读数据出来了?!那照理说写数据和读数据,应该相差2个时钟啊?!

0 Kudos
nanjing2002
Adventurer
Adventurer
800 Views
Registered: ‎01-25-2014

谢谢回复,这个不是重点。只是表达非空就可读的意思,即数据写进来后,看到非empty,就可读。

有什么高见?要么让Xilinx原厂出来解释下。

0 Kudos
kaiseradler
Voyager
Voyager
770 Views
Registered: ‎03-06-2019

感觉还是你读写冲突了.你尝试着fifo里的数据大于等于2的时候再读?你这种写完立即读,感觉可能存在冲突,写进去的稳定时间很临界!

0 Kudos
nanjing2002
Adventurer
Adventurer
741 Views
Registered: ‎01-25-2014

拉开16拍的写和读也试过了,一样的错误,有其中几个bit的1或1出错。

另外,我相差1拍的写->读其实也符合Xilinx BRAM规则,同一个时钟100MHz,稳定时间足够了。比较担心是Vivado的bug了

0 Kudos
kaiseradler
Voyager
Voyager
735 Views
Registered: ‎03-06-2019

汗,所有板子都是这样?有没有换其他板子测过?芯片供电的几个电压是否正常?!

0 Kudos
nanjing2002
Adventurer
Adventurer
709 Views
Registered: ‎01-25-2014

没法拆开看,不知道了。

0 Kudos
zhangpei1
Newbie
Newbie
453 Views
Registered: ‎05-16-2021

请问现在解决了吗,我也是写入和读取数据不一致,我是根据例程自定义的pl_bram_ctrl核,data in是没问题的,然后data out = data in [31:0],用ILA查看data in [31:0]和data out波形不一致,会有一些失真和错误。

0 Kudos