Can't place multiple pins assigned to pin location Pin_F16
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的更多相关文章
- 每天进步一点点------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 ...
- Nios程序烧写到EPCS方法 - 第1页 - asus119's Blog - EDN China电子设计技术
Nios程序烧写到EPCS方法 - 第1页 - asus119's Blog - EDN China电子设计技术 这里主要是针对EP3C系列FPGA的Nios程序固化到EPCS中的方法做简要说明.硬件 ...
- FPGA引脚锁定 注意err和高阻状态
1.fpga没有用的的管脚一定要设置成高阻状态设置路径如下: Assignmen->Device->Device&Pin Option->Unused pins->As ...
- Linux内核中的GPIO系统之(3):pin controller driver代码分析
一.前言 对于一个嵌入式软件工程师,我们的软件模块经常和硬件打交道,pin control subsystem也不例外,被它驱动的硬件叫做pin controller(一般ARM soc的datash ...
- 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: ...
- Linux内核中的GPIO系统之(3):pin controller driver代码分析--devm_kzalloc使用【转】
转自:http://www.wowotech.net/linux_kenrel/pin-controller-driver.html 一.前言 对于一个嵌入式软件工程师,我们的软件模块经常和硬件打交道 ...
- Quartus II 中 Verilog 常见警告/错误汇总
Verilog 常见错误汇总 1.Found clock-sensitive change during active clock edge at time <time> on regis ...
- [转载]Quartus ii 一些Warning/Eeror分析与解决
我会在此基础上继续添加 原文地址:ii 一些Warning/Eeror分析与解决">Quartus ii 一些Warning/Eeror分析与解决作者:yanppf 注:http:// ...
- LPC43xx SGPIO Experimentation
LPC4350 SGPIO Experimentation The NXP LPC43xx microcontrollers have an interesting, programmable ser ...
随机推荐
- mysql清理连接
关闭指定ip的连接: for i in $(mysql -uusername -ppassword -Bse "select * from information_schema.proces ...
- Django 模型层(2)
多表操作: 创建模型: 作者模型:把作者的详情放到详情表,包含生日,手机号,家庭住址等信息.作者详情模型和作者模型之间是一对一的关系(one-to-one) 出版商模型:出版商有名称,所在城市以及em ...
- canvas下载图片
canvas下载图片 <!DOCTYPE html> <html lang="en"> <head> <meta charset=&quo ...
- SpringBoot起步依赖和自动配置
一.起步依赖 1. 是什么 本质上是一个Maven项目对象模型(Project Object Model, POM), 定义了对其他库的传递依赖,这些东西加在一起即支持某项功能. 比如: spring ...
- C语言学习笔记---好用的函数memcpy与memset
这个主要用于我个人的学习笔记,便于以后查询,顺便分享给大家. 想必在用C的时候难免会与数组,指针,内存这几样东西打交道,先以数组为例,例如有一个数组int a[5] = {1, 2, 3, 4, 5} ...
- Django 组件-cookie 与 session
会话跟踪技术 1 什么是会话跟踪技术 我们需要先了解一下什么是会话!可以把会话理解为客户端与服务器之间的一次会晤,在一次会晤中可能会包含多次请求和响应.例如你给10086打个电话,你就是客户端,而10 ...
- Halcon学习(三)赋值与数组操作
assign : 对数据赋值,对数组的初始化.但不能对数组中的某一个值进行赋值. 举例:Tuple1 := [1,0,3,4,5,6,7,8,9] // 对数组进行初始化 Val := sin( ...
- 调试正常,签名打包提示 "x应用未安装。"
今天在工作的时候遇到一个奇葩的问题,开发一个新项目,然后在AS中调试运行都是一切正常.打包签名后,缺无法安装,提示"x应用未安装."如图所示. 网上找了好多方法,比如,签名的时候要 ...
- 使用avalon 实现一个序列号功能
avalon"操作数据即操作DOM"的能力,让我们可以专致于业务,写出更专业,更优雅,更易维护的代码来.现在让我们看看如何实现一个序列号输入功能.它的需求以下: 每输入4个字符就跳 ...
- iOS 上的蓝牙框架 - Core Bluetooth for iOS
原文: Core Bluetooth for iOS 6 Core Bluetooth 是在iOS5首次引入的,它允许iOS设备可以使用健康,运动,安全,自动化,娱乐,附近等外设数据.在iOS 6 中 ...