Quartus II中FPGA管脚的分配策略

合集下载

FPGA管脚问题

FPGA管脚问题

FPGA管脚问题1、【问题】Pin Planner 的使⽤问题:在QuartusII 7.2 ,时序仿真都通过,但是,⼀旦使⽤Pin Planner设定引脚后,时序仿真就发⽣变化,与功能仿真结果不⼀致,不是理想的结果。

使⽤Pin Planner时要注意些什么问题呢?【解答】如果在没有设定引脚时就进⾏时序仿真,那么在后仿真就会不准确。

因为当设定引脚以后,需要重新进⾏布局布线,这和没有设定引脚是不同的,因此,布线的改变⾃然会影响到时序的改变。

通常的做法是:先做好所有的设定,⽣成⽹表⽂件和延时⽂件,再加上激励⽂件进⾏仿真,这个时候的仿真结果是最接近实际情况的。

通常的pin设定没有特定要求,差分信号是成对的。

所以请不要搞错。

时钟信号尽量使⽤专⽤的时钟引脚;普通I/O没有什么限制,做好时序约束就可以了。

2、【问题】怎样配置cyclone FPGA的管脚功能?【解答】FPGA芯⽚的引脚分为好多类,有通⽤IO,有时钟⽹络,有复位⽹络,这些引脚的具体功能是在布线时由⽤户选择的。

你可以⾃由的配置这些引脚的功能,但最好根据芯⽚的数据⼿册进⾏选择,如将时钟配置到专⽤时钟引脚上,将复位配置到专⽤复位引脚上,否则会影响最终的布线结果。

3、【问题】分配fpga管脚时该怎么选择,引脚有什么属性需要考虑,quartus2中引脚有⼏个属性:Reserved,Group,I/O Bank,Vref Group,I/O standard( 3.3-V LVTTL(default) )分别是什么意思,要怎么设置?【解答】⾸先说IO standard:这个是⽤于⽀持对应不同的电平标准。

FPGA IO⼝的电压由IO bank上的VCC引⼊。

⼀个bank上引⼊3.3V TTL电平,那么此时整个bank上输出3.3V 的TTL电平。

设置这个第⼀是为了和current strength⼀起计算功率。

第⼆个是⽤于在IO⼝上加载正确的上拉/下拉电阻。

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引脚分配方法

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)转载标签:杂谈以此记录心得以及重要的知识点。

fpga管脚电流电压设置

fpga管脚电流电压设置

Quartus II中输出管脚驱动电流的软件设置方法越来越多的设计需要对FPGA管脚的输出电流进行设置以满足不同的高扇出及其它对FPGA管脚输出电流不同的设计需求。

一般来讲各个厂家的FPGA输出管脚的驱动电流都可以利用软件进行设置。

本文以Altera的EP1C4F400C8为例说明在Quartus II中设置输出管脚的驱动电流。

注意LVDS接口电平不能设置驱动电流。

在Quartus II中设置FPGA输出管脚的驱动电流可以通过两种方法实现:Chip Editor修改底层修改输出管脚的驱动电流或者在Assignment Editor中通过增加约束修改输出管脚的驱动电流。

Chip Editor修改底层改变Output Pin的驱动电流方式仅仅用在调试阶段,不改变用户的约束文件。

推荐使用Assignment Edit改变Output Pin 的驱动电流。

下面就两种实现步骤简单说明。

1.Chip Editor实现1.1 打开经过编译后的工程的Fitter报告,点击Output Pins,右窗口出现OutputPin的列表。

如图一图一 Compilation Report1.2在Output Pins列表中用鼠标左键选中要加驱动电流的输出管脚。

点右键选择Locate/Locate in Chip Editor,如图二所示。

图二启动Chip Editor1.3指定输出管脚的PAD会在启动Chip Editor后内的窗口高亮显示。

如图三所示。

图三指定的Output Pin在Chip Editor中高亮显示1.4用左键双击高亮显示指定的PAD,进入如图四所示界面。

图四Resource Property Editor界面1.5选择主菜单View/View Properties。

图五 View 菜单1.6 执行完上述操作后弹出图六所示的对话框。

在Properties/Modes项选择Current Strength,在对应的Values项选择指定的Output Pin的驱动电流的大小。

