色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          新聞中心

          自由IP Core資源的利用

          作者:■鄭州大學(xué)信息工程學(xué)院 周明珠 王福源 時(shí)間:2005-04-07 來(lái)源:電子設(shè)計(jì)應(yīng)用2005年第2期 收藏

          摘    要:本文介紹了與免費(fèi) 運(yùn)作有關(guān)的問(wèn)題以及免費(fèi)資源的若干來(lái)源,然后通過(guò)對(duì)兩個(gè)不同來(lái)源的、免費(fèi)的八位RISC 進(jìn)行比較和分析,給出了若干選用免費(fèi)核時(shí)應(yīng)考慮的問(wèn)題。
          關(guān)鍵詞:

          本文引用地址:http://cafeforensic.com/article/4893.htm

          引言
          隨著集成電路單位面積晶體管數(shù)量的激增和人們對(duì)縮短設(shè)計(jì)周期的追求,設(shè)計(jì)重用已經(jīng)成為有效的應(yīng)對(duì)方法,它不但適合于ASIC,也適合于CPLD/FPGA。在CPLD/FPGA的設(shè)計(jì)過(guò)程中,由于開(kāi)發(fā)工具的通用性、設(shè)計(jì)語(yǔ)言的標(biāo)準(zhǔn)化,設(shè)計(jì)過(guò)程幾乎與所用器件的硬件結(jié)構(gòu)無(wú)關(guān),設(shè)計(jì)成功的邏輯功能塊也具有很好的兼容性和可移植性,從而使得產(chǎn)品設(shè)計(jì)效率大幅度提高。這些具有可再利用功能的邏輯功能模塊都可以成為 ,因此IP Core可以是算法核、加密核、微處理器等。TI公司認(rèn)為,一個(gè)ASIC設(shè)計(jì)80%的功能可用IP Core等現(xiàn)成邏輯合成,未來(lái)大系統(tǒng)的CPLD/FPGA設(shè)計(jì)將僅僅是各類再應(yīng)用邏輯與IP Core的拼裝。

          自由IP Core
          為何免費(fèi)
          目前有許多商業(yè)公司出售IP Core ,但價(jià)格昂貴,原因之一是高昂的開(kāi)發(fā)費(fèi)用。據(jù)測(cè)算,在IP Core的整個(gè)過(guò)程中,編寫(xiě)源代碼所花費(fèi)的成本只占總成本的10%,而調(diào)試和修正則占50%,市場(chǎng)銷售和支持占到40%。如果將整個(gè)成本分?jǐn)偟蕉鄠€(gè)主體,那么對(duì)于單個(gè)主體而言成本就大大降低了,這就是設(shè)計(jì)開(kāi)放共享的IP Core的初衷。由組織開(kāi)放IP的機(jī)構(gòu)將自愿參加者的設(shè)計(jì)開(kāi)放,使用者可以找到設(shè)計(jì)的錯(cuò)誤,或加入新的內(nèi)容對(duì)原設(shè)計(jì)加以完善,使IP Core趨于成熟。同時(shí)CPLD/FPGA的生產(chǎn)商公布芯片的編程技術(shù)或者提供免費(fèi)的EDA設(shè)計(jì)工具,從而使開(kāi)放式硬件的設(shè)計(jì)者可以將該公司的芯片應(yīng)用于新設(shè)計(jì)的系統(tǒng),由此達(dá)到“多贏”的目標(biāo)。
          充分意義上的硬件開(kāi)放必須達(dá)到三個(gè)條件:首先,硬件的接口必須清楚地公布出來(lái),這樣才能由他人自由的使用;其次,硬件設(shè)計(jì)本身必須公布于眾,這樣他人才能將其在不同的應(yīng)用中加以實(shí)現(xiàn)或糾錯(cuò);最后,應(yīng)盡量采用免費(fèi)的設(shè)計(jì)工具,以便于其他使用者對(duì)設(shè)計(jì)進(jìn)行改進(jìn)。
          知識(shí)產(chǎn)權(quán)歸屬和法律問(wèn)題
          免費(fèi)IP Core常用的認(rèn)證有GPL、LGPL等。這兩種認(rèn)證原來(lái)是用于自由軟件的,現(xiàn)已推廣到對(duì)自由 IP Core的認(rèn)證。大多數(shù)的軟件認(rèn)證都不允許對(duì)軟件共享與修改,而GPL認(rèn)證則旨在保證共享與修改軟件的自由,確保軟件對(duì)于所有的用戶都是共享的。GPL認(rèn)證為了確保用戶有傳播自由軟件副本、根據(jù)自己的需要進(jìn)行修改的自由,規(guī)定在傳播軟件的副本時(shí),必須給予接受者同樣的權(quán)利。必須確定他們收到或者可以得到源代碼,并且知道這些條款,即自己的權(quán)利。
          LGPL認(rèn)證應(yīng)用于某些特別指定的軟件包——共享庫(kù)。這一許可允許將這些庫(kù)連入某些非共享程序中。在法律上,當(dāng)程序中連入某個(gè)庫(kù),不論是靜態(tài)的還是使用共享的庫(kù),這兩者的結(jié)合都是原始庫(kù)的派生,因此,只有整個(gè)結(jié)合物符合共享的標(biāo)準(zhǔn),GPL認(rèn)證才允許這種鏈接。但LGPL認(rèn)證則以更寬松的準(zhǔn)則允許其它代碼和庫(kù)的連接,因此在與非共享軟件的競(jìng)爭(zhēng)中,與GPL認(rèn)證相比,LGPL為共享軟件開(kāi)發(fā)者提供的利益少一些。正是由于這一原因,許多庫(kù)使用GPL認(rèn)證,然而,在某些特殊情況下LGPL認(rèn)證是有利的。例如:在特殊的情況下,可能需要鼓勵(lì)某種庫(kù)的廣泛使用,以使其成為事實(shí)上的標(biāo)準(zhǔn)。為了達(dá)到這一目的,就會(huì)使用LGPL認(rèn)證,允許非共享程序使用這種庫(kù)。從另一個(gè)方面來(lái)看,允許非共享程序使用某種庫(kù)將可以促使大量使用共享軟件。例如,GNU C庫(kù)允許在非共享的軟件中使用促使了更多人使用GNU操作系統(tǒng),以及它的派生GNU/Linux操作系統(tǒng)。

          免費(fèi)IP Core的部分來(lái)源
          許多非盈利的組織提供免費(fèi)IP Core,有些CPLD/FPGA的芯片廠商也提供這類共享資源,而芯片廠商提供較多的是針對(duì)他們所生產(chǎn)的具體芯片的共享設(shè)計(jì)。下面介紹兩個(gè)免費(fèi)IP Core的非盈利機(jī)構(gòu)。
          OpenIPCore工程
          該機(jī)構(gòu)旨在推動(dòng)開(kāi)放式硬件的發(fā)展,其業(yè)務(wù)既包括提供開(kāi)放核的平臺(tái),也對(duì)開(kāi)放硬件核的權(quán)益進(jìn)行認(rèn)證,定義設(shè)計(jì)的方法以及設(shè)計(jì)接口的標(biāo)準(zhǔn)化。該機(jī)構(gòu)收集經(jīng)其授權(quán)的設(shè)計(jì)以及免費(fèi)的開(kāi)發(fā)工具例如gEDA、Savant等,供設(shè)計(jì)者自由選用。另外為已有的設(shè)計(jì)如編譯器、驅(qū)動(dòng)器、外部電路提供工具、設(shè)計(jì)和文檔的支持。
          OpenIPCore工程的基本條款包括:電路核是可以更改的,但必須修改文檔記錄;不能靠出售核本身來(lái)贏利,但是可以出售用核實(shí)現(xiàn)的設(shè)備,例如基于某些免費(fèi)核的集成電路、基于某些電路圖或版圖的電路板,甚至可以是文本模式驅(qū)動(dòng)的圖形界面;任何更新都應(yīng)該備案,并反饋給原設(shè)計(jì)者;對(duì)核的更新、修改或加以完善等成果都應(yīng)該是共享的;將原封不動(dòng)的共享核與其他模塊結(jié)合產(chǎn)生更大的設(shè)計(jì),可以在OpenIPCore認(rèn)證下共享,也可以受其他認(rèn)證的保護(hù);該網(wǎng)站不保證在實(shí)際硬件實(shí)現(xiàn)中核的功能和性能。該工程采用OHGPL認(rèn)證,對(duì)基本原創(chuàng)性工作和導(dǎo)出性工作做了明確的定義。該機(jī)構(gòu)不排斥發(fā)布人采用其他認(rèn)證,但要求有明確的聲明。
          Free-IP 工程
          該機(jī)構(gòu)的目標(biāo)在于利用傳統(tǒng)工具發(fā)展自由的或成本較低的IP core。由Free-IP 工程提供的IP Core權(quán)益不歸公共所有而歸發(fā)布人所有。使用Free-IP核必須遵循以下幾點(diǎn):核的使用是自由的,但是必須遵循所注明的費(fèi)用項(xiàng)中的信息;不可以出售核,但可以收取復(fù)制的費(fèi)用,也可以對(duì)自己添加的有價(jià)值的部分收取費(fèi)用;允許對(duì)核修改,但是Free-IP工程不對(duì)所做的修改加以認(rèn)證;對(duì)于核的使用沒(méi)有任何限制,可用于軍用、商用、教育等領(lǐng)域。
          八位RISC
          的比較和分析
          核的使用者最關(guān)心的是其可靠性。想對(duì)所有免費(fèi)核做出可靠性評(píng)價(jià)是不可能的,本文通過(guò)對(duì)兩個(gè)8位(指數(shù)據(jù)總線的寬度,指令碼為12位)RISC核的對(duì)比和分析,給出了在使用免費(fèi)核時(shí)可靠性方面的大體概念。
          RISC5X是一個(gè)用VHDL編寫(xiě)的、與Microchip公司的PIC16C5系列兼容的CPU核,該系列CPU除了程序分支指令外,全部是單周期指令,所以RISC5X在40MHz單一時(shí)鐘下基本可以達(dá)到40MIPS的處理速度。 如采用Xilinx 公司的Virtex-E系列FPGA,該核占用110CLB單元,在E-6上速度可達(dá)33MHz,在E-8上可達(dá)40MHz。該核提供了VHDL源代碼和16進(jìn)制代碼,并且提供了一些不錯(cuò)的免費(fèi)工具,包括編譯器、仿真器和匯編工具(gusim、guasm等)。該核所提供的每一個(gè)宏都采用兩種結(jié)構(gòu)體寫(xiě)成,一種只適用于Virtex系列目標(biāo)芯片,另一種是用VHDL的RTL級(jí)描述,用戶必須根據(jù)需要在源程序中作出相應(yīng)選擇。但是存在的缺點(diǎn)是用于定義總線寬度的宏,在第二次使用時(shí),有些綜合器并不按要求重復(fù)產(chǎn)生第二個(gè)硬件模塊。一個(gè)解決方法是將該宏轉(zhuǎn)換為EDIF格式,每次用到時(shí)使用與其對(duì)應(yīng)的EDIF文件名。另一個(gè)不足是該核對(duì)于雙周期指令未做處理,需要用戶自己對(duì)程序計(jì)數(shù)器做一定修改。
          RISC8是與RISC5X很類似的免費(fèi)核,與Microchip公司的PIC16C57兼容。該核在ASIC和FPGA層面上都是可綜合的,并且已經(jīng)被使用過(guò)。該核提供了CPU、指令譯碼器、寄存器、累加器、RAM等基本部件,此外還提供了基本的測(cè)試向量。在該核的程序包里還可以找到“basic”和“DDS”兩個(gè)匯編程序,basic用來(lái)檢測(cè)RISC8的指令,DDS則是利用該核的一個(gè)應(yīng)用程序。此外還提供了關(guān)于16C57的第三方資源。但是與16C57相比,兩者是有明顯差別的。表1列出了兩者在功能方面的比較。與其他免費(fèi)核一樣,該核也有明顯的不足之處,如狀態(tài)字STATUS中的DC位功能沒(méi)有完成,以及TRIS不能影響I/O口等。
          相比之下,RISC8應(yīng)該比較成熟,但是由于不能直接使用I/O口,對(duì)于有此需要的用戶來(lái)說(shuō),顯然尚有很多要做的補(bǔ)充工作。RISC5X的工作相對(duì)比較齊全,僅在測(cè)試方面稍嫌不足。雖然雙周期指令不能直接使用,但是可以用別的指令替代。
          從以上比較可以看出,免費(fèi)核總是有缺陷的,但是工程師可以根據(jù)自己的需要找到較為合適的核和使用方法。一般說(shuō),一個(gè)核往往是由多個(gè)模塊組成的,有經(jīng)驗(yàn)的工程師完全可以自行“拼接”比較成熟的模塊,成為自己的核。本文的建議如下:
          * 在決定選用某個(gè)核之前先仔細(xì)閱讀有關(guān)該核的評(píng)論(一般可以在核所在的網(wǎng)頁(yè)上找到),選用那些所存在的缺陷并不影響個(gè)人應(yīng)用的核。例如有些未完成的部分你恰好是不用的;
          * 如有多個(gè)版本,則宜選用高版本核。高版本都會(huì)對(duì)核的BUG進(jìn)行修改,優(yōu)化后的核通常會(huì)有更高的可靠性,例如工作頻率的提高等,可以適應(yīng)更高性能的芯片。
          * 如果使用FPGA實(shí)現(xiàn),應(yīng)盡量采用與發(fā)布人一樣系列的目標(biāo)芯片。隨核發(fā)布的說(shuō)明文件中通常會(huì)指出該核使用何種語(yǔ)言、用何種軟件環(huán)境調(diào)試、曾經(jīng)綜合下載到何種芯片以及硬件調(diào)試設(shè)備等,在使用時(shí),最好選用同樣的芯片和調(diào)試環(huán)境,而且最好選擇同時(shí)發(fā)布測(cè)試向量的核,這樣測(cè)試起來(lái)比較方便。
          * 選擇時(shí)要考慮核使用何種總線標(biāo)準(zhǔn)。如果把不同的IP Core組成一個(gè)系統(tǒng),則需要這些IP Core具有標(biāo)準(zhǔn)的接口。通常情況下,要盡量避免使用三態(tài)總線,因?yàn)槿龖B(tài)總線技術(shù)依靠電路延時(shí)來(lái)避免時(shí)序沖突問(wèn)題,這種對(duì)工藝的依賴性,不利于IP Core的復(fù)用。免費(fèi)IP Core通常使用Wishbone總線標(biāo)準(zhǔn),由于其開(kāi)放性,擁有了不少的用戶。它的特點(diǎn)是同時(shí)支持高字節(jié)在后(BIG ENDIAN)和低字節(jié)在后(LITTLE ENDIAN)的字節(jié)編址方式;支持多個(gè)主單元;支持點(diǎn)對(duì)點(diǎn)、數(shù)據(jù)流、共享總線以及交叉開(kāi)關(guān)等連接方式。尤其是其交叉方式使得多個(gè)主單元可以同時(shí)進(jìn)行數(shù)據(jù)交換,大大提高了數(shù)據(jù)吞吐率。

          結(jié)語(yǔ)
          免費(fèi)IP Core這一豐富的共享資源的有效利用將會(huì)帶來(lái)巨大的價(jià)值,開(kāi)放式硬件的商業(yè)應(yīng)用也是有可能實(shí)現(xiàn)的?;陂_(kāi)放式硬件設(shè)計(jì)的商業(yè)模式可以從設(shè)計(jì)的支持、實(shí)現(xiàn)、應(yīng)用等方面進(jìn)行,只要仔細(xì)研究開(kāi)放機(jī)構(gòu)的宗旨和規(guī)定,使用者就可以發(fā)現(xiàn)很多商業(yè)應(yīng)用的渠道?!?/p>

          參考文獻(xiàn)
          1 潘松,黃繼業(yè). EDA技術(shù)實(shí)用教程. 科學(xué)出版社. 2002



          關(guān)鍵詞: CPU IP Core

          評(píng)論


          相關(guān)推薦

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

          關(guān)閉