SPARTAN系统级功能-selectram分层存储器

元器件信息   2022-11-23 10:43   151   0  

15000点击型号即可查看芯片规格书

8226点击型号即可查看芯片规格书

4096点击型号即可查看芯片规格书


芯片规格书搜索工具-icspec


介绍SPARTAN?-II现场可编程门阵列系列以极低的价格为用户提供高性能、丰富的逻辑资源和丰富的功能集。这个六人家庭提供的系统门密度从15000到200000不等。系统性能支持高达200兆赫。功能包括块RAM(至56K位)、分布式RAM(至75264位)、16个可选I/O标准和4个DLL。快速、可预测的互连意味着连续的设计迭代继续满足时序要求。
斯巴达II家族是一个优于掩模编程ASIC的替代品。fpga避免了传统asic的初始成本、冗长的开发周期和固有的风险。此外,fpga可编程性允许在现场进行设计升级,无需更换硬件(asic不可能)。
特点

第二代ASIC替换技术-密度高达5292个逻辑单元,系统门高达200000个-基于Virtex®FPGA架构的流线型特点-无限可重编程性-非常低成本-经济高效的0.18微米工艺
系统级功能-selectram分层存储器:16位/lut分布式ram·可配置4k位块ram·与外部ram的快速接口-完全符合pci标准-低功耗分段路由体系结构-验证的完全可读性/可观察性-高速算术的专用进位逻辑-高效乘法器支持-用于宽输入功能的级联链-具有启用、设置和重置功能的丰富寄存器/锁存器-四个用于高级时钟控制的专用dll-四个主低偏差全局时钟分布网-与ieee 1149.1兼容的边界扫描逻辑8226;多功能i/o和封装-无pb封装选项-提供低成本封装在所有密度下-通用封装中的家族封装兼容性-16个高性能接口标准-热插拔紧凑型PCI友好型-零保持时间简化了系统计时•核心逻辑电源为2.5V,I/O电源为1.5V、2.5V或3.3V•完全由强大的Xilinx®ISE®开发系统支持-全自动映射,放置和布线

特征
第二代ASIC替换技术
- 密度高达5292个逻辑单元
200000系统门
- 基于virtex®fpga架构的精简功能
- 无限可重编程性
- 非常低的成本
- 经济高效的0.18微米工艺
斯巴达II FPGA家族成员
系统级功能-SelectRAM™分层存储器:
·16位/lut分布式ram
·可配置4K位块RAM
·与外部RAM的快速接口
- 完全符合PCI
- 低功耗分段路由体系结构
- 验证/观察的完全可读性
- 高速运算专用进位逻辑
- 有效的乘数支持
- 宽输入函数的级联链
- 具有启用、设置、复位功能的大量寄存器/锁存器
- 四个用于高级时钟控制的专用dll
- 四个主低偏斜全局时钟分布网
- ieee 1149.1兼容边界扫描逻辑
多功能I/O和封装
- PB免费套餐选项
- 各种密度的低成本包装
- 公共包中的族足迹兼容性
- 16高性能接口标准
- 热插拔紧凑型PCI友好型
- 零保持时间简化了系统计时
核心逻辑电源为2.5V,I/O电源为1.5V,
2.5伏或3.3伏
完全由强大的XilinxISE®开发系统支持
- 全自动映射、放置和路由

概述
斯巴达II系列的FPGAs有一个规则的,灵活的,可编程的可配置逻辑块(CLB)架构,被可编程的外围包围输入/输出块(IOB)。有四个延迟锁定环(dll),在模具的每个角落都有一个。两列块RAM位于模具的对侧,在CLB和IOB列之间。这些功能元素通过多功能路由通道的强大层次结构互连

91cb58fe-6ad8-11ed-bcbf-b8ca3a6cb5c4.png

Spartan II FPGas是通过将配置数据加载到内部静态存储单元来定制的。使用这种方法可以无限次地重新编程。这些单元中的存储值决定了逻辑功能和在fpga中实现的互连。配置数据可以从外部串行prom(主串行模式)读取,也可以以从串行、从并行或边界扫描模式写入fpga。
Spartan II FPGAs通常用于高容量应用,快速可编程解决方案的多功能性增加了好处。斯巴达II型FPGAs是缩短产品开发周期的理想选择,同时为大批量生产提供了一个经济高效的解决方案。
斯巴达ii型fpgas通过先进的架构和半导体技术实现了高性能、低成本的运行。斯巴达II设备提供高达200兆赫的系统时钟速率。除了大容量可编程逻辑解决方案的传统优势外,Spartan II FPGas还提供了片上同步单端口和双端口RAM(块和分布式形式)、动态链接库时钟驱动器、所有触发器上的可编程设置和复位、快速进位逻辑和许多其他功能。
斯巴达II产品可用性
设备上可用的最大用户I/O数以及每个设备/包组合可用的用户I/O数。四个全局时钟管脚在不用作全局时钟管脚时可用作附加用户I/O。这些管脚不包括在用户I/O计数中。

建筑描述
斯巴达II型现场可编程门阵列
SpartanII现场可编程门阵列,如图2所示,由五个主要可配置元件组成:
•IOB提供封装引脚和内部逻辑之间的接口
•CLB提供了构建大多数逻辑的功能元素
•每个4096位的专用块RAM存储器
•用于时钟分布延迟补偿和时钟域控制的时钟dll
•多功能多层互连结构
CLB形成了中心逻辑结构,可以方便地访问所有支持和路由结构。IOB位于所有逻辑和内存元素的周围,便于在芯片上和芯片外快速路由信号。
存储在静态存储单元中的值控制所有可配置的逻辑元素和互连资源。这些值在通电时加载到内存单元中,如果需要更改设备的功能,可以重新加载。
以下各节将详细讨论这些元素。
输入/输出块