Quartus II 软件操作

Quartus II 软件操作

Quartus II 软件操作
下一步,给输入信号赋值。在0~160ns范围内,使 用x1,x2,x3的8种赋值组合以便完整地进行功能仿真。 单击突出显示该信号,并激活竖直工具栏。为了选 择特定的时间段,可以在起始时刻按下鼠标左键, 然后拖动鼠标到结束时刻,从而选定所需的时刻。 首先,对于时间段20ns~40ns,60ns~80ns, 100ns~120ns,140ns~160ns,将x3的取值设定为1, 然后,对于时间段40ns~80ns,120ns~160ns,将x2的取 值设定为1,最后,对于时间段80ns~160ns,将x1的 取值设定为1。然后保存该文件。
Quartus II 软件操作
选择Edit/End time命令,并在弹出的对话框中设 置160ns,从而设置仿真运行时段为0~160ns。在波 形编辑器中,选择View/Fit in Window,可以显示 窗口覆盖在0~160ns的整个仿真范围。单击 Edit/Insert Node or Bus 命令,可以在Name 栏 输入信号名(或引脚名)。更方便的方法是单击 Node Finder(节点查找器),将过滤器设置为 Pins:all,单击List按钮,可以找出输入节点和输 出节点。
Quartus II 软件操作
4)使用导线连接结点。 在竖直工具栏中,单击大箭头图标。首 先,将鼠标指向x1的引线参考点上,单击并 按下鼠标左键。然后向右托拽鼠标直到画出 导线连接到与门顶部输入对应的引线参考点 上。用同样的方法画出其他的引线。连线错 误时,可以选中导线并使用delete命令或者 使用Edit/delete命令。完成后保存文件,后 缀是bdf文件。
Quartus II 软件操作
① 功能仿真
选择Assignments/settings命令,打开settings窗口。 在该窗口的左面,单击Simulator项,在弹出的窗口中,选 择fuctional选项作为仿真模式。为了完成仿真器的设置, 需要选择Processing/Generate functional simulation Netlist命令。 Quartus II根据测试输入,产生 example_schematic.vwf文件中定义的输出。选择 Processing/start simulation(或使用快捷图标),开始 运行电路的功能仿真。仿真结束之后, Quartus II指出仿 真完成,并给出仿真报告。

Quartus-II中FPGA管脚的分配策略

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电压。

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

Quartus II入门篇(基本操作)

Quartus II入门篇(基本操作)

例化顶层文件名
一个工程实例Verilog_ex2
时序约束:点击 会新建".sdc文件",这种文件可以编写一些脚本,进行时序 约束。 依次点击 ,当点击Read SDC File后,
可以点击Constrains 会有很多约束选项,用户也可以通过编 写脚本,自定义时序约束。 eg: creat clk 最后点击Write SDC File 如果时序约束条件未达成会在Critical Warning中警告
需对未使用的管脚设置,以防警告
Assignments→Device →Device and Pin Options→Unused Pins→As input tristated
一个工程实例Verilog_ex2 工程文件Verilog_ex2的路径: C:\Users\Administrator\FPGA_workspace,注意不能有 中文。 仿真:(1)下载安装ModelSim-Altera或ModelSim,然 后确定路径Tools → Options→ General→ EDA Tool Options;(2)Processing→start→start Test Bench Template Writer会在“simulation”的“modelsim”文件夹下 得到".vt"的一个文件,编写得到Test Bench ;(3) Assignments→Settings→Simulation→Test Benches → New(按下图设置);(4)Tools→Run EDA Simulation Tool→EDA RTL Simulation;
creatclk最后点击writesdcfile如果时序约束条件未达成会在criticalwarning中警告设计完以后需要管脚分配可以assignmentspinplanner管脚分配将管脚直接拖动到芯片对应管脚分布图的标识上也可以直接在location上直接输入管当所有工作完成以后可以点击下载程序或者点击task下的programdevice

QuartusII使用说明

QuartusII使用说明

QuartusII使用说明QuartusⅡ软件提供了FPGA 和CPLD 各设计阶段的解决方案。

它集设计输入、综合、仿真、编程(配置)于一体,带有丰富的设计库,并有详细的联机帮助功能。

下面为用QUARTUSⅡ进行设计的一般过程。

