標(biāo)題: SOPC自定義元件的添加及運(yùn)行 [打印本頁]

作者: 51黑tt    時(shí)間: 2016-3-4 20:40
標(biāo)題: SOPC自定義元件的添加及運(yùn)行
      在SOPC中自定義元件的端口設(shè)置解析中講述了自定義元件的端口設(shè)置,在本文中將詳細(xì)講述如何將自定義元件嵌入SOPC Builder中,以及將該元件加入SOPC系統(tǒng),并通過運(yùn)行軟件測試該元件性能。






新建一個(gè)文件夾ip,將Ckecksum Hardware Accelerator的源文件checksum_accelerator.v,checksum_transform.v,latency_aware_read_master.v,slave.v復(fù)制到該文件夾下。

打開SOPC Builder,單擊左上角的Create new component…,彈出如下對(duì)話框:



Introduction頁面是對(duì)component editor的簡單介紹。

l         HDL Files



單擊Add…,選擇剛才新建的ip文件夾,將該文件夾下的所有.v文件選中加入,component editor并會(huì)進(jìn)行分析,主要是對(duì)端口的分析,將頂層文件的Top復(fù)選框打上勾。如果文件有改變可以點(diǎn)擊Reanalyze HDL Files重新分析。

       除了導(dǎo)入HDL文件外,component editor還提供另一種方法可以將端口export到SOPC系統(tǒng)之外,直接在Signals頁面手動(dòng)加入信號(hào)或在Templates中加入已經(jīng)定義好的端口信號(hào),用戶再自己修改。導(dǎo)入HDL文件后,Templates下拉菜單為灰色,無法加入。

l         Signals



這里的信號(hào)是component editor分析了HDL文件后自動(dòng)從文件中提取的端口信號(hào),用戶需要設(shè)置interface,Signal Type,Width,Direction以使用戶端口信號(hào)與Avalon總線信號(hào)相對(duì)應(yīng),如果用戶端口信號(hào)的命名方式參考 SOPC中自定義元件的端口設(shè)置解析 中的要求,則component editor自動(dòng)識(shí)別出相對(duì)應(yīng)的信號(hào)設(shè)置。

l         interfaces



Interfaces的類型在SOPC中自定義元件的端口設(shè)置解析 中有說明,主要有Master,slave,clock input等10種,在每種類型下面可以設(shè)置該類型interface的屬性參數(shù),如時(shí)序,流水線傳輸,interface的同步clock等。如果顯示了除定義以外的interface,則點(diǎn)擊Remove interfaces With No Signals刪除。

l         Component Wizard



在Component Wizard中可以設(shè)置元件所屬類型名稱,元件顯示名稱,版本號(hào)等信息,點(diǎn)擊Preview the GUI…可以預(yù)覽,如果在頂層HDL文件中定義了一些Parameters,可以這里加入以便讓用戶在實(shí)例化時(shí)可以設(shè)置這些參數(shù)。

       全部設(shè)置完后,點(diǎn)擊Finish…在ip文件夾下產(chǎn)生checksum_accelerator_hw.tcl文件,該文件并是Component editor根據(jù)用戶設(shè)置生成的文件,該文件提供給SOPC Builder所有需要的信息。

       除了硬件文件外,為了能用軟件執(zhí)行給元件,需要添加軟件驅(qū)動(dòng)程序。在ip文件夾下新建HAL文件和inc文件,ip文件結(jié)構(gòu)如下:


其中HAL文件夾下的inc文件夾下包含checksum_accelerator_routines.h為軟件API的頭文件,HAL文件夾下的src文件夾下包含checksum_accelerator_routines.c為軟件API的源文件,以及component.mk,該文件在編譯時(shí)提供驅(qū)動(dòng)程序源文件信息。在ip文件夾下的inc文件提供元件的寄存器映射(register map)文件,該文件提供軟件讀寫元件寄存器的地址。

       所有的工作完成后,將ip文件復(fù)制到QuaetusII工程目錄下,打開該工程的SOPC Builder,此時(shí)在左邊欄出現(xiàn)剛才新增的元件。


為了測試新增元件的功能,建立帶有該元件的SOPC系統(tǒng):


同時(shí)建立以該硬件為基礎(chǔ)的軟件工程,將文件test_checksum.c的內(nèi)容復(fù)制到應(yīng)用工程的源文件中,編譯,下載,運(yùn)行后,console窗口出現(xiàn)如下結(jié)果:


軟件首先產(chǎn)生64KB的隨機(jī)數(shù),然后分別用軟件cheksum和硬件checksum,輸出兩次checksum的結(jié)果,可以看到硬件checksum比軟件checksum快了65倍,硬件加速起到了很大的作用,因此在關(guān)鍵算法上可以采用硬件實(shí)現(xiàn),以提高速度。

作者: lyl_420819    時(shí)間: 2017-8-23 15:33
學(xué)習(xí)了,謝謝分享。




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1