FPGA引脚分配方法

FPGA引脚分配方法
FPGA引脚分配方法

第二种:建立TCL文件进行管脚分配。这种方法比较灵活,是比较常用的。

这种方法具有分配灵活,方便快捷,可重用性等多方面优点。方法如下:

选择Projects菜单项,并选择Generate tcl file for project选项,系统会为你自动生成相应文件,然后你只要向其中添加你的分配内容就可以了。还有一种方法就是直接用new ,新建一个TCL文件即可,具体不再细讲。

下面是我分配的内容一部分,可供大家参考。

set_global_assignment -name FAMILY Cyclone

set_global_assignment -name DEVICE EP1C3T144C8

set_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.0

set_global_assignment -name

USE_GENERATED_PHYSICAL_CONSTRAINTS OFF -section_id

eda_palace

set_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.bdf

set_global_assignment -name QIP_FILE nios.qip

set_global_assignment -name QIP_FILE altpll0.qip

set_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 Top

set_global_assignment -name PARTITION_COLOR 14622752

-section_id Top

set_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 clk

set_location_assignment PIN_38 -to cs

set_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_n

set_location_assignment PIN_41 -to rd

set_location_assignment PIN_71 -to wr

set_location_assignment PIN_105 -to mosi

set_location_assignment PIN_107 -to sclk

set_location_assignment PIN_106 -to ss

set_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 assignments

export_assignments

FPGA 点滴

(2008-09-30 09:44:45)

转载

标签:

杂谈

以此记录心得以及重要的知识点。

1.FPGA器件是Xilinx公司于1985年首家退出的,它是一种新型的高密度PLD,采用CMOS-SRAM工艺制作。FPGA的结构与门阵列PLD不同,其内部有许多独立的可编程逻辑模块组成,逻辑模块之间可以灵活的相互连接。FPGA结构一般分为三部分:可编程逻辑模块、可编程I/O模块和可编程内部连线。配置数据存放在片内SRAM或熔丝图上,基于SRAM的FPGA器件工作前需要从芯片外部加载配置数据。配置数据可以存储在片外的EPROM或者计算机上,设计人员可以控制加载过程,在现场修改器件的逻辑功能,即所谓现场可编程。

目前绝大多数FPGA器件都采用了基于SRAM的查找表结构。查找表本质上就是一个RAM。FPGA中多使用4输入的LUT,所以每一个LUT可以看成一个有四位地址线的RAM。当用户通过原理图或HDL语言描述了一个逻辑电路以后,PLD/FPGA开发软件会自动计算逻辑电路所有可能的结果,并把结果事先写入RAM.这样,每输入一个信号进行逻辑运算就等于输入一个地址进行查表,找出地址对应的内容,然后输出即可。

2.VHDL语言中,由于BIT数据类型只能取值逻辑量‘0’或‘1’,而在实际电路设计和仿真中,还存在象高阻态,不定值等其他状态,故IEEE STD1164标准定义了STD_LOGIC数据类型,包含了9种不同值。

3.实体说明一般由类属参数和端口说明两部分组成,端口说明很熟悉了,说一下类属说明:类属参数说明必须放在端口说明之前,用于设置实体和外部电路之间的静态参数。设计者可以通过改变这些参数来对整个设计实体进行修改。在元件例化中,应用与此相同。

4.rtl视图,其实就是寄存器级传输图,它在综合及布局布线前就生成了,并非设计的最终电路结构,是设计输入的最忠实的体现,它的主要作用是帮助设计者检查设计输入中的问题。

5.跨时钟阈问题的解决:比方说设计输入有2M和3M两个时钟,那么可以采用两种办法,第一个用异步FIFO,第二个是加一个6M的全局时钟,然后让2M和3M做为使能端。

6.每对信号赋值一次,延迟一个时钟,比方说a<=b,c<=a;那么b相对于a延迟一个时钟,a相对于c又延迟一个时钟。

7.对于电平信号输入的,如读写请求信号,那么怎么检测它们的边沿,以达到边沿触发的目的呢。有一个方法,设输入为wrreq,则有Q1 <= WRREQ; Q2 <= Q1;Wrpulse <= Q2 and not(Q1);此方法即为当wrreq下降沿时,wrpulse为1,后续判断wrpulse即可。Q1 <= WRREQ; Q2 <= Q1;Wrpulse <= Q1 and not(Q2);此时当wrreq上升沿时,wrpulse为1。

8.在用modelsim进行仿真时,要注意赋初始值,即rst='1'时要都赋值,要不然会出现红线的不定态。

9.用ISE调用modelsim进行仿真相对来讲还是比较方便的,它可以直接建立相应的testbench模块,即verilog test fixture 和vhdl test bench。用ISE10.1 和modelsim6.3f配合使用的时候,vhdl 语言没有问题;但是用verilog写的模块,调用modelsim 的时候会提示一些库的错误,但是这时候直接新打开modelsim,并change directory 到此目录下,则能正确进行。又重新在ISE下编译了一下verilog HDL的仿真库,问题解决,回忆了一下可能是在我笔记本上当时编译Modelsim仿真库的时候,只编译了VHDL的。

10.ISE中直接编译modelsim仿真库:首先在source for project 中选中器件,然后在下面process中点开Design Entry Utilities,然后双击compile HDL Simulation Libraries即可。

11. tsu : setup time,

定义输入数据讯号在clock edge 多久前就需稳定提供的最大须求;以正缘触发(positive edge trigger)的D flip-flop 来举例就是D 要比CLK 提前tsu 时间以前就要准备好,此flip-flop 就能于某特定之频率下正

常工作.

th : hold time,

定义输入数据讯号在clock edge 后多久内仍需稳定提供的最大须求;以正缘触发(positive edge trigger)的D flip-flop 来举例就是D 要在CLK 正缘触发th 时间内仍要提供稳定之数据,此flip-flop 就能于某特定

之频率下正常工作.

tco : clock output delay,

定义由clock latch/trigger 到输出数据有效之最大延迟时间;以正缘触发(positive edge trigger)的D flip-flop 来举例就是Q 要在CLK 正缘触发后至多tco 时间就会稳定输出.

tpd : propagation delay,

定义由输入脚到输出脚最大延迟时间,一般定义予combination logic circuit 较适合.

12.ISE中调用一个IP核后,在edit-language template-core generator-选中要例化的核即可例化;还有更简便的方法,在process栏里直接有一个view.....。

