Avalon端口(port)是组成一个接口的一组Avalon信号。Avalon端口分为从断口和主端口。主端口是用于在Avalon总线上发起传输的一组信号;从端口是用于响应传输请求的一组信号。Avalon主端口和从端口并不直接进行连接,Avalon端口与Avalon Switch Fabric连接,Avalon Swith Fabri负责在Avalon主端口和从端口之间传输信号。
Avalon接口规范并不要求从端口中一定包含某个信号。
Avalon接口规范仅要求Avalon主端口中必须包含3个信号:clk、address和waitrequest。
<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
EPCS控制器允许Nios II系统访问Altera的EPCS串行配置芯片。Altera提供集成到Nios II HAL 系统库的驱动程序,课使用熟悉的访问Flash的HAL API读和写EPCS设备。
使用EPCS控制器,Nios II系统可以完成以下工作:
(1) 在EPCS芯片中存入程序源代码。EPCS控制器提供一个BootLoader功能,允许Nios II系统把主程序代码存到EPCS芯片中。
(2) 存储非易失性的代码和数据,例如一个串行码、NIC码和其他固定不变的数据
(3) 管理FPGA配置数据。例如,一个具有网络功能的嵌入式系统能通过网络接收新的FPGA配置数据,使用EPCS控制器把新的数据写到EPCS串行配置芯片中。
EPCS控制器是SOPC Builder内部集成的部件,很容易集成到SOPC系统中。利用Nios II IDE中的Flash Programmer实用程序可把数据固化到EPCS芯片中。
典型的系统配置EPCS控制器。EPCS芯片中的存储区可分为两个区:
(1) FPGA配置存储区――该区保存FPGA配置的数据。
(2) 通用存储区――如果FPGA配置数据没有填满整个EPCS芯片,则剩余的空间可用来存放通用数据和系统启动代码。
EPCS控制存储器包含1KB的在片存储器用来存放BootLoader程序。Nios II处理器可以配置为从EPCS控制器启动。在这种情况下,复位后,CPU首先执行BootLoader中的ROM代码,将EPCS通用存储器的数据复制到RAM中,接着程序控制转到RAM。Nios II IDE提供实用工具来编译存放在EPCS中的程序,创建一个能够写到EPCS中的编程文件。
Altera的EPCS配置芯片通过FPGA上专用的引脚与之相连,而不是通过通用I/O引脚,所以EPCS控制器在顶层的SOPC Builder系统模块上并不创建任何I/O端口。如果在电路板上EPCS芯片与FPGA相连,目的是使用EPCS进行配置(例如主动串行配置模式),则不需要其他任何连线。当在Quartus II软件中对SOPC Builder系统进行编译时,EPCS控制器信号被自动连线到EPCS芯片的专用引脚。
注意:如果使用Quartus II Programmer对EPCS进行编程,则原来的内容将被擦除。使用Nios II IDE中的Flash Programmer Utility,可将FPGA配置数据和Nios II程序数据固化到EPCS的芯片中。
EPCS控制器有一个Avalon从接口,提供对BootLoader代码和控制该核的寄存器的访问。前256个字专门用来存放BootLoader代码,紧接着7个字是控制和数据寄存器。
硬件设计者使用EPCS控制器的SOPC Builder配置向导来指明核的特性,该向导中只有一个选项。
参考标志符设置一个下拉菜单,允许在当前的SOPC Builder目标板元件中选择一个参考标识符,目的是把当前的EPCS控制器与板上EPCS芯片的参考标识符相连。如果没有匹配的参考标识符(例如,板上不包含一个EPCS芯片),则EPCS控制器不能被加到系统中。参考标识符被Nios II IDE Flash Programmer使用。
注意:在每个FPGA设计中只能包含一个EPCS控制器。
ash_riple_768180695 2007-6-3 13:27
好文,看得出作者作了很多考据的工作。