芯路恒电子技术论坛

 找回密码
 立即注册
热搜: 合集
查看: 9980|回复: 4

报错【176310】Can't place multiple pins assigned to pin location Pin_F16

[复制链接]
  • TA的每日心情
    慵懒
    2021-2-24 10:16
  • 418

    主题

    769

    帖子

    1万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    15805
    QQ
    发表于 2018-4-17 22:00:25 | 显示全部楼层 |阅读模式
    本文以经典的Starter红色学习套件为例讲解,在所有Altera 的FPGA器件上都可以通过类似的思路去分析,并使用相同的方法解决。

    关于芯路恒FPGA学习套件中使用SDRAM后在全编译时报错,提示无法分配引脚到指定Pin问题的解释以及处理方法:
    在我们芯路恒FPGA开发板上,Starter开发板使用了一片128Mbit的SDRAM存储器。当大家在自己建立工程,或者移植其他家的工程时候,往往之前一切顺利,但是在最终分配完引脚进行全编译时,都会报错,报错内容如下:
    温馨提示,点击图片可以查看高清大图
    01.png
                                  
      
    Can't place multiple pins assigned to pin location Pin_F16  (IOPAD_X34_Y18_N21)”
      
    另外在AC620开发板上,当使用通用显示扩展接口接VGA或触摸屏时,分配引脚也会遇到该问题。

    这句提示翻译成中文的意思是“无法将多个引脚分配到Pin_F 16这个管脚上”。很多第一次遇见这种问题的朋友会很郁闷,回去检查完引脚分配后,发现并没有重复(况且引脚分配器那里也不让重复分配)。然后就摸不着头脑了。
    其实,我们可以点击这个报错信息前面的三角符号,查看子级的细节提示,如下图所示:
    温馨提示,点击图片可以查看高清大图
    02.png
    通过细节信息我们可以知道,ALTERA_nCEO引脚也被分配到了F16引脚,而nCEO引脚又是什么呢?我们在CycloneIV Device Handbook中第224页找到了关于该引脚的描述:
      
    Output that drives low when configuration  is complete. In a single-device configuration, you can leave this pin  floating or use it as a user I/O pin after configuration. In a multi-device  configuration, this pin feeds the nCE pin of the next device. The nCEO of the  last device in the chain is left floating or used as a user I/O pin after  configuration.
      
    FPGA器件的配置过程完成后,该引脚输出低电。对于一个只配置一个器件的系统,用户可以将此引脚悬空,或者在配置完成后当做普通用户IO使用。在一个需要配置多设备的系统中(链式结构,使用一个Jtag链配置多个FPGA器件),该引脚连接到下一个器件的引脚的nCE。链的最后一个设备的nCEO悬空或在配置完成后作为普通用户I / O引脚使用。
      
      
    If you use the nCEO pin to feed the nCE  pin of the next device,use an external 10-k pull-up resistor to pull the  nCEO pin high to the VCCIO voltage of its I/O bank to help the internal weak  pull-up resistor.(对于多器件配置系统,翻译略)
      
      
    If you use the nCEO pin as a user I/O pin  after configuration, set the state of the pin on the Dual-Purpose Pin  settings
      
    如果用户希望将该引脚在FPGA配置完成后作为普通用户IO使用,需要设置该脚的状态为双功能引脚。(具体见后文图文说明)
      
    通过这两段话我们知道,这个引脚主要用于链式系统中,即当一个系统(单板)上有多个FPGA器件,使用一个JTAG链配置时,该引脚主要用于器件的级联控制。如果在只需要配置一个器件的系统中,则该引脚可以设置为悬空或者在器件完成配置后作为普通用户IO使用。
    在我们芯路恒FPGA学习套件上,只使用了一片FPGA,因此不存在链式配置结构,因此,我们将该引脚作为了普通用户IO使用,并且连接到了SDRAM芯片的addr7上。故而编译时会有此提示。解决方案就是按照手册中摘录的第三段话设置,将该引脚设置为双功能引脚。具体设置步骤如下:
    Quartus II中依次点击【Assigments】-> 【Device】,在弹出的界面中选择“Deviceand Pin Options”
    温馨提示,点击图片可以查看高清大图
    03.png
    在弹出的选项卡中,选择Dual-PurposePins,在右侧双击nCEO的值,在弹出的下拉选项中选择Use as regular I/O即可。
    温馨提示,点击图片可以查看高清大图
    04.png
    然后点击OK退出,重新全编译工程,就没有这个错误啦。
    大家在使用自己的开发板时,如果也提示这样的错误,可以按照这个解决思路来进行,不同的开发板,可能就是该引脚分配的功能不一样(我们芯路恒FPGA开发板是分配到了sdram的addr7上),解决方案并无任何区别。

    回复

    使用道具 举报

  • TA的每日心情
    难过
    2020-5-27 21:46
  • 6

    主题

    8

    帖子

    85

    积分

    初级会员

    Rank: 3Rank: 3

    积分
    85
    发表于 2020-4-8 10:13:19 | 显示全部楼层
    我刚好也遇到了这个问题,经过小梅哥讲解以后就迎刃而解了。
    回复 支持 1 反对 0

    使用道具 举报

  • TA的每日心情
    开心
    2022-6-29 15:57
  • 13

    主题

    246

    帖子

    3625

    积分

    超级版主

    Rank: 8Rank: 8

    积分
    3625
    发表于 2018-4-18 07:40:17 | 显示全部楼层
    很棒~支持小梅哥超详细!
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    可爱
    2021-10-8 21:08
  • 0

    主题

    19

    帖子

    67

    积分

    初级会员

    Rank: 3Rank: 3

    积分
    67
    发表于 2018-11-8 15:02:54 | 显示全部楼层
    666
    回复

    使用道具 举报

    该用户从未签到

    0

    主题

    3

    帖子

    47

    积分

    新手上路

    Rank: 2

    积分
    47
    发表于 2021-8-30 22:26:49 | 显示全部楼层
    小梅哥真乃宝藏也
    回复 支持 反对

    使用道具 举报

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

    本版积分规则

    QQ|小黑屋|Archiver|芯路恒电子技术论坛 |鄂ICP备2021003648号

    GMT+8, 2024-3-28 19:19 , Processed in 0.118953 second(s), 39 queries .

    Powered by Discuz! X3.4

    © 2001-2017 Comsenz Inc. Template By 【未来科技】【 www.wekei.cn 】

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