91cb58ff-6ad8-11ed-bcbf-b8ca3a6cb5c4.png

这三个iob寄存器要么作为边缘触发d型触发器,要么作为电平敏感锁存器。每个iob都有一个由三个寄存器共享的时钟信号(clk)和每个寄存器的独立时钟启用(ce)信号。除了CLK和CE控制信号外,三个寄存器共享一个SET/RESET(设置/复位)。对于每个寄存器,该信号可独立配置为同步集、同步复位、异步预置或异步清除。
在框图中没有显示,但由软件控制的特性是极性控制。输入和输出缓冲器以及所有的iob控制信号都有独立的极性控制。
可选的上拉和下拉电阻器以及可选的弱保持电路连接到每个焊盘。在配置之前,所有与配置无关的输出都被强制进入高阻抗状态。下拉电阻和弱保持电路不起作用,但输入可以选择性地向上拉。

所有衬垫都受到保护,防止静电放电(ESD)和过电压瞬变造成损坏。提供两种形式的过电压保护,一种允许5V符合性,另一种不符合。对于5V符合性,当输出上升到约6.5V时,与接地连接的齐纳型结构打开。当不需要5V符合性时,可将常规钳位二极管连接到输出电源电压VCCO。过电压保护的类型可以为每个焊盘单独选择。
所有Spartan II的FPGA IOB都支持IEEE1149.1兼容的边界扫描测试。
输入路径
spartan ii fpga iob输入路径中的缓冲器将输入信号直接路由到内部逻辑或通过可选的输入触发器。
在这个触发器的d输入端有一个可选的延迟元件,消除了pad到pad的保持时间。延迟与fpga的内部时钟分配延迟相匹配,使用时确保pad-pad保持时间为零。
每个输入缓冲器可以配置为符合支持的任何低压信令标准。在其中一些标准中,输入缓冲器利用用户提供的阈值电压vref。
每个输入端都有可选的上拉和下拉电阻器,供配置后使用。
输出路径
输出路径包括三态输出缓冲器,其将输出信号驱动到焊盘上。输出信号可以直接从内部逻辑或通过可选的iob输出触发器路由到缓冲器。
输出的三态控制也可以直接从内部逻辑或通过提供同步启用和禁用的翻转来路由。
每个输出驱动都可以单独编程,用于各种低压信号标准。每个输出缓冲区可以源高达24毫安,汇高达48毫安。驱动强度和回转率控制使总线瞬态最小化。
在大多数信令标准中,输出的高电压取决于外部提供的vcco电压。供应VCCO的需要对标准的使用施加了限制。见“I/O银行”。
一个可选的弱保持电路连接到每个输出。当被选中时,电路监测焊盘上的电压,并弱驱动引脚高或低以匹配输入信号。如果管脚连接到一个多源信号,如果所有驱动器都被禁用,弱保持器会将信号保持在其最后状态。以这种方式维护一个有效的逻辑级别有助于消除总线抖动。
由于弱保持电路使用iob输入缓冲器来监测输入电平,因此如果信令标准需要,则必须提供适当的vref电压。提供的电压必须符合I/O银行规则。
输入输出银行业务
上面描述的一些I/O标准需要VCCO和/或VREF电压。这些电压从外部连接到设备管脚,这些管脚服务于一组称为电池组的IOB。因此,在给定的银行中可以组合哪些I/O标准存在限制。
八个I/O组将FPGA的每个边缘分成两个组。每家银行都有多个VCCO管脚,必须连接到相同的电压。电压由使用中的输出标准决定。

一些输入标准需要用户提供的阈值电压vref。在这种情况下,某些用户I/O引脚会自动配置为VREF电压的输入。银行中大约六分之一的I/O管脚承担这个角色。
一个组内的VREF引脚在内部互连,因此每个组内只能使用一个VREF电压。然而,组中的所有VREF管脚必须连接到外部电压源才能正常工作。
在一个组中,需要vref的输入可以与那些不需要vref的输入混合,但是在一个组中只能使用一个vref电压。使用vref的输入缓冲区不允许5v电压。LVTTL、LVCMOS2和PCI具有5V的耐受性。每个组的VCCO和VREF管脚出现在设备管脚输出表中。
在给定的封装中,vref和vcco管脚的数量可以根据设备的大小而变化。在较大的设备中,更多的I/O管脚转换为VREF管脚。由于这些都是用于较小设备的vref管脚的超集,因此可以设计允许迁移到较大设备的pcb。预期最大设备的所有VREF引脚必须连接到VREF电压,而不是用于I/O。

可配置逻辑模块
斯巴达II型现场可编程门阵列CLB的基本组成部分是逻辑单元(LC)。lc包括4输入函数发生器、进位逻辑和存储元件。每个lc中的函数发生器输出驱动触发器的clb输出和d输入。每个Spartan II FPGA CLB包含四个LCS,组织在两个相似的片中
除了四个基本的lc外,spartan ii的fpga clb还包含结合函数生成器以提供五个或六个输入的函数的逻辑。
查找表
spartan ii的fpga函数生成器被实现为4输入查找表(lut)。除了作为函数生成器运行外,每个lut还可以提供16 x 1位同步ram。此外,片内的两个lut可以组合以创建16 x 2位或32 x 1位同步ram,或16 x 1位双端口同步ram。
spartan ii fpga lut还可以提供16位移位寄存器,非常适合捕获高速或突发模式数据。此模式也可用于在数字信号处理等应用中存储数据

