|
第四章 altera的IP工具 altera的IP核的安裝文件可以在www.網(wǎng)站上免費(fèi)下載到。 注:在定制從網(wǎng)上下載的IP功能模塊時(shí),需要制定IP庫的位置,否則megawizard管理器中不會(huì)出現(xiàn)用戶安裝的IP庫。在Quartus II中運(yùn)行【assignments】/【setting】命令,在打開的【setting】窗口中切換到【user libraries】,可添加IP庫。 IP(intellectual property)就是常說的知識(shí)產(chǎn)權(quán)。 隨著FPGA/CPLD的規(guī)模越來越大,設(shè)計(jì)越來越復(fù)雜,使用IP核是一個(gè)發(fā)展趨勢(shì)。 根據(jù)實(shí)現(xiàn)的不同,IP可以分為軟IP、固IP、硬IP。 . 軟IP:用硬件描述語言(HDL)形式描述功能塊的行為,但并不涉及用什么電路和電路元件實(shí)現(xiàn)這些行為。軟IP的開發(fā)過程與應(yīng)用軟件的開發(fā)過程類似,只是所需的開發(fā)軟、硬件環(huán)境要求較高,尤其是EDA工具軟件價(jià)格很昂貴。軟IP是設(shè)計(jì)周期短、設(shè)計(jì)投入少,由于不涉及物理實(shí)現(xiàn),為后續(xù)設(shè)計(jì)留有很大的發(fā)揮空間,增大了IP的靈活性和適用性。缺點(diǎn)是設(shè)計(jì)中會(huì)有一定比例的后續(xù)工序無法適應(yīng)軟IP設(shè)計(jì),從而造成一定程度的軟IP修改。 .固IP:完成了綜合的功能塊,有較大的設(shè)計(jì)深度,以網(wǎng)表形式提交客戶使用。 .硬IP:提供設(shè)計(jì)的最終階段產(chǎn)品---掩膜(mask)。隨著設(shè)計(jì)深度的提高,后續(xù)工序所需要做的事情就越少,靈活性也就降低。
altera及第三方IP合作伙伴給客戶提供了許多可用的功能模塊,可分為兩類:免費(fèi)的LPM宏功能模塊(megafunctions /LPM)和需要授權(quán)使用的IP知識(shí)產(chǎn)權(quán)(megacore)。 LPM宏功能模塊:是一些復(fù)雜或高級(jí)的構(gòu)建模塊,可以在Quartus II設(shè)計(jì)文件中和門、觸發(fā)器等基本單元一起使用,這些模塊的功能一般都是通用的,比如counter、FIFO、RAM等。altera提供的可參數(shù)化LPM宏功能模塊和LPM函數(shù)均為altera器件結(jié)構(gòu)做了優(yōu)化,而且必須使用宏功能模塊才可以使用一些altera特定器件的功能,例如存儲(chǔ)器、DSP塊、LVDS驅(qū)動(dòng)器、PLL以及SERDES和DDIO電路。 注:(何時(shí)應(yīng)用宏功能塊)對(duì)于一些簡(jiǎn)單的功能模塊,如加/減、簡(jiǎn)單的多路器等,通常建議使用通用的HDL來描述,這樣的邏輯功能用HDL描述起來非常簡(jiǎn)潔,而且綜合工具可以把這些基本功能放在整個(gè)設(shè)計(jì)中進(jìn)行優(yōu)化,使得系統(tǒng)達(dá)到最優(yōu)。如果使用altera的基本宏功能,由于綜合工具的算法無法對(duì)宏功能模塊進(jìn)行優(yōu)化操作,反而會(huì)影響設(shè)計(jì)的結(jié)構(gòu);而對(duì)一些相對(duì)比較復(fù)雜的設(shè)計(jì),例如,一個(gè)同步可載入的計(jì)數(shù)器,使用altera的基本宏功能會(huì)得到較好的結(jié)果。 另外,在設(shè)計(jì)代碼中過多地使用基本宏功能,也會(huì)降低代碼的可移植性。 使用基本宏功能設(shè)計(jì)方法不一定總給設(shè)計(jì)帶來顯著的性能提升和面積節(jié)省,需自己實(shí)踐。 IP知識(shí)產(chǎn)權(quán):是某一領(lǐng)域內(nèi)的實(shí)現(xiàn)某一算法或功能的參數(shù)化模塊(簡(jiǎn)稱IP核)。這些模塊是由altera以及altera的第三方IP合作伙伴開發(fā)的,專門針對(duì)altera的可編程邏輯器件進(jìn)行過優(yōu)化和測(cè)試,一般需要用戶付費(fèi)購(gòu)買才能使用??稍赼ltera網(wǎng)站下載后進(jìn)行使用和評(píng)估,滿意后再購(gòu)買license。都是以加密網(wǎng)表(netlist)的形式交給客戶,即固IP,同時(shí)配以一定的約束文件,例如邏輯位置、管腳、以及I/O電平的約束。 絕大部分IP核支持opencoreplus,也就是說用戶可以免費(fèi)在實(shí)際器件中驗(yàn)證所用的IP核(用戶必須把所用器件通過JTAG電纜連到PC機(jī)上,否則IP核電路不會(huì)工作)。 如果用戶使用第三方綜合工具進(jìn)行邏輯綜合,需要在設(shè)計(jì)中加入 xxx_bb.v。 altera中只需把MegaWizard生成的封裝文件 xxx.v加入當(dāng)前工程中即可;但xilinx的coregen在產(chǎn)生一基本功能塊的同時(shí),會(huì)產(chǎn)生一個(gè).edn網(wǎng)表,在布局布線時(shí),需要將這個(gè).edn網(wǎng)表加入,工具將其融合到整個(gè)設(shè)計(jì)的大網(wǎng)表中 |
|
|