其包含的主要内容为:1、开始2、新建project3、设计输入4、编译5、引脚分配6、仿真7、编程、配置FPGA器件8、板级调试9、典型的FPGA设计流程使用CAD软件进行FPGA设计的典型流程如图1所示。

Quartus II软件支持以上设计流程的所有阶段。

1、开始在Quartus II软件中设计的每个电路或者子电路都叫做项目(Project)。

Quartus II软件每次只能打开一个Project,并且一个Project的所有信息都必须保存在同一个文件夹。

为了开始一个新逻辑电路的设计,首先第一步就是新建一个文件夹来保存此Project的文件。

为了保存本教程的设计项目Project,新建文件夹D:\introtutorial。

本处所举例子是一个简单两路开关控制电路。

启动Quartus II软件,会打开如图2所示启动画面。

启动画面中包含了使用Quartus II软件所需要的几个窗口,用户可以通过鼠标在窗口中选择想要执行的功能。

Quartus II软件所提供的绝大多数命令都可以通过选择位于标题栏下面的一系列菜单命令来完成。

图2 Quartus II启动画面在弹出的File菜单上单击单击Exit菜单项,这样可以退出Quartus II软件。

对于有些命令,需要按顺序访问几个菜单命令才可以。

本教程中使用符号Menu1 > Menu2 > Item表示使用鼠标左键先点击菜单Menu1,然后在弹出的菜单中鼠标左键点击Menu2项,然后在弹出的菜单中鼠标单击Item项。

2、新建Project开始一个新设计,必须先定义一个设计项目project。

Quartus II软件通过提供一个Wizard,使用户的设计任务变得非常简单。

FPGA入门及Quartus II使用教程(内部资料)

FPGA入门及Quartus II使用教程(内部资料)

FPGA入门及Quartus II使用教程FPGA是英文Field Programmable Gate Array的缩写,即现场可编程门阵列,它是在可编程阵列逻辑PAL(Programmable Array Logic)、门阵列逻辑GAL(Gate Array Logic)等可编程器件的基础上上进一步发展的产物。

可以这样讲,ASIC(Application Specific Integrated Circuit )内部的所有资源,是用积木堆积起来的小房子,可以是一个欧美风情的房子,还可以是一个北京四合院…….而FPGA内部就可以说是一个个小积木,也就是内部有大量的资源提供给我们,根据我们的需求进行内部的设计。

并且可以通过软件仿真,我们可以事先验证设计的正确性。

第一章FPGA的基本开发流程下面我们基于Altera 公司的QuantusII 软件来说明FPGA 的开发流程。

下图是一个典型的基于Quartus II的FPGA开发整体流程框图。

1、建立工程师每个开发过程的开始,Quartus II以工程为单位对设计过程进行管理。

2、建立顶层图。

可以这样理解,顶层图是一个容器,将整个工程的各个模块包容在里边,编译的时候就将这些模块整合在一起。

也可以理解为它是一个大元件,比如一个单片机,内部包含各个模块,编译的时候就是生成一个这样的大元件。

3、采用ALTERA公司提供的LPM功能模块。

Quartus软件环境包含了大量的常用功能模块,比如计数器、累加器、比较器等等。

4、自己建立模块。

由于有些设计中现有的模块功能不能满足具体设计的要求,那就只能自己设计。

使用硬件描述语言,当然也可以用原理图的输入方法,可以独立的把它们当成一个工程来设计,并且生成一个模块符号(Symbol),类似于那些LPM功能模块。

这里可以理解为,如果我们需求的滤波器,没有现成的合适的,那我们可以通过LC自己来搭建一个滤波器。

5、将顶层图的各个功能模块连线起来。

Quartus-II中FPGA管脚的分配策略

Quartus-II中FPGA管脚的分配策略

精品文档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方式 (4)2.3.T CL S CRIPTS方式 (6)2.4.项目组统一使用方式 (9)3.编写FPGA管脚分配文件 (10)3.1.查看PDF格式的原理图 (10)3.2.查看P RJ PCB格式的原理图 (11)4.保存FPGA管脚分配文件 (12)4.1.T CL格式或CSV格式 (12)4.2.QSF格式 (12)4.3.项目组统一使用格式 (12)附录管脚类型说明 (13)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电压。

