QuartusII中FPGA管脚的分配策略.docx

上传人:b****6 文档编号:7802661 上传时间:2023-01-26 格式:DOCX 页数:15 大小:1.14MB
下载 相关 举报
QuartusII中FPGA管脚的分配策略.docx_第1页
第1页 / 共15页
QuartusII中FPGA管脚的分配策略.docx_第2页
第2页 / 共15页
QuartusII中FPGA管脚的分配策略.docx_第3页
第3页 / 共15页
QuartusII中FPGA管脚的分配策略.docx_第4页
第4页 / 共15页
QuartusII中FPGA管脚的分配策略.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

QuartusII中FPGA管脚的分配策略.docx

《QuartusII中FPGA管脚的分配策略.docx》由会员分享,可在线阅读,更多相关《QuartusII中FPGA管脚的分配策略.docx(15页珍藏版)》请在冰豆网上搜索。

QuartusII中FPGA管脚的分配策略.docx

QuartusII中FPGA管脚的分配策略

 

QuartusII中FPGA管脚的分配策略

 

编写:

***

校核:

审核:

 

二〇一年月日

 

QuartusII中FPGA管脚分配策略

1.FPGA管脚介绍

FPGA的管脚从使用对象来说可分为两大类:

专用管脚和用户自定义管脚。

一般情况下,专用管脚大概占FPGA管脚数的20%~30%,剩下的70%~80%为用户自定义管脚。

从功能上来说可分为电源管脚、配置管脚、时钟管脚、普通I/O管脚等。

下面以Altera公司的CycloneIVE系列芯片EP4CE30F23C8为例,如图1所示,芯片总共包含484个芯片管脚。

图中不同颜色的区域代表不同的Bank,整个芯片主要分为8个Bank,FPGA的各个管脚分布在不同的Bank中。

其中,三角形标记的管脚为电源管脚,正三角表示VCC,倒三角表示GND,三角内部的O表示I/O管脚电源,I表示内核电源。

圆形标记的管脚为普通用户I/O管脚,可以由用户随意使用。

正方形标记且内部有时钟沿符号的管脚为全局时钟管脚。

五边形标记的管脚为配置管脚。

图1WireBond

1.1.电源管脚

FPGA通常需要两个电压才能运行,一个是内核电压,另一个是I/O电压。

每个电压通过独立的电源管脚来提供。

内核电压是用来给FPGA内部的逻辑门和触发器供电。

随着FPGA的发展,内核电压从5V、3.3V、2.5V、1.8V到1.5V,变得越来越低。

I/O电压用来给各个Bank供电,每个Bank都有独立的I/O电压输入。

一般情况下,内核电压会比I/O电压低。

图1中的VCCINT是内核电压管脚,VCCIO是I/O电压管脚。

1.2.配置管脚

每个FPGA都需要配置管脚,以支持多种配置方式,例如JTAG、从串、从并、主串、主并等。

对于配置管脚的控制信号来说,是专用管脚,不能作为普通的I/O管脚。

而其数据信号可以作为普通的I/O管脚使用。

图1中的MSEL为配置模式选择信号,即选择AS模式、PS模式或FASTAS模式。

MSEL[1:

0]为00表示用AS模式,10表示用PS模式,01表示用FASTAS模式。

如果用JTAG模式,MSEL[1:

0]置00,JTAG模式和MSEL无关,即用JTAG模式时,MSEL会被忽略,但是因为MSEL不能浮空,所以置00。

图1中的TMS、TCK、TDI和TDO为JTAG接口的4根线,分别为模式选择、时钟、数据输入和数据输出线。

常用的为AS模式和JTAG模式。

1.3.普通I/O管脚

FPGA的I/O管脚是FPGA上较为丰富的资源,也是做管脚约束时最常用的资源。

对于FPGA的普通I/O管脚,可以设定电平类型(TTL、LVTTL、LVCOMS、ECL等)、驱动电流、摆率等参数。

1.4.时钟管脚

FPGA内部的时钟都需要通过专用时钟管脚连接内部PLL或者DCM等专用时钟处理单元,从而接入内部高速时钟网络。

对于一些外部同步信号的输入,如果时钟只用于采样当前的同步信号,其时钟可以不用连接到专用时钟管脚上,即不用接入全局时钟网络,但需要约束其管脚不使用全局时钟资源。

否者,EDA工具会报错,提示其作为时钟输入而没有接在专用时钟管脚上。

更多的管脚类型说明见附录。

2.FPGA管脚分配方法

