當(dāng)前位置:首頁(yè) > EDA > 電子設(shè)計(jì)自動(dòng)化
[導(dǎo)讀]利用Xilinx的嵌入式開(kāi)發(fā)工具EDK快速建立FPGA嵌入式系統(tǒng)過(guò)程中,板級(jí)描述(Xilinx Board Description,XBD)文件起著至關(guān)重要的作用,它是系統(tǒng)硬件配置文件MHS和約束文件UCF的基礎(chǔ)。XBD文件的設(shè)計(jì)過(guò)程中,采用模塊化的設(shè)計(jì)方法對(duì)物理電路板上FPGA外圍各單元的信息進(jìn)行描述,從而通過(guò)XBD文件實(shí)現(xiàn)IP核和板上電路模塊之間的連接。

隨著可編程邏輯器件的不斷進(jìn)步和發(fā)展,FPGA嵌入式系統(tǒng)中發(fā)揮著越來(lái)越重要的作用,已經(jīng)開(kāi)始被廣泛應(yīng)用于通信、航天、醫(yī)療、工控等領(lǐng)域。Xilinx公司作為全球最大的可編程邏輯器件生產(chǎn)廠商,為嵌入式系統(tǒng)設(shè)計(jì)人員提供了比較全面的解決方案。Xilinx的嵌入式系統(tǒng)開(kāi)發(fā)環(huán)境EDK,提供了一種通用的完全集成的硬件和軟件開(kāi)發(fā)環(huán)境,使設(shè)計(jì)人員可以利用單個(gè)開(kāi)發(fā)環(huán)境快速配置針對(duì)PowerPC硬處理器或Microblaze軟處理器內(nèi)核的平臺(tái)。在EDK開(kāi)發(fā)環(huán)境下,利用用戶向?qū)Э梢詼?zhǔn)確快速地創(chuàng)建一個(gè)新的嵌入式系統(tǒng),而在這一過(guò)程中,XBD文件決定了系統(tǒng)的硬件平臺(tái)描述文件MHS以及約束文件UCF的正確與否,在構(gòu)建系統(tǒng)過(guò)程中起著至關(guān)重要的作用。

1 基于FPGA的嵌入式系統(tǒng)開(kāi)發(fā)
    利用Xilinx公司的嵌入式系統(tǒng)開(kāi)發(fā)工具EDK就可以完成整個(gè)嵌入式系統(tǒng)的硬件和軟件開(kāi)發(fā),EDK由XPS(Xilinx Platform Studio)和SDK(Software DevelopmentKit)組成。其中XPS是主設(shè)計(jì)程序平臺(tái),可以實(shí)現(xiàn)嵌入式系統(tǒng)開(kāi)發(fā)的所有步驟,并且可以在其中調(diào)用SDK。SDK是軟件開(kāi)發(fā)工具,支持C和C++,主要完成軟件設(shè)計(jì)。在XPS開(kāi)發(fā)環(huán)境下,完整的開(kāi)發(fā)流程如圖1所示。

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

2 板級(jí)描述文件XBD
    XBD(Xilinx Board Description)文件定義了電路板的功能模塊以及各個(gè)模塊與FPGA芯片的接口情況,利用BSB可以將XBD文件中包含的功能模塊加入到要建立的嵌入式系統(tǒng)中。
    在EDK的安裝目錄下,Xilinx公司為設(shè)計(jì)者提供了一些開(kāi)發(fā)板的XBD文件。但是,一個(gè)新的嵌入式硬件平臺(tái)建立后,想要在EDK軟件中利用BSB向?qū)ёx取硬件電路的信息,從而高效無(wú)誤地產(chǎn)生FPGA嵌入式系統(tǒng),需要針對(duì)電路板上的各個(gè)單元電路設(shè)計(jì)新的XBD文件來(lái)描述硬件平臺(tái)的信息。通常,一個(gè)XBD文件包括如下信息:
    ◆電路板所支持的功能模塊的FPGA接口;
    ◆每個(gè)模塊的屬性、參數(shù)、端口定義;
    ◆不同端口或模塊間的連接信息;
    ◆每個(gè)FPGA引腳的UCF約束信息。
    由于XBD文件是對(duì)硬件各功能模塊的描述,因此在設(shè)計(jì)XBD過(guò)程中也是以模塊的形式來(lái)表示電路板信息的,而且各個(gè)功能塊的描述具備相似的結(jié)構(gòu),使用相同的賦值命令進(jìn)行具體參數(shù)定義。