91cb5900-6ad8-11ed-bcbf-b8ca3a6cb5c4.png

存储元件
spartan ii fpga片中的存储元件可以配置为边缘触发d型触发器或电平敏感锁存器。d输入可以由片内的函数生成器驱动,也可以直接由片输入驱动,绕过函数生成器。
除了时钟和时钟使能信号外,每个片还具有同步设置和复位信号(sr和by)。sr强制存储元素进入配置中为其指定的初始化状态。强迫它进入相反的状态。或者,可以将这些信号配置为异步操作。
所有控制信号都是独立可逆的,并且由片内的两个触发器共享。
附加逻辑
每个片中的f5多路复用器组合函数生成器输出。此组合提供一个函数生成器,可以实现任何5输入函数、4:1多路复用器或最多9个输入的选定函数。
类似地,f6多路复用器通过选择f5多路复用器输出之一来组合clb中所有四个函数生成器的输出。这允许实现任何6输入功能、8:1多路复用器或多达19个输入的选定功能。
每个CLB有四条直接馈通路径,每个LC一条。这些路径提供不消耗逻辑资源的额外数据输入行或额外本地路由。
算术逻辑
专用进位逻辑提供高速运算功能。Spartan II FPGA CLB支持两个独立的进位链,每个片一个。进位链的高度是每CLB两位。
算术逻辑包括一个异或门,该异或门允许在lc中实现1位全加器。此外,专用与门提高了乘法器实现的效率。
专用进位路径也可用于级联函数生成器以实现宽逻辑函数。
三态缓冲器
每个Spartan II的FPGA CLB包含两个3状态驱动程序(bufts)可以驱动片上总线的。见“专用路由”,第12页。每个Spartan II FPGA BUFT都有一个独立的3态控制管脚和一个独立的输入管脚。
块存储器
Spartan II FPGas包含几个大型块RAM存储器。它们补充了分布式ram查找表(lut),后者提供在clb中实现的浅内存结构。
块ram内存块按列组织。所有斯巴达II设备都包含两个这样的柱,每个垂直边缘一个。这些柱子延伸了芯片的整个高度。每个内存块有四个CLB高,因此,斯巴达II设备八个CLB高将包含每列两个内存块,总共四个块。

可编程路由矩阵
它是最长的延迟路径,限制了任何最坏情况下的设计速度。因此,Spartan II路由体系结构及其位置和路由软件在单个优化过程中定义。这种联合优化最小化了长路径延迟,从而获得最佳的系统性能。
联合优化还减少了设计编译时间,因为该体系结构是软件友好的。由于缩短了设计迭代时间,相应地减少了设计周期。
本地路由
本地路由资源提供以下三种类型的连接:
•lut、触发器和通用路由矩阵(grm)之间的互连
•内部CLB反馈路径,为同一CLB内的LUT提供高速连接,以最小的路由延迟将它们链接在一起
•在水平相邻CLB之间提供高速连接的直接路径,消除GRM的延迟

通用路由
大多数spartan ii fpga信号在通用路由上进行路由,因此,大多数互连资源都与此级别的路由层次相关。常规路由资源位于与行和列clb关联的水平和垂直路由通道中。通用路由资源如下所示。
•与每个CLB相邻的是一个通用路由矩阵(GRM)。GRM是水平和垂直路由资源连接的交换矩阵,也是CLB获得通用路由访问权的手段。
•24条单线在四个方向上将GRM信号路由到相邻的GRM。
•96条缓冲十六进制线路在四个方向中的每一个方向将GRM信号路由到六个街区以外的其他GRM。以交错模式组织,十六进制线只能在其端点处驱动。十六进制线信号可以在端点或中点(距离源三个块)访问。三分之一的十六进制是双向的,其余的是单向的。
•12根长线路是缓冲的双向电线,可快速高效地在设备上分配信号。垂直的长线跨越设备的整个高度,水平的则跨越设备的整个宽度。
输入输出路由
斯巴达II设备的外围有额外的路由资源,这些资源形成了CLB阵列和IOB之间的接口。这种额外的布线称为Versaring,有利于管脚交换和管脚锁定,这样逻辑重新设计就可以适应现有的PCB布局。上市时间缩短了,因为pcb和其他系统组件可以在逻辑设计仍在进行时制造。
专用路由
某些类型的信号需要专用的路由资源来最大限度地提高性能。在Spartan II体系结构中,为两类信号提供专用的路由资源。
•为片上3态总线提供水平路由资源。每个CLB行提供四条可分割的总线,允许一行中有多条总线,如图7所示。
•每个CLB有两个专用网络将进位信号垂直传播到相邻的CLB。
全局路由
全局路由资源在整个设备中以非常高的扇出分布时钟和其他信号。Spartan II设备包括两层全局路由资源,称为主要和次要全局路由资源。
•主要的全局路由资源是四个具有专用输入管脚的专用全局网络,其设计用于以最小的偏差分发高扇出时钟信号。每个全局时钟网络可以驱动所有CLB、IOB和块RAM时钟管脚。主全局网只能由全局缓冲区驱动。有四个全局缓冲区,每个全局网络一个。
•第二全局路由资源包括24条主干线,12条穿过芯片顶部,12条穿过底部。从这些线路中,每列最多可以通过12个
列中的长线。这些辅助资源比主资源更灵活,因为它们不限于仅路由到时钟管脚。