13.在安装目录xilinx\10.1\ise\doc\usenglish\books\docs下可以查看FPGA设计的相关文档。象在XST文件夹下就介绍了一些常用模块的编码风格等。

14.xilinx对一个输入管脚,如果添加了IO BUF,那么在这个模块内它就只能被调用一次。去掉BUF是一种解决办法。

15.自顶向下开发,刚开始有一点体会。就是说从顶层开始写,用到的信号先写上,后面再一层一层往下对顶层用到的信号进行定义和相应的赋值。

16.状态机尽量不要用一段式写法,一段是将状态转移、状态输出和转移条件等都写在一个always块或一个process中;两段式是写一个always块描述同步状态转移,一个always块用组合逻辑描述状态转移的条件和相应的输出;三段式相比于两段式是另外再加一个always块专门对各状态的输出做一级寄存同步输出,就是将两段式的状态输出部分摘出来。

17.FPGA设计中没有用到的管脚,要设置输入三态(as input tri-stated),在想做的转换模块没有用到的CPLD 管脚是不是有这个问题引发了一些干扰呢,不过以后还是注意这一点的好。

18.对于扇出的问题一直听说,一直没有搞太明白,今天总算明白了一些。扇出指的是门电路的带负载能力,就是说一个门电路的输出能同时驱动几个门电路,当然它跟门电路的开关特性有关,象CMOS门电路驱动能力就比TTL大。在FPGA设计中,有一个门控时钟的概念,门控时钟指的是不用FPGA内部的全局时钟资源BUFG来控制触发器的时钟沿输入端而是采用组合逻辑和其它时序逻辑(如分频器)产生的信号作为触发器的时钟沿输入端。门控时钟容易带来时钟漂移、毛刺等,使得触发器误动作,通常,对于驱动的触发器数量较少的门控时钟,编译器可以自动将分布时钟缓冲器将其布线优化,但是对于驱动

触发器较多的门控时钟,将会使布线不稳定,重者造成设计混乱。门控时中较多,也会使得整个设计的最大工作速度下降,降低产品的性能。对于门控时钟问题,通常的解决办法是将分频器做成与系统时钟宽度一个周期宽度的脉冲信号,所谓系统时钟就是用全局时钟资源BUFG驱动的高扇出、零漂移、零畸变的时钟资源,在FPGA内部的布线结构是树形结构。将分频器的输出送入触发器的ce端,当系统时钟到来时,检测ce信号的有效性,当ce信号有效时,将触发器的输出改变,和分频器的作用完全一样,而且这样处理也使得布线更加优化。

对于多扇出问题,通常是指用一个节点驱动多个下级逻辑器件,对于门控时钟驱动较多的触发器,也可以归为此类问题,此问题会严重影响FPGA布线的稳定性,设计的时候要多加注意,此时采用的是复制寄存器策略:CLK为系统时钟,M1为1MHz方波信号,由于M1信号驱动的模块较多,所以M1的扇出较多(假定扇出数为140),为了减少扇出,用系统时钟采样,将M1信号驱动7个D触发器,然后将7个D触发器的输出端分给7个模块,这样每个复制点(DUP0~DUP6)平均扇出变为20,M1的信号扇出变为7,这样就减少了每个信号的扇出,优化了逻辑,也提高了设计的整体性能。上述模块的VHDL语言描述为:

library ieee;

use ieee.std_logic_1164.all;

entity RegDup is

port(clk:in std_logic;

Dup:out std_logic_vector(6 downto 0);

M1:in std_logic);

end RegDup;

architecture rtl of RegDup is

begin

process(Clk)

begin

if Clk'event and Clk='1'then --系统时钟采样

Dup(0)<=M1; --复制M1信号

Dup(1)<=M1;

Dup(2)<=M1;

Dup(3)<=M1;

Dup(4)<=M1;

Dup(5)<=M1;

Dup(6)<=M1;

end if;

end process;

end rtl;

19.甲辰说:组合逻辑的敏感信号列表他一般用always @(*),说信号少了不行,多了没事;FPGA的初始状态是在编译以后就赋上的;

20.如果组合逻辑不使用always块,则肯定不会产生锁存器,像使用assign 语句,因为它不需要保存上一状态的值。在基于always块的语句中,产生锁存器的情况一般为两种,一种是在if语句中没有else分支,再一个就是case语句没有使用default,如果本意想生成锁存器的话也要显示说明,这样可以提高程序的稳健性和可读性。

21.实现奇数分频可以使用错位异或法,其实就是两路计数,一路计上升沿,一路计下降沿,两路在适当的时候翻转,最后进行或运算即可。

22.在工程目录IP核文件夹下example_design目录下,有相关的使用IP核的例子。

23.在用quartus进行波形仿真的时候,要在vwf文件修改数据的属性,比如进制显示等,这样在simulation report就不用每次都改了。用ep2c35f484c8做了一个FIFO的仿真,有以下几点:write full信号:在写到第N+1(fifo深度为N)

个数据时,有效,在读出第一个数据后无效;

read empty信号:初始有效,读出最后一个数据时候也有效,在写到N/2个数据的时候无效;

在写满的时候再写是写不进去的,也不会冲掉原来的;

在读空的时候只能读出最后一个数据。

还有一个FIFO的问题,在加入IP核时,会有一步让你选是否用le来实现FIFO,而不管是否有memory,但是这个选项只能在FIFO不太大时才能让选。

24.在用verilog写程序的时候,有一些错误很难发现,像module后面不加模块名,if(rst)语句后面多个语句不加begin和end等,需要特别注意。

25.使用quartus加入IP核的时候,第一次会弹出是否产生qip文件并加入工程,选择是的话以后创建IP核会自动加入,但是你如果将加入的IP核删去的话会提示找不到qip文件,这时候你要从project->add/remove files in project将相应的qip文件remove就可以了。

26.quartus中的反标注布线信息就是将你一次编译以后时序没有问题的模块的信息给记录下来,下次编译的时候它的布线就不变,当然它的先决条件是你的这个模块是一个固定大小(fixed size)和锁定位置(locked location)的logic lock的模块。quartus本身还有一个incremental compilation的功能,就是你没有改变的逻辑再编译的时候是保持不变的,这样会减少编译时间。logic lock这样设置,alt+l快捷键打开logic lock regions窗口,新建一个region,指定开始坐标(origion)和大小,然后将你需要锁定的逻辑直接从compilation hierarchy窗口中拖过来放在上面就行了。反标注布线信息是右键选择该region,然后properties,然后有一个content back_annotation,里面就有相关的选项。

