fpga引脚分配
FPGA学习笔记之引脚分配

2021/2/10笔记一:分配引脚的四种方法:〔Quartus II 13.0sp1 (64-bit)〕1、常规方法,利用Pin Planner命令,适用于引脚使用比拟少的工程,简洁方便;2、使用.csv文件进行引脚分配:步骤一:利用记事本新建一个.csv的格式文件,内容格式如图下列图所示,然后保存;步骤二:选择菜单栏Assignments-->Import Assignment,添加刚刚生成的文件路径;步骤三:点击OK,引脚分配完成。
注意:.csv文件保存路径不要有中文,建议保存在工程文件夹下。
3、使用.qsf文件进行引脚分配:步骤一:在Quartus II中翻开.qsf文件〔系统默认生成.qsf文件,默认保存在该工程文件夹下〕步骤二:添加以下格式内容,格式如下列图所示;步骤三:点击保存,引脚分配完成。
4、使用.tcl文件进行引脚分配:步骤一:生成.tcl文件,选择菜单栏Project-->Generate Tcl File For Project,点击OK,默认保存路径为该工程文件夹;步骤二:添加以下格式内容,格式和.qsf文件格式一致;步骤三:选择菜单栏Tool-->Tcl Scripts,选择生成的.tcl文件,点击Run,引脚分配完成。
说明:在实际的应用过程中,我们应该根据工程的子模块个数和引脚的使用多少来选择适宜的引脚分配方式,笔者总结了以下几条:〔不喜勿喷,还望多多赐教〕1、工程中使用的引脚数为个位数时,并且特别少,建议使用常规方法,利用Pin Planner 命令进行引脚分配;2、文件进行引脚分配;如下图,.tcl文件中标识符和变量名已经给出,只需要输入对应引脚,比拟方便。
在多子模块的情况下,.tcl文件中没有给出标识符和变量名,这点需要注意。
3、多个子模块,使用引脚众多的情况下,利用.tcl文件、.csv文件和.qsf文件进行引脚分配大同小异,不过个人更喜欢利用.csv文件进行引脚分配,因为格式相对简单。
FPGA引脚分配方法