时钟分布
Spartan II系列通过上述主要全局路由资源提供高速、低斜时钟分布。
提供四个全局缓冲区,两个位于设备的上中心,两个位于设备的下中心。这些驱动四个主要的全局网络,反过来驱动任何时钟管脚。
提供了四个专用的时钟板,一个与每个全局缓冲区相邻。全局缓冲区的输入可以从这些焊盘中选择,也可以从通用路由中的信号中选择。全局时钟管脚没有用于内部弱上拉电阻器的选项。

延迟锁定循环(dll)
与每个全局时钟输入缓冲区相关联的是一个全数字延迟锁定环(dll),它可以消除整个设备中时钟输入板和内部时钟输入管脚之间的偏差。每个dll可以驱动两个全局时钟网络。动态链接库监视输入时钟和分布式时钟,并自动调整时钟延迟元素。引入额外的延迟,使得时钟边缘在到达输入端后正好到达一个时钟周期的内部触发器。该闭环系统通过确保时钟边缘与到达输入端的时钟边缘同步到达内部触发器,有效地消除了时钟分布延迟。
除了消除时钟分布延迟之外,dll还提供了对多个时钟域的高级控制。动态链接库提供源时钟的四个正交相位,可以使时钟加倍,或将时钟除以1.5、2、2.5、3、4、5、8或16。它有六个输出。
动态链接库还用作时钟镜像。通过将dll的输出从片外驱动,然后再重新打开,dll可用于在多个spartan ii设备之间消除板级时钟。
为了保证系统时钟在配置后的fpga启动前正常工作,dll可以将配置过程的完成延迟到锁定后。
边界扫描
斯巴达II设备支持IEEE标准1149.1中规定的所有强制性边界扫描指令。提供了一个测试访问端口(tap)和寄存器,用于实现extest、sample/preload和bypass指令。tap还支持两个用户代码指令和内部扫描链。
抽头使用专用封装引脚,始终使用LVTTL工作。要使TDO使用LVTTL工作,气缸组2的VCCO必须为3.3V。否则,TDO将在地面和VCCO之间切换到轨道。tdi、tms和tck具有默认的内部弱上拉电阻,tdo没有默认电阻。Bitstream选项允许将四个抽头管脚中的任何一个设置为具有内部上拉、下拉或两者都不具有。
边界扫描操作独立于各个iob配置,不受包类型的影响。所有IOB,包括未绑定的IOB,都被视为一个扫描链中独立的3态双向管脚。配置后保持双向测试能力有助于外部互连的测试。
斯巴达II燃气。通过将内部信号连接到未绑定或未使用的iob,可以在extest期间捕获内部信号。它们还可以连接到定义为单向输入引脚的iob的未使用输出。
公共边界扫描指令在配置之前可用。配置之后,公共指令与配置期间安装的任何用户代码指令一起保持可用。虽然在配置期间可以使用采样和旁路指令,但建议在此过渡期间不要执行边界扫描操作。
除了上述测试指令外,边界扫描电路还可用于配置fpga,以及读取配置数据。

91cb5901-6ad8-11ed-bcbf-b8ca3a6cb5c4.png

开发系统
Spartan II FPGas由Xilinx ISE®开发工具支持。斯巴达II型现场可编程门阵列设计的基本方法包括三个相关步骤:设计输入、实现和验证。行业标准工具用于设计输入和模拟,而xilinx提供了专用的特定于体系结构的实现工具。
xilinx开发系统集成在一个单一的图形界面下,为设计人员提供了一个通用的用户界面,而不管他们选择什么样的输入和验证工具。该软件通过下拉菜单和在线帮助简化了实现选项的选择。
对于hdl设计入口,xilinx的fpga开发系统提供了多个综合设计环境的接口。
一个标准的接口文件规范,电子设计交换格式(edif),简化了进出开发系统的文件传输。
斯巴达II FPGAs由标准功能的统一库支持。这个库包含400多个原语和宏,从2输入和门到16位累加器,包括算术函数、比较器、计数器、数据寄存器、解码器、编码器、I/O函数、锁存器、布尔函数、多路复用器、移位寄存器和桶移位器。
设计环境支持分层设计条目。这些分层设计元素由实现工具自动组合。不同的设计输入工具可以组合在一个分层设计中,从而允许对设计的每个部分使用最方便的输入方法。
设计实现
位置和路径工具(PAR)自动提供在本节中描述的实现流程。分区器采用edif netlist进行设计,并将逻辑映射到fpga的架构资源中(例如,clbs和iobs)。然后,放置器根据这些块的互连和所需性能来确定这些块的最佳位置。最后,路由器将块互连。
PAR算法支持大多数设计的完全自动实现。然而,对于要求很高的应用程序,用户可以对过程进行不同程度的控制。用户分区、位置和路由信息可以在设计输入过程中选择性地指定。高度结构化设计的实现可以从基本的平面规划中受益匪浅。
实现软件包括时序驱动的布局和路由。设计人员在设计输入期间指定沿整个路径的计时要求。PAR中的定时路径分析例程然后识别这些用户指定的要求并适应它们。
定时要求以与系统要求直接相关的形式输入,例如目标时钟频率或两个寄存器之间的最大允许延迟。这样,沿着整个信号路径的系统的总体性能将根据用户生成的规范自动调整。不需要为单个网络提供特定的定时信息。
设计验证
除了传统的软件仿真外,fpga用户还可以使用电路内调试技术。由于xilinx设备是无限可重编程的,因此可以实时验证设计,而无需大量的软件模拟矢量集。
开发系统支持软件仿真和电路内调试技术。为了进行仿真,系统从设计数据库中提取布局后的时序信息,并将这些信息重新注释到netlist中,以供模拟器使用。或者,用户可以使用静态定时分析器验证设计的定时关键部分。
为了进行电路内调试,开发系统包括一根下载电缆,该电缆将目标系统中的fpga连接到pc或工作站。在将设计下载到fpga中后,设计者可以读取触发器的内容,从而观察触发器内部的逻辑状态。简单的修改可以在几分钟内下载到系统中。
配置
配置是将xilinx软件生成的设计比特流加载到fpga内部配置存储器中的过程。斯巴达II设备既支持串行配置,使用主/从串行和JTAG模式,也支持字节宽配置,使用从并行模式。
配置文件
斯巴达II设备通过顺序加载连接到配置文件中的数据帧来配置。
需要注意的是,虽然prom通常用于在将配置数据加载到fpga之前存储配置数据,但它并不是必需的。可以使用板上或板下已经可用的各种类型的未充分填充的非易失性存储器(即硬盘驱动器、闪存卡等)

