|
Xilinx FPGA入門連載35:超聲波測距終極結(jié)果顯示之乘法器IP解析 特權(quán)同學(xué),版權(quán)所有 配套例程和更多資料下載鏈接: http://pan.baidu.com/s/1jGjAhEm
在本例程的工程源碼distance_compute.v中,例化了一個乘法器IP核。這里我們簡單的來看看這個IP核是如何創(chuàng)建、配置并使用的。 打開ISE工程,如圖所示,在“Design à Implementation à Hierarchy”中的任意位置單擊鼠標(biāo)右鍵,彈出菜單中選擇“New Source..”。
在“New Source Wizard”中,做如圖所示的設(shè)置。 ● “Select Source Type”中選擇新建文件類型為“IP(CORE Generator & Architecture Wizard)”。 ● “File name”即文件名,我們命名為“mux”。 ● “Location”下面輸入這個新建文件所存放的路徑,我們將其定位到工程路徑下的“ipcore_dir”文件夾下。 ● 勾選上“Add to project”。
完成以上設(shè)置后,點擊“Next”進入下一步。 在“Select IP”頁面中,如圖所示,我們在“Viewby Function”下面找到“Math Functions à Multipliers à Multiplier”,單擊選中它,接著點擊“Next”進入下一步。
如圖所示,彈出“Summary”頁面后,點擊“Finish”即可。
在Multiplier的第一個配置頁面中,我們選擇對乘法器的兩個輸入port(即乘數(shù)和被乘數(shù))進行配置,選擇它的DataType為“Unsigned”,即無符號數(shù);它的Width為“16”,即位寬16bit。
第二個配置頁面中,如圖所示。 ● 選擇“Multiplier Construction”為“Use Mults”,即使用FPGA內(nèi)部的專用乘法器來實現(xiàn)這個IP核。當(dāng)然了,也可以選擇“Use LUTs”,這意味著這個乘法器是使用FPGA的邏輯資源實現(xiàn)的。 ● 勾選“Speed Optimized”(速度優(yōu)化),通常在資源豐富,速度要求高的時候,我們選擇“Speed Optimized”。而在速度要求不高,資源緊張的時候,我們通常會選擇另一個選項“Area Optimized”,這都是由具體設(shè)計需求決定的。
第三個配置頁面中,我們無需做設(shè)置,直接點擊“Generate”生成配置好的IP核即可。
“Generate”完成后,如圖所示,我們可以在“Hierarchy”中選中mul.xco即剛剛產(chǎn)生的IP核模塊,然后雙擊打“Processes”下的“View HDLInstantiation Template”查看IP核的例化模板。
例化模板打開如圖所示,矩形區(qū)域內(nèi)的代碼我們復(fù)制到工程源碼中,對“( )”內(nèi)的接口做好映射,就可以將其集成到我們的設(shè)計中。
如下代碼所示,在我們的設(shè)計中,乘法器的兩個輸入a和b分別為常數(shù)443和超聲波測距的脈寬計數(shù)寄存器echo_pulse_filter_num,輸出結(jié)果為32bit的mul_out。
|