赞
踩
本文是关于Altera公司生产的串行配置设备(EPCS1, EPCS4, EPCS16, 和 EPCS64)的数据手册。这些设备用于通过活动的串行(AS)配置方案来串行配置Stratix® II FPGA和Cyclone™系列FPGA。以下是对文档内容的翻译和详细解读。
功能描述部分详细阐述了Altera串行配置设备(EPCS1, EPCS4, EPCS16, 和 EPCS64)的主要功能和工作原理。
对于基于SRAM的FPGA,如Stratix II FPGA和Cyclone系列FPGA,配置数据需要在每次设备上电、系统初始化或需要新的配置数据时重新加载。这是因为SRAM是易失性存储器,掉电后数据会丢失。
串行配置设备是闪存设备,它们具有串行接口,能够存储Stratix II FPGA或Cyclone系列设备的配置数据,并在设备上电或重新配置时将数据重新加载到FPGA。
文档提到了设备之间的垂直迁移支持。例如,可以从EPCS1设备迁移到EPCS4设备,因为它们提供相同的封装。同样,可以从EPCS16设备迁移到EPCS64设备。
文档中的表格列出了与每个Stratix II FPGA和Cyclone FPGA配合使用的串行配置设备,以及相应的配置文件大小。例如,Stratix II设备只能与EPCS16或EPCS64设备一起使用。
Stratix II和Cyclone FPGA系列中的新数据压缩特性允许设计者使用更小的串行配置设备来配置更大的FPGA。这意味着即使配置设备的物理大小不变,也可以支持更大容量的FPGA配置。
串行配置设备专为配置Stratix II FPGA和Cyclone系列FPGA而设计,不能配置Altera的其他现有设备家族。
文档中的方框图展示了串行配置设备的主要组成部分,包括控制逻辑、I/O移位寄存器、存储器阵列、状态寄存器、地址计数器、解码逻辑和数据缓冲器。
功能描述部分强调了串行配置设备的核心功能,即提供一种可靠且灵活的方式来存储和加载FPGA的配置数据。这些设备的设计允许它们在FPGA上电或系统初始化时自动加载配置数据,从而简化了FPGA的配置过程,并为设计者提供了更多的灵活性和便利。
内存访问部分详细描述了如何通过Nios处理器和SOPC Builder访问串行配置设备中的内存。这些设备允许用户访问未使用的闪存内存位置,以便存储或检索数据。
Nios处理器可以配置为通过AS存储器接口访问串行配置设备中的内存。这种访问允许软件直接读写设备中的内存位置。这种功能特别适用于需要在FPGA配置过程中或之后使用未使用内存的应用。
SOPC Builder是Altera提供的一个工具,用于在Altera设备中创建基于总线(尤其是基于微处理器)的系统。它允许用户将库组件(如处理器和存储器)组装成定制的微处理器系统。SOPC Builder包括一个活动串行存储器接口(ASMI)外设,这是一个专门为与串行配置设备协同工作而设计的接口核心。
使用ASMI外设,用户可以创建一个包含Nios嵌入式处理器的系统,该处理器允许软件访问串行配置设备中的任何内存位置。这意味着用户可以通过软件设计来利用这些设备的内存,而不需要物理连接到FPGA的其他部分。
内存访问操作包括读取和写入操作,这些操作通过串行接口进行。操作代码、地址和数据都是以串行方式输入到设备中,最高有效位(MSB)首先被传输。设备在DCLK的第一个上升沿采样活动串行数据输入。
操作代码部分详细描述了如何通过串行接口与Altera的串行配置设备进行通信,以便执行各种内存操作,如读取、写入和擦除。以下是对操作代码部分的详细描述:
操作代码是以串行方式发送到串行配置设备的,每个操作代码由一系列位组成,最高有效位(MSB)首先被发送。操作代码后面通常会跟随地址字节、数据字节或两者,具体取决于所执行的操作。
以下是一些主要的操作代码及其用途:
写启用(Write enable): 此操作设置状态寄存器中的写启用锁存位,以便进行写入操作。操作代码为 b'0000 0110
。
写禁用(Write disable): 此操作重置写启用锁存位,防止意外写入。操作代码为 b'0000 0100
。
读状态(Read status): 此操作读取状态寄存器的内容。操作代码为 b'0000 0101
。
读字节(Read bytes): 此操作从指定的内存地址读取数据。操作代码为 b'0000 0011
。
读硅ID(Read silicon ID): 此操作读取设备的硅ID。操作代码为 b'1010 1011
。
写状态(Write status): 此操作设置状态寄存器中的块保护位。操作代码为 b'0000 0001
。
写字节(Write bytes): 此操作将数据写入到指定的内存地址。操作代码为 b'0000 0010
。
擦除块(Erase bulk): 此操作将所有内存位设置为1或0xFF,通常用于准备内存进行写入。操作代码为 b'1100 0111
。
擦除扇区(Erase sector): 类似于擦除块操作,但只针对特定的内存扇区。操作代码为 b'1101 1000
。
执行操作代码时,需要将芯片选择信号(nCS)拉低,然后通过串行数据输入(ASDI)发送操作代码。对于需要地址或数据的操作,这些信息将在操作代码之后发送。在发送完所有必要的信息后,必须将nCS信号拉高以完成操作。
每个操作代码都有一个特定的时序要求,这些要求在文档的“Timing Information”部分有详细说明。例如,写入操作可能需要一定的时钟周期(tWB),而擦除操作可能需要更长的时间(tEB或tES)。
操作代码是与串行配置设备进行交互的关键,它们允许用户执行必要的内存管理任务,以便在FPGA中存储和更新配置数据。正确理解和使用这些操作代码对于确保FPGA配置过程的成功至关重要。
主动串行FPGA配置(Active Serial FPGA Configuration)是一种配置Altera FPGA的方法,它使用串行配置设备(如EPCS1, EPCS4, EPCS16, 和 EPCS64)来存储和传输配置数据。
主动串行配置使用四个信号来直接与FPGA的控制信号接口:
在配置过程中,FPGA充当配置主控设备,提供时钟给配置设备,并通过nCSO信号控制nCS信号来启用配置设备。FPGA通过ASDO信号发送指令和地址给配置设备,配置设备在DCLK的下降沿响应指令,并将配置数据发送到FPGA的DATA0引脚。数据在DCLK信号的上升沿被锁存到FPGA中。
主动串行配置模式仅适用于支持主动串行(AS)配置方案的FPGA,即Stratix II FPGA和Cyclone系列FPGA。
配置完成后,FPGA会释放CONF_DONE引脚,允许外部10kΩ电阻将其拉高。随后,初始化开始,一旦CONF_DONE信号变高,FPGA进入用户模式。
单个EPCS设备可以配置多个FPGA设备,但是不能级联配置设备。必须确保级联FPGA的编程文件大小不超过配置设备的容量。
文档中提供了配置过程中使用的时序图,如图4–2和图4–3,展示了通过下载电缆编程的配置设备和通过APU或第三方编程器配置的FPGA。
主动串行FPGA配置提供了一种灵活且高效的配置方式,允许设计者在FPGA上电或重新配置时加载配置数据。这种配置方案特别适用于需要频繁更新配置数据的应用场景。
编程和配置文件支持部分详细描述了Altera串行配置设备(EPCS1, EPCS4, EPCS16, 和 EPCS64)的编程过程以及如何生成和使用配置文件。以下是对这一部分内容的详细解读:
Altera的Quartus II设计软件提供了对串行配置设备的编程支持。用户在Quartus II中选择串行配置设备后,软件会自动生成Programmer Object File (.pof) 文件,用于对设备进行编程。Quartus II软件允许用户选择最合适的串行配置设备密度,以最有效地存储所选FPGA的配置数据。
SRunner是一个为嵌入式串行配置设备编程而开发的软件驱动程序,设计师可以根据不同的嵌入式系统需求对其进行定制。SRunner可以读取Raw Programming Data file (.rpd) 并将数据写入到串行配置设备中。使用SRunner进行的编程时间与使用Quartus II软件的编程时间相当。
串行配置设备可以使用Altera编程单元(APU)配合适当的编程适配器(如PLMSEPC-8或PLMSEPC-16)通过Quartus II软件进行编程。此外,还可以使用USB Blaster或ByteBlaster II下载电缆通过Quartus II软件进行编程。许多第三方编程器,如BP Microsystems和System General,也提供支持串行配置设备的编程硬件。
在系统编程是指在FPGA已经部署在最终系统中后,通过外部微处理器使用SRunner软件驱动对串行配置设备进行编程。这种方式允许在不拆卸硬件的情况下更新FPGA的配置。
为了支持编程和配置文件的生成,Altera提供了一系列的文档,包括:
编程和配置文件支持部分为用户详细阐述了如何使用Altera提供的软件和硬件工具来编程和更新串行配置设备。这包括了解Quartus II软件的自动生成.pof文件的功能,使用SRunner进行嵌入式系统的编程,以及通过各种下载电缆和编程单元进行硬件编程的方法。这些信息对于确保FPGA配置的正确性和更新的便捷性至关重要。
操作条件部分提供了Altera串行配置设备在不同环境和工作状态下的电气和物理参数。这些参数对于确保设备正常工作和可靠性至关重要。
这些是设备可以承受的极端条件,超过这些条件可能会损坏设备。这些额定值包括:
这些是设备在正常工作状态下的理想条件,通常用于设计和测试。这些条件包括:
这些条件描述了设备在直流状态下的电气特性,包括:
这些参数描述了设备引脚的电容特性,包括:
操作条件部分为设计者和工程师提供了确保串行配置设备在各种环境和工作状态下正常工作所需的关键参数。这些信息对于电路设计、系统测试和设备可靠性至关重要。在设计和实施过程中,必须遵守这些额定值和推荐条件,以避免设备损坏或性能降低。
引脚信息描述了Altera串行配置设备(EPCS1, EPCS4, EPCS16, 和 EPCS64)的物理接口和功能。这些设备通常有8引脚或16引脚的小外形集成电路(SOIC)封装。
除了上述8引脚的功能外,16引脚封装还包括以下额外的引脚:
这些引脚使得串行配置设备能够与FPGA或其他微处理器系统进行通信,以便存储和传输配置数据。在设计电路板时,需要确保这些引脚正确连接到相应的电源、地线以及FPGA或微处理器的对应引脚。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。