信号
有两种管脚用于配置Spartan II设备:专用管脚仅执行特定的配置相关功能;其他管脚可在用户操作开始后用作通用I/O。
专用引脚包括模式引脚(M2、M1、M0)。
配置时钟引脚(cclk)、程序引脚、完成引脚和边界扫描引脚(tdi、tdo、tms,
TCK)。根据所选择的配置模式,cclk可以是由fpga生成的输出,也可以是外部生成的,并作为输入提供给fpga。
注意,一些配置引脚可以作为输出。为了正确工作,这些引脚需要3.3V的VCCO驱动LVTTL信号,或2.5V驱动LVCMOS信号。所有的
模块4和xapp176中的“pinout tables”,Spartan II FPGA系列配置和回读。
配置Spartan II设备所需的步骤顺序如图11所示。整个流程可分为三个不同的阶段。
•启动配置
•配置存储器清除
•加载数据帧
•启动
对于所有配置模式,内存清除和启动阶段都是相同的;但是,加载数据帧的步骤是不同的。因此,在专用于每种模式的部分中分别描述数据帧加载的细节。
启动配置
启动配置过程有两种不同的方法:向设备通电或断言
程序输入。
上电时的配置会自动进行,除非用户延迟,如下面单独一节所述。在开始配置之前,VCCO气缸组2必须大于1.0V。
此外,所有VCCINT电源引脚必须连接到2.5V电源。
一旦进入用户操作,就可以重新配置设备
只需将程序引脚拉低即可。设备通过驱动done low来确认配置过程的开始,然后进入内存清除阶段。

清除配置内存
设备指示清除配置内存
正在通过将初始值设置为低来进行。此时,用户可以通过保持program或init low来延迟配置,这将导致设备保持在内存清除阶段。请注意,在内存清除期间,双向初始化行正在驱动低逻辑级别。要避免争用,请使用开放式漏极驱动程序将init保持在低位。
在没有延迟的情况下,设备指示内存
是完全清楚的通过驾驶init高。在这种从低到高的转换中,fpga对其模式管脚进行采样。
加载配置数据
一旦init为high,用户就可以开始将配置数据帧加载到设备中。在分别处理配置模式的章节中讨论了加载配置数据的细节。使用串行模式加载配置数据所需的操作顺序如图14所示。使用从机并行模式加载数据如第25页图19所示。
CRC错误检查
在加载配置数据期间,根据在fpga中计算的crc值检查嵌入在配置文件中的crc值。如果crc值不匹配,则fpga将低启动,以指示发生了帧错误并中止配置。
要重新配置设备,应断言程序pin以重置配置逻辑。再循环电源也会重置配置的fpga。请参阅“清除配置内存”。
启动
启动序列监督fpga从配置状态到完全用户操作的转换。crc值的匹配,指示配置数据的成功加载,启动序列。
在启动过程中,设备执行四个操作:
1. 完成的断言。done to go high失败可能表示配置数据加载失败。
2. 全球三州网的发布。这将激活分配信号的I/O。其余的I/O保持在高阻抗状态,存在内部弱下拉电阻。
3. 否定全局设置重置(GSR)。这允许所有触发器改变状态。
4. 全局写启用(gwe)的断言。这允许所有ram和触发器改变状态。
默认情况下,这些操作与cclk同步。
整个启动程序持续8个周期,称为C0-C7,之后加载的设计完全正常。

下半部分显示了另一个常用的启动计时版本,称为
同步到完成。此版本使gts、gsr和gwe事件以done pin变高为条件。这个定时对于串行模式下的多个fpgas的菊花链很重要,因为它确保所有fpgas在所有完成的管脚都变高后一起启动。
通过在配置选项中将gts、gsr和gwe周期设置为done值来选择sync to done timing。这导致这些信号在完成外部高转换后转换一个时钟周期。
串行模式
有两种串行配置模式:在主串行模式下,fpga通过驱动cclk作为输出来控制配置过程。在从串行模式下,fpga被动地从控制配置过程的外部代理(例如微处理器、cpld或主模式下的第二个fpga)接收cclk作为输入。在这两种模式下,通过每个cclk周期加载一位来配置fpga。每个配置数据字节的msb总是首先写入din pin。
将数据加载到
斯巴达II系列现场可编程门阵列。这是“负载”的扩展
配置数据帧”块。注意,在串行配置期间通常不使用cs和write。为了确保成功加载fpga,不要在串行配置期间切换cs low写入。