2.1,模塊的定義
    一個(gè)完整的模塊定義如下:
    BEGIN<block_type_keyword>
    :
    END
    關(guān)鍵字BEGIN表示一個(gè)新的模塊開(kāi)始,后面是要定義模塊的類型,中間部分是與描述IP核行為的MPD文件相對(duì)應(yīng)的各種參數(shù)。當(dāng)前,XBD文件能夠識(shí)別3種類型的模塊定義:
    ①IO_INTERFACE。IO_INTERFACE指定了一個(gè)電路板上的物理模塊(不包括FPGA本身),每一個(gè)IO—INTERFACE在板上應(yīng)該有一個(gè)在FPGA中使用的軟IP核與之相對(duì)應(yīng)。
    ②IO_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ì)。
    賦值命令包括:
    ①ATTRIBIJTE。ATTRIBUTE命令是對(duì)屬性命名的關(guān)鍵字。對(duì)于經(jīng)過(guò)ATTRIBUTE賦值的對(duì)象,EDK工具會(huì)執(zhí)行某種操作或以特定的方式使用該對(duì)象。ATTRIBUTE賦值命令可以在BEGIN—END模塊內(nèi)部或者外部使用。
    ②PARAMETER。PARAMETER命令將IP核中的PARAMETER參數(shù)同XBD文件中的IO_INTERE、ACE聯(lián)系在一起,且PARAMETER命令只能在IO_INTERFACE模塊內(nèi)部使用。
    ③PORT。PORT命令用來(lái)指定電路板上各個(gè)模塊(包括FPGA)的連通性,只能在IO_INTERFACE和IO_ADAPTER模塊內(nèi)使用。
    PARAMETER和PORT命令后能夠跟隨子屬性,每一個(gè)子屬性也是name—value對(duì)。子屬性必須同PA—RAMETER和PORT命令在同一行,并且用逗號(hào)隔開(kāi)。