QuartersII三种分配管脚的方式

QuartersII三种分配管脚的方式
.......
#后为注释部分。
(3)保存。
(4) Project->Add/RemoveFiles.....->找到该文件,点击Add。
(5)Tools->Tcl Scripe.....->选中该文件,点击run,设置完毕。
2.添加.cvs文件
(1)新建一个excel文件,内容格式如下:
To Location
SW[0] PIN_N25
SW[1] PIN_N26
SW[2] PIN_P25
SW[3] PIN_AE14
SW[4] PIN_AF14
保存时将文件类型设为.cvs格式。
注意:该文件中的引脚名一定要和quartus顶层文件的输入输出引脚名一样。
(2)Assignments->ImportAssignments.....->导入该文件,点击OK。
设置完毕。
3.txt文件
格式:
to,location
SW0,PIN_N25
SW1,PIN_N26
...
导入方法与CSV文件相同。
在Altera公司提供的Quartus ii软件里,我们可以发现三种分配管脚的方式。
1.使用tcl脚本的方法
(1) 生成tcl文件。project--->Generate Tcl File forproject...
[转载]Altera <wbr>FPGA自动分配引脚的方法
(2)找到"set_location_assignment"字段编辑管脚。 _location_assignment PIN_D13 -to iCLK
set_location_assignment PIN_G26 -to iRST_N

Quartus_II的FPGA设计手册

Quartus_II的FPGA设计手册
一、Quartus II 软件的入门介绍
随着可编程逻辑器件应用的日益广泛,许多IC制造厂家涉足PLD/FPGA领域。目 前世界上有十几家生产CPLD/FPGA的公司,最大的三家是: Altera,Xilinx,Lattice, 其中Altera和Xilinx占有了60%以上的市场份额。 Altera 公 司 是 全 球 最 大 的 可 编 程 逻 辑 器 件 供 应 商 之 一 。 主 要 产 品 有 : MAX3000/7000,MAXⅡ,FLEX6000,FLEX8000,APEX20K,ACEX1K,Cyclone,Stratix, CycloneⅡ,StratixⅡ等。Altera公司针对FPGA/CPLD器件推出了相应的设计软件, 目前主要是第三代的 MAX+plusⅡ和第四代的QuartusⅡ。作为 Altera 公司的最新 一代集成设计环境,QuartusⅡ支持Altera 公司目前流行的所有主流 FPGA/CPLD 的 设计开发,并引入了一系列的新特性,如支持RLT View,综合效率更高,可以进行 功耗估算等等。本使用手册主要是针对使用Quartus Ⅱ 5.0软件进行FPGA设计开发 的常见的功能进行介绍。 主要分以下几个步骤:
图 39:第一次启动后的界面 图 37:(方法 1)启动 QuartusII 5.0 图 38:(方法 2)启动 QuartusII 5.0
Quartus II 的 FPGA 设计手册--------王兴权(030320122)2007 年 4 月 桂林电子科技大学计算机与控制学院(自动化专业)-------- 用喜悦振奋精神,用成绩增添信心!
图 19 16、在 Select Features 对话框上,选中 Stand-Alone programmer 和 StandAlone SignalTapII 选项,点击 Next 按钮,进入下一步;

FPGA入门及QuartusII使用教程(内部资料)

FPGA入门及QuartusII使用教程(内部资料)

FPGA入门及Quartus II使用教程FPGA是英文Field Programmable Gate Array的缩写,即现场可编程门阵列,它是在可编程阵列逻辑PAL(Programmable Array Logic)、门阵列逻辑GAL(Gate Array Logic)等可编程器件的基础上上进一步发展的产物。

可以这样讲,ASIC(内部的所有资源,是Application Specific Integrated Circuit )用积木堆积起来的小房子,可以是一个欧美风情的房子,还可以是一个北京四合院…….而FPGA内部就可以说是一个个小积木,也就是内部有大量的资源提供给我们,根据我们的需求进行内部的设计。

并且可以通过软件仿真,我们可以事先验证设计的正确性。

第一章 FPGA的基本开发流程下面我们基于Altera 公司的QuantusII 软件来说明FPGA 的开发流程。

下图是一个典型的基于Quartus II的FPGA开发整体流程框图。

