国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

通信接口免費IP核的應(yīng)用

2012-12-17 10:48:24中州大學(xué)李可勝
電子世界 2012年7期
關(guān)鍵詞:源代碼文件夾開源

中州大學(xué) 時 偉 李可勝

安徽移動蚌埠分公司 李永亮

1.引言

隨著集成電路行業(yè)制造工藝的飛速發(fā)展,芯片的集成度急劇增加,且具有較高的功能和復(fù)雜度。從設(shè)計開發(fā)和市場的角度來看,這些特征都對電路設(shè)計人員提出了新的挑戰(zhàn)。目前,設(shè)計復(fù)用技術(shù)已成為了解決問題的有效方法;根據(jù)業(yè)界經(jīng)驗,任何模塊如果不作任何修改就可以在十個或更多項目中復(fù)用,都應(yīng)以IP核的形式進行開發(fā)設(shè)計。

IP(Intellectual Property)核是指具有獨立知識產(chǎn)權(quán)的電路核,用于實現(xiàn)特定的電路功能和結(jié)構(gòu),一般包括軟核、硬核與固核[1]。軟核是以PLD器件為目標(biāo)載體用硬件描述語言設(shè)計可復(fù)用電路,硬核是針對集成電路制造而設(shè)計的電路結(jié)構(gòu)掩膜,固核是完成綜合后以網(wǎng)表形式存在的文件。在基于可編程邏輯器件(FPGA/CPLD)的工程設(shè)計中,由于開發(fā)工具的通用性、設(shè)計語言的標(biāo)準化,使得電路的設(shè)計過程基本與器件硬件結(jié)構(gòu)無關(guān);以IP核形式設(shè)計的各種功能模塊具有良好的兼容性和移植性,恰當(dāng)?shù)貜?fù)用這些IP核可使設(shè)計效率大大提高,降低設(shè)計成本和開發(fā)周期。

目前各PLD廠家(Altera,Xilinx,Lattice等)均提供商用的IP核設(shè)計,這些IP核多針對目標(biāo)器件的結(jié)構(gòu)進行優(yōu)化設(shè)計,使得嵌入該類IP核的系統(tǒng)電路在不同廠家芯片上實現(xiàn)時需花額外的時間做修改,降低了系統(tǒng)可移植性;且該類IP核多集成于相應(yīng)的開發(fā)工具中或單獨向用戶提供銷售,用戶無法得到源代碼,這為資金短缺的設(shè)計團體或個人增加了一定負擔(dān),也為系統(tǒng)集成帶來了一定困難。

作為一種推廣嘗試,國際上一些非盈利組織(如OpenCores[2]等)和個人致力于自由(或稱免費)IP核的發(fā)展,為電路設(shè)計人員提供遵循GNU GPL[3]或LGPL協(xié)議的免費開源IP核。本文以通信接口(Communication Interface)免費IP核為例,介紹了免費IP核的使用,包括資源的獲取方式和工具,文檔的應(yīng)用,測試方法等問題,希望以此引起設(shè)計人員對免費資源的關(guān)注。文中使用的免費資源取自O(shè)penCores開源社區(qū)。

2.資源的獲取與工具

免費IP Core資源通常由非盈利性組織或個人提供,有些PLD廠家也提供部分類似資源,但因大多是針對某個特定的芯片,所以可移植性較差。本文主要關(guān)注以發(fā)展免費開源IP核為宗旨的OpenCores組織提供的資源。

開源社區(qū)OpenCores是國際上比較有影響力的組織,致力于LGPL(GNU Lesser Public License)協(xié)議下IP核的設(shè)計和發(fā)布,保證設(shè)計資源能被自由免費使用。該組織還制定和發(fā)展開放式IP核的設(shè)計標(biāo)準及平臺,為用戶提供免費的EDA設(shè)計工具,及相關(guān)設(shè)計資源與工具的文檔支持。

該社區(qū)使用SVN工具[4]管理所有設(shè)計資源,使用者可以通過SVN工具或以WEB方式下載資源的最新版本。作為項目資源的開發(fā)和維護人員,可使用SVN工具來管理更新項目。所提供的資源分類有算術(shù)運算器、通信接口、DSP、存儲器、ECC模塊、微處理器、SoC、系統(tǒng)控制器、視頻控制器及其他程序庫設(shè)計等。該組織維護管理的WISHBONE總線標(biāo)準因其具有開放性,且有豐富免費IP核資源支持,實際已成為免費IP核設(shè)計的互連標(biāo)準;該組織提供的OR1000(OpenRisc1000)處理器軟核已被數(shù)家公司的開發(fā)系統(tǒng)采用并在ASIC上實現(xiàn),同時在近年來推出了其更新版本OR1200和OR2000。

SVN(Subversion)是一套成熟的自由開源版本控制系統(tǒng),完成在代碼開發(fā)過程中涉及到的各種資源的自動化版本管理功能。SVN支持Linux和Windows平臺的安裝,下載并安裝后,即可訪問OpenCores社區(qū)提供的資源,該網(wǎng)站提供相關(guān)資源所在服務(wù)器的配置信息和資源管理信息,使用者以所提供的信息,可以直接訪問所需的指定資源,執(zhí)行瀏覽和下載等操作。

完善的IP核一般包含源代碼文件、說明文件、測試向量文件、仿真結(jié)果及綜合結(jié)果。以下以通信接口IP核為例進行說明。