第二种:建立TCL文件进行管脚分配。
这种方法比较灵活,是比较常用的。
这种方法具有分配灵活,方便快捷,可重用性等多方面优点。
方法如下:选择Projects菜单项,并选择Generate tcl file for project选项,系统会为你自动生成相应文件,然后你只要向其中添加你的分配内容就可以了。
还有一种方法就是直接用new ,新建一个TCL文件即可,具体不再细讲。
下面是我分配的内容一部分,可供大家参考。
set_global_assignment -name FAMILY Cycloneset_global_assignment -name DEVICE EP1C3T144C8set_global_assignment -name ORIGINAL_QUARTUS_VERSION 8.0 set_global_assignment -name PROJECT_CREATION_TIME_DATE "19:14:58 JANUARY 06, 2009"set_global_assignment -name LAST_QUARTUS_VERSION 8.0set_global_assignment -nameUSE_GENERATED_PHYSICAL_CONSTRAINTS OFF -section_ideda_palaceset_global_assignment -name DEVICE_FILTER_PACKAGE "ANY QFP" set_global_assignment -name LL_ROOT_REGION ON -section_id "Root Region"set_global_assignment -name LL_MEMBER_STATE LOCKED-section_id "Root Region"set_global_assignment -name DEVICE_FILTER_PIN_COUNT 144 set_global_assignment -name DEVICE_FILTER_SPEED_GRADE 8 set_global_assignment -name FITTER_EFFORT "STANDARD FIT" set_global_assignment -name BDF_FILE topDesign.bdfset_global_assignment -name QIP_FILE nios.qipset_global_assignment -name QIP_FILE altpll0.qipset_global_assignment -name USE_CONFIGURATION_DEVICE ON set_global_assignment -name STRATIX_DEVICE_IO_STANDARD "3.3-V LVTTL"set_global_assignment -name PARTITION_NETLIST_TYPE SOURCE -section_id Topset_global_assignment -name PARTITION_COLOR 14622752-section_id Topset_location_assignment PIN_72 -to addr[7]set_location_assignment PIN_69 -to addr[6]set_location_assignment PIN_70 -to addr[5]set_location_assignment PIN_67 -to addr[4]set_location_assignment PIN_68 -to addr[3]set_location_assignment PIN_42 -to addr[2]set_location_assignment PIN_39 -to addr[1]set_location_assignment PIN_40 -to addr[0]set_location_assignment PIN_48 -to data[15]set_location_assignment PIN_47 -to data[14]set_location_assignment PIN_50 -to data[13]set_location_assignment PIN_49 -to data[12]set_location_assignment PIN_56 -to data[11]set_location_assignment PIN_55 -to data[10]set_location_assignment PIN_58 -to data[9]set_location_assignment PIN_57 -to data[8]set_location_assignment PIN_61 -to data[7]set_location_assignment PIN_62 -to data[6]set_location_assignment PIN_59 -to data[5]set_location_assignment PIN_60 -to data[4]set_location_assignment PIN_53 -to data[3]set_location_assignment PIN_54 -to data[2]set_location_assignment PIN_51 -to data[1]set_location_assignment PIN_52 -to data[0]set_location_assignment PIN_16 -to clkset_location_assignment PIN_38 -to csset_location_assignment PIN_141 -to led[3]set_location_assignment PIN_142 -to led[2]set_location_assignment PIN_143 -to led[1]set_location_assignment PIN_144 -to led[0]set_location_assignment PIN_33 -to reset_nset_location_assignment PIN_41 -to rdset_location_assignment PIN_71 -to wrset_location_assignment PIN_105 -to mosiset_location_assignment PIN_107 -to sclkset_location_assignment PIN_106 -to ssset_location_assignment PIN_73 -to motor[0]set_location_assignment PIN_74 -to motor[1]set_location_assignment PIN_75 -to motor[2]set_location_assignment PIN_76 -to motor[3]set_instance_assignment -name PARTITION_HIERARCHY root_partition -to | -section_id Top# Commit assignmentsexport_assignmentsFPGA 点滴(2008-09-30 09:44:45)转载标签:杂谈以此记录心得以及重要的知识点。
DE2-115所有引脚分配表

表1 拨动开关引脚配置
表2 按钮开关引脚配置
表3 LED 引脚配置
表4 七段数码管引脚配置
表5 时钟信号引脚配置信息
表6 LCD 模块引脚配置
表7 HSMC 接口引脚配置
表8 GPIO 引脚配置信息
表9 扩展接口引脚配置信息
表10 ADV7123 引脚配置
表11 音频编解码芯片引脚配置
表12 RS-232 引脚配置
表13 PS/2 引脚配置
表14 千兆以太网芯片引脚配置
表15 TV 解码芯片引脚配置
表16 USB (ISP1362)引脚配置
表17 IR 引脚配置
表18 SRAM 引脚配置
表19 SDRAM 引脚配置
表20 SDRAM 引脚配置
表21 Flash 引脚配置
表22 EEPROM 引脚配置
表23 SD 卡插槽引脚配置。
Quartus-II中FPGA管脚的分配策略

