閱讀 | 訂閱
閱讀 | 訂閱
控制系統(tǒng)

可編程邏輯設(shè)計(jì)原則之硬件原則

星之球激光 來(lái)源:FPGA設(shè)計(jì)網(wǎng)2011-12-05 我要評(píng)論(0 )   

硬件原則主要針對(duì)HDL代碼編寫(xiě)而言。應(yīng)該明確FPGA/CPLD的邏輯設(shè)計(jì)所采用的硬件描述語(yǔ)言同軟件語(yǔ)言是有本質(zhì)區(qū)別的!以Verilog語(yǔ)言為例,雖然Verilog許多語(yǔ)法規(guī)則和C語(yǔ)言相...

硬件原則主要針對(duì)HDL代碼編寫(xiě)而言。應(yīng)該明確FPGA/CPLD的邏輯設(shè)計(jì)所采用的硬件描述語(yǔ)言同軟件語(yǔ)言是有本質(zhì)區(qū)別的!以Verilog語(yǔ)言為例,雖然Verilog許多語(yǔ)法規(guī)則和C語(yǔ)言相似,但是Verilog作為硬件描述語(yǔ)言,他的本質(zhì)作用在于描述硬件!應(yīng)該認(rèn)識(shí)到Verilog是采用了C語(yǔ)言形式的硬件的抽象,他的最終實(shí)現(xiàn)結(jié)果是芯片內(nèi)部的實(shí)際電路。所以評(píng)判一段HDL代碼的優(yōu)劣的最終標(biāo)準(zhǔn)是其描述并實(shí)現(xiàn)的硬件電路的性能(包括面積和速度兩個(gè)方面)。評(píng)價(jià)一個(gè)設(shè)計(jì)的代碼水平較高,僅僅是說(shuō)這個(gè)設(shè)計(jì)由硬件向HDL代碼這種表現(xiàn)形式轉(zhuǎn)換的更流暢、合理。而一個(gè)設(shè)計(jì)的最終性能,在更大程度上取決于設(shè)計(jì)工程時(shí)所構(gòu)想的硬件實(shí)現(xiàn)方案的效率以及合理性。

片面追求代碼的整潔、簡(jiǎn)短,這是錯(cuò)誤的,是與評(píng)價(jià)HDL的標(biāo)準(zhǔn)背道而馳的!

硬件原則的另外一個(gè)重要理解是“并行”和“串行”的概念。硬件系統(tǒng)比軟件系統(tǒng)速度快、實(shí)時(shí)性高,其重要原因就是硬件系統(tǒng)中各個(gè)單元的運(yùn)算是獨(dú)立的,信號(hào)流失并行的。而C語(yǔ)言編譯后,其機(jī)器指令在CPU的高速緩沖隊(duì)列中基本是順序執(zhí)行的,即使有一些并行處理的技術(shù),也是在一定程度上是十分有限的。所以在寫(xiě)HDL代碼的時(shí)候,應(yīng)該充分理解硬件系統(tǒng)的并行處理特點(diǎn),合理安排數(shù)據(jù)流的時(shí)序,提高整個(gè)設(shè)計(jì)的效率。





RTL級(jí)Verilog描述語(yǔ)法和C語(yǔ)言描述語(yǔ)法的區(qū)別舉例:

1、循環(huán)

在C語(yǔ)言的描述中,為了使代碼執(zhí)行效率高,表述簡(jiǎn)潔,經(jīng)常用到下面的for語(yǔ)句

for(i=0;i<16;i++)

...

Verilog代碼設(shè)計(jì)中,在RTL級(jí)編碼中極少使用FOR循環(huán),因?yàn)閒or循環(huán)會(huì)被綜合器展開(kāi)為所有變量情況的執(zhí)行語(yǔ)句,每個(gè)變量獨(dú)立占用寄存器資源,每條執(zhí)行語(yǔ)句并不能有效的復(fù)用硬件邏輯資源,造成巨大的資源浪費(fèi)。RTL硬件描述中,遇到類(lèi)似算法,推薦的方式是先搞清楚設(shè)計(jì)的時(shí)序要求,做一個(gè)reg型計(jì)數(shù)器,在每個(gè)時(shí)鐘沿累加,并在每個(gè)時(shí)鐘沿判斷計(jì)數(shù)器情況,做相應(yīng)的處理,能復(fù)用的處理模塊盡量復(fù)用,即使所有操作都不能復(fù)用,也采用case語(yǔ)句展開(kāi)處理。如:

reg [3:0] counter;

always @(posedge clk)

if(syn_rst)

counter <= 4'b0;

else

counter <= counter+1;

always @(posedge clk)

begin

case(counter)

4'b0000:

...

default:

endcase

end



2、條件判斷

C語(yǔ)言中主要有if...else和switch語(yǔ)句,兩者之間的區(qū)別主要在于程序的長(zhǎng)短。

Verilog中也有相應(yīng)的if...else和case語(yǔ)句,但其描述結(jié)構(gòu)就有很大的區(qū)別。if...else語(yǔ)句是有優(yōu)先級(jí)的。一般來(lái)說(shuō)第一個(gè)if的優(yōu)先級(jí)最高,最后一個(gè)else優(yōu)先級(jí)最低。而case語(yǔ)句是“平行”的結(jié)構(gòu),沒(méi)有優(yōu)先級(jí)。
 

 

轉(zhuǎn)載請(qǐng)注明出處。

暫無(wú)關(guān)鍵詞
免責(zé)聲明

① 凡本網(wǎng)未注明其他出處的作品,版權(quán)均屬于激光制造網(wǎng),未經(jīng)本網(wǎng)授權(quán)不得轉(zhuǎn)載、摘編或利用其它方式使用。獲本網(wǎng)授權(quán)使用作品的,應(yīng)在授權(quán)范圍內(nèi)使 用,并注明"來(lái)源:激光制造網(wǎng)”。違反上述聲明者,本網(wǎng)將追究其相關(guān)責(zé)任。
② 凡本網(wǎng)注明其他來(lái)源的作品及圖片,均轉(zhuǎn)載自其它媒體,轉(zhuǎn)載目的在于傳遞更多信息,并不代表本媒贊同其觀點(diǎn)和對(duì)其真實(shí)性負(fù)責(zé),版權(quán)歸原作者所有,如有侵權(quán)請(qǐng)聯(lián)系我們刪除。
③ 任何單位或個(gè)人認(rèn)為本網(wǎng)內(nèi)容可能涉嫌侵犯其合法權(quán)益,請(qǐng)及時(shí)向本網(wǎng)提出書(shū)面權(quán)利通知,并提供身份證明、權(quán)屬證明、具體鏈接(URL)及詳細(xì)侵權(quán)情況證明。本網(wǎng)在收到上述法律文件后,將會(huì)依法盡快移除相關(guān)涉嫌侵權(quán)的內(nèi)容。

網(wǎng)友點(diǎn)評(píng)
0相關(guān)評(píng)論
精彩導(dǎo)讀