新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 采用FPGA的嵌入式系統(tǒng)XBD文件設(shè)計(jì)

采用FPGA的嵌入式系統(tǒng)XBD文件設(shè)計(jì)

作者: 時(shí)間:2012-09-10 來源:網(wǎng)絡(luò) 收藏

隨著可編程邏輯器件的不斷進(jìn)步和發(fā)展,

本文引用地址:http://2s4d.com/article/148416.htm


  MHS和MSS都是根據(jù)要求在EDK環(huán)境下生成的。MHS包含了對(duì)整個(gè)的定義,包括處理器、總線、外圍設(shè)備、地址空間等,用于整個(gè)硬件平臺(tái)的綜合、實(shí)現(xiàn);MSS包含了操作、設(shè)備驅(qū)動(dòng)等信息,將其輸入到庫生成器(Libgen),產(chǎn)生應(yīng)用程序中需要的驅(qū)動(dòng)程序及Xilinx的調(diào)用庫。  開發(fā)軟件EDK為人員提供了自動(dòng)化的向?qū)?mdash;—BSB(Base System Builder),可以指引工程師快速完成整個(gè)過程。在利用BSB創(chuàng)建系統(tǒng)過程中,利用嵌入式硬件平臺(tái)的文件對(duì)板級(jí)各個(gè)功能電路的描述,按步驟選擇需要的電路模塊添加到MHS文件中,從而減少出現(xiàn)錯(cuò)誤的可能,降低學(xué)習(xí)難度。因此,一個(gè)新的嵌入式硬件平臺(tái)確定以后,在EDK中針對(duì)開發(fā)板進(jìn)行嵌入式系統(tǒng)開發(fā),可以利用相應(yīng)的文件,快速建立一個(gè)基于的嵌入式系統(tǒng)。


2 板級(jí)描述文件

  XBD(Xilinx Board Description)文件定義了電路板的功能模塊以及各個(gè)模塊與芯片的接口情況,利用BSB可以將XBD文件中包含的功能模塊加入到要建立的嵌入式系統(tǒng)中。

  在EDK的安裝目錄下,Xilinx公司為設(shè)計(jì)者提供了一些開發(fā)板的XBD文件。但是,一個(gè)新的嵌入式硬件平臺(tái)建立后,想要在EDK軟件中利用BSB向?qū)ёx取硬件電路的信息,從而高效無誤地產(chǎn)生FPGA嵌入式系統(tǒng),需要針對(duì)電路板上的各個(gè)單元電路設(shè)計(jì)新的XBD文件來描述硬件平臺(tái)的信息。通常,一個(gè)XBD文件包括如下信息:

  ◆電路板所支持的功能模塊的FPGA接口;

  ◆每個(gè)模塊的屬性、參數(shù)、端口定義;

  ◆不同端口或模塊間的連接信息;

  ◆每個(gè)FPGA引腳的UCF約束信息。

  由于XBD文件是對(duì)硬件各功能模塊的描述,因此在設(shè)計(jì)XBD過程中也是以模塊的形式來表示電路板信息的,而且各個(gè)功能塊的描述具備相似的結(jié)構(gòu),使用相同的賦值命令進(jìn)行具體參數(shù)定義。

  2.1,模塊的定義

  一個(gè)完整的模塊定義如下:

  BEGIN

  :

  END

  關(guān)鍵字BEGIN表示一個(gè)新的模塊開始,后面是要定義模塊的類型,中間部分是與描述IP核行為的MPD文件相對(duì)應(yīng)的各種參數(shù)。當(dāng)前,XBD文件能夠識(shí)別3種類型的模塊定義:

 ?、買O_INTERFACE。IO_INTERFACE指定了一個(gè)電路板上的物理模塊(不包括FPGA本身),每一個(gè)IO—INTERFACE在板上應(yīng)該有一個(gè)在FPGA中使用的軟IP核與之相對(duì)應(yīng)。

 ?、贗O_ADAPTER。IO_ADAPTER指定了連接IO_INTERFACE引腳與相應(yīng)軟IP端口的軟膠合邏輯。

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

  2.2 賦值命令

  每個(gè)BEGIN—END模塊包括多個(gè)賦值命令。賦值命令至少包括一個(gè)name—value對(duì),還可以加入多個(gè)name—value子對(duì)。

  賦值命令包括:

 ?、貯TTRIBIJTE。ATTRIBUTE命令是對(duì)屬性命名的關(guān)鍵字。對(duì)于經(jīng)過ATTRIBUTE賦值的對(duì)象,EDK工具會(huì)執(zhí)行某種操作或以特定的方式使用該對(duì)象。ATTRIBUTE賦值命令可以在BEGIN—END模塊內(nèi)部或者外部使用。

 ?、赑ARAMETER。PARAMETER命令將IP核中的PARAMETER參數(shù)同XBD文件中的IO_INTERE、ACE聯(lián)系在一起,且PARAMETER命令只能在IO_INTERFACE模塊內(nèi)部使用。

  ③PORT。PORT命令用來指定電路板上各個(gè)模塊(包括FPGA)的連通性,只能在IO_INTERFACE和IO_ADAPTER模塊內(nèi)使用。

  PARAMETER和PORT命令后能夠跟隨子屬性,每一個(gè)子屬性也是name—value對(duì)。子屬性必須同PA—RAMETER和PORT命令在同一行,并且用逗號(hào)隔開。

  3 XBD文件的設(shè)計(jì)實(shí)現(xiàn)

  在基于FPGA的嵌入式系統(tǒng)中,無論是硬核Power—PC還是軟核Microblaze處理器,都是通過IP核的方式與周圍設(shè)備進(jìn)行操作的,因此,在XBD中定義電路模塊時(shí)要選擇與實(shí)際電路相對(duì)應(yīng)的IP核。在描述IP核行為的MPD文件中,定義了IP核的各種參數(shù),I0_INTERFACE的子屬性IOTYPE決定了該IP核是否能夠與電路板上的特定模塊進(jìn)行連接,通過查看MPD文件的信息就可以知道該IP的功能及其各種參數(shù)。例如,對(duì)于電路板上的4個(gè)LED顯示單元,為了能夠利用BSB將其加入到嵌入式系統(tǒng)中,需要在XBD文件中定義一個(gè)能夠?qū)?個(gè)LED進(jìn)行操作的模塊。在基于FPGA的嵌入式系統(tǒng)中,處理器通過通用I/O接口GPIO對(duì)LED進(jìn)行操作,故LED在XBD中要定義一個(gè)IOTYPE為GPIO的I0_INTER—FACE模塊,表示可以通過這個(gè)模塊與實(shí)際電路板上的I/O進(jìn)行通信。在GPIO的MPD文件描述中,對(duì)于I0_IN—TERFACE進(jìn)行了如下定義:

linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)

上一頁 1 2 下一頁

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