很多人認(rèn)為,IC/FPGA屬于設(shè)計(jì)范疇。設(shè)計(jì)是一個(gè)需要設(shè)計(jì)師自由創(chuàng)作的過程,怎么可能被一些條條框框所局限呢?其實(shí),設(shè)計(jì)規(guī)范化與自由創(chuàng)作之間沒有任何矛盾。它只是制約了那些可能出錯(cuò)或者低效的行為,令設(shè)計(jì)思路更加明朗、設(shè)計(jì)效率得到提高、設(shè)計(jì)質(zhì)量充分保證。還有人認(rèn)為,目前在IC/FPGA設(shè)計(jì)方面,并沒有類似工業(yè)ISO質(zhì)量管理體系的國(guó)際通用標(biāo)準(zhǔn)規(guī)范體系,到底有沒有這樣的規(guī)范呢?
其實(shí)這是一個(gè)創(chuàng)造、發(fā)展、完善、規(guī)范的過程。比如ISO,就是在現(xiàn)代工業(yè)發(fā)展很多年后,才建立并逐步完善起來,又經(jīng)過一段時(shí)間才大規(guī)模的推廣使用。相比較之下,F(xiàn)PGA,甚至整個(gè)IT產(chǎn)業(yè),都還屬于正處于高速發(fā)展期,尚未完全成熟。其二,任何大型國(guó)際通用規(guī)范體系的雛形,都是由一些企業(yè)內(nèi)部規(guī)范、行業(yè)內(nèi)部規(guī)范逐步整合發(fā)展而成。目前有少量企業(yè)、研究所都有其相應(yīng)的標(biāo)準(zhǔn),成為通用規(guī)范需要一個(gè)過程。
來看一份計(jì)數(shù)器規(guī)范:
逐一考慮初值、加1條件、結(jié)束值三要素,且初值必須為0;
使用某一計(jì)數(shù)值,須同時(shí)滿足加1條件;
結(jié)束條件必須同時(shí)滿足加1條件,且結(jié)束值必須是結(jié)束值-1形式(計(jì)數(shù)是從0開始的);
取某個(gè)數(shù)時(shí),assign形式必須為:(加1條件)&&(cnt==計(jì)數(shù)值-1);
每輪計(jì)數(shù)周期結(jié)束,計(jì)數(shù)器必須歸0;
若要限定范圍,推薦>=和<兩種符號(hào);
先寫always段,條件用名字代替;再assign寫加1條件;最后assign寫結(jié)束條件;
加1條件必須與計(jì)數(shù)器嚴(yán)格對(duì)齊,其它信號(hào)一律向計(jì)數(shù)器對(duì)齊;
命名規(guī)范。如:add_cnt表示加1條件;end_cnt表示結(jié)束條件。
在實(shí)際設(shè)計(jì)中,考慮邊界值通常要認(rèn)真思考,而且很容易出錯(cuò)。在這條規(guī)則中,需要限定范圍推薦使用“>=”和“<”兩種符號(hào)。這里嚴(yán)格限制一定是“大于或等于”和“小于”,而不能用“大于”“小于或等于”。如要取前8位數(shù),就取cnt>=0 && cnt<8。
該規(guī)則參考編程里的for循環(huán)語句。假如要循環(huán)8次,for循環(huán)的條件通常寫成“i=0;i<8;i++”,前面的0表示開始值,后面的8表示循環(huán)次數(shù)。當(dāng)然,也可以寫成“i=0;i<=7;i++”,但是這些數(shù)字的意義令人費(fèi)解。盡管7是從8-1得來,但是多一個(gè)-1的思考,完全是畫蛇添足。代碼不夠簡(jiǎn)明,而且容易出現(xiàn)混亂。
在這份規(guī)范中,每一條原則都有其內(nèi)在的原因,是從實(shí)際工作中凝練而出的,可以用于指導(dǎo)以后工作中通用需求的依據(jù)。
規(guī)范的意義不止于此,更重要的是對(duì)于學(xué)習(xí)者而言是一條捷徑。在初期,不必過多的去糾結(jié)其原因,也就是說你不必去想“規(guī)則是怎么來的”,只需要按照規(guī)則要求去做,即可避免自己慢慢摸索所需要走的彎路。至于規(guī)則的原理,在長(zhǎng)期的使用中慢慢就會(huì)理解并體會(huì)。按照正確的方法在實(shí)際中運(yùn)用,接著在實(shí)際工作中反過來加深理解。這是“在戰(zhàn)爭(zhēng)中學(xué)習(xí)戰(zhàn)爭(zhēng)”的精髓。
-
FPGA
+關(guān)注
關(guān)注
1629文章
21729瀏覽量
602986
原文標(biāo)題:FPGA規(guī)范化的重要性
文章出處:【微信號(hào):ALIFPGA,微信公眾號(hào):FPGA極客空間】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論