分享

fpga中各引脚的功能

分配fpga管脚时该怎么选择,引脚有什么属性需要考虑,quartus2中引脚有几个属性:Reserved,Group,I/O Bank,Vref Group,I/O standard( 3.3-V LVTTL(default) )分别是什么意思,要怎么设置? 谢谢Totag 的回答,你看我的理解对不对:IO standard是根据你所要输入的电平来设置,Group是根据所分配的信号端口自动确定,而每个引脚的IO Bank 本身已经确定! 另外,分配的引脚所属的IO Bank不同有关系吗?引脚的分配除了要考虑专用引脚和用户引脚的区别外,还要考虑什么因素? 首先说IO standard:这个是用于支持对应不同的电平标准。FPGA IO口的电压由IO bank上的VCC引入。一个bank上引入3.3V TTL电平,那么此时整个bank上输出3.3V的TTL电平。设置这个第一是为了和current strength一起计算功率。第二个是用于在IO口上加载正确的上拉/下拉电阻。只要你设置完成,Quartus会按照你的电平标准自动布线。 第二是IO Bank:你在quartus pin planner 的top view下右键然后点击show IO banks,这个时候就会看到FPGA的管脚被几种颜色划分开了。一种颜色下的IO 口代表一组bank。你在吧管脚的location约束完成以后。IO Bank会自动填充完毕的。 第三是Group:Group就是你所输出的信号的名字啦。比如你有一组信号叫cnt。你对cnt的某一根赋值,那么。。这里的Group会自动填充为cnt 。 第四是Reserved:这个是对管脚内部的IO逻辑进行约束的,你在下面可以看到一些值。介绍几个吧。bidrectional:双向,tri-state:三态等等。这个约束的是FPGA 在IO端的输入输出区域的逻辑。比如你选择tri-state。那么这个时候,在你IO 口前部的IO区,quartus会自动给你生成一个三态门。 第五个是Vref Group:这个Group是bank内部的细分区域,因为一个bank可能多达60个脚。为了快速定位,你可以利用这个vref group来找到某个管脚。(这个是非修改属性)无法修改。 你的理解是正确的,另外,跨越IO bank的信号没有问题。只是注意跨bank的电平是否一致即可。对于跨IO bank的延迟对于FPGA而言没有多少延迟。 管脚分配呢,你可以看一下quartus里面pin planner内部那张top view对于每个管脚的说明。大多数管脚是可以当做普通IO使用的。只是有些特殊要求的时候。只可以使用对应的IO,比如差分输入,高时钟输入等等。这个是要参照对应器件的IO 手册来决定的。而且对应的设计大多数的器件生产商都会给出参考设计。里面包括了IO的设计,pcb的设计以及内部程序端口的约束。所以具体问题具体分析。

FPGA学习笔记之引脚分配