从串行模式
在从串行模式下,fpga的cclk引脚由外部源驱动,允许从其他逻辑设备(如微处理器)或菊花链配置中配置fpga。图15显示了主串行fpga从prom配置从串行fpga的连接。从机串行模式下的Spartan II设备应如图所示连接到左侧的第三个设备。从串行模式由模式引脚(m0,m1,m2)上的<11x>选择。
从机串行配置的计时。串行比特流必须在外部生成的cclk的每个上升沿之前的短时间内设置在din输入引脚上。
从串行模式下的多个fpga可以通过菊花链从一个源进行配置。对于串行菊花链,可以发送到dout pin的最大数据量是220-1(1048575)32位字,或33554400位,大约是25个xc2s200位流。下游设备的配置比特流限制在此大小。
在配置了一个fpga之后,下一个设备的数据被路由到dout管脚。CCLK上升沿上的双针数据变化。必须延迟配置

91cb5902-6ad8-11ed-bcbf-b8ca3a6cb5c4.png

主串行模式
在主串行模式下,fpga的cclk输出驱动xilinx prom,xilinx prom将配置数据的串行流馈送给fpga的din输入。
销(M0,M1,M2)。prom复位引脚由init驱动,ce输入由done驱动。该接口与从机串行模式相同,只是使用了一个内部到fpga的振荡器来生成配置时钟(cclk)。可以使用xilinx软件中的configrate选项设置从4到60兆赫的任意不同频率。通电时,当加载配置数据的前60个字节时,cclk频率始终为2.5mhz。在配置文件的一部分configrate位加载到fpga中之前,使用该频率,此时,频率将更改为选定的configrate。除非在设计中指定了不同的频率,否则默认配置速率为4 MHz。由内部振荡器产生的cclk信号的频率与规定值的偏差为+45%–30%。

从并行模式
从并行模式是最快的配置选项。字节范围的数据被写入到fpga中。提供了一个忙标志,用于控制时钟频率fccnh在50mhz以上的数据流。
斯巴达II设备使用从并行模式。从并行模式由模式引脚(m0,m1,m2)上的a<011>选择。
如果使用.bit、.rbt或非交换十六进制格式的配置文件进行并行编程,则最有效的位(即每个配置字节的最左边的位,如文本编辑器中所示)必须路由到fpga上的d0输入。
未显示代理控制配置。通常,处理器、微控制器或cpld控制从机并行接口。控制代理提供字节范围
配置数据、CCLK、芯片选择(CS)信号和
写入信号(写入)。如果fpga断言busy(高),则必须保持数据直到busy变低。
配置后,从机并行端口(d0-d7)的管脚可以用作额外的用户I/O。或者,可以保留该端口以允许高速8位

91cb5903-6ad8-11ed-bcbf-b8ca3a6cb5c4.png

多个Spartan II FPGAs可以使用从机并行模式配置,并使其启动
同时。要以这种方式配置多个设备,请将所有设备的单个cclk、数据、写和忙管脚并联起来。通过依次断言每个设备的cs pin并写入适当的数据,分别加载各个设备。sync to done启动定时用于确保在加载完所有的fpgas之前启动序列不会开始。见“启动”
在使用从机并行模式时,写操作将字节范围的配置数据包发送到fpga。用于将数据加载到斯巴达II现场可编程门阵列的写入序列的流程图。
对于本例,用户在整个写操作序列中保持write和cs low。注意
在连续的cclk上断言cs时,write必须保持断言或取消断言。否则将启动中止,如下一节所述。
1. 将数据驱动到d0-d7上。请注意,为了避免争用,在cs较低时不应启用数据源
写得很高。同样地,当write是high时,no
应断言多个设备的CS。
2. 在cclk的上升沿上:如果busy很低,则在这个时钟上接受数据。如果忙是高(从以前的写入),则不接受数据。相反,在busy变低后的第一个时钟上会出现接受,并且数据必须保持到发生这种情况为止。
3. 重复步骤1和2,直到发送完所有数据
4. 取消断言CS并写入。
如果cclk比fccnh慢,则fpga永远不会断言忙。在这种情况下,上述握手是不必要的,
每个cclk周期的数据都可以简单地输入到fpga中。

使用延迟锁定循环
spartan ii的fpga家族提供多达四个全数字专用片上延迟锁定环(dll)电路,这些电路提供零传播延迟、分布在整个器件中的输出时钟信号之间的低时钟偏差以及先进的时钟域控制。这些专用的dlls可以用来实现一些改进和简化系统级设计的电路。
介绍
高质量的片上时钟分配非常重要。时钟偏差和时钟延迟会影响设备性能,在大型设备中,使用传统的时钟树来管理时钟偏差和时钟延迟的任务变得更加困难。Spartan II系列设备通过提供多达四个全数字专用片上延迟锁定环(DLL)电路来解决这个潜在问题,这些电路在分布在整个设备上的输出时钟信号之间提供零传播延迟和低时钟偏差。
每个dll可以在设备内驱动最多两个全局时钟路由网络。全球时钟分布网络最小化了由于负载差异造成的时钟偏差。通过监视dll输出时钟的样本,dll可以补偿路由网络上的延迟,有效地消除从外部输入端口到设备内单个时钟负载的延迟。
除了对用户源时钟提供零延迟外,dll还可以提供源时钟的多个相位。dll还可以充当时钟倍增器,或者它可以将用户源时钟除以16。
时钟乘法为设计者提供了许多设计方案。例如,由dll倍增的50mhz源时钟可以驱动在100mhz下工作的fpga设计。这种技术可以简化电路板的设计,因为电路板上的时钟路径不再分布这样的高速信号。倍增时钟还为设计者提供了时域复用的选择,每个时钟周期使用一个电路两次,占用的面积小于同一电路的两个副本。
dll还可以充当时钟镜像。通过驱动从芯片输出的dll,然后再次输入,dll可以用来在多个设备之间消除板级时钟的偏差。
为了保证系统时钟在设备“唤醒”之前建立,dll可以延迟设备配置过程的完成,直到dll实现锁定为止。
利用动态链接库(dll)消除片上时钟延迟,可以大大简化和改进涉及高扇出、高性能时钟的系统级设计。