1、建立工程师每个开发过程的开始,Quartus II以工程为单位对设计过程进行管理。

2、建立顶层图。

可以这样理解,顶层图是一个容器,将整个工程的各个模块包容在里边,编译的时候就将这些模块整合在一起。

也可以理解为它是一个大元件,比如一个单片机,内部包含各个模块,编译的时候就是生成一个这样的大元件。

3、采用ALTERA公司提供的LPM功能模块。

Quartus软件环境包含了大量的常用功能模块,比如计数器、累加器、比较器等等。

4、自己建立模块。

由于有些设计中现有的模块功能不能满足具体设计的要求,那就只能自己设计。

使用硬件描述语言,当然也可以用原理图的输入方法,可以独立的把它们当成一个工程来设计,并且生成一个模块符号(Symbol),类似于那些LPM功能模块。

这里可以理解为,如果我们需求的滤波器,没有现成的合适的,那我们可以通过LC自己来搭建一个滤波器。

5、将顶层图的各个功能模块连线起来。

QuartusII使用说明

QuartusII使用说明

QuartusII使用说明QuartusⅡ软件提供了FPGA 和CPLD 各设计阶段的解决方案。

它集设计输入、综合、仿真、编程(配置)于一体,带有丰富的设计库,并有详细的联机帮助功能。

下面为用QUARTUSⅡ进行设计的一般过程。

其包含的主要内容为:1、开始2、新建project3、设计输入4、编译5、引脚分配6、仿真7、编程、配置FPGA器件8、板级调试9、典型的FPGA设计流程使用CAD软件进行FPGA设计的典型流程如图1所示。

Quartus II软件支持以上设计流程的所有阶段。

1、开始在Quartus II软件中设计的每个电路或者子电路都叫做项目(Project)。

Quartus II软件每次只能打开一个Project,并且一个Project的所有信息都必须保存在同一个文件夹。

为了开始一个新逻辑电路的设计,首先第一步就是新建一个文件夹来保存此Project的文件。

为了保存本教程的设计项目Project,新建文件夹D:\introtutorial。

本处所举例子是一个简单两路开关控制电路。

启动Quartus II软件,会打开如图2所示启动画面。

启动画面中包含了使用Quartus II软件所需要的几个窗口,用户可以通过鼠标在窗口中选择想要执行的功能。

Quartus II软件所提供的绝大多数命令都可以通过选择位于标题栏下面的一系列菜单命令来完成。

图2 Quartus II启动画面在弹出的File菜单上单击单击Exit菜单项,这样可以退出Quartus II软件。

对于有些命令,需要按顺序访问几个菜单命令才可以。

本教程中使用符号Menu1 > Menu2 > Item表示使用鼠标左键先点击菜单Menu1,然后在弹出的菜单中鼠标左键点击Menu2项,然后在弹出的菜单中鼠标单击Item项。

2、新建Project开始一个新设计,必须先定义一个设计项目project。

Quartus II软件通过提供一个Wizard,使用户的设计任务变得非常简单。

FPGA教程--QuartusII入门指南

FPGA教程--QuartusII入门指南

FPGA教程--QuartusII入门指南第一讲:QUARTUS II 安装及工程建立 (2)1.1Q UARTUS II安装 (2)1.1.1QuartusII安装文件夹内容 (2)1.1.2QuartusII安装步骤 (3)1.1.3QuartusII破解步骤 (4)1.2工程建立 (8)第二讲:VERILOG HDL语言的应用与仿真 (15)2.1分频器原理说明 (15)2.2编写V ERILOG HDL程序 (15)2.3程序仿真 (27)第三讲:原理图方式编程及I P核调用 (39)第四讲:程序下载 (67)4.1引脚配置 (67)FPGA教程——Quartu s II 入门指南第一讲:Q u a r t u s I I安装及工程建立。

第二讲:V e r i l o g H D L语言的运用及仿真。

第三讲:原理图方式编程及I P核调用。

第四讲:程序下载。

第一讲:Quartus II 安装及工程建立1. 1QuartusII安装本指南的QuartusII版本是QuartusII 7.2。

1.1.1QuartusII安装文件夹内容从网上下载或是从其它地方考贝来的QuartusII7.2文件夹内包含两个文件:72_quartus_windows.exe和压缩文件Crack_QII72,如图1-1所示。

