当前位置:首页 > EDA > 电子设计自动化
[导读]利用Xilinx的嵌入式开发工具EDK快速建立FPGA嵌入式系统过程中,板级描述(Xilinx Board Description,XBD)文件起着至关重要的作用,它是系统硬件配置文件MHS和约束文件UCF的基础。XBD文件的设计过程中,采用模块化的设计方法对物理电路板上FPGA外围各单元的信息进行描述,从而通过XBD文件实现IP核和板上电路模块之间的连接。

随着可编程逻辑器件的不断进步和发展,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<block_type_keyword>
    :
    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进行了如下定义:
    IO_INTERFACE IO_IF=gpio_O,IO_TYPE=XIL_GPIO_V1
    这个I0_INTERFACE表明IP核可以和GPIO进行通信。
    与电路板上特定模块通信的IP核选定后,根据实际的电路特点,在XBD文件中指定模块的参数值,这些参数值都要与MPD文件中的参数一一对应。需要指出的是,EDK工具是利用XBD文件中的IO_IS子属性将IP核的端口与电路板上模块连接在一起的。在MPD文件中,GPIO的部分描述摘录如下:


    MPD文件定义了IOTYPE类型为XIL_GPIO_V1的I/O接口,并且有C_GPIO_WIDTH和C_ALL_INPUTS两个参数。这些参数跟随的I0_INTERFACE是通过IO_IF子属性来指定的。同样,PORT GPIO_IO也是通过IO_IF子属性来表示属于gpio_0接口的。通过MPD文件对GPIO的描述,可以通过将电路板上的4个LED电路模块在XBD文件中定义一个IO_INTERFACE模块来表示。


    可以看到,MPD文件中I0TYPE类型为XIL_GPIO_V1的IO_INTERFACE同XBD文件中IOTYPE类型同样为XIL_GPIO_V1的LEDs_4BIT模块是匹配的。因此,子属性IO_IS决定了IP核中的端口同XBD文件中哪个端口连接。最终,利用自己设计的XBD文件中的LEDs_4BIT模块,通过BSB建立一个基于FPGA的嵌入式系统。实际电路板中4个LED在构建的硬件配置文件MHS中的描述如下:


    类似于在XBD文件中设计一个与4个LED进行通信的GPIO模块,利用同样的方法,在XBD中能够完成电路板上其他模块的设计,如UART、按键、存储器等。在XBD文件中将电路板上所有的模块信息设计完成之后,为了使EDK软件中的开发向导BSB能够读取到自己设计的XBD文件的信息,要将XBD文件存放到EDK安装目录下的<library_name>/boards中。应该注意的是,开发板的目录名称必须同板本身的名称相同,每个开发板目录下应该包括一个/data目录,XBD文件必须以<board_name>_v2_2_O.xbd的形式命名,并且存放在这个/data目录下,例如…/boards/myboard_revl/data/myboard_rev1_v2_2_0.xbd。这样,在利用BSB创建嵌入式系统过程中,XPS工具就会自动搜索<library_name>/boards目录,并将该目录下存在的描述开发板信息的XBD文件在创建向导BSB中显示出来。


4 总 结
    板级描述文件XBD在利用BSB快速构建基于FPGA嵌入式系统中起着非常重要的作用,本文针对新的硬件平台的XBD文件设计进行了介绍。在XBD文件设计时,针对电路板上的各个实际电路模块,通过对照相应描述IP行为的MPD文件进行各个电路模块的设计与实现。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