clkdll基元pin描述
库clkdll原语提供了使用dll实现更复杂应用程序时所需的一整套dll功能的访问。
源时钟输入-clkin
clkin pin向dll提供用户源时钟(dll运行时的时钟信号)。clkin频率必须在数据表中指定的范围内。从另一个clkdll或设备同一边缘(顶部或底部)上的一个全局时钟输入缓冲区(ibufg)驱动的全局时钟缓冲区(bufg)必须提供该时钟信号。
反馈时钟输入-CLKFB
动态链接库需要一个参考或反馈信号来提供延迟补偿输出。只将clk0或clk2x dll输出连接到反馈时钟输入(clkfb)管脚,以向dll提供必要的反馈。全局时钟缓冲器(bufg)或设备同一边缘(顶部或底部)上的一个全局时钟输入缓冲器(ibufg)必须提供该时钟信号。
如果ibufg来源于clkfb pin,则以下特殊规则适用。
1. 外部输入端口必须提供驱动ibufg i管脚的信号。
2. 如果CLK0和CLK2X输出都驱动芯片外设备,则CLK2X输出必须反馈给设备。
3. 这个信号必须直接驱动obufs而不是其他东西。
这些规则使软件能够确定哪个dll时钟输出源clkfb pin。
重置输入-重新设置
当复位引脚rst激活时,锁定信号在四个源时钟周期内停用。RST引脚(高电平激活)必须连接到动态信号或接地。当dll延迟抽头重置为零时,dll时钟输出管脚可能会出现故障。RST引脚的激活也会严重影响时钟输出引脚的占空比。此外,dll的输出时钟不再互相抵消。当输入时钟频率改变时,如果设备在边界扫描模式下重新配置,如果设备进行热交换,并且在设备配置之后,如果输入时钟在启动序列期间不稳定,则必须重置dll。
2X时钟输出-CLK2X
输出引脚clk2x提供一个倍频时钟,具有自动50/50占空比校正功能。在CLKDLL实现锁定之前,CLK2X输出显示为具有25/75占空比的1X版本的输入时钟。此行为允许dll锁定相对于源时钟的正确边缘。此pin在clkdllhf原语上不可用。
时钟分频输出-CLKDV
时钟分频输出管脚clkdv提供源时钟的低频版本。clkdv_u divide属性控制clkdv,使得源时钟除以n,其中n是1.5、2、2.5、3、4、5、8或16。
此功能提供自动占空比校正。这个
clkdv输出管脚对于除高频(hf)模式下的非整数除法之外的除法因子n的所有值具有50/50占空比。对于除法系数1.5,高频模式的占空比为33.3%高,66.7%低。对于除法系数2.5,高频模式的占空比为40.0%高,60.0%低。
1X时钟输出-CLK[0 90 180 270]
1X时钟输出引脚clk0表示源时钟(clkin)信号的延迟补偿版本。clkdll原语提供clk0信号的三个相移版本,而clkdllhf仅提供180度相移版本。

锁定输出-锁定
为了实现锁,dll可能需要采样几千个时钟周期。dll锁定后,锁定信号激活。模块3的“dll计时参数”部分提供锁定时间的估计值。
为了保证在设备“唤醒”之前建立系统时钟,dll可以将设备配置过程的完成延迟到dll锁定之后。startup_wait属性激活此功能。
在锁定信号激活之前,dll输出时钟无效,可能会出现故障、尖峰或其他虚假移动。尤其是CLK2X输出将显示为具有25/75占空比的1X时钟。
dll属性
属性提供对Spartan II系列DLL功能(例如,时钟分割和占空比校正)的访问。
占空比校正特性
1X时钟输出,CLK0、CLK90、CLK180和CLK270,使用占空比校正的默认值,以便它们显示
50/50工作循环。占空比校正
属性(默认为true)控制此功能。停用1X时钟的DLL占空比校正
输出,将占空比校正=false属性附加到dll原语。

设计注意事项
使用以下设计注意事项可以避免陷阱,并提高使用xilinx设备进行设计的成功率。
输入时钟
dll的输出时钟信号,本质上是输入时钟信号的延迟版本,反映了输出波形中输入时钟的任何不稳定性。因此,dll输入时钟的质量直接关系到dll生成的输出时钟波形的质量。dll输入时钟要求在数据表的“dll计时参数”部分中指定。
在大多数系统中,晶体振荡器产生系统时钟。动态链接库可用于任何商用石英晶体振荡器。例如,大多数晶体振荡器产生频率公差为100ppm的输出波形,这意味着时钟周期的变化为0.01%。动态链接库在输入波形上可靠地工作,其频率漂移高达1纳秒,超过了工业上支持任何晶体振荡器所需的数量级。然而,周期间抖动必须保持在低频小于300ps,高频小于150ps。
输入时钟变化
改变输入时钟的周期超过最大漂移量需要手动重置clkdll。未能重置dll将产生不可靠的锁定信号和输出时钟。
可以以对dll影响很小的方式停止输入时钟。停止时钟的时间应限制在大约100μs以内,以将设备冷却时间保持在最低限度,并保持当前抽头设置的有效性。时钟应在低相位期间停止,恢复时应看到全高周期。在这段时间内,锁定将保持在高位,并在时钟恢复时保持高位。如果在设计中可能不满足这些条件,则在重新启动输入时钟后对dll应用手动重置,即使锁定的信号没有改变。
当时钟停止时,在刷新延迟线时,仍会观察到一到四个时钟。当时钟重新启动时,由于延迟线已满,一到四个时钟将不观察输出时钟。最常见的情况是两三个时钟。
以类似的方式,输入时钟的相移也是可能的。相移将在原始移位后传播到输出1到4个时钟,不会中断clkdll控制。
输出时钟
正如前面在dll pin描述中提到的,一些限制适用于输出pin的连接。dll时钟输出可以驱动obuf、全局时钟缓冲bufg或直接路由到目标时钟管脚。dll时钟输出可以驱动的唯一bufg是位于设备同一边缘(顶部或底部)的两个bufg。一个dll输出可以驱动多个obuf;但是,这会增加倾斜。
在锁定信号激活之前,不要使用dll输出时钟信号。在激活锁定信号之前,dll输出时钟无效,可能会出现故障、尖峰或其他虚假移动。

