OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 1025|回复: 1

[国产FPGA] 紫光同创PG2L100H Place&Route报错E: Place-0084如何解决?

[复制链接]

1

主题

1

帖子

0

精华

新手入门

积分
19
金钱
19
注册时间
2024-6-29
在线时间
4 小时
发表于 2024-7-27 10:49:25 | 显示全部楼层 |阅读模式
2金钱
我在用这款FPGA做lvds数据采集,每当我添加下面这行代码的时候布局布线就会报错:
  1. assign lvds_din_single[DATA_WIDTH*(i+1)-1:DATA_WIDTH*i] = {rxdata_temp_s[3],rxdata_temp_s[2],rxdata_temp_m[7],rxdata_temp_m[6],rxdata_temp_m[5],rxdata_temp_m[4],rxdata_temp_m[3],rxdata_temp_m[2],rxdata_temp_m[1],rxdata_temp_m[0]} ;
复制代码
这行的作用就是在for循环里不断拼接serdes原语产生的10位并行数据,一共是16路也就是160位的数据。每次加上这句话pds机会报下面这行错误:
E: Place-0084: MREGION_CLOCK: the driver ins_dsclk_ctrl/GTP_INBUFGDS_inst/opit_2 fixed at IOLHR_16_1050 is unreasonable. Sub-optimal placement for a clock source and a clock buffer.

似乎是说我前面inbufgds原语有问题,但是那部分只是例化了一下原语而已,没有别的操作,那部分代码如下:
  1. GTP_INBUFGDS GTP_INBUFGDS_inst
  2. (
  3.   .O  ( lvds_clk_pn  ),
  4.   .I  ( lvds_clk_p   ),
  5.   .IB ( lvds_clk_n   )
  6. );
复制代码
起初我考虑是不是位宽过大,于是将原本位宽160的assign信号改成16路位宽为10 的小位宽信号,上面的报错就消失了。但后续我在相应更改其他模块的代码时,相同的报错又在其他地方出现。这次报错出现在一个判断语句上:
  1. START     : if(lvds_din_single_1 == {CHANNEL{PATTERN[DATA_WIDTH-1:0]}})
复制代码
  1. START     : if(lvds_din_single_1 == PATTERN)
复制代码
当我将判断语句从上面这行改成下面这行,就有会报上面所说的错误,不知道到底哪里出了问题,有没有大神可以帮忙解决?

最佳答案

查看完整内容[请看2#楼]

遇到同样的问题 查到 https://zhuanlan.zhihu.com/p/616107093 添加
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

11

主题

1041

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3696
金钱
3696
注册时间
2011-5-23
在线时间
2008 小时
发表于 2024-7-27 10:49:26 | 显示全部楼层
遇到同样的问题

查到 https://zhuanlan.zhihu.com/p/616107093

添加
  1. {PAP_CLOCK_DEDICATED_ROUTE} {FALSE}
复制代码


RT-Thread RTOS 音频,WIFI,蓝牙
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-22 11:26

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表