FPGA管脚分配常用的有3种方式,分别为PinPlanner方式、ImportAssignments方式和Tclscripts方式。

2.1.PinPlanner方式

步骤1:

在QuartusII软件中,选择“Assignments→PinPlanner”,或者按快捷键“Ctrl+Shirt+N”,出现如图2所示的画面。

图2PinPlanner

图2主要包含了7个选择项,分别为Location、I/OBank、VREFGroup、I/OStandard、Reserved、CurrentStrength和SlewRate。

Location里可以选择所需要的芯片管脚,管脚确定后I/OBank中的Bank数会自动填充,VREFGroup也会自动填充。

I/OStandard是每个Bank对应的电压标准,一个Bank只能有一种电压标准,一般情况下选择默认值就好。

Reserved是对管脚内部的I/O逻辑进行约束,有6个选择项供选择,例AsSignalProbeoutput、Asbidirectional等。

CurrentStrength是驱动电流强度,一般选择默认值,如果需要驱动大功率的电路,一般在FPGA外围加驱动电路。

SlewRate是电压转换速率,跟信号跳变时间有关,一般选择默认值。

在管脚分配的过程中,我们主要关心Location这一选项,其他选项采用默认值就可。

步骤2:

在Location中选择管脚。

所有管脚配置完成后关闭当前界面。

2.2.ImportAssignments方式

步骤1:

新建一个txt文件(或csv文件),按图3格式编写管脚分配内容。

