想(xiǎng)要(yào)学好(hǎo)FPGA設計(jì)不(bù)是(shì)一(yī)件(jiàn)簡單的(de)事(shì)情(qíng),但是(shì)技巧和(hé)方(fāng)法到(dào)位了(le),这(zhè)不(bù)是(shì)一(yī)件(jiàn)難事(shì)。明(míng)德揚總(zǒng)結了(le)要(yào)学好(hǎo)FPGA,学習EDA邏輯設計(jì)的(de)4个(gè)步驟,請拍磚(zhuān)!
1、首先(xiān),應(yìng)該好(hǎo)好(hǎo)学習一(yī)下(xià)FPGA/CPLD的(de)設計(jì)設計(jì)流程。
不(bù)要(yào)簡單的(de)以(yǐ)为(wèi)就(jiù)是(shì)設計(jì)輸入(rù)-》仿真(zhēn)-》綜合-》实現(xiàn)那(nà)麼(me)一(yī)回(huí)事(shì),要(yào)摳细(xì),要(yào)学精,要(yào)多(duō)問(wèn)每个(gè)步驟的(de)注意(yì)事(shì)項,區(qū)分(fēn)相關(guān)步驟的(de)聯系(xì)和(hé)區(qū)别。比如(rú)要(yào)搞清(qīng)楚功能(néng)仿真(zhēn)、綜合後(hòu)仿真(zhēn)、Translate後(hòu)仿真(zhēn)、Map後(hòu)的(de)仿真(zhēn)、布(bù)局(jú)布(bù)線(xiàn)後(hòu)仿真(zhēn)的(de)作用(yòng)都是(shì)什麼(me),什麼(me)时(shí)候應(yìng)該做,什麼(me)时(shí)候可(kě)以(yǐ)不(bù)做这(zhè)些仿真(zhēn)!学習清(qīng)楚了(le)設計(jì)流程最(zuì)大的(de)好(hǎo)处就(jiù)是(shì)有(yǒu)利于(yú)培養良好(hǎo)的(de)EDA設計(jì)習慣,日(rì)後(hòu)会(huì)受益非(fēi)淺!
2、 關(guān)于(yú)設計(jì)輸入(rù)和(hé)Coding Style。
設計(jì)輸入(rù)最(zuì)好(hǎo)学習HDL語(yǔ)言,Verilog、VHDL都可(kě)以(yǐ),可(kě)以(yǐ)把狀态機(jī)輸入(rù)和(hé)原理图(tú)輸入(rù)作为(wèi)補充內(nèi)容,但不(bù)是(shì)重(zhòng)點(diǎn)。我(wǒ)在(zài)前(qián)面(miàn)的(de)帖子已經(jīng)反(fǎn)複強(qiáng)調了(le) Coding Style的(de)重(zhòng)要(yào)性(xìng)。因(yīn)为(wèi)它(tā)是(shì)邏輯設計(jì)人(rén)員的(de)一(yī)个(gè)基本(běn)業务素質(zhì)。而(ér)且Coding Style不(bù)是(shì)看(kàn)幾(jǐ)篇(piān)文(wén)章(zhāng),学幾(jǐ)条(tiáo)原則就(jiù)能(néng)够成(chéng)为(wèi)高(gāo)手(shǒu)的(de),他(tā)需要(yào)您在(zài)工作中(zhōng)不(bù)斷的(de)體(tǐ)会(huì)和(hé)積累,在(zài)学習的(de)最(zuì)初,有(yǒu)Coding Style的(de)意(yì)識,設計(jì)者(zhě)就(jiù)会(huì)有(yǒu)意(yì)的(de)積累,对(duì)日(rì)後(hòu)發(fà)展(zhǎn)很有(yǒu)好(hǎo)处。反(fǎn)之則後(hòu)患无窮。
3、培養硬(yìng)件(jiàn)的(de)意(yì)識,培養系(xì)統的(de)观念。
我(wǒ)也(yě)在(zài)交流和(hé)授課的(de)时(shí)候很強(qiáng)調硬(yìng)件(jiàn)意(yì)識,如(rú)果(guǒ)從形式上(shàng)看(kàn),邏輯設計(jì)随着智能(néng)化(huà)和(hé)优化(huà)手(shǒu)段(duàn)的(de)不(bù)斷發(fà)展(zhǎn)最(zuì)後(hòu)会(huì)越来(lái)越靈活,越来(lái)越簡單。比如(rú)我(wǒ)们(men)現(xiàn)在(zài)在(zài)使用(yòng)大型 FPGA时(shí)就(jiù)很少(shǎo)談如(rú)何用(yòng)Floorplanner优化(huà),手(shǒu)動(dòng)布(bù)線(xiàn),如(rú)果(guǒ)用(yòng)手(shǒu)動(dòng)方(fāng)式,其工作量(liàng)太大了(le)啊!一(yī)个(gè)設計(jì)的(de)优劣,關(guān)鍵看(kàn)其設計(jì)者(zhě)的(de)硬(yìng)件(jiàn)意(yì)識,和(hé)系(xì)統意(yì)識。硬(yìng)件(jiàn)意(yì)識就(jiù)是(shì)要(yào)求先(xiān)做到(dào)对(duì)設計(jì)的(de)硬(yìng)件(jiàn)胸有(yǒu)成(chéng)竹(zhú),HDL代(dài)碼僅僅是(shì)一(yī)个(gè)表(biǎo)述心(xīn)中(zhōng)硬(yìng)件(jiàn)的(de)工具。系(xì)統意(yì)識要(yào)求設計(jì)者(zhě)有(yǒu)宏观的(de)观念,对(duì)設計(jì)的(de)全(quán)局(jú)有(yǒu)个(gè)合适的(de)安(ān)排,比如(rú)时(shí)鐘(zhōng)域,模块(kuài)複用(yòng),約束(shù),面(miàn)積,速度(dù)等問(wèn)題(tí)。要(yào)知道(dào)在(zài)系(xì)統上(shàng)複用(yòng)模块(kuài)节(jié)省(shěng)的(de)面(miàn)積遠(yuǎn)比在(zài)代(dài)碼上(shàng)小打(dǎ)小鬧来(lái)的(de)实惠得多(duō)。
4、最(zuì)後(hòu)才是(shì)工具软(ruǎn)件(jiàn)的(de)使用(yòng)。
現(xiàn)在(zài)EDA软(ruǎn)件(jiàn)都越来(lái)越友好(hǎo),越来(lái)越“傻瓜化(huà)”,如(rú)果(guǒ)您費了(le)1年(nián)還(huán)沒(méi)有(yǒu)基本(běn)摸清(qīng)软(ruǎn)件(jiàn)的(de)使用(yòng),我(wǒ)敢说(shuō),那(nà)是(shì)一(yī)个(gè)比較烂的(de)软(ruǎn)件(jiàn)(起碼在(zài)用(yòng)戶接口(kǒu)上(shàng)),因(yīn)为(wèi)这(zhè)是(shì)和(hé)EDA这(zhè)種(zhǒng)方(fāng)式的(de)理念背道(dào)而(ér)驰的(de)。但是(shì)作为(wèi)設計(jì)者(zhě),软(ruǎn)件(jiàn)是(shì)工具,應(yìng)該熟練掌握各(gè)个(gè)步驟不(bù)同(tóng)方(fāng)面(miàn)的(de)软(ruǎn)件(jiàn),这(zhè)樣(yàng)才能(néng)最(zuì)大程度(dù)地(dì)發(fà)揮您的(de)聰明(míng)才智,才能(néng)使您如(rú)虎添翼!