图1-1 QuartusII安装文件夹包含文件1.1.2QuartusII安装步骤(1)双击72_quartus_windows.exe文件,出现QuartusII7.2对话框,如图1-2。

图1-2 QuartusII7.2对话框(2)点击Install按钮,开始安装,等待完成出现Quartus II 7.2 Setup安装对话框,如图1-3,点击Next,对话框变为图1-4所示,选择同意选项,点击Next,直到出现图1-5,单击Finish完成安装。

图1-3 Quartus II 7.2 Setup安装对话框图1-4 Quartus II 7.2 Setup安装对话框图1-5 Quartus II 7.2 Setup安装对话框1.1.3QuartusII破解步骤(1)解压文件Crack_QII72,出现四个文件license.DAT,Quartus_II_7.2_b151破解器.exe,sys_cpt.dll,读我.txt,如图1-6所示,其中读我.txt文件有破解说明。

fpga引脚分配注意事项

fpga引脚分配注意事项

fpga引脚分配注意事项FPGA(Field Programmable Gate Array)是一种可编程逻辑器件,具有灵活性和可重构性,广泛应用于数字电路设计和嵌入式系统开发。

在使用FPGA进行设计时,合理的引脚分配是非常重要的,它直接关系到电路的性能、功耗和稳定性。

下面将介绍一些使用FPGA进行引脚分配时需要注意的事项。

1. 引脚规格和电气特性:在进行引脚分配之前,首先要了解所使用的FPGA芯片的引脚规格和电气特性。

不同的FPGA芯片具有不同的引脚数量和功能,同时还有不同的电气特性,例如电压等级、驱动能力和输入电流等。

在进行引脚分配时,要确保所选用的引脚能够满足设计需求,并与其他电路模块兼容。

2. 引脚复用:FPGA芯片通常具有大量的引脚,但并不是所有的引脚都需要用到。

在进行引脚分配时,可以考虑引脚的复用,即一个引脚可以被多个信号共享。

通过合理的引脚复用,可以减少引脚的使用数量,提高资源利用率。

3. 信号分组:根据设计需求,将信号进行合理的分组,可以简化引脚分配的过程。

将有相同功能或相关性的信号划分到同一组,可以降低引脚布局的复杂度,减少信号之间的干扰和串扰。

4. 引脚约束:在进行引脚分配之前,需要为每个引脚设置相应的约束。

引脚约束是一种限制,用于确保引脚在设计中的正确连接和使用。

常见的引脚约束包括引脚的电气特性约束(如电压、驱动能力)、时序约束(如时钟频率、延迟要求)和布局约束(如引脚位置和层次)等。

通过引脚约束,可以提高电路的可靠性和稳定性。

5. 时序分析:在进行引脚分配之后,需要进行时序分析,以确保设计在时序上满足要求。

时序分析可以帮助检测潜在的时序问题,如时钟频率过高、信号延迟过长等。

通过时序分析,可以优化引脚分配,提高电路的性能。

6. 电源和地线布局:在进行引脚分配时,要合理布局电源和地线。

电源和地线是电路中非常重要的部分,它们的布局直接影响电路的稳定性和抗干扰能力。

在引脚分配时,要尽量避免电源和地线之间的干扰和串扰,同时要确保电源和地线的供电和接地路径短、稳定。

「QuartusII简明操作指南」

「QuartusII简明操作指南」

Quartus II简明操作指南在前面的实验里,我们所有的实验都是基于这样一个观点,即将一个数字系统划分成合适利用已有的中小规模数字集成电路的功能的模块,然后将这些集成电路通过外部引线连接起来。

现在开始我们将研究用可编程逻辑器件(PLD/FPGA)来进行数字系统设计。

可编程逻辑器件是一种大规模的集成电路,其内部预置了大量易于实现各种逻辑函数的结构,同时还有一些用来保持信息或控制连接的特殊结构,这些保持的信息或连接确定了器件实现的实际逻辑功能,当改变这些信息或连接时器件的功能也将随之改变。

可编程逻辑器件的设计过程和传统的中小规模数字电路设计也不一样,可编程数字系统,无论是CPLD还是FPGA器件都需要利用软件工具来进行设计。