(编写格式有多种,但这种格式最简单。

【注】To和Location两个关键字中间有一个半角逗。

图3管脚分配格式

步骤2:

在QuartusII软件中,选择“Assignments →ImportAssignments”,出现如图4所示的画面,导入xxx.txt或者xxx.csv文件。

图4ImportAssginments

导入后QuartusII软件的Message信息栏会弹出如图5所示的内容,显示ImportCompleted,表示文件没有语法错误。

图5Message

步骤3:

在QuartusII软件中,选择“Assignments→PinPlanner”,验证管脚是否分配正确。

如图6所示。

图6验证管脚是否分配正确

常见错误1:

分配的管脚不属于FPGA芯片。

如果分配的管脚不属于FPGA芯片,在PinPlanner中会出现如图7所示的错误提示,表示管脚PIN_GC21不属于该FPGA芯片,找不到对应的I/OBank和VREFGroup。

图7管脚不属于FPGA

若信号比较多,人工不能发现存在的错误,可以通过EnableLiveI/OCheck工具检查I/O分配情况。

点击PinPlanner工具栏中的I/OCheck图标,如图8所示。

图8EnableLiveI/OCheck

执行Check后,在Message窗口中会弹出检查结果,如图9所示,提示PIN_GC21是非法的管脚定义。

图9Check检查管脚不属于FPGA

常见错误2:

多个信号公用一个管脚,即分配管脚冲突。

如果分配的管脚冲突,通过肉眼的方式很难发现,通过EnableLiveI/OCheck工具可以有效的发现存在的问题,如图10所示,提示fpga_rst_n定义的管脚G21已经被phy_clk50m信号占用。

图10Check检查管脚冲突

2.3.TclScripts方式

步骤1:

在QuartusII软件中,选择“Assignments→RemoveAssignments”,出现如图11所示的画面。

此步骤用来移除已经存在的管脚分配内容,以确保分配的管脚没有因为覆盖而出现错误的情况。

【注】在执行没有管脚分配的新工程中,可跳过步骤1。

图11RemoveAssignments

步骤2:

新建一个tcl文件,按图12格式编写管脚分配内容。

注意关键字set_location_assignment和-to的用法。

图12管脚分配格式

步骤3:

执行xxx.tcl文件。

方法1:

(1)在QuartusII软件中,选择“View →UtilityWindows →TclConsole”,打开QuartusIITclConsole,如图13所示。

图13TclConsole

(2)将tcl文件中的内容复制到TclConsole对话框中,如图14所示。

图14执行管脚分配语句

 

方法2:

(1)将tcl文件添加到工程中,如图15所示。

图15添加Tcl文件

(2)在QuartusII软件中,选择“Tools→TclScripts”,出现如图16所示的画面。

图16TclScripts

选择“Run”,执行Tcl文件。

步骤4:

在QuartusII软件中,选择“Assignments→PinPlanner”,验证管脚是否分配正确。

检查的方法同ImportAssignments方式中的EnableLiveI/OCheck。

2.4.项目组统一使用方式

为了统一代码风格,便于项目管理,FPGA项目组统一使用2.3的TclScript方式。

在2.3的步骤3中也使用方法2,即添加Tcl文件,而非命令行。

3.编写FPGA管脚分配文件

在上文提到的3种管脚分配方法中主要包含了2种文件格式,即txt和tcl。

无论那种格式的文件都是为了阐明信号与管脚的对应关系。

编写FPGA管脚分配文件的主要任务就是要快速定位工程TOP文件中各个信号与FPGA管脚的对应关系。

通过2种方式可以定位这种关系,一种是通过查看对外PDF格式的原理图,另一种是通过查看PrjPCB格式的原理图。

推荐使用PrjPCB格式的原理图。

3.1.查看PDF格式的原理图

通过SVN下载相应工程,在工程路径中可以找到对应的原理图,如图17所示。

由于PDF格式的原理图没有目录,如图18所示,查找各个模块比较费时费力,所以不推荐这种方式。

图17原理图路径

图18PDF格式原理图

3.2.查看PrjPCB格式的原理图

查看原理图的软件有多种,我司主要使用AltiumDesigner软件。

通过SVN下载相应工程,在工程路径中可以找到对应的原理图,如图19所示。

图19原理图路径

用AD软件打开图15中的xxx.PrjPCB文件,打开后如图20所示。

左侧文件预览窗口罗列了整个板件各个模块的原理图,最后两个EP4CE30F23C8N-1.SchDoc和EP4CE30F23C8N-2.SchDoc就是FPGA部分的原理图。

图20PrjPCB格式原理图

通过快捷键“Ctrl+F”可以查看所需要的信号或管脚,如图21所示。

其中,TextToFind中可以定义需要查看信号或管脚的名称,SheetScope中可以定义查看的范围。

图21Ctrl+F快捷键

4.保存FPGA管脚分配文件

使用已有工程时,可能会找不到相应的管脚文件,可以把已经绑定好的管脚保存下来,输出到文件里。

保存的文件主要包含3种格式,分别为Tcl格式、CSV格式和QSF格式。

其中,Tcl格式只包含已分配管脚信息;CSV格式包含芯片所有管脚信息,包括分配的和未分配的;QSF格式包含已分配管脚信息和芯片信息。

4.1.Tcl格式或CSV格式

步骤1:

在QuartusII软件中,选择“Assignments→PinPlanner”,打开FPGA管脚分配界面,如图22所示。

图22管脚分配界面

步骤2:

在图13的管脚分配界面中选择“file→Export”,文件可以保存为Tcl格式或者CSV格式(表格格式)。

4.2.QSF格式

在QuartusII软件中,选择“Assignments→ExportAssignments”,文件保存为qsf格式。

4.3.项目组统一使用格式

为了统一代码风格,便于项目管理,FPGA项目组统一使用4.1中的Tcl格式。

附录管脚类型说明

信号名称

释义

DEV_OE

I/O使能脚,在QII中可以使能DEV_OE选项。

如果使能了这个功能,当DEV_OE置低时,所有I/O都进入三态。

DEV_CLR

清零输入端,在QII中可以使能DEV_CLR选项。

如果使能了这个功能,当DEV_CLR置低时,所有的寄存器都会被清零。

DIFF_n

差分端口的n端。

DIFF_p

差分端口的p端。

DQ

双向数据总线。

DQS

双向数据控制引脚。

CLK_n

差分时钟信号n端。

CLK_p

差分时钟信号p端。

Other_PLL

锁相环。

Otherdualpurpose

多用管脚,可以根据不同的约束实现不同的功能。

MSEL

程序加载模式选择信号。

CONFIG_DONE

配置结束信号。

nCE

下载链器件使能输入,连接上一个器件的nCEO。

下载链第一个器件的nCE接地。

nCEO

下载链器件使能输出。

在一条下载链中,当第一器件配置完成后,此信号将使能下一个器件开始进行配置。

下载链的最后一个器件的nCEO应悬空。

nCONFIG

用户模式配置起始信号。

TDI

数据输入,数据通过TDI输入JTAG口。

TCK

时钟输入。

TMS

模式选择。

TDO

数据输出,数据通过TDO从JTAG口输出。

nSTATUS

配置状态信号。

VREF

参考电压。

VCCP

数字电源。

VCCR

接收电源。

VCCT

发送电源。

VCCA

模拟电路供电电源。

VCCINT

内核电压。

VCCIO

I/O端口电压。

GND

信号地。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 人文社科 > 教育学心理学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1