SPI(Serial Peripheral Interface)接口為板級設(shè)備間通信提供了經(jīng)濟性的解決方案,廣泛應(yīng)用于微處理器、DAC、ADC及其他設(shè)備間的信息交換,已成為實際應(yīng)用中的工業(yè)標(biāo)準。首先用從OpenCores下載所需要的資源(此例的項目名為SPI),下載到本地后的文件解壓后包含若干文件夾,如圖1所示。其中trunk文件夾中存放了設(shè)計資源,其他文件夾為SVN系統(tǒng)自動生產(chǎn)用于版本控制。在trunk目錄下包含的資源信息如下:bench文件夾內(nèi)為測試向量文件,用于對IP核進行功能仿真;doc文件夾內(nèi)為說明文件;rtl文件夾內(nèi)為源代碼文件,一般使用Verilog或VHDL語言編寫;sim文件夾下存放了RTL級的仿真結(jié)果。

圖1 資源目錄

3.資源的使用

3.1 了解IP核的功能特性

要將IP核嵌入到自己的系統(tǒng)中使用,首先要對其功能和特性做全面的了解。OpenCores社區(qū)要求開發(fā)人員為其IP核項目提供相應(yīng)的說明文件(Specification),該SPEC文件一般包含變動記錄(Revision History)、功能特性簡介(Introduction),IO及參數(shù)說明(IO Ports & Parameters)、寄存器說明(Registers)、工作原理(Operation)、組成結(jié)構(gòu)(Architecture)及IP核配置說明(Configuration)等內(nèi)容。

本文所使用的IP核說明文件表明,該設(shè)計是WISHBONE總線兼容的SPI主控電路,具有以下特性:雙向同步串行數(shù)據(jù)傳輸,最高支持128位的可變長度傳輸,起始位可選MSB或LSB,Rx和Tx可選上升沿或下降沿工作,8個從電路選擇,與工藝無關(guān)的Verilog語言編程及可綜合特性。在SPEC中另有詳細的IO和寄存器描述。

3.2 用EDA工具進行分析驗證

在..spi tlverilog目錄下有該IP核的源代碼設(shè)計文件,使用者可以根據(jù)需要選用,并對所選的源代碼進行分析,了解其實現(xiàn)特定邏輯功能的編程方法,這也有助于對該電路核進行修改。

該電路核能否正常工作只能通過仿真和測試來確定。主流仿真軟件有Modelsim、ActiveHDL、Cadence NC-Verilog/NC-VHDL等;另外,OpenCcores也提供免費開源的設(shè)計工具如,Icarus Verilog Simulator,Verilator,GHDL VHDL simulator等。

本文使用Active-HDL 8.1和ISE9.1在Xilinx的Spartan XC2S100-5TQ144C芯片上進行了驗證。

表1 通信接口IP核的源代碼文件

本例中bench目錄下存有用于仿真的測試文件,tb_spi_top.v為該IP核的頂層測試文件,可以用來對電路所實現(xiàn)的邏輯功能做仿真測試。由于資源是免費的,該文件里給出的測試向量可能是不完全的或只對部分電路功能做測試。如果要做更全面的測試,使用者要在分析源代碼的基礎(chǔ)上繼續(xù)添加測試項來完善該測試文件。SPI的IP核源代碼文件如表1所示。

4.結(jié)束語

免費IP核的商業(yè)應(yīng)用將減少開發(fā)成本,縮短產(chǎn)品投放市場的時間,愛好者可以利用該資源來設(shè)計實現(xiàn)和驗證自己的設(shè)想,在教育和科研領(lǐng)域?qū)γ赓MIP核的使用將進一步完善其設(shè)計和功能。但免費資源并不是十分成熟或完善的資源,要妥善處理后才可以得以發(fā)揮作用。

[1]付燕,王瑋,王福源.免費IP核的應(yīng)用[J].河南科技,2004.

[2]OpenCores.http://www.opencores.org.

[3]張平.GPL規(guī)范的自由[J].軟件世界,2007,15.

[4]劉佳,徐博,雍少為.基于SVN的部隊文檔管理方法研究[J].艦船電子工程,2010,4.

猜你喜歡
源代碼文件夾開源
人工智能下復(fù)雜軟件源代碼缺陷精準校正
計算機仿真(2023年8期)2023-09-20 11:23:42
磁力文件夾
基于TXL的源代碼插樁技術(shù)研究
五毛錢能買多少頭牛
軟件源代碼非公知性司法鑒定方法探析
調(diào)動右鍵 解決文件夾管理三大難題
大家說:開源、人工智能及創(chuàng)新
開源中國開源世界高峰論壇圓桌會議縱論開源與互聯(lián)網(wǎng)+創(chuàng)新2.0
揭秘龍湖產(chǎn)品“源代碼”
開源計算機輔助翻譯工具研究
平乡县| 虹口区| 汶上县| 绩溪县| 乌鲁木齐市| 永修县| 旅游| 鲁甸县| 新沂市| 资兴市| 曲水县| 同仁县| 根河市| 顺昌县| 汶上县| 嘉祥县| 河南省| 信丰县| 彰武县| 石嘴山市| 泾阳县| 即墨市| 星座| 永州市| 义乌市| 镇安县| 泗水县| 横山县| 仙桃市| 张家口市| 察隅县| 育儿| 瑞昌市| 开江县| 梨树县| 武义县| 滁州市| 巴东县| 双牌县| 高安市| 寻甸|