3 XBD文件的設(shè)計(jì)實(shí)現(xiàn)
    在基于FPGA的嵌入式系統(tǒng)中,無(wú)論是硬核Power—PC還是軟核Microblaze處理器,都是通過(guò)IP核的方式與周圍設(shè)備進(jìn)行操作的,因此,在XBD中定義電路模塊時(shí)要選擇與實(shí)際電路相對(duì)應(yīng)的IP核。在描述IP核行為的MPD文件中,定義了IP核的各種參數(shù),I0_INTERFACE的子屬性IOTYPE決定了該IP核是否能夠與電路板上的特定模塊進(jìn)行連接,通過(guò)查看MPD文件的信息就可以知道該IP的功能及其各種參數(shù)。例如,對(duì)于電路板上的4個(gè)LED顯示單元,為了能夠利用BSB將其加入到嵌入式系統(tǒng)中,需要在XBD文件中定義一個(gè)能夠?qū)?個(gè)LED進(jìn)行操作的模塊。在基于FPGA的嵌入式系統(tǒng)中,處理器通過(guò)通用I/O接口GPIO對(duì)LED進(jìn)行操作,故LED在XBD中要定義一個(gè)IOTYPE為GPIO的I0_INTER—FACE模塊,表示可以通過(guò)這個(gè)模塊與實(shí)際電路板上的I/O進(jìn)行通信。在GPIO的MPD文件描述中,對(duì)于I0_IN—TERFACE進(jìn)行了如下定義:
    IO_INTERFACE IO_IF=gpio_O,IO_TYPE=XIL_GPIO_V1
    這個(gè)I0_INTERFACE表明IP核可以和GPIO進(jìn)行通信。
    與電路板上特定模塊通信的IP核選定后,根據(jù)實(shí)際的電路特點(diǎn),在XBD文件中指定模塊的參數(shù)值,這些參數(shù)值都要與MPD文件中的參數(shù)一一對(duì)應(yīng)。需要指出的是,EDK工具是利用XBD文件中的IO_IS子屬性將IP核的端口與電路板上模塊連接在一起的。在MPD文件中,GPIO的部分描述摘錄如下:


    MPD文件定義了IOTYPE類型為XIL_GPIO_V1的I/O接口,并且有C_GPIO_WIDTH和C_ALL_INPUTS兩個(gè)參數(shù)。這些參數(shù)跟隨的I0_INTERFACE是通過(guò)IO_IF子屬性來(lái)指定的。同樣,PORT GPIO_IO也是通過(guò)IO_IF子屬性來(lái)表示屬于gpio_0接口的。通過(guò)MPD文件對(duì)GPIO的描述,可以通過(guò)將電路板上的4個(gè)LED電路模塊在XBD文件中定義一個(gè)IO_INTERFACE模塊來(lái)表示。


    可以看到,MPD文件中I0TYPE類型為XIL_GPIO_V1的IO_INTERFACE同XBD文件中IOTYPE類型同樣為XIL_GPIO_V1的LEDs_4BIT模塊是匹配的。因此,子屬性IO_IS決定了IP核中的端口同XBD文件中哪個(gè)端口連接。最終,利用自己設(shè)計(jì)的XBD文件中的LEDs_4BIT模塊,通過(guò)BSB建立一個(gè)基于FPGA的嵌入式系統(tǒng)。實(shí)際電路板中4個(gè)LED在構(gòu)建的硬件配置文件MHS中的描述如下:


    類似于在XBD文件中設(shè)計(jì)一個(gè)與4個(gè)LED進(jìn)行通信的GPIO模塊,利用同樣的方法,在XBD中能夠完成電路板上其他模塊的設(shè)計(jì),如UART、按鍵、存儲(chǔ)器等。在XBD文件中將電路板上所有的模塊信息設(shè)計(jì)完成之后,為了使EDK軟件中的開(kāi)發(fā)向?qū)SB能夠讀取到自己設(shè)計(jì)的XBD文件的信息,要將XBD文件存放到EDK安裝目錄下的<library_name>/boards中。應(yīng)該注意的是,開(kāi)發(fā)板的目錄名稱必須同板本身的名稱相同,每個(gè)開(kāi)發(fā)板目錄下應(yīng)該包括一個(gè)/data目錄,XBD文件必須以<board_name>_v2_2_O.xbd的形式命名,并且存放在這個(gè)/data目錄下,例如…/boards/myboard_revl/data/myboard_rev1_v2_2_0.xbd。這樣,在利用BSB創(chuàng)建嵌入式系統(tǒng)過(guò)程中,XPS工具就會(huì)自動(dòng)搜索<library_name>/boards目錄,并將該目錄下存在的描述開(kāi)發(fā)板信息的XBD文件在創(chuàng)建向?qū)SB中顯示出來(lái)。


4 總 結(jié)
    板級(jí)描述文件XBD在利用BSB快速構(gòu)建基于FPGA嵌入式系統(tǒng)中起著非常重要的作用,本文針對(duì)新的硬件平臺(tái)的XBD文件設(shè)計(jì)進(jìn)行了介紹。在XBD文件設(shè)計(jì)時(shí),針對(duì)電路板上的各個(gè)實(shí)際電路模塊,通過(guò)對(duì)照相應(yīng)描述IP行為的MPD文件進(jìn)行各個(gè)電路模塊的設(shè)計(jì)與實(shí)現(xiàn)。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開(kāi)發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開(kāi)幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