Can't place multiple pins assigned to pin location Pin_F16

在我们芯航线FPGA开发板上,使用了一片128Mbit的SDRAM存储器。当大家在自己建立工程,或者移植其他家的工程时候,往往之前一切顺利,但是在最终分配完引脚进行全编译时,都会报错,报错内容如下:

"Can't place multiple pins assigned to pin location Pin_F16 (IOPAD_X34_Y18_N21)"

这句提示翻译成中文的意思是"无法将多个引脚分配到Pin_F 16这个管脚上"。很多第一次遇见这种问题的朋友会很郁闷,回去检查完引脚分配后,发现并没有重复(况且引脚分配器那里也不让重复分配)。然后就摸不着头脑了。

其实,我们可以点击这个报错信息前面的三角符号,查看子级的细节提示,如下图所示:

通过细节信息我们可以知道,ALTERA_nCEO引脚也被分配到了F16引脚,而nCEO引脚又是什么呢?我们在Cyclone IV 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】,在弹出的界面中选择"Device and Pin Options"

在弹出的选项卡中,选择Dual-Purpose Pins,在右侧双击nCEO的值,在弹出的下拉选项中选择Use as regular I/O即可。

然后点击OK退出,重新全编译工程,就没有这个错误啦。

大家在使用自己的开发板时,如果也提示这样的错误,可以按照这个解决思路来进行,不同的开发板,可能就是该引脚分配的功能不一样(我们芯航线FPGA开发板是分配到了sdram的addr7上),解决方案并无任何区别。

Can't place multiple pins assigned to pin location Pin_F16的更多相关文章

  1. 每天进步一点点------Error: Can't place pins assigned to pin location Pin_K22 (IOPAD_X41_Y19_N14)

    在QII中的Assignments----Device----Device and pin option-----(选项卡)Dual purpose pin将nCE0 的设置改为: use as re ...

  2. Nios程序烧写到EPCS方法 - 第1页 - asus119's Blog - EDN China电子设计技术

    Nios程序烧写到EPCS方法 - 第1页 - asus119's Blog - EDN China电子设计技术 这里主要是针对EP3C系列FPGA的Nios程序固化到EPCS中的方法做简要说明.硬件 ...

  3. FPGA引脚锁定 注意err和高阻状态

    1.fpga没有用的的管脚一定要设置成高阻状态设置路径如下: Assignmen->Device->Device&Pin Option->Unused pins->As ...

  4. Linux内核中的GPIO系统之(3):pin controller driver代码分析

    一.前言 对于一个嵌入式软件工程师,我们的软件模块经常和硬件打交道,pin control subsystem也不例外,被它驱动的硬件叫做pin controller(一般ARM soc的datash ...

  5. Resolving Issues of "Library Cache Pin" or "Cursor Pin S wait on X" (Doc ID 1476663.1)

    Doc ID 1476663.1) To Bottom In this Document   Purpose   Troubleshooting Steps   Brief Definition:   ...

  6. Linux内核中的GPIO系统之(3):pin controller driver代码分析--devm_kzalloc使用【转】

    转自:http://www.wowotech.net/linux_kenrel/pin-controller-driver.html 一.前言 对于一个嵌入式软件工程师,我们的软件模块经常和硬件打交道 ...

  7. Quartus II 中 Verilog 常见警告/错误汇总

    Verilog 常见错误汇总 1.Found clock-sensitive change during active clock edge at time <time> on regis ...

  8. [转载]Quartus ii 一些Warning/Eeror分析与解决

    我会在此基础上继续添加 原文地址:ii 一些Warning/Eeror分析与解决">Quartus ii 一些Warning/Eeror分析与解决作者:yanppf 注:http:// ...

  9. LPC43xx SGPIO Experimentation

    LPC4350 SGPIO Experimentation The NXP LPC43xx microcontrollers have an interesting, programmable ser ...

随机推荐

  1. 搭建psdash 监控系统

    一.监控系统介绍 Psdash 是一款查看 Linux 系统信息的 web 面板,和另一款系统监控工具 Glances 一样,psDash 的系统信息的采集也是由 psutil 完成的.和 Glanc ...

  2. django No migrations to apply 问题解决

    最近在用django写项目,有的时候字段不够用,需要models增加字段,但是想回滚或者修改或者修改了属性等,例如忘了添加meta table于是操作了migrations 导致makemigrati ...

  3. Monkey Test 命令使用

    1.  命令使用 Monkey是一个命令列工具 ,可以运行在仿真器里或实际设备中.它向系统发送伪随机的使用者事件流,实现对正在开发的应用程序进行压力测试.Monkey包括许多选项,它们大致分为四大类: ...

  4. 简单获取各大视频网站的flash地址

    最近做网站的时候遇到一个需求:给定一个视频地址,获取它的swf地址.例如,给一个优酷的视频地址:http://v.youku.com /v_show/id_XNDg4MzY5ODU2.html,想获取 ...

  5. 36种漂亮的CSS3网页按钮Button样式

    <!DOCTYPE HTML> <html lang="en-US"> <head> <meta charset="UTF-8& ...

  6. a+b_1

    题目截图: 思路: 直接输出即可. 代码如下: /* a+b */ #include <stdio.h> #include <string.h> #include <ma ...

  7. python:数组/列表(remove()函数、append()函数、sort()函数、reverse()函数)

    排序: 1:整理顺序 #冒泡 lista = [5,7,11,19,99,63,3,9,1] list = [] while lista != []: number = 0 for i in list ...

  8. 3DMAX 处理反面

    问题起源:从3DMAX导出一个模型为FBX后,在U3D中看到模型很奇怪的透视了,能看到背面看不到正面,这不法线问题,而是面反了. 即然是面反了,为什么在MAX中看起来是正确的呢? 应该是开启了双面模式 ...

  9. Elasticsearch 搜索引擎

    简介: Elasticsearch 是一个实时的分布式搜索和分析引擎.它可以帮助你用前所未有的速度去处理大规模数据.它可以用于全文搜索,结构化搜索以及分析.    分布式实时文件存储,并将每一个字段都 ...

  10. js中格式化时间

    //时间格式化 Date.prototype.Format = function (fmt) { var o = { "M+": this.getMonth() + 1, &quo ...