本發(fā)明涉及集成電路技術(shù)領(lǐng)域,尤其涉及一種專用I/O工藝映射方法和裝置。
背景技術(shù):
現(xiàn)有技術(shù)中,現(xiàn)場可編程門陣列(Field-Programmable Gate Array,F(xiàn)PGA)在架構(gòu)中,會集成不同的硬知識產(chǎn)權(quán)核(intellectual property core,IP核),如ARM(Advanced RISC Machines)或數(shù)字信號處理器(Digital Signal Processor,DSP)。在布局時,除了FPGA芯片功能布局(FPGA Place,F(xiàn)P)的普通輸入/輸出端口(input/output,I/O)之外,硬IP核存在專用I/O。此時,普通I/O和專用I/O都可能在布局時被分配具體的位置。用戶在編寫應用硬IP核的硬件描述語言(Hardware Description Language,HDL)設計時,頂層設計的I/O會被映射到FP的普通I/O上去,而硬IP核的專用I/O不能被映射,從而在布局時,不能對硬IP核的專用I/O分配固定的位置。
技術(shù)實現(xiàn)要素:
本發(fā)明的目的是提供一種硬IP核的專用I/O工藝映射方法,使專用I/O在布局時可配置。
為實現(xiàn)上述目的,第一方面,本發(fā)明提供了一種I/O工藝映射方法,所述方法包括:
在HDL設計時,將硬IP核的專用I/O的第一信息添加至所述HDL設計中;
根據(jù)所述第一信息,判斷所述專用I/O是否被使用,當所述專用I/O被使用時,從設備數(shù)據(jù)庫中獲取所述專用I/O的第二信息;
根據(jù)所述第二信息,在輸出網(wǎng)表中生成所述專用I/O的原語;
根據(jù)所述專用I/O的原語,在布局時為所述專用I/O進行位置分配。
在一個可能的設計中,所述進行HDL設計,將硬IP核的專用I/O的第一信息添加至所述HDL設計中之后還包括:
將所述HDL設計轉(zhuǎn)換為門級網(wǎng)表;
解析所述第一信息。
在一個可能的設計中,所述硬IP核具體為ARM。
在一個可能的設計中,所述硬IP核具體為DSP。
第二方面,本發(fā)明實施例提供了一種I/O工藝映射裝置,其特征在于,所述裝置包括:添加單元,判斷單元,生成單元,分配單元;
所述添加單元,用于在HDL設計時,將硬IP核的專用I/O的第一信息添加至所述HDL設計中;
所述判斷單元,用于根據(jù)所述第一信息,判斷所述專用I/O是否被使用,當所述專用I/O被使用時,從設備數(shù)據(jù)庫中獲取所述專用I/O的第二信息;
所述生成單元,用于根據(jù)所述第二信息,在輸出網(wǎng)表中生成所述專用I/O的原語;
所述分配單元,用于根據(jù)所述專用I/O的原語,在布局時為所述硬IP核的專用I/O進行位置分配。
在一個可能的設計中,所述裝置還包括:轉(zhuǎn)換單元,解析單元;
所述轉(zhuǎn)換單元,用于將所述HDL設計轉(zhuǎn)換為門級網(wǎng)表;
所述解析單元,用于解析所述第一信息。
在一個可能的設計中,所述硬IP核具體為ARM。
在一個可能的設計中,所述硬IP核具體為DSP。
本申請?zhí)峁┑腎/O工藝映射方法和裝置,在HDL設計時,將硬IP核的專用I/O的第一信息添加至所述HDL設計中;根據(jù)所述第一信息,判斷所述專用I/O是否被使用,當所述專用I/O被使用時,從設備數(shù)據(jù)庫中獲取所述專用I/O的第二信息;根據(jù)所述第二信息,在輸出網(wǎng)表中生成所述專用I/O的原語;根據(jù)所述專用I/O的原語,在布局時為所述專用I/O進行位置分配,使專用I/O在布局時可配置。
附圖說明
為了更清楚地說明本發(fā)明實施例的技術(shù)方案,下面將對實施例描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其它的附圖。
圖1為FPGA與硬IP核連接示意圖;
圖2為FPGA芯片的管腳封裝示意圖;
圖3為本發(fā)明實施例提供的專用I/O工藝映射方法流程圖;
圖4為本發(fā)明實施例提供的硬IP核的專用I/O示意圖;
圖5為本發(fā)明實施例一提供的專用I/O工藝映射方法流程圖;
圖6為本發(fā)明實施例二提供的專用I/O工藝映射裝置示意圖。
具體實施方式
圖1為FPGA布局與硬IP核連接示意圖,在圖1中,1為FPGA上的普通I/O,2為FPGA與硬IP核之間的硬連線,用戶不可見,3為硬IP核上的專用I/O。其中,硬IP核包括但不限于ARM、DSP和SDRAM。
圖2為FPGA芯片的管腳封裝示意圖,在圖2中,表示普通I/O,表示I/O。從圖2可知,在FPGA的管腳封裝中,硬IP核的專用I/O具有固定的位置,如果使用專用I/O就必須在布局階段給對應的專用I/O分配其應有的固定位置。如果不使用專用I/O,則可以通過配置位將普通I/O分配到這些為專用I/O保留的位置上,當作普通I/O來使用。
下面通過附圖和實施例,對本發(fā)明的技術(shù)方案做進一步的詳細描述。
圖3為本發(fā)明實施例提供的專用I/O工藝映射方法流程圖。如圖3所示,本發(fā)明實施例包括以下步驟:
S301,在HDL設計時,將硬IP核的專用I/O的第一信息添加至所述HDL設計中。
具體地,在進行HDL設計時,可以對硬IP核進行軟包裝,用第一信息表示硬IP核的專用I/O的使用情況。在一個實施例中,可以將第一信息設置為參數(shù),通過設置的參數(shù)來表示專用I/O的使用情況,即用戶通過設置對應的參數(shù),表示哪些專用I/O被使用。比如,在一個硬IP核中,如圖4所示,該硬IP核包括10個專用I/O,為f0-f9,在HDL設計時,當添加的第一信息為parameter is_f0_4_used=1'b0時,表示用戶使用f0,f1,f2,f3,f4這5個專用I/O,當添加的第一信息為parameter is_f5_9_used=1'b0時,表示用戶使用f5,f6,f7,f8,f9這5個專用I/O。
S302,根據(jù)所述第一信息,判斷所述專用I/O是否被使用,當所述專用I/O被使用時,從設備數(shù)據(jù)庫中獲取所述專用I/O的第二信息;
具體地,編譯器將HDL設計轉(zhuǎn)換為門級網(wǎng)表時,硬IP核的解析也會在此過程中完成,此時,第一信息會被解析出來,通過查找設備數(shù)據(jù)庫獲取專用I/O的第二信息,該第二信息可以是專用I/O的位置信息和/或類型信息。
比如,當解析后的第一信息顯示f0,f1,f2,f3,f4這5個專用I/O被使用時,可以通過查找設備數(shù)據(jù)庫,獲取這5個專用I/O的第二信息,以f0為例,f0的第二信息包括位置信息和類型信息,位置信息可以為(A,9),類型信息可以為f0是乘法端口。其中,設備數(shù)據(jù)庫中包括當前設備中所有器件的信息,包括第二信息。
S303,根據(jù)所述第二信息,在輸出網(wǎng)表中生成所述專用I/O的原語;
具體地,如果HDL設計中使用的是軟包裝后的硬IP核,則通過邏輯綜合解析出第二信息。通過檢查第二信息的參數(shù)值,來判斷用戶想要配置硬IP核的哪些專用I/O,從而在邏輯綜合后的網(wǎng)表中插入這些專用I/O的原語。
對于普通I/O,則將HDL設計直接映射為普通I/O的I/O原語。
S304,根據(jù)所述專用I/O的原語,在布局時為所述專用I/O進行位置分配。
具體地,布局工具可以通過原語,獲取專用I/O的第二信息,比如位置信息,來自動完成對專用I/O的位置分配,以防用戶將普通I/O配置到專用I/O的位置,而導致專用I/O不可用。
圖5為本發(fā)明實施例一提供的專用I/O工藝映射方法流程圖。如圖5所示,本發(fā)明實施例包括以下步驟:
S501,HDL設計。
具體地,進行HDL設計,在HDL設計時,將硬IP核的專用I/O的第一信息添加至HDL設計中。
S502,邏輯綜合。
具體地,編譯器將HDL設計轉(zhuǎn)換為門級網(wǎng)表時,硬IP核的解析也會在此過程中完成,此時,第一信息會被解析出來。
S503,普通I/O工藝映射。
具體地,對于普通I/O,則將HDL設計直接工藝映射為普通I/O的I/O原語。
S504,判斷是否使用專用I/O,如果使用專用I/O,跳轉(zhuǎn)至S505。
具體地,根據(jù)S502中解析后的第一信息,判斷是否使用專用I/O。
S505,使用專用I/O時,跳轉(zhuǎn)至S506,不使用專用I/O時,跳轉(zhuǎn)至S508。
S506,從設備數(shù)據(jù)庫中獲取專用I/O的第二信息。
其中,該第二信息可以是位置信息和/或類型信息。
S507,生成硬IP核專用I/O的原語。
S508,生成器件相關(guān)原語。
具體地,如果HDL設計中使用的是軟包裝后的硬IP核,則通過邏輯綜合解析出第二信息。通過檢查第二信息的參數(shù)值,來判斷用戶想要配置硬IP核的哪些專用I/O,從而在邏輯綜合后的網(wǎng)表中插入這些專用I/O的原語。
通過應用本發(fā)明實施例提供的專用I/O工藝映射方法,在HDL設計時,將硬IP核的專用I/O的第一信息添加至所述HDL設計中;根據(jù)所述第一信息,判斷所述專用I/O是否被使用,當所述專用I/O被使用時,從設備數(shù)據(jù)庫中獲取所述專用I/O的第二信息;根據(jù)所述第二信息,在輸出網(wǎng)表中生成所述專用I/O的原語;根據(jù)所述專用I/O的原語,在布局時為所述專用I/O進行位置分配,使專用I/O在布局時可配置。
圖6為本發(fā)明實施例二提供的專用I/O工藝工藝映射裝置示意圖。如圖6所示,本實施例包括:添加單元601,判斷單元602,生成單元603,分配單元604;
所述添加單元601,用于在HDL設計時,將硬IP核的專用I/O的第一信息添加至所述HDL設計中;
所述判斷單元602,用于根據(jù)所述第一信息,判斷所述專用I/O是否被使用,當所述專用I/O被使用時,從設備數(shù)據(jù)庫中獲取所述專用I/O的第二信息;
所述生成單元603,用于根據(jù)所述第二信息,在輸出網(wǎng)表中生成所述專用I/O的原語;
所述分配單元604,用于根據(jù)所述專用I/O的原語,在布局時為所述硬IP核的專用I/O進行位置分配。
本實施例還包括:轉(zhuǎn)換單元605,解析單元606;
所述轉(zhuǎn)換單元605,用于將所述HDL設計轉(zhuǎn)換為門級網(wǎng)表;
所述解析單元606,用于解析所述第一信息。
通過應用本發(fā)明實施例提供的I/O工藝映射裝置,添加單元,用于在HDL設計時,將硬知識產(chǎn)權(quán)IP核的專用I/O的第一信息添加至所述HDL設計中;判斷單元,用于根據(jù)所述第一信息,判斷所述專用I/O是否被使用,當所述專用I/O被使用時,從設備數(shù)據(jù)庫中獲取所述專用I/O的第二信息;生成單元,用于根據(jù)所述第二信息,在輸出網(wǎng)表中生成所述專用I/O的原語;分配單元,用于根據(jù)所述專用I/O的原語,在布局時為所述硬IP核的專用I/O進行位置分配,使專用I/O在布局時可配置。
本領(lǐng)域普通技術(shù)人員應該還可以進一步意識到,結(jié)合本文中所公開的實施例描述的各示例的單元及算法步驟,能夠以電子硬件、計算機軟件或者二者的結(jié)合來實現(xiàn),為了清楚地說明硬件和軟件的可互換性,在上述說明中已經(jīng)按照功能一般性地描述了各示例的組成及步驟。這些功能究竟以硬件還是軟件方式來執(zhí)軌道,取決于技術(shù)方案的特定應用和設計約束條件。本領(lǐng)域普通技術(shù)人員可以對每個特定的應用來使用不同方法來實現(xiàn)所描述的功能,但是這種實現(xiàn)不應認為超出本申請的范圍。
結(jié)合本文中所公開的實施例描述的方法或算法的步驟可以用硬件、處理器執(zhí)軌道的軟件模塊,或者二者的結(jié)合來實施。軟件模塊可以置于隨機存儲器(RAM)、內(nèi)存、只讀存儲器(ROM)、電可編程ROM、電可擦除可編程ROM、寄存器、硬盤、可移動磁盤、CD-ROM、或技術(shù)領(lǐng)域內(nèi)所公知的任意其它形式的存儲介質(zhì)中。
以上所述的具體實施方式,對本發(fā)明的目的、技術(shù)方案和有益效果進行了進一步詳細說明,所應理解的是,以上所述僅為本發(fā)明的具體實施方式而已,并不用于限定本發(fā)明的保護范圍,凡在本發(fā)明的精神和原則之內(nèi),所做的任何修改、等同替換、改進等,均應包含在本發(fā)明的保護范圍之內(nèi)。