可编程数字系统设计总体上一般可以分为设计输入、项目处理、设计校验和器件编程这四个主要过程。

下面我们将一个简单的模60B CD计数器为例,说明可编程数字系统设计的基本流程、概念和方法,掌握Quartus II软件的基本功能和操作,了解原理图输入方式的设计全过程。

一、设计项目输入ﻩ设计输入是设计者对系统要实现的逻辑功能进行描述的过程。

设计输入有多种表达方式,本次我们主要学习图形输入法。

1.1建立工程项目1.打开Quartus II,在File菜单中选择New ProjectWizard项,将出现工程项目建立向导对话框。

2.点击“Next”,进入到相应的对话框,在最上面的文本输入框中输入项目所在的目录名(注意:不能用中文名,下同),在中间的文本输入框中输入项目名称,在最下面的文本输入框中输入最顶层模块的名称。

3.点击“Next”,进入到设计文件选择对话框,由于在本例中还没有任何设计文件,所以不选择任何文件。

4.点击“Next”,进入到器件选择对话框,在“Family”下拉菜单中选择“Cyclone”,在“AvailableDevices”列表栏中选择“EP1C3T144C8”。

5.点击“Next”进入到第三方EDA工具选择对话框,在这个界面我们可以选择第三方的综合工具、仿真工具和时延分析工具。

FPGA入门及QuartusII使用教程(内部资料)

FPGA入门及QuartusII使用教程(内部资料)

FPGA入门及Quartus II使用教程FPGA是英文Field Programmable Gate Array的缩写,即现场可编程门阵列,它是在可编程阵列逻辑PAL(Programmable Array Logic)、门阵列逻辑GAL(Gate Array Logic)等可编程器件的基础上上进一步发展的产物。

可以这样讲,ASIC(Application Specific Integrated Circuit )内部的所有资源,是用积木堆积起来的小房子,可以是一个欧美风情的房子,还可以是一个北京四合院…….而FPGA内部就可以说是一个个小积木,也就是内部有大量的资源提供给我们,根据我们的需求进行内部的设计。

并且可以通过软件仿真,我们可以事先验证设计的正确性。

第一章FPGA的基本开发流程下面我们基于Altera 公司的QuantusII 软件来说明FPGA 的开发流程。

下图是一个典型的基于Quartus II的FPGA开发整体流程框图。

1、建立工程师每个开发过程的开始,Quartus II以工程为单位对设计过程进行管理。

2、建立顶层图。

可以这样理解,顶层图是一个容器,将整个工程的各个模块包容在里边,编译的时候就将这些模块整合在一起。

也可以理解为它是一个大元件,比如一个单片机,内部包含各个模块,编译的时候就是生成一个这样的大元件。

3、采用ALTERA公司提供的LPM功能模块。

Quartus软件环境包含了大量的常用功能模块,比如计数器、累加器、比较器等等。

4、自己建立模块。

由于有些设计中现有的模块功能不能满足具体设计的要求,那就只能自己设计。

使用硬件描述语言,当然也可以用原理图的输入方法,可以独立的把它们当成一个工程来设计,并且生成一个模块符号(Symbol),类似于那些LPM功能模块。

这里可以理解为,如果我们需求的滤波器,没有现成的合适的,那我们可以通过LC自己来搭建一个滤波器。

5、将顶层图的各个功能模块连线起来。

QuartusII中FPGA的管脚分配保存方法

QuartusII中FPGA的管脚分配保存方法

Quartus II中FPGA的管脚分配保存方法一、摘要将Quartus II中FPGA管脚的分配及保存方法做一个汇总。

二、管脚分配方法FPGA 的管脚分配,除了在QII软件中,选择“Assignments ->Pin”标签(或者点击按钮),打开Pin Planner,分配管脚外,还有以下2种方法。

方法一:Import Assignments步骤1:使用记事本或类似软件新建一个txt文件(或csv文件),按如下格式编写管脚分配内容(不同的开发版,其内容也不同,本文以我使用的DIY_DE2开发板为范例)。

【这种方式格式最为简单】注意:To和Location两个关键字中间有一个半角逗号。

图1 pin.txt步骤2:在QII软件中,选择“Assignments -> Import Assignments”。