Quartus II中FPGA管脚的分配策略编写:***校核:审核:二〇一年月日目录目录 (I)QUARTUS II中FPGA管脚分配策略 (1)1.FPGA管脚介绍 (1).电源管脚 (1).配置管脚 (2).普通I/O管脚 (2).时钟管脚 (2)2.FPGA管脚分配方法 (3).P IN P LANNER方式 (3).I MPORT A SSIGNMENTS方式 (3).T CL S CRIPTS方式 (6).项目组统一使用方式 (8)3.编写FPGA管脚分配文件 (9).查看PDF格式的原理图 (9).查看P RJ PCB格式的原理图 (10)4.保存FPGA管脚分配文件 (11).T CL格式或CSV格式 (11).QSF格式 (11).项目组统一使用格式 (11)附录管脚类型说明 (12)Quartus II中FPGA管脚分配策略1.FPGA管脚介绍FPGA的管脚从使用对象来说可分为两大类:专用管脚和用户自定义管脚。
一般情况下,专用管脚大概占FPGA管脚数的20% ~ 30%,剩下的70% ~ 80%为用户自定义管脚。
从功能上来说可分为电源管脚、配置管脚、时钟管脚、普通I/O管脚等。
下面以Altera公司的Cyclone IV E系列芯片EP4CE30F23C8为例,如图1所示,芯片总共包含484个芯片管脚。
图中不同颜色的区域代表不同的Bank,整个芯片主要分为8个Bank,FPGA的各个管脚分布在不同的Bank中。
其中,三角形标记的管脚为电源管脚,正三角表示VCC,倒三角表示GND,三角内部的O表示I/O管脚电源,I表示内核电源。
圆形标记的管脚为普通用户I/O管脚,可以由用户随意使用。
正方形标记且内部有时钟沿符号的管脚为全局时钟管脚。
五边形标记的管脚为配置管脚。
图1 Wire Bond1.1.电源管脚FPGA通常需要两个电压才能运行,一个是内核电压,另一个是I/O电压。
每个电压通过独立的电源管脚来提供。
fpga引脚分配注意事项

fpga引脚分配注意事项摘要:1.FPGA 引脚分配的重要性2.FPGA 引脚分配的注意事项3.FPGA 引脚分配的技巧和建议正文:FPGA(现场可编程门阵列)是一种集成电路,可以由用户编程和配置,以实现特定的功能。
在FPGA 设计中,引脚分配是一个重要的环节。
合理的引脚分配可以降低硬件复杂度,提高系统性能,甚至可以影响到整个系统的稳定性和可靠性。
因此,在进行FPGA 引脚分配时,需要特别注意以下几点:1.确定引脚使用需求:在分配引脚之前,需要对系统的功能和性能需求进行深入了解,以确保引脚的正确使用。
这包括了解各个模块之间的接口、信号流向、时序要求等。
2.遵守时序规则:FPGA 中的时序规则是保证系统正常运行的关键。
在分配引脚时,需要遵循时序规则,确保信号在规定时间内到达目的地。
此外,还需要注意信号的传输延迟、建立时间和保持时间等参数。
3.合理规划引脚:在规划引脚时,应尽量保持引脚的连续性和完整性。
这样可以减少走线长度,降低信号干扰,提高系统性能。
同时,应尽量避免引脚之间的冲突,以免影响系统的稳定性。
4.考虑引脚的电源和地:在分配引脚时,需要将电源和地引脚分别考虑。
一般来说,电源引脚应尽量靠近FPGA 芯片的电源引脚,地引脚也应尽量靠近FPGA 芯片的地引脚。
这样可以减小电源和地之间的阻抗,降低噪声和干扰。
5.预留足够的引脚:在分配引脚时,需要预留一定的引脚数量,以应对后期设计修改或信号扩展的需求。
同时,也应避免过多的预留引脚,以减小硬件复杂度和成本。
6.使用先进的引脚分配工具:现代的FPGA 设计工具提供了智能化的引脚分配功能,可以大大简化引脚分配的过程,提高设计效率。
因此,在进行FPGA 引脚分配时,应充分利用这些工具。
总之,FPGA 引脚分配是一个复杂而重要的环节。
在进行引脚分配时,需要充分考虑系统的功能、性能、时序、电源、地等多方面因素,以确保系统的稳定性和可靠性。
FPGA管脚分配图