使用块RAM功能
Spartan II FPGA系列提供专用的片上块,真正的双读/写端口同步RAM,带有4096个存储单元。块ram存储器的每个端口可以独立地配置为读/写端口、读端口和写端口,并且可以配置为特定的数据宽度。块ram存储器提供了新的功能,使fpga设计者能够简化设计。
工作模式
块RAM存储器支持两种操作模式。
•通读
•回写
读取(一个时钟边缘)
读取地址注册在读取端口时钟边缘,数据在RAM访问时间之后出现在输出端。一些存储器可能会将锁存器/寄存器放在输出端,这取决于是否希望与设置时间相比有更快的时钟输出。这通常被认为是较低的解决方案,因为它将读取操作更改为异步功能,并且在读取脉冲时钟的生成期间可能丢失地址/控制线转换。
回写(单时钟边缘)
写入地址注册在写入端口时钟边缘,数据输入写入内存并镜像到写入端口输入。
块RAM特性
1. 所有输入都用端口时钟注册,并具有设置到时钟的定时规范。
2. 根据端口的状态,所有输出都具有读写功能。相对于端口时钟的输出在时钟到输出定时规范之后可用。
3. 块ram是真正的sram存储器,没有从地址到输出的组合路径。clbs中的lut单元仍然可以使用此功能。
4. 端口之间完全独立(即时钟、控制、地址、读/写功能和数据宽度),无需仲裁。
5. 写操作只需要一个时钟边缘。
6. 读取操作只需要一个时钟边缘。
输出端口被一个自动定时电路锁定,以保证无故障读取。在端口执行另一个读或写操作之前,输出端口的状态不会改变。

使用多功能I/O
Spartan II FPGA系列包括一种高度可配置的高性能I/O资源,称为多用途I/O,可支持多种I/O标准。多功能I/O资源是一组强大的功能,包括输出驱动强度、转换速率、输入延迟和保持时间的可编程控制。利用本文档中描述的灵活性和通用I/O特性以及设计考虑因素,可以改进和简化系统级设计。
介绍
随着fpgas在规模和容量上的不断增长,为其设计的更大、更复杂的系统对i/o标准的要求也越来越高。此外,随着系统时钟速度的不断提高,对高性能i/o的需求变得更加重要。虽然芯片到芯片的延迟对整个系统速度的影响越来越大,但随着低压i/o标准的普及,实现所需系统性能的任务变得更加困难。通用I/O是斯巴达II设备革命性的输入/输出资源,它通过提供一种高度可配置、高性能的替代品来解决这个潜在的问题,替代了更传统的可编程设备的I/O资源。斯巴达II型现场可编程门阵列的多功能I/O特性结合了可编程逻辑的灵活性和上市时间优势,以及以前只有ASIC和定制IC才具有的高性能。
每个通用I/O块最多可支持16个I/O标准。
支持这样多种i/o标准可以支持从通用标准应用到高速低压存储总线的各种应用。
多功能I/O块还为LVTTL输出缓冲器提供可选的输出驱动强度和可编程的转换速率,以及可选的、可编程的弱上拉、弱下拉或弱“保持器”电路,非常适合用于外部总线应用。
每个输入/输出块(iob)包括三个寄存器,每个寄存器用于iob内的输入、输出和三态信号。这些寄存器可选地可配置为d型触发器或电平敏感锁存器。
输入缓冲器有一个可选的延迟元件,用于保证对在iob中注册的输入信号的零保持时间要求。
多功能I/O功能还为输入参考电压(VREF)和输出源电压(VCCO)提供专用资源,以及简化电路板设计的便捷银行系统。
利用多功能i/o特性支持的内置特性和多种i/o标准,可以大大简化和改进系统级设计和板设计。
基本原理
由数字电子行业中最大和最有影响力的公司率先推出的现代总线应用程序,通常采用专门为该应用程序的需要量身定制的新I/O标准。总线I/O标准为其他供应商提供规范,这些供应商创建的产品设计用于与这些应用程序接口。每个标准通常都有自己的电流、电压、I/O缓冲和终端技术规范。
提供可编程逻辑的灵活性和上市时间优势的能力越来越依赖于可编程逻辑设备支持不断增加的各种I/O标准的能力
多用途I/O资源具有高度可配置的输入和输出缓冲区,为各种I/O标准提供支持。如表15所示,每种缓冲类型都可以支持各种电压要求。

登录icspec成功后,会自动跳转查看全文
博客评论
还没有人评论,赶紧抢个沙发~
发表评论
说明:请文明发言,共建和谐网络,您的个人信息不会被公开显示。