2016/2/10 笔记一:分配引脚的四种方法:(Quartus II (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文件中标识符和变量名已经给出,只需要输入对应引脚,比较方便。在多子模块的情况下,.tcl文件中没有给出标识符和变量名,这点需要注意。 3、多个子模块,使用引脚众多的情况下,利用.tcl文件、.csv文件和.qsf文件进行引脚分配大同小异,不过个人更喜欢利

Xilinx FPGA 引脚功能详细介绍

XilinxFPGA引脚功能详细介绍 注:技术交流用,希望对大家有所帮助。 IO_LXXY_# 用户IO引脚 XX代表某个Bank内唯一的一对引脚,Y=[P|N]代表对上升沿还是下降沿敏感,#代表bank号 2.IO_LXXY_ZZZ_# 多功能引脚 ZZZ代表在用户IO的基本上添加一个或多个以下功能。 Dn:I/O(在readback期间),在selectMAP或者BPI模式下,D[15:0]配置为数据口。在从SelectMAP读反馈期间,如果RDWR_B=1,则这些引脚变成输出口。配置完成后,这些引脚又作为普通用户引脚。 D0_DIN_MISO_MISO1:I,在并口模式(SelectMAP/BPI)下,D0是数据的最低位,在Bit-serial模式下,DIN是信号数据的输入;在SPI模式下,MISO是主输入或者从输出;在SPI*2或者SPI*4模式下,MISO1是SPI总线的第二位。 D1_MISO2,D2_MISO3:I,在并口模式下,D1和D2是数据总线的低位;在SPI*4模式下,MISO2和MISO3是SPI总线的MSBs。 An:O,A[25:0]为BPI模式的地址位。配置完成后,变为用户I/O口。 AW AKE:O,电源保存挂起模式的状态输出引脚。SUSPEND是一个专用引脚,AWAKE 是一个多功能引脚。除非SUSPEND模式被使能,AWAKE被用作用户I/O。 MOSI_CSI_B_MISO0:I/O,在SPI模式下,主输出或者从输入;在SelectMAP模式下,CSI_B是一个低电平有效的片选信号;在SPI*2或者SPI*4的模式下,MISO0是SPI总线的第一位数据。 FCS_B:O,BPI flash 的片选信号。 FOE_B:O,BPI flash的输出使能信号 FWE_B:O,BPI flash 的写使用信号 LDC:O,BPI模式配置期间为低电平 HDC:O,BPI模式配置期间为高电平 CSO_B:O,在并口模式下,工具链片选信号。在SPI模式下,为SPI flsah片选信号。 IRDY1/2,TRDY1/2:O,在PCI设计中,以LogiCORE IP方式使用。 DOUT_BUSY:O,在SelectMAP模式下,BUSY表示设备状态;在位串口模式下,DOUT 提供配置数据流。 RDWR_B_VREF:I,在SelectMAP模式下,这是一个低电平有效的写使能信号;配置完成后,如果需要,RDWR_B可以在BANK2中做为Vref。 HSW APEN:I,在配置之后和配置过程中,低电平使用上拉。 INIT_B:双向,开漏,低电平表示配置内存已经被清理;保持低电平,配置被延迟;在配置过程中,低电平表示配置数据错误已经发生;配置完成后,可以用来指示POST_CRC 状态。 SCPn:I,挂起控制引脚SCP[7:0],用于挂起多引脚唤醒特性。 CMPMOSI,CMPMISO,CMPCLK:N/A,保留。 M0,M1:I,配置模式选择。M0=并口(0)或者串口(1),M1=主机(0)或者从机(1)。 CCLK:I/O,配置时钟,主模式下输出,从模式下输入。 USERCCLK:I,主模式下,可行用户配置时钟。 GCLK:I,这些引脚连接到全局时钟缓存器,在不需要时钟的时候,这些引脚可以作为常规用户引脚。 VREF_#:N/A,这些是输入临界电压引脚。当外部的临界电压不必要时,他可以作为

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、将顶层图的各个功能模块连线起来。这个过程类似电路图设计,把各个芯片 连起来,组成电路系统。 6、系统的功能原理图至此已经基本出炉了,下一步就是选择芯片字载体,分配 引脚,设置编译选项等等。 7、编译。这个过程类似软件开发里德编译,但是实际上这个过程比软件的编译 复杂的多,因为它最终要实现硬件里边的物理结构,包含了优化逻辑的组合,综合逻辑以及布线等步骤。 8、编译后会生成2个文件,一个是*.sof文件,一个是*.pof文件,前者可以通过 JTAG方式下载到FPGA内部,可以进行调试,但断电后数据丢失;后者通过AS或者PS方式下载到FPGA的配置芯片里边(EEPROM或者FLASH),重新上电后FPGA会通过配置将数据读出。 9、对于复杂的设计,工程编译好了,我们可以通过Quartus软件或者其他仿真 软件来对设计进行反复仿真和验证,直到满足要求。(主要是时序仿真)。 第二章基于Quartus II的实例 一、建立工程 首先,打开Quartus II软件。

XilinxFPGA引脚功能详细介绍

Xi lin X F PGA 引脚功能详细介绍 注:技术交流用,希望对大家有所帮助。 I O_LXX Y _ # 用户10弓I脚 XX代表某个Bank内唯一得一对引脚,Y=[P|N ]代表对上升沿还就是下降沿敏感,# 代表ban k 号 2. I0_LXXY —Z Z Z_ #多功能引脚 Z ZZ代表在用户10得基本上添加一个或多个以下功能。 Dn:1/ 0(在r eadb a ck期间),在selectMAP或者BPI模式下,D [1 5 :0]配置为数据口。在从Selec t MAP读反馈期间,如果RDWR_B= 1,则这些引脚变成输出口。配置完成后,这些引脚又作为普通用户引脚? D 0_DIN_ M ISO_M I SO1: I,在并口模式(Sel ec tMAP/ B PI)下,D0 就是数据得最低位,在Bit —se r ial模式下,DI N就是信号数据得输入;在SPI模式下,MISO就是主输入或者从输出;在SPI*2或者S PI * 4模式下,M I SO 1就是S P I总线得第二位。 D1_MISO 2 ,D2_MIS O 3: I,在并口模式下,D1与D2就是数据总线得低位;在S PI * 4 模式下, MISO2 与MISO3 就是SPI 总线得MSBs. A n :O, A : 25 :0]为 B PI模式得地址位。配置完成后,变为用户I/ O口。 A WAKE: O ,电源保存挂起模式得状态输出引脚。SU S P E ND就是一个专用引脚,A WA K E就是一个多功能引脚。除非SUSPEND模式被使能,AWAK E被用作用户I / O。 M O SI _CSI_B_MI S O0:I/O,在SPI模式下,主输出或者从输入在Se l ectMAP模式下,CS I_B 就是一个低电平有效得片选信号;在SPI * 2或者S P I *4得模式下,M I SO 0就是S PI总线得第一位数据。 FCS_B:O,BPI flash 得片选信号. FO E _B:O,B PI flash 得输出使能信号 FW E_ B : O , BP I f l a sh得写使用信号 LDC : O,BP I模式配置期间为低电平 HDC: 0 ,B PI 模式配置期间为高电平 CSO_B :O,在并口模式下,工具链片选信号。在SP I模式下,为SPI f ls ah片选信号。 I R DY 1/2, T R DY1 / 2:0,在PCI 设计中,以L og i C ORE IP 方式使用。 DO U T _B USY:O,在S e l ec tM A P模式下,B U SY 表示设备状态;在位串口模式下,DO UT提供配置数据流。 R D W R_B_VREF:I,在S elec t M AP模式下,这就是一个低电平有效得写使能信号;配置完成后,如果需要,R DW R_B可以在BANK 2中做为Vref. HSWA P EN:I ,在配置之后与配置过程中,低电平使用上拉。 INIT _B:双向,开漏,低电平表示配置内存已经被清理;保持低电平,配置被延迟;在配 置过程中,低电平表示配置数据错误已经发生;配置完成后,可以用来指示POST_C RC 状 态。 S CPn:I,挂起控制引脚SCP[7: 0],用于挂起多引脚唤醒特性? C MPMOSI,CMPM I S O, CMPC L K : N/A,保留。 M0, M1 : I,配置模式选择。M 0 =并口(0)或者串口(1 ),M仁主机(0)或者从机(1 )。 CC LK :I/O, 配置时钟,主模式下输出,从模式下输入。 US E RCCL K :I,主模式下,可行用户配置时钟。 GCLK:I ,这些引脚连接到全局时钟缓存器,在不需要时钟得时候,这些引脚可以作为常

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

精品 Quartus II中FPGA管脚的分配策略 编写:*** 校核: 审核: 二〇一年月日

目录 目录 ...................................................................................... I QUARTUS II中FPGA管脚分配策略 .. (1) 1.FPGA管脚介绍 (1) 1.1.电源管脚 (2) 1.2.配置管脚 (2) 1.3.普通I/O管脚 (3) 1.4.时钟管脚 (3) 2.FPGA管脚分配方法 (4) 2.1.P IN P LANNER方式 (4) 2.2.I MPORT A SSIGNMENTS方式 (5) 2.3.T CL S CRIPTS方式 (8) 2.4.项目组统一使用方式 (11) 3.编写FPGA管脚分配文件 (12) 3.1.查看PDF格式的原理图 (12) 3.2.查看P RJ PCB格式的原理图 (13) 4.保存FPGA管脚分配文件 (14) 4.1.T CL格式或CSV格式 (15) 4.2.QSF格式 (15) 4.3.项目组统一使用格式 (15)

附录管脚类型说明 (16)

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管脚,可以由用户随意使用。 正方形标记且内部有时钟沿符号的管脚为全局时钟管脚。 五边形标记的管脚为配置管脚。

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 Bond 1.1.电源管脚 FPGA通常需要两个电压才能运行,一个是内核电压,另一个是I/O电压。每个电压通过独立的电源管脚来提供。内核电压是用来给FPGA内部的逻辑门和触发器供电。随着FPGA的发展,内核电压从5V、、、到,变得越来越低。I/O电压用来给各个Bank供电,每个Bank都有独立的I/O电压输入。一般情况下,内核电压会比I/O电压低。

xilinxfpga引脚功能详细介绍

注:技术交流用,希望对大家有所帮助。 IO_LXXY_# 用户IO引脚 XX代表某个Bank内唯一的一对引脚,Y=[P|N]代表对上升沿还是下降沿敏感,#代表bank 号 2.IO_LXXY_ZZZ_# 多功能引脚 ZZZ代表在用户IO的基本上添加一个或多个以下功能。 Dn:I/O(在readback期间),在selectMAP或者BPI模式下,D[15:0]配置为数据口。在从SelectMAP读反馈期间,如果RDWR_B=1,则这些引脚变成输出口。配置完成后,这些引脚又作为普通用户引脚。 D0_DIN_MISO_MISO1:I,在并口模式(SelectMAP/BPI)下,D0是数据的最低位,在Bit-serial模式下,DIN是信号数据的输入;在SPI模式下,MISO是主输入或者从输出;在SPI*2或者SPI*4模式下,MISO1是SPI总线的第二位。 D1_MISO2,D2_MISO3:I,在并口模式下,D1和D2是数据总线的低位;在SPI*4模式下,MISO2和MISO3是SPI总线的MSBs。 An:O,A[25:0]为BPI模式的地址位。配置完成后,变为用户I/O口。 AWAKE:O,电源保存挂起模式的状态输出引脚。SUSPEND是一个专用引脚,AWAKE是一个多功能引脚。除非SUSPEND模式被使能,AWAKE被用作用户I/O。 MOSI_CSI_B_MISO0:I/O,在SPI模式下,主输出或者从输入;在SelectMAP模式下,CSI_B是一个低电平有效的片选信号;在SPI*2或者SPI*4的模式下,MISO0是SPI总线的第一位数据。 FCS_B:O,BPI flash 的片选信号。 FOE_B:O,BPI flash的输出使能信号 FWE_B:O,BPI flash 的写使用信号 LDC:O,BPI模式配置期间为低电平 HDC:O,BPI模式配置期间为高电平 CSO_B:O,在并口模式下,工具链片选信号。在SPI模式下,为SPI flsah片选信号。 IRDY1/2,TRDY1/2:O,在PCI设计中,以LogiCORE IP方式使用。

FPGA器件管脚说明

FPGA器件管脚说明 用户I/O:不用解释了。 配置管脚: MSEL[1:0] 用于选择配置模式,比如AS、PS等。 DA TA0 FPGA串行数据输入,连接到配置器件的串行数据输出管脚。 DCLK FPGA串行时钟输出,为配置器件提供串行时钟。 nCSO(I/O)FPGA片选信号输出,连接到配置器件的nCS管脚。 ASDO(I/O)FPGA串行数据输出,连接到配置器件的ASDI管脚。 nCEO 下载链期间使能输出。在一条下载链中,当第一个器件配置完成后,此信号将使能下一个器件开始进行配置。下载链上最后一个器件的nCEO悬空。 nCE 下载链器件使能输入,连接到上一个器件的nCEO,下载链的最后一个器件nCE接地。nCNFIG 用户模式配置起始信号。 nSTATUS 配置状态信号。 CONF_DONE 配置结束信号。 电源管脚: VCCINT 内核电压。130nm为1.5V,90nm为1.2V。 VCCIO 端口电压。一般为3.3V,还可以支持多种电压,5V、1.8V、1.5V。 VREF 参考电压。 GND 信号地。 时钟管脚: VCC_PLL PLL管脚电压,直接连VCCIO。 VCCA_PLL PLL模拟电压,截止通过滤波器接到VCCINT上。 GNDA_PLL PLL模拟地。 GNDD_PLL PLL数字地。 CLK[n] PLL时钟输入。 PLL[n]_OUT PLL时钟输出。 特殊管脚: VCCPD 用于寻则驱动。 VCCSEL 用于控制配置管脚和PLL相关的输入缓冲电压。 PROSEL 上电复位选项。 NIOPULLUP 用于控制配置时所使用的用户I/O的内部上拉电阻是否工作。 TEMPDIODEN 用于关联温度敏感二极管。 ************************************************************************************ 1/1、I/O, ASDO 在AS模式下是专用输出脚,在PS和JTAG模式下可以当I/O脚来用。在AS模式下,这个脚是CII向串行配置芯片发送控制信号的脚。也是用来从配置芯片中读配置数据的脚。在AS模式下,ASDO有一个内部的上拉电阻,一直有效,配置完成后,该脚就变成三态输入脚。ASDO脚直接接到配置芯片的ASDI脚(第5脚)。 2/2、I/O,nCSO 在AS模式下是专用输出脚,在PS和JTAG模式下可以当I/O 脚来用.在AS模式下,这个脚是CII用来给外面的串行配置芯片发送的使能脚。在AS模式下,ASDO有一个内部的上拉电阻,一直有效。这个脚是低电平有效的。

FPGA管脚

1/1.I/O, ASDO: 在AS 模式下是专用输出脚,在PS 和JTAG 模式下可以当I/O 脚来用。在AS 模式下,这个脚是CII 向串行配置芯片发送控制信号的脚。也是用来从配置芯片中读配置数据的脚。在AS 模式下,ASDO 有一个内部的上拉电阻,一直有效,配置完成后,该脚就变成三态输入脚。ASDO 脚直接接到配置芯片的ASDI 脚 (第5 脚)。 2/2.I/O,nCSO 在AS 模式下是专用输出脚,在PS 和JTAG 模式下可以当I/O 脚来用.在AS 模式下,这个脚是CII 用来给外面的串行配置芯片发送的使能脚。在AS 模式下,ASDO 有一个内部的上拉电阻,一直有效。这个脚是低电平有效的。直接接 到配置芯片的/CS 脚(第1 脚)。 3/3.I/O,CRC_ERROR 当错误检测CRC 电路被选用时,这个脚就被作为CRC_ERROR 脚,如果不用默认就用来做I/O。但要注意,这个脚是不支持漏极开路和反向的。当它作为CRC_ERROR 时,高电平输出则表示出现了CRC 校验错误(在配置SRAM 各个比特时出现了错误)。CRC 电路的支持可以在setting 中加上。这个脚一般与nCONFIG 脚配合起来用。即如果配置过程出错,重新配置. 4/4.I/O,CLKUSR 当在软件中打开Enable User-supplled start-up clock(CLKUSR)选项后,这个脚就只可以作为用户提供的初始化时钟输入脚。在所有配置数据都已经被接收后,CONF_DONE 脚会变成高电平,CII 器件还需要299 个时钟周期来初始化寄存器,I/O 等等状态,FPGA 有两种方式,一种是用内部的晶振(10MHz),另一种就是从CLKUSR 接进来的时钟(最大不能超过100MHz)。有这个功能,可以延缓FPGA 开始工作的时间,可以在需要和其它器件进行同步的特殊应用 中用到 7/13.I/O,VREF 用来给某些差分标准提供一个参考电平。没有用到的话,可以当成I/O 来用。 14/20. DATA0 专用输入脚。在AS 模式下,配置的过程是:CII 将nCSO 置低电平,配置芯片被使能。CII然后通过DCLK 和ASDO 配合操作,发送操作的命令,以及读的地址给配置芯片。配置芯片然后通过DATA 脚给CII 发送数据。DATA 脚就接到CII 的DATA0 脚上。CII 接收完所有的配置数据后,就会释放CONF_DONE 脚(即不强制使CONF_DONE 脚为低电平),CONF_DONE 脚是漏极开路(Open-Drain)的。这时候,因为CONF_DONE 在外部会接一个

Altera FPGA引脚定义

Altera FPGA引脚定义2011-02-28 15:20:33 1.用户I/O:通用输入输出引脚。 2.配置管脚: MSEL[1:0] 用于选择配置模式,比如AS、PS等。 DATA0 FPGA串行数据输入,连接到配置器件的串行数据输出管脚。 DCLK FPGA串行时钟输出,为配置器件提供串行时钟。 nCSO(I/O)FPGA片选信号输出,连接到配置器件的nCS管脚。 ASDO(I/O)FPGA串行数据输出,连接到配置器件的ASDI管脚。 nCEO 下载链期间始能输出。在一条下载链中,当第一个器件配置完成后,此信号将始能下一个器件开始进行配置。下载链上最后一个器件的nCEO悬空。 nCE 下载链器件始能输入,连接到上一个器件的nCEO,下载链的最后一个器件nCE接地。 nCNFIG 用户模式配置起始信号。 nSTATUS 配置状态信号。 CONF_DONE 配置结束信号。 3.电源管脚:

VCCINT 内核电压。130nm为1.5V,90nm为1.2V VCCIO 端口电压。一般为3.3V,还可以支持多种电压,5V、1.8V、1.5V VREF 参考电压 GND 信号地 4.时钟管脚: VCC_PLL PLL管脚电压,直接连VCCIO VCCA_PLL PLL模拟电压,截止通过滤波器接到VCCINT上 GNDA_PLL PLL模拟地 GNDD_PLL PLL数字地 CLK[n] PLL时钟输入 PLL[n]_OUT PLL时钟输出 5.特殊管脚: VCCPD 用于寻则驱动 VCCSEL 用于控制配置管脚和PLL相关的输入缓冲电压 PROSEL 上电复位选项 NIOPULLUP 用于控制配置时所使用的用户I/O的内部上拉电阻是否工作 TEMPDIODEN 用于关联温度敏感二极管

Xilinx FPGA 引脚功能详细介绍

XilinxFPGA引脚功能详细介绍 注:技术交流用,希望对大家有所帮助。 IO_LXXY_#用户IO引脚 XX代表某个Bank内唯一得一对引脚,Y=[P|N]代表对上升沿还就是下降沿敏感,#代表bank号 2.IO_LXXY_ZZZ_#多功能引脚 ZZZ代表在用户IO得基本上添加一个或多个以下功能。 Dn:I/O(在readback期间),在selectMAP或者BPI模式下,D[15:0]配置为数据口。在从SelectMAP读反馈期间,如果RDWR_B=1,则这些引脚变成输出口。配置完成后,这些引脚又作为普通用户引脚. D0_DIN_MISO_MISO1:I,在并口模式(SelectMAP/BPI)下,D0就是数据得最低位,在Bit—serial模式下,DIN就是信号数据得输入;在SPI模式下,MISO就是主输入或者从输出;在SPI*2或者SPI*4模式下,MISO1就是SPI总线得第二位。 D1_MISO2,D2_MISO3:I,在并口模式下,D1与D2就是数据总线得低位;在SPI*4模式下,MISO2与MISO3就是SPI总线得MSBs. An:O,A[25:0]为BPI模式得地址位。配置完成后,变为用户I/O口。 AWAKE:O,电源保存挂起模式得状态输出引脚。SUSPEND就是一个专用引脚,AW A KE就是一个多功能引脚。除非SUSPEND模式被使能,AW AKE被用作用户I/O。 MOSI_CSI_B_MISO0:I/O,在SPI模式下,主输出或者从输入;在SelectMAP模式下,CSI_B就是一个低电平有效得片选信号;在SPI*2或者SPI*4得模式下,MISO0就是SPI总线得第一位数据。 FCS_B:O,BPI flash 得片选信号. FOE_B:O,BPI flash得输出使能信号 FWE_B:O,BPIflash 得写使用信号 LDC:O,BPI模式配置期间为低电平 HDC:O,BPI模式配置期间为高电平 CSO_B:O,在并口模式下,工具链片选信号。在SPI模式下,为SPI flsah片选信号。 IRDY1/2,TRDY1/2:O,在PCI设计中,以LogiCORE IP方式使用。 DOUT_BUSY:O,在SelectMAP模式下,BUSY表示设备状态;在位串口模式下,DOUT提供配置数据流。 RDWR_B_VREF:I,在SelectMAP模式下,这就是一个低电平有效得写使能信号;配置完成后,如果需要,RDWR_B可以在BANK2中做为Vref. HSW APEN:I,在配置之后与配置过程中,低电平使用上拉。 INIT_B:双向,开漏,低电平表示配置内存已经被清理;保持低电平,配置被延迟;在配置过程中,低电平表示配置数据错误已经发生;配置完成后,可以用来指示POST_CRC状态。 SCPn:I,挂起控制引脚SCP[7:0],用于挂起多引脚唤醒特性. CMPMOSI,CMPMISO,CMPCLK:N/A,保留。 M0,M1:I,配置模式选择。M0=并口(0)或者串口(1),M1=主机(0)或者从机(1)。 CCLK:I/O,配置时钟,主模式下输出,从模式下输入。 USERCCLK:I,主模式下,可行用户配置时钟。 GCLK:I,这些引脚连接到全局时钟缓存器,在不需要时钟得时候,这些引脚可以作为常规用户引脚。 VREF_#:N/A,这些就是输入临界电压引脚。当外部得临界电压不必要时,她可以作为

XilinxFPGA引脚功能详细介绍

Xilinx FPGA 引脚功能详细介绍注:技术交流用,希望对大家有所帮助。 IO_LXXY_# 用户IO 引脚 XX 代表某个Bank 内唯一的一对引脚,Y=[P|N] 代表对上升沿还是下降沿敏感,#代表bank 号2. IO_LXXY_ZZZ_# 多功能引脚 ZZZ 代表在用户IO 的基本上添加一个或多个以下功能。 Dn:I/O (在readback期间),在selectMAP或者BPI模式下,D[15:0]配置为数据口。在从SelectMAP 读反馈期间,如果RDWR_B=1 ,则这些引脚变成输出口。配置完成后,这些引脚又作为普通用户引脚。 DO_DIN_MISO_MISO1 : I,在并口模式(SelectMAP/BPI )下,D0 是数据的最低位,在Bit-serial 模式下,DIN 是信号数据的输入;在SPI 模式下,MISO 是主输入或者从输出;在SPI*2 或者SPI*4 模式下,MISO1 是SPI 总线的第二位。 D1_MISO2,D2_MISO3 : I,在并口模式下,D1和D2是数据总线的低位;在SPI*4模式下,MISO2 和MISO3 是SPI 总线的MSBs。 An:O,A[25:0] 为BPI 模式的地址位。配置完成后,变为用户I/O 口。 AWAKE : O,电源保存挂起模式的状态输出引脚。SUSPEND是一个专用引脚,AWAKE 是一个多功能引脚。除非SUSPEND 模式被使能,AWAKE 被用作用户I/O。 MOSI_CSI_B_MISOO : I/O,在SPI模式下,主输出或者从输入;在SelectMAP模式下, CSI_B 是一个低电平有效的片选信号;在SPI*2 或者SPI*4 的模式下,MISO0 是SPI 总线 的第一位数据。 FCS_B:O,BPI flash 的片选信号。 FOE_B:O,BPI flash 的输出使能信号 FWE_B :O,BPI flash 的写使用信号 LDC :O,BPI 模式配置期间为低电平 HDC:O,BPI 模式配置期间为高电平 CSO_B: O,在并口模式下,工具链片选信号。在SPI模式下,为SPI flsah片选信号。 IRDY1/2,TRDY1/2 : O,在PCI 设计中,以LogiCORE IP 方式使用。 DOUT_BUSY :O,在SelectMAP模式下,BUSY表示设备状态;在位串口模式下,DOUT 提供配置数据流。 RDWR_B_VREF : I,在SelectMAP模式下,这是一个低电平有效的写使能信号;配置完成后,如果需要,RDWR_E可以在BANK2中做为Vref。 HSWAPEN : I,在配置之后和配置过程中,低电平使用上拉。 INIT_B :双向,开漏,低电平表示配置内存已经被清理;保持低电平,配置被延迟;在配置过程中,低电平表示配置数据错误已经发生;配置完成后,可以用来指示POST_CRC 状态。 SCPn:I,挂起控制引脚SCP[7:0],用于挂起多引脚唤醒特性。 CMPMOSI , CMPMISO , CMPCLK : N/A,保留。 M0 , M1 : I,配置模式选择。M0=并口(0)或者串口(1), M仁主机(0)或者从机(1 )。 CCLK : I/O,配置时钟,主模式下输出,从模式下输入。 USERCCLK : I,主模式下,可行用户配置时钟。 GCLK : I,这些引脚连接到全局时钟缓存器,在不需要时钟的时候,这些引脚可以作为常规用户引脚。 VREF_# : N/A,这些是输入临界电压引脚。当外部的临界电压不必要时,他可以作为 普通引脚。当做作bank 内参考电压时,所有的VRef 都必须被接上。 3. 多功能内存控制引脚 M#DQn :I/O , bank#内存控制数据线D[15:0] M#LDQS : I/O , bank#内存控制器低数据选通脚

FPGA各管脚简介

用户I/O:不用解释了。 配置管脚: MSEL[1:0] 用于选择配置模式,比如AS、PS等。 DATA0 FPGA串行数据输入,连接到配置器件的串行数据输出管脚。 DCLK FPGA串行时钟输出,为配置器件提供串行时钟。 nCSO(I/O)FPGA片选信号输出,连接到配置器件的nCS管脚。 ASDO(I/O)FPGA串行数据输出,连接到配置器件的ASDI管脚。 nCEO 下载链期间始能输出。在一条下载链中,当第一个器件配置完成后,此信号将始能下一个器件开始进行配置。下载链上最后一个器件的nCEO悬空。 nCE 下载链器件始能输入,连接到上一个器件的nCEO,下载链的最后一个器件nCE接地。 nCNFIG 用户模式配置起始信号。 nSTATUS 配置状态信号。 CONF_DONE 配置结束信号。 电源管脚: VCCINT 内核电压。130nm为1.5V,90nm为1.2V VCCIO 端口电压。一般为3.3V,还可以支持多种电压,5V、1.8V、1.5V VREF 参考电压 GND 信号地 时钟管脚: VCC_PLL PLL管脚电压,直接连VCCIO

VCCA_PLL PLL模拟电压,截止通过滤波器接到VCCINT上 GNDA_PLL PLL模拟地 GNDD_PLL PLL数字地 CLK[n] PLL时钟输入 PLL[n]_OUT PLL时钟输出 特殊管脚: VCCPD 用于寻则驱动 VCCSEL 用于控制配置管脚和PLL相关的输入缓冲电压 PROSEL 上电复位选项 NIOPULLUP 用于控制配置时所使用的用户I/O的内部上拉电阻是否工作 TEMPDIODEN 用于关联温度敏感二极管 ******************************************************************************** ****************************************************1/1.I/O, ASDO 在AS 模式下是专用输出脚,在PS 和JTAG 模式下可以当I/O 脚来用。在AS 模式下,这个脚是CII 向串行配置芯片发送控制信号的脚。也是用来从配置芯片中读配置数据的脚。在AS 模式下,ASDO 有一个内部的上拉电阻,一直有效,配置完成后,该脚就变成三态输入脚。ASDO 脚直接接到配置芯片的ASDI 脚(第5 脚)。 2/2.I/O,nCSO 在AS 模式下是专用输出脚,在PS 和JTAG 模式下可以当I/O 脚来用.在AS 模式下,这个脚是CII 用来给外面的串行配置芯片发送的使能脚。在AS 模式下,ASDO 有一个内部的上拉电阻,一直有效。这个脚是低电平有效的。直接接到配置芯片的/CS 脚(第1 脚)。 3/3.I/O,CRC_ERROR 当错误检测CRC 电路被选用时,这个脚就被作为CRC_ERROR 脚,如果不用默认就用来做I/O。但要注意,这个脚是不支持漏极开路和反向的。当它作为CRC_ERROR 时,高电平输出则表示出现了CRC 校验错误(在配置SRAM 各个比特时出现了错误)。CRC 电路的支持可以在setting 中加上。这个脚一般与nCONFIG 脚配合起来用。即如果配置过程出错,重新配置. 4/4.I/O,CLKUSR

XilinxFPGA引脚功能详细介绍

X i l i n x F P G A引脚功能 详细介绍 IMB standardization office【IMB 5AB- IMBK 08- IMB 2C】

XilinxFPGA引脚功能详细介绍注:技术交流用,希望对大家有所帮助。 IO_LXXY_#用户IO引脚 XX代表某个Bank内唯一的一对引脚,Y=[P|N]代表对上升沿还是下降沿敏感,#代表bank号 2.IO_LXXY_ZZZ_#多功能引脚 ZZZ代表在用户IO的基本上添加一个或多个以下功能。 Dn:I/O(在readback期间),在selectMAP或者BPI模式下,D[15:0]配置为数据口。在从SelectMAP读反馈期间,如果RDWR_B=1,则这些引脚变成输出口。配置完成后,这些引脚又作为普通用户引脚。 D0_DIN_MISO_MISO1:I,在并口模式(SelectMAP/BPI)下,D0是数据的最低位,在Bit-serial模式下,DIN是信号数据的输入;在SPI模式下,MISO是主输入或者从输出;在SPI*2或者SPI*4模式下,MISO1是SPI总线的第二位。 D1_MISO2,D2_MISO3:I,在并口模式下,D1和D2是数据总线的低位;在SPI*4模式下,MISO2和MISO3是SPI总线的MSBs。 An:O,A[25:0]为BPI模式的地址位。配置完成后,变为用户I/O口。 AWAKE:O,电源保存挂起模式的状态输出引脚。SUSPEND是一个专用引脚,AWAKE是一个多功能引脚。除非SUSPEND模式被使能,AWAKE被用作用户I/O。 MOSI_CSI_B_MISO0:I/O,在SPI模式下,主输出或者从输入;在SelectMAP模式下,CSI_B是一个低电平有效的片选信号;在SPI*2或者SPI*4的模式下,MISO0是SPI总线的第一位数据。 FCS_B:O,BPIflash的片选信号。

FPGA配特殊引脚的含义

FPGA配特殊引脚的含义 FPGA配特殊引脚的含义 1.I/O, ASDO 在AS 模式下是专用输出脚,在PS 和JTAG 模式下可以当I/O 脚来用。在AS 模式下,这个脚是CII 向串行配置芯片发送控制信号的脚。也是用来从配置芯片中读配置数据的脚。在AS 模式下,ASDO 有一个内部的上拉电阻,一直有效,配置完成后,该脚就变成三态输入脚。ASDO 脚直接接到配置芯片的ASDI 脚(第5 脚)。 2.I/O,nCSO 在AS 模式下是专用输出脚,在PS 和JTAG 模式下可以当I/O 脚来用.在AS 模式下,这个脚是CII 用来给外面的串行配置芯片发送的使能脚。在AS 模式下,ASDO 有一个内部的上拉电阻,一直有效。这个脚是低电平有效的。直接接到配置芯片的/CS 脚(第1 脚)。 3.I/O,CRC_ERROR 当错误检测CRC 电路被选用时,这个脚就被作为CRC_ERROR 脚,如果不用默认就用来做I/O。但要注意,这个脚是不支持漏极开路和反向的。当它作为CRC_ERROR 时,高电平输出则表示出现了CRC 校验错误(在配置SRAM 各个比特时出现了错误)。CRC 电路的支持可以在setting 中加上。这个脚一般与nCONFIG 脚配合起来用。即如果配

置过程出错,重新配置. 4.I/O,CLKUSR 当在软件中打开Enable User-supplled start-up clock(CLKUSR)选项后,这个脚就只可以作为用户提供的初始化时钟输入脚。在所有配置数据都已经被接收后,CONF_DONE 脚会变成高电平,CII 器件还需要299 个时钟周期来初始化寄存器,I/O 等等状态,FPGA 有两种方式,一种是用内部的晶振(10MHz),另一种就是从CLKUSR 接进来的时钟(最大不能超过100MHz)。有这个功能,可以延缓FPGA 开始工作的时间,可以在需要和其它器件进行同步的特殊应用中用到。 5.I/O,VREF 用来给某些差分标准提供一个参考电平。没有用到的话,可以当成I/O 来用。 6. DATA0 专用输入脚。在AS 模式下,配置的过程是:CII 将nCSO 置低电平,配置芯片被使能。CII然后通过DCLK 和ASDO 配合操作,发送操作的命令,以及读的地址给配置芯片。配置芯片然后通过DATA 脚给CII 发送数据。DATA 脚就接到CII 的DATA0 脚上。CII 接收完所有的配置数据后,就会释放CONF_DONE 脚(即不强制使CONF_DONE 脚为低电平),CONF_DONE 脚是漏极开路(Open-Drain)的。这时候,因为CONF_DONE 在外部会接一个10K 的电阻,所以它会变成高电平。同时,CII 就停止DCLK 信号。在CONF_DONE 变成高电平以后(这时它又相当于变成一个输入脚),初始化的过程就开始了。所以,

相关文档
最新文档