169
FLAS H_ CS
156
音频 CODEC 模块(大板)
信号名称
对应 FPGA 引脚
SDIN
27
SCLK
33
CS
28
音频 CODEC 模块(小板)
信号名称
对应 FPGA 引脚
SDIN
93
SCLK
94
CS
88
音源模块
RESET
86
DATA
84
BUS Y
153
时钟源模块
信号名称 CLOCK(大板) CLOCK(小板)
216 VGA 接口(大板)
对应 FPGA 引脚
R
58
G
59
B
60
HS
61
VS 信号名称
62 VGA 接口(小板)
对应 FPGA 引脚
R
239
G
238
B
237
HS
235
VS 信号名称
236 PS/2 接口(大板上)
对应 FPGA 引脚
CLOCK
49
DATA 信号名称
82 PS/2 接口(大板下)
对应 FPGA 引脚
98
DB2
95
DB3
143
DB4
141
DB5
140
DB6
139
DB7
138
DB8
136
DB9
135
DB10
134
DB11
133
DB12
132
DB13
131
DB14
128
DB15
127
DB16
116
DB17
工程师必须要知道的FPGA引脚信号分配原则

工程师必须要知道的FPGA引脚信号分配原则
工程师必须要知道的FPGA引脚信号分配原则
现在的FPGA正变得越来越复杂,向引脚分配信号的任务曾经很简单,现在也变得相当繁复。
下面这些用于向多用途引脚指配信号的指导方针有助于设计师根据最多到最少的约束信号指配原则提前考虑信号指配,并减少反复的次数。
这里有一个前提,即假定设计师已经根据设计的大概规模和信号要求确定了目标器件范围和型号。
对以下每一步都应在考虑单极信号前优先考虑差分对信号。
最先指配那些只能在特定引脚上工作的特殊信号,正常情况下是指串行I/O信号和全局时钟信号。
其次指配大型和/或高速信号总线,特别是那些要跨越多个库或区域的信号。
如果总线需要局部时钟,那幺就要考虑具有更多局部时钟引脚的库或区域,并先指配局部时钟。
如果针对FPGA器件采用了多种I/O标准,那幺设计师还必须先考虑将I/O信号映射到库/区。
这一步需要慎重考虑,因为许多I/O标准和参考电压是不兼容的。
一些I/O标准要求在特殊引脚上输入参考电压,使得这些引脚不可再用于一般用途。
将高速输出和双向信号分开指配在一定程度上可避。
Quartus-II中FPGA管脚的分配策略

