新闻中心

EEPW首页>嵌入式系统>设计应用> 基于FPGA的嵌入式系统XBD文件设计

基于FPGA的嵌入式系统XBD文件设计

作者: 时间:2010-11-12 来源:网络 收藏

 2 板级描述

(Xilinx Board Description)定义了电路板的功能模块以及各个模块与芯片的接口情况,利用BSB可以将中包含的功能模块加入到要建立的中。

  在EDK的安装目录下,Xilinx公司为者提供了一些开发板的XBD文件。但是,一个新的硬件平台建立后,想要在EDK软件中利用BSB向导读取硬件电路的信息,从而高效无误地产生,需要针对电路板上的各个单元电路新的XBD文件来描述硬件平台的信息。通常,一个XBD文件包括如下信息:

  ◆电路板所支持的功能模块的接口;

  ◆每个模块的属性、参数、端口定义;

  ◆不同端口或模块间的连接信息;

  ◆每个FPGA引脚的UCF约束信息。

  由于XBD文件是对硬件各功能模块的描述,因此在XBD过程中也是以模块的形式来表示电路板信息的,而且各个功能块的描述具备相似的结构,使用相同的赋值命令进行具体参数定义。

  2.1,模块的定义

  一个完整的模块定义如下:

  BEGIN

  :

  END

  关键字BEGIN表示一个新的模块开始,后面是要定义模块的类型,中间部分是与描述IP核行为的MPD文件相对应的各种参数。当前,XBD文件能够识别3种类型的模块定义:

  ①IO_INTERFACE。IO_INTERFACE指定了一个电路板上的物理模块(不包括FPGA本身),每一个IO—INTERFACE在板上应该有一个在FPGA中使用的软IP核与之相对应。

  ②IO_ADAPTER。IO_ADAPTER指定了连接IO_INTERFACE引脚与相应软IP端口的软胶合逻辑。

  ③FPGA。FPGA模块代表FPGA本身。

  2.2 赋值命令

  每个BEGIN—END模块包括多个赋值命令。赋值命令至少包括一个name—value对,还可以加入多个name—value子对。

  赋值命令包括:

  ①ATTRIBIJTE。ATTRIBUTE命令是对属性命名的关键字。对于经过ATTRIBUTE赋值的对象,EDK工具会执行某种操作或以特定的方式使用该对象。ATTRIBUTE赋值命令可以在BEGIN—END模块内部或者外部使用。

  ②PARAMETER。PARAMETER命令将IP核中的PARAMETER参数同XBD文件中的IO_INTERE、ACE联系在一起,且PARAMETER命令只能在IO_INTERFACE模块内部使用。

  ③PORT。PORT命令用来指定电路板上各个模块(包括FPGA)的连通性,只能在IO_INTERFACE和IO_ADAPTER模块内使用。

  PARAMETER和PORT命令后能够跟随子属性,每一个子属性也是name—value对。子属性必须同PA—RAMETER和PORT命令在同一行,并且用逗号隔开。

3 XBD文件的设计实现

  在FPGA的嵌入式中,无论是硬核Power—PC还是软核Microblaze处理器,都是通过IP核的方式与周围设备进行操作的,因此,在XBD中定义电路模块时要选择与实际电路相对应的IP核。在描述IP核行为的MPD文件中,定义了IP核的各种参数,I0_INTERFACE的子属性IOTYPE决定了该IP核是否能够与电路板上的特定模块进行连接,通过查看MPD文件的信息就可以知道该IP的功能及其各种参数。例如,对于电路板上的4个LED显示单元,为了能够利用BSB将其加入到嵌入式系统中,需要在XBD文件中定义一个能够对4个LED进行操作的模块。在FPGA的嵌入式系统中,处理器通过通用I/O接口GPIO对LED进行操作,故LED在XBD中要定义一个IOTYPE为GPIO的I0_INTER—FACE模块,表示可以通过这个模块与实际电路板上的I/O进行通信。在GPIO的MPD文件描述中,对于I0_IN—TERFACE进行了如下定义:

linux操作系统文章专题:linux操作系统详解(linux不再难懂)


评论


相关推荐

技术专区

关闭