LPM:参数化模块库 OCT:片上匹配阻抗 PPDS:点对点差分信号 DM:data mask BWS:byte write select 上电复位(POR)
1.可编程输入输出单元(IOB):可适配不同的电气标准与I/O 物理特性,可以调整驱动电流的大小,可以改变上、
下拉电阻。
2.为了便于管理和适应多种电器标准,FPGA 的IOB 被划分为若干个组(bank),每个bank 的接口标准由其
接口电压VCCO 决定,一个bank 只能有一种VCCO,但不同bank 的VCCO 可以不同。只有相同电气标准的
端口才能连接在一起,VCCO 电压相同是接口标准的基本条件。
3、每个LAB由16个LE和一个LAB宽度控制模块组成,LE是最小的逻辑单元,每个LE由一个四输入LUT,一个寄存器和输出逻辑组成,四输入LUT可以实现任何四变量函数。
4、拥有M9K存储块组成的4Mbits潜入式存储器,工作至315MHz,可配置成RAM、FIFO、ROM,可用指定的宏单元向导或由硬件语言引用。M9K存储块支持单口、简单双口、真双口操作模式,前两者支持搜有的接口宽度×1, ×2, ×4, ×8, ×9, ×16, ×18, ×32, and ×36,后一种支持×1, ×2, ×4, ×8, ×9, ×16,and ×18。
5、支持288个嵌入式乘法器模块,每个支持一个独立的18×18bit乘法器或两个9×9bit。
6、支持20个全局时钟网络,可通过指定的时钟管脚、两用时钟管脚、用户逻辑、及PLLs获得全局时钟。
7、支持最多4个PLL,每个有5个输出,PLL可用于器件时钟管理、外部系统时钟管理及I/O接口,在器件运行时可动态重置PLL使外部存储器接口进行自动校准,这种特性可支持多种输入频率,并满足倍频、分频和相移的要求,可同过级联由当外部时钟源来产生10个内部时钟和两个外部时钟。
8、有8个I/O banks,所有的banks都支持单端和差分 I/O标准:Single-Ended I/O: LVTTL, LVCMOS, SSTL, HSTL, PCI, and PCI-X,
Differential I/O: SSTL, HSTL, LVPECL, BLVDS, LVDS, mini-LVDS, RSDS, and PPDS,
支持可编程总线保持、可编程上拉电阻、可编程延迟、可编程驱动强度、可编程回转率(转换速率)控制以优化信号完整性及热插拔,支持片上匹配阻抗(OCT:片上匹配阻抗(On-Chip Termination),减低信号反射以及保持信号完整性),或驱动阻抗匹配。P22
9、高速差分接口:BLVDS,LVDS, mini-LVDS, RSDS, and PPDS,实现用较少的管脚来完成高速数据吞吐,具体见P22。
10、支持DDR, DDR2,SDR SDRAM, and QDRII SRAM,DDR2支持400Mbps。QuartusII 为DDR和QDR存储器提供自动校准宏单元,可校准PVT的改变。
11、JTAG BST(boundary-scan test),边界扫描单元(boundary-scan cells)JTAG标准定义了一个串行的移位寄存器,寄存器的每一个单元分配给IC芯片的相应引脚
每一个独立的单元称为BSC(Boundary-Scan Cell)边界扫描单元,这个串联的BSC在IC内部构成JTAG回路,所有的BSR(Boundary-Scan Register)边界扫描寄存器通过JTAG测试激活。输入输出都通过边界扫描寄存器与内部的数据或指令寄存器联系。
12、使用SRAM单元保存配置数据,每次上电是被下载到器件中,支持AS,PS,FPP和JTAG配置。
13、远程系统升级:软逻辑(不管是NIOSII嵌入式处理器还是用户逻辑)都可通过下载新的配置镜像到配置存储器中,来指导升级电路进行重配置,该电路还负责错误控制,保证器件有一个安全的配置,这些通过AS和AP配置项目完成。
14、LE:4输入LUT,可编程寄存器,进位链,寄存器级联链,驱动连接线(本地,行,列,寄存器链,直连),寄存器打包,寄存器反馈。
15、可以将LE的可编程寄存器配置成D、T、JK、或SR触发器,每个寄存器有数据、时钟、时钟使能、清除。使用全局时钟网络、通用I/O管脚或任何内部逻辑的信号都能驱动时钟或清除寄存器的控制信号。不管是通用I/O管脚还是内部逻辑都可以驱动时钟使能。对于组合函数,LUT输出会绕过寄存器并直接驱动LE的输出。每个LE 有3个输出来驱动本地、行和列的工艺路线资源。LUT或寄存器单独驱动这3个输出。P31
16、LE有两种工作模式:普通模式和算法模式。不同模式对LE资源的使用是不同的。每种模式都有六个输入:来自LAB本地互联的4个数据、一个前级进位输入和寄存器链连接。quartusII自动选择模式
17、普通模式:适合通用逻辑应用和组合功能。来自LAB本地互连的4个数据都送给LUT,quartusII编译器自动选择进位或data3信号作为LUT的一个输入。支持寄存器打包和寄存器反馈。
18、算法模式:适合实现加法器、计数器、累加器和比较器。支持寄存器打包和寄存器反馈。再设计处理时,quartusII编译器自动形成进位链逻辑。也可以在设计输入时人工来做。quartusII编译器可通过自动连接同列的LABs来形成长于16个LEs的进位链。这些进位链是垂直运行的,这允许快速的水平连接到M9K存储器模块或嵌入式乘法器。
19、LAB:16个LEs、LAB控制信号、LE进位链、寄存器链(将一个LE寄存器输出传到相邻的LE寄存器)、本地互联。quartusII编译器会将相关逻辑放在同一LAB中或相邻LAB。
20、LAB的本地互连是由行列互联线和在同一LAB中的LE输出驱动的。P34
21、LAB的控制信号:2时钟、2时钟使能、2异步清零、1同步清零、1同步预置,每个LAB至多有四个非全局控制信号。chip-wide重置信号(DEB_CLRn)。
22、拥有嵌入式存储结构来满足片上存储的需要,它由M9K存储模块列组成,这些存储块可配置成RAM、转换寄存器、ROM、FIFO缓冲。
23、M9K模块:8192bits(加上奇偶校验位有9216bits),对每个接口有独立的读使能和写使能信号,在紧密(packed)模式下M9K被分成两个4.5K的单口RAMs,有多种接口配置,单口和简单双口模式支持所有接口宽度,写入时有数据输入掩蔽字节使能(Byte enables for data input masking during writes),每个接口有两个时钟使能控制信号,Initialization file to pre-load memory content in RAM and ROM modes。P38
24、控制信号、奇偶校验比特(每个字节)、字节使能信号(允许DATA中特定字节可以写,不允许写的字节保持不变P41)、紧密(packed)模式(一个模块实现两个单口存储块)、地址时钟使能(addressstall信号为高地址保持)主要用于提高cache的效率(缺省值为低P42)、混合宽度(mixed-width)(在使用简单双口、真双口或FIFO模式,mixed-width支持读写不同宽度的数据到M9K中)、异步清零(仅对读地址寄存器、输出寄存器、输出锁存器进行异步清零,重置M9K模块寄存器的三种方式:断电、对输出寄存器异步清零、device-wide重置)。
25、违反M9K输入寄存器建立或保持时间会破坏存储内容(适用读写)。
单口模式:支持来自一个地址的非同时读写操作,
简单双口模式:支持向不同地方同时进行读写操作,
真双口模式:支持任何双口操作的组合。
移位寄存器(shift register)模式:在DSP应用场合, 需要进行本地数据存储,传统的用触发器实现移位 寄存器会快速消耗逻辑单元,可以将嵌入式存储器 (M9K)用作移位寄存器模块。
ROM模式:由一个.mif文件初始化ROM内容P50。
FIFO缓冲模式:M9K支持单时钟或双时钟FIFO,双钟 FIFO缓冲适用从一个时钟域转到另一个时钟计时时钟 域,不支持从空FIFO中同时读写。
时钟(clocking)模式:单独时钟模式(真双口存储 器可为每个接口实现单独时钟,每个时钟控制该口的 所有寄存器)、I/O时钟模式(实现输入/输出时钟控 制所有的输入/输出寄存器,在FIFO、单口、真双口 或简单双口模式下)、读写时钟模式(实现写/读时 钟控制数据输入/出、写/读地址、写/读使能寄存 器,在FIFO或简单双口模式下)、单时钟模式(使用 一个时钟控制M9K所有的寄存器,在FIFO、ROM、真/ 简单双口、单口模式下)。
要实现在同一地方同时实现读写,只能才哟单时钟模 式、I/O时钟模式或选择合适的写期间读行为。
26、写期间读操作:两种数据流:同口和混口。
同口(应用于单口或真双口的同一口,有两种输 出选择:New Data 模式(新的数据在写入的同 一时钟周期内的时钟上升沿就可用)和 Old Data模式(RAM输出反映的是那个地址的写之前 的数据),这两种模式配合字节使能可以输出新 旧数据的组合)。
混口(应用于简单或真双口模式,一个接口读另 一个写(同时),两种输出模式Old Dat() Don't Care(不确定))。P54
27、冲突解决:M9K内部没有冲突解决电路,需要外部逻辑完成。往同一地址写入时就会有冲突。
28、M9K的power-up和存储器初始化P55。
29、M9K的电源管理:时钟使能、读使能P55。
嵌入式乘法器:
30、除了嵌入式乘法器,还可以用M9K实现软乘法器。
31、嵌入式乘法器架构:倍增器级(Multiplier stage)、输入/出寄存器、输入/出接口。
输入寄存器(输入数据可以经由寄存器也可以直 接送到乘法器,输入寄存器控制信号:时钟、时 钟使能、异步清零,乘法器的所有输入/出寄存 器由同一组控制信号控制)。
倍增器级(支持9 × 9 or 18 × 18和其他介于 两种配置之间的乘法器,默认操作数是无符号数 )
输出寄存器。
32、操作模式:9 × 9 或18 × 18,可实现乘加器、乘法累加器功能,加和累加部分由LEs完成。
时钟网络与PLLs:
33、提供16个指定的时钟管脚(CLK[15..0]),芯片的每一边可以有四个。
全局时钟(器件的所有资源都可以使用)
这些时钟管脚可以作为通用输入脚,但没有I/O寄存器,需用LE来构成。
34、时钟控制块:每片有20个,驱动GCLKs,位于器件的每一边上,靠近时钟输入管脚,两个作用:动态GCLK时钟源选择、GCLK网络power-down(两种方法:静态(由quartusII产生的配置文件来设置配置bits,这会自动关闭不用的GCLKs),动态(使用内部逻辑来控制时钟使能或不使能)),可以用quartusII的ALTCLKCTRL megafunction设置GCLK多路复用器的时钟源和时钟使能信号。每个PLL产生5个时钟输出,其中两个可以通过时钟控制块驱动GCLK。
35、时钟使能信号:GCLK网络级的。p73
36、PLLs(共4个)提供稳定的时钟管理和合成用于器件时钟管理、外系统时钟管理、高速IO接口。VCO:P74
37、每个PLL支持一个单端时钟输出和一个差分时钟输出,只有C0输出计数器可以不通过GCLK提供外时钟输出。
38、每个管脚的差分输出对有180°相位差。
39、时钟反馈模式:支持至多四种时钟反馈模式,每种模式都允许时钟倍增、分频、相移和可编程工作周期。输入/出延迟全由PLL补偿,只要使用的指定时钟输入管脚是用给定的PLL作为时钟源的。
40、源同步模式P76。
41、无补偿模式。
42、零延时缓冲模式。
43、时钟倍频和分频:M/(N*post-scale counter)(M和N都是1到512间的数),使用VCO,post-scale counter级联来实现大于512的计数器。
44、可编程工作周期:利用PLL的post-scale counters,P80.
45、PLL控制信号:pfdena(保持上一次锁存的频率),areset(重置或重同步输入),locked(PLL锁定到参考时钟,输出运行在quartusII中设定的相位和频率)。
46、时钟转换:使PLL在两个参考时钟间转换。自动时钟转换(当一个时钟不能工作,自动选择后备的时钟),手动超控(利用clkswitch输入)P84,手动时钟转换。
时钟转换设计指导:
47、可编程带宽:P86。
48、相移实现:联合VCO相位输出和计数器开始时间来实现。这两方面是最精确的插入延时的方法,它们只单纯基于计数器的设置而与PVT无关,前者是细调,后者粗调,前者还支持动态相位调整。
49、PLL级联:通过GCLK。
50、PLL重置:可以实时改变PLL带宽、相移、输出时钟频率P88,这种特性在操作需要多个频率或需要动态改变PLL输出频率和相位的原型测试环境时非常有用,可快速适应要求。也可以利用这种特性来实时调整时钟输出延时,避免再设一个新PLL。
51、PLL重置的硬件实现:pre-scale 计数器(N)、反馈计数器(M)、post-scale 输出计数器(CO-C4)、动态调整充电泵电流和环路滤波器改变带宽。P89
52、扩展频谱时钟:cycloneIII可以接受p96。
I/O接口:
53、IOEs包含一个双向I/O缓冲和5个寄存器,寄存输入(1个)/出(2个)、输出使能(2个)和完整的嵌入式双向单数据率传输。IO管脚支持多种单端和差分IO标准
2个输出和2个输出使能寄存器用于DDR应用,用 输入寄存器实现快速的建立时间,输出寄存器实 现快速的时钟输出时间。
IOE提供一定范围的可编程能力,提高使用的灵 活性,减少分立器件的使用。
54、可编程电流强度:不同的IO标准需要不同的电流强度:LVTTL, LVCMOS, SSTL-2 Class I and II, SSTL-18 Class I and II, HSTL-18 Class I
and II, HSTL-15 Class I and II, and HSTL-12 Class I and II I/O。
55、转换速率控制:quartusII提供三个速率级别0-2(渐快),默认是2,高速率会有较大噪声,低速率会在上下沿引入延迟,每个IO管脚可独立设置,低速率的使用有限制P104。
56、每个管脚提供open-drain输出,这使器件能够提供系统级控制信号(中断,写使能)。
57、用户IO管脚提供可选的总线保持特性(配置后有效,保持IO管脚上次被驱动的状态),当该特性使能时,不能用可编程上拉选项,差分时不使用该特性。
58、可编程上拉电阻:在用户模式下每个IO管脚都提供一个可编程上拉电阻,在特定配置、JTAG和特定的时钟管脚不支持可编程上拉电阻。
59、可编程延迟:保证零保持时间、最小建立时间、增加时钟到输出的时间或延迟时钟输入信号,p105。可通过配置寄存器为power-up high还是low来确定是异步预置还是清零。
60、PCI钳位二极管:p106。
61、LVDS发射器可编程预加强:补偿传输线中频率依赖型衰减,它增加了高频器件的输出信号幅度。
62、OCT支持:提供IO阻抗匹配和终结能力,它可以阻止反射和保持信号完整。两种实现方法:校准OCT和非校准的,P107。
63、On-chip series termination:P109.
64、IO标准:1.2-、1.5-、1.8-、2.5-、3.0-、3.3-。
65、电压参考IO标准终端:P113。差分IO标准终端:P114。
66、高速差分接口:
cycloneII可通过LVDS信号发送和接受数据,IO管脚通过内部逻辑支持序列和反序列。
BLVDS(多点,收发同管脚,双向半双工P133)、RSDS、mini-LVDS、PPDS。
LVDS不需要输入参考电压,但需要在输入缓冲处得两信号间接100欧的电阻,对发送端的顶部和底部的IO banks需要外部电阻网络。
67、外部存储器接口:
68、差分SSTL标准:存储器总线标准,用于高速DDR接口,cycloneIII支持SSTL-2和SSTL-18。
69、输出缓冲:预加强。
70、高速IO时序(timing):p141。
71、板级设计规范:p142。
72、使用quartusII的ALTLVDS宏功能来设计高速接口。 P142.
73、扩展存储器接口:使用altera ALTMEMPHY宏功能构建DDR2和DDR SDRAM扩展存储器接口,并使用相应的存储器控制器实现控制功能。
74、外部存储器接口管脚支持:数据(D for write,Q for read,DQ for共享读写),DQS管脚(读数据选通或读时钟,cycloneIII支持双向数据选通和单向读时钟,对DDR2和DDR DQ和DQS是双向信号,对QDRII SRAM则是单向的),DQS只在DDR2和DDR的写模式下用到,但必须把DQS管脚接到DDR2或DDR的DQS信号,cycloneIII不支持差分选通管脚。P146,DQ和DQS管脚分部P151,DQ和DQS是相对应的。
74、ALTMEMPHY宏功能是自校准能力。
75、可选奇偶校验,DM,纠错编码管脚:P153。
76、地址和控制/命令管脚:P154。
77、存储器时钟管脚:P154。
78、DDR输入寄存器:每个DQ管脚有一个用3个LE实现的输入寄存器,输入寄存器将数据放到sync_reg_h和sync_reg_l两寄存器,然后数据再被传到FIFO块中以在系统时钟上升沿处同步俩个数据流。
79、DDR输出寄存器:P156
80、OCT:
System Integration
81、配置特性:支持配置数据解压缩以降低配置文件存储空间,各种配置方式P162(AS快速主动串行,PS被动串行,AP主动并行,FPP快速被动串行,JTAG)。
82、配置数据解压缩:在不需要设计安全特性时支持,AS和PS方式下支持,其他不支持。
83、配置要求:上电复位(POR)(保持器件处于复位状态直到电源稳定),由MSEL管脚选择fast POR time或standard POR time。
84、配置和JTAG管脚IO要求P167。
85、配置过程:上电、复位(nSTATUS有10K上拉电阻,)、配置(CONF_DONE指示配置完成)、配置错误、初始化(时钟)、用户模式(INIT_DONE指示)。
86、configuration scheme:通过驱动MSEL[3..0]管脚来选择configuration scheme,Smaller Cyclone III devices or package options (E144, M164, Q240, F256, and U256 packages) do not have the MSEL[3] pin,没有MSEL[3]的器件不支持AP configuration scheme,MSEL不可连到微处理器或其他设备。
87、quartusII禁止对不是被配置成2.5V IO电压的IO bank1使用LVDS IO 标准,要想使用,设置:Assignments>Device>Settings>Device and Pin Option>Configuration to change the
Configuration Device I/O voltage to 2.5 V or Auto。
88、AS 配置:使用串行配置设备配置,低成本。cycloneIII 有效主时钟的频率最高到40MHZ,只有和串行配置设备一起才能达到。
89、单设备 AS 配置:四管脚接口:DCLK:串行时钟输入,DATA:串行数据输出,ASDI:AS 数据输入,nCS:低有效片选。P174。
多设备AS配置:配合nCS和nCSO进行级联。第一(master)的MSEL连到AS configuration scheme,其他(slave)连到PS。
配置设备不能级联。
90、用同一设计配置多个cycloneIII系列的器件:两种方式:多SRAM目标文件(一个文件用于配置master,另一个配置剩余的slaves),单SRAM目标文件(通用一个文件)
P179。
91、对串行配置设备进行编程:它是非易失,以flash 存储器为基础的设备,可使用AS编程接口进行in-system编程,这时通过驱动nCE(cycloneIII器件)为高。
92、AP和其他配置方式:P183-208.
93、JTAG配置:JTAG边界扫描测试:
JTAG规范优先于其他器件配置模式,因此JTAG配置可以不等其他配置模式完成就进行,当其他模式在进行时JTAG 可以终止它们,the Cyclone III device family does not output a DCLK signal when JTAG configuration
takes place.
JTAG管脚只支持LVTTL IO标准,JTAG配置时所有用户IO管脚处于三态。
在JTAG配置时可以通过USB-blaster、masterblaster、byteblasterII、byteblasterMV下载线、ethernet-blaster通信电缆将数据下载到PCB。
JTAG配置指令P212。
94、Jam STAPL配置:支持编程或配置可编程器件和电子系统, 使用JTAG接口,P217。
95、JRunner software driver:允许在JTAG模式下使用ByteBlaster II or ByteBlasterMV cables。
96、使用JTAG接口编程串行配置设备in-system:Cyclone III device family in a single-device or in a multiple-device chain supports in-system programming of a serial configuration device with the JTAG interface using the SFL design.
SFL设计是基于JTAG的in-system用于串行配置设备的编程解决方案,这一设计把JTAG接口和AS接口桥接在一起(使用胶连逻辑)。P219。
97、JTAG指令P220
98、配置管脚P227
99、远程系统更新:在AS和AP配置下,多设备配置链不支持。
由特定远程系统更新电路来管理远程配置并提供错误检测,恢复,状态信息。
过程包括:1.由NIOSii处理器或用户逻辑实现远程接受新的配置数据,可以通过TCP/IP,PCI,UDP、UART或专有的接口。2.NIOSii或用户逻辑将这些数据写进配置存储器。3.NIOSii或用户逻辑开始重配置。4.远程更新电路提供保障。
远程更新使能P239
100、远程系统更新模式:P239
101、远程系统更新电路:P242
102、远程系统更新寄存器