首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

FPGA嵌入式系统开发过程中的XBD文件设计

FPGA嵌入式系统开发过程中的XBD文件设计

随着可编程逻辑器件的不断进步和发展,FPGA在嵌入式系统中发挥着越来越重要的作用,已经开始被广泛应用于通信、航天、医疗、工控等领域。Xilinx公司作为全球最大的可编程逻辑器件生产厂商,为嵌入式系统设计人员提供了比较全面的解决方案。Xilinx的嵌入式系统开发环境EDK,提供了一种通用的完全集成的硬件和软件开发环境,使设计人员可以利用单个开发环境快速配置针对PowerPC硬处理器或Microblaze软处理器内核的平台。在EDK开发环境下,利用用户向导可以准确快速地创建一个新的嵌入式系统,而在这一过程中,XBD文件决定了系统的硬件平台描述文件MHS以及约束文件UCF的正确与否,在构建系统过程中起着至关重要的作用。
  1 基于FPGA的嵌入式系统开发
  利用Xilinx公司的嵌入式系统开发工具EDK就可以完成整个嵌入式系统的硬件和软件开发,EDK由XPS(Xilinx Platform Studio)和SDK(Software DevelopmentKit)组成。其中XPS是主设计程序平台,可以实现嵌入式系统开发的所有步骤,并且可以在其中调用SDK。SDK是软件开发工具,支持C和C++,主要完成软件设计。在XPS开发环境下,完整的开发流程如图1所示。
  
  MHS和MSS文件都是根据系统要求在EDK环境下生成的。MHS文件包含了对整个嵌入式系统的定义,包括处理器、总线、外围设备、地址空间等,用于整个硬件平台的综合、实现;MSS文件包含了操作系统、设备驱动等信息,将其输入到库生成器(Libgen),产生应用程序中需要的驱动程序及Xilinx的调用库。
  嵌入式开发软件EDK为设计人员提供了自动化的设计向导——BSB(Base System Builder),可以指引工程师快速完成整个设计过程。在利用BSB创建嵌入式系统过程中,利用嵌入式硬件平台的XBD文件对板级各个功能电路的描述,按步骤选择需要的电路模块添加到MHS文件中,从而减少出现错误的可能,降低学习难度。因此,一个新的嵌入式FPGA硬件平台确定以后,在EDK中针对开发板进行嵌入式系统开发,可以利用相应的XBD文件,快速建立一个基于FPGA的嵌入式系统。
2 板级描述文件XBD
  XBD(Xilinx Board Description)文件定义了电路板的功能模块以及各个模块与FPGA芯片的接口情况,利用BSB可以将XBD文件中包含的功能模块加入到要建立的嵌入式系统中。
  在EDK的安装目录下,Xilinx公司为设计者提供了一些开发板的XBD文件。但是,一个新的嵌入式硬件平台建立后,想要在EDK软件中利用BSB向导读取硬件电路的信息,从而高效无误地产生FPGA嵌入式系统,需要针对电路板上的各个单元电路设计新的XBD文件来描述硬件平台的信息。通常,一个XBD文件包括如下信息:
  ◆电路板所支持的功能模块的FPGA接口;
  ◆每个模块的属性、参数、端口定义;
  ◆不同端口或模块间的连接信息;
  ◆每个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子对。
继承事业,薪火相传
返回列表