word格式-可编辑-感谢下载支持Quartus II中FPGA管脚的分配策略编写:***校核:审核:二〇一年月日目录目录 (I)QUARTUS II中FPGA管脚分配策略 (1)1.FPGA管脚介绍 (1)1.1.电源管脚 (1)1.2.配置管脚 (2)1.3.普通I/O管脚 (2)1.4.时钟管脚 (2)2.FPGA管脚分配方法 (3)2.1.P IN P LANNER方式 (3)2.2.I MPORT A SSIGNMENTS方式 (3)2.3.T CL S CRIPTS方式 (6)2.4.项目组统一使用方式 (8)3.编写FPGA管脚分配文件 (9)3.1.查看PDF格式的原理图 (9)3.2.查看P RJ PCB格式的原理图 (10)4.保存FPGA管脚分配文件 (11)4.1.T CL格式或CSV格式 (11)4.2.QSF格式 (11)4.3.项目组统一使用格式 (11)附录管脚类型说明 (12)Quartus II中FPGA管脚分配策略1. FPGA管脚介绍FPGA的管脚从使用对象来说可分为两大类:专用管脚和用户自定义管脚。
一般情况下,专用管脚大概占FPGA管脚数的20% ~ 30%,剩下的70% ~ 80%为用户自定义管脚。
从功能上来说可分为电源管脚、配置管脚、时钟管脚、普通I/O管脚等。
下面以Altera公司的Cyclone IV E系列芯片EP4CE30F23C8为例,如图1所示,芯片总共包含484个芯片管脚。
图中不同颜色的区域代表不同的Bank,整个芯片主要分为8个Bank,FPGA的各个管脚分布在不同的Bank中。
其中,三角形标记的管脚为电源管脚,正三角表示VCC,倒三角表示GND,三角内部的O表示I/O管脚电源,I表示内核电源。
圆形标记的管脚为普通用户I/O管脚,可以由用户随意使用。
正方形标记且内部有时钟沿符号的管脚为全局时钟管脚。
五边形标记的管脚为配置管脚。
图1 Wire Bond1.1. 电源管脚FPGA通常需要两个电压才能运行,一个是内核电压,另一个是I/O电压。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
FPGA管脚分配需要考虑的因素
在芯片的研发环节,FPGA验证是其中的重要的组成部分,如何有效的利用FPGA的资源,管脚分配也是必须考虑的一个重要问题。
一般较好的方法是在综合过程中通过时序的一些约束让对应的工具自动分配,但是从研发的时间段上来考虑这种方法往往是不可取的,RTL 验证与验证板设计必须是同步进行的,在验证代码出来时验证的单板也必须设计完毕,也就是管脚的分配也必须在设计代码出来之前完成。
所以,管脚的分配更多的将是依赖人,而非工具,这个时候就更需要考虑各方面的因素。
综合起来主要考虑以下的几个方面:
1、FPGA所承载逻辑的信号流向。
IC验证中所选用的FPGA一般逻辑容量都非常大,外部的管脚数量也相当的丰富,这个时候就必须考虑到PCB设计时的布线的难度,如果管脚的分配不合理,那么有可能在PCB设计时出现大量的交叉的信号线,这给布线带来很大的困难,甚至走不通,或者是即便是布线走通了,也有可能由于外部的延时过大而不满足时序方面的要求。
所以在管脚分配前对FPGA工作的环境要相当的熟悉,要对其中的信号来自哪里去向何方非常的清楚,这就按照连线最短的原则将对应的信号分配到与外部器件连线最近的BANK中,2、掌握FPGA内部BANK的分配的情况。
现在FPGA内部都分成几个区域,每个区域中可用的I/O管脚数量各不相同。
在IC验证中都是采用了ALTERA 与XILINX系列的FPGA ,这两个厂商的FPGA中内部BANK 的分配有一定的差异,这可以在设计中查阅相关的手册。
下面与ALTERA中Stratix II 系列的FPGA内部BANK的分配为例来进行说明。
图中详细说明了FPGA内部BANK的分配情况和每个BANK中所支持的I/O标准。
根
据FPGA中内部BANK的分配的情况,同时结合图1中信号的流向也就可以大体固定FPGA在单板中的方向,同时按照就近的原则将相关的信号分配到相关的BANK中,这
样的方法可以完成一般信号的分配。
3、掌握所选FPGA每个BANK所支持的I/O标准。
从图2中可以看出FPGA内部的每个BANK所支持的I/O的标准不尽相同,所以在管脚的分配时要将支持相同标准的管脚都集中到一个BANK中,因为FPGA中同一个BANK 一般不同时支持两种I/O标准,当然也有例外,这就需要查阅相关I/O标准所要求的工作条件。
4、关注特殊信号的管脚的分配
这里的特殊信号主要是指时钟信号与复位信号,或者是一些要求驱动能力较高的信号。
时钟信号一般都是要求分配到全局的时钟管脚,这样获得的时间的延迟将是最小的,驱动也最强。
复位信号因为要求同步性好驱动的能力强,所以一般的情况下也会从全局的时钟管脚送入。
在分配时钟时,根据时钟的多少分配的策略差别很大,也需要重点关注,这需要查阅相应的手册看哪些时钟分别能到达哪些区域,一般的时钟都是差分时钟,这个时候如果所用的不是差分时钟就需要注意P端与N端一般不能同时分配给不同的时钟信号。
如下图所示XILINX系列的FPGA中成对的时钟如果是同时采用那么就不能同时到达相同的区域,因为到达相同区域的时钟线只有一根。
所以在时钟较少时最好成对的P和S不要同时使用,而是只是选择P或者是N这样就不会出现冲突的情况。
5、兼顾信号完整性的考虑。
由于在分配中常常会出现总线分配的情况,同时大量的总线又有可能常常是同时翻转,这样就会带来了一系列信号完整性的问题,所以在管脚分配时大量同时翻转的信号尽量分开。