|
代碼風(fēng)格 本文節(jié)選自特權(quán)同學(xué)的圖書(shū)《FPGA設(shè)計(jì)實(shí)戰(zhàn)演練(邏輯篇)》 配套例程下載鏈接:http://pan.baidu.com/s/1pJ5bCtt 所謂的設(shè)計(jì)習(xí)慣和代碼風(fēng)格,主要是指工程師用于實(shí)現(xiàn)具體邏輯電路的代碼書(shū)寫方式。換句話說(shuō),通常對(duì)于一樣的邏輯電路,可以有多種不同的代碼書(shū)寫方式來(lái)實(shí)現(xiàn),不同的工程師一般也會(huì)根據(jù)自己的喜好和習(xí)慣寫出不同的代碼,這也就是所謂的設(shè)計(jì)習(xí)慣和代碼風(fēng)格。(特權(quán)同學(xué),版權(quán)所有) 對(duì)于一些復(fù)雜的FPGA開(kāi)發(fā),工程師的設(shè)計(jì)習(xí)慣和代碼風(fēng)格將會(huì)在很大程度上影響器件的時(shí)序性能、邏輯資源的利用率以及系統(tǒng)的可靠性。有人可能會(huì)說(shuō),今天的EDA綜合工具已經(jīng)做得非常強(qiáng)大了,能夠在很大程度上保證HDL代碼所實(shí)現(xiàn)邏輯電路的速度和面積的最優(yōu)化。但是要提醒大家注意的是,人工智能永遠(yuǎn)無(wú)法完全識(shí)破人類的意圖,當(dāng)然了,綜合工具通常也無(wú)法知曉設(shè)計(jì)者真正的意圖。要想讓綜合工具明白設(shè)計(jì)者的用心良苦,也只有一個(gè)辦法,便是要求設(shè)計(jì)者寫出的HDL代碼盡可能最優(yōu)化。那么,我們又回到了老議題上——設(shè)計(jì)者的代碼風(fēng)格。而到底如何書(shū)寫HDL代碼才算是最優(yōu)化,什么樣的代碼才稱得上是好的代碼風(fēng)格呢?對(duì)于玲瑯滿目的FPGA廠商和FPGA器件,既有大家都拍手叫好的設(shè)計(jì)原則和代碼風(fēng)格,也有需要根據(jù)具體器件和具體應(yīng)用隨機(jī)應(yīng)變的漂亮的代碼風(fēng)格。一些基本的設(shè)計(jì)原則是所有器件都應(yīng)該遵循的,當(dāng)然了,設(shè)計(jì)者若是能夠?qū)λ褂闷骷牡讓淤Y源情況了如指掌,并在編寫代碼過(guò)程中結(jié)合器件結(jié)構(gòu)才有可能設(shè)計(jì)出最優(yōu)化的代碼風(fēng)格。(特權(quán)同學(xué),版權(quán)所有) 這里我們將和大家一起探討在絕大多數(shù)FPGA設(shè)計(jì)中必定會(huì)而且可能是非常頻繁的涉及到的邏輯電路的設(shè)計(jì)原則、思想或代碼書(shū)寫方式。(特權(quán)同學(xué),版權(quán)所有) |