如图所示,导入xxx.txt或者xxx.csv文件即可图2 导入pin.txt步骤3:在QII软件中,选择“Assignments -> Pin”标签(或者点击按钮),打开Pin Planner,验证管脚是否分配正确。

图3 验证管脚是否分配正确方法二:导入source xxx.tcl文件步骤1:在QII软件中,使用“Assignments -> Remove Assignments”标签,移除管脚分配内容,以确保此次操作,分配的管脚没有因为覆盖而出现错误的情况。

图4 Remove Assignments注:在未执行任何管脚分配操作新工程中,可跳过步骤1。

步骤2:使用记事本或类似软件新建一个tcl文件,按如下格式编写管脚分配内容(不同的开发版,其内容也不同,本文以我使用的DIY_DE2开发板为范例)。

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

图5 pin.tcl步骤3:执行pin.tcl方法1:在QII软件中,使用“View -> Utility Windows -> Tcl Console”标签,打开Quartus II Tcl Console。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Quartus II中FPGA管脚分配策略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电压。

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

内核电压是用来给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模式或FAST AS模式。

MSEL[1:0]为00表示用AS模式,10表示用PS模式,01表示用FAST AS模式。

如果用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种方式,分别为Pin Planner方式、Import Assignments方式和Tcl scripts 方式。

2.1. Pin Planner方式步骤1:在Quartus II软件中,选择“Assignments Pin Planner”,或者按快捷键“Ctrl+Shirt+N”,出现如图2所示的画面。

通过下拉菜单可以选择需要的管脚在Location选择了管脚后I/O Bank自动填充Bank内部的细分区域,非修改属性用于支持对应不同的电平标准,即VCCIO。

每个Bank只能有一种电压标准对管脚内部的I/O逻辑进行约束驱动电流强度电压转换速率,表示单位时间内电压升高的幅值图2 Pin Planner图2主要包含了7个选择项,分别为Location、I/O Bank、VREF Group、I/O Standard、Reserved、Current Strength和Slew Rate。

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

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

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

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

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

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

步骤2:在Location中选择管脚。

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

2.2. Import Assignments方式步骤1:新建一个txt文件(或csv文件),按图3格式编写管脚分配内容。

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

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

图3 管脚分配格式步骤2:在Quartus II软件中,选择“Assignments → Import Assignments”,出现如图4所示的画面,导入xxx.txt或者xxx.csv文件。

图4 Import Assginments导入后Quartus II软件的Message信息栏会弹出如图5所示的内容,显示Import Completed,表示文件没有语法错误。

图5 Message步骤3:在Quartus II软件中,选择“Assignments → Pin Planner”,验证管脚是否分配正确。

如图6所示。

图6 验证管脚是否分配正确常见错误1:分配的管脚不属于FPGA芯片。

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

图7 管脚不属于FPGA若信号比较多,人工不能发现存在的错误,可以通过Enable Live I/O Check工具检查I/O分配情况。

点击Pin Planner工具栏中的I/O Check图标,如图8所示。

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

图9 Check检查管脚不属于FPGA常见错误2:多个信号公用一个管脚,即分配管脚冲突。

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

图10 Check检查管脚冲突2.3. Tcl Scripts方式步骤1:在Quartus II软件中,选择“Assignments Remove Assignments”,出现如图11所示的画面。

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

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

图11 Remove Assignments步骤2:新建一个tcl文件,按图12格式编写管脚分配内容。

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

图12管脚分配格式步骤3:执行xxx.tcl文件。

方法1:(1)在Quartus II软件中,选择“View → Utility Windows → Tcl Console”,打开Quartus II Tcl Console,如图13所示。

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

图14 执行管脚分配语句方法2:(1)将tcl文件添加到工程中,如图15所示。

图15 添加Tcl文件(2)在Quartus II软件中,选择“Tools → Tcl Scripts”,出现如图16所示的画面。

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

步骤4:在Quartus II软件中,选择“Assignments → Pin Planner”,验证管脚是否分配正确。

检查的方法同Import Assignments方式中的Enable Live I/O Check。

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

在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 原理图路径图18 PDF格式原理图3.2. 查看PrjPCB格式的原理图查看原理图的软件有多种,我司主要使用Altium Designer软件。

相关文档
最新文档