rst驅(qū)動(pe加載rst驅(qū)動)

摘要: 8月科學(xué)教育網(wǎng)小李來為大家講解下。rst驅(qū)動(pe加載rst驅(qū)動)這個很多人還不知道,現(xiàn)在讓我們一起來看看吧!#如何提高代碼的可維護性##嵌入式##fpga#如何提高代碼的可維護性...

8月科學(xué)教育網(wǎng)小李來為大家講解下。rst驅(qū)動(pe加載rst驅(qū)動)這個很多人還不知道,現(xiàn)在讓我們一起來看看吧!

#如何提高代碼的可維護性##嵌入式##fpga#

如何提高代碼的可維護性,這里只介紹FPGA的代碼維護,代碼好不好維護取決于是否遵循一定的編碼規(guī)則,或者編碼規(guī)范,或者公司內(nèi)部統(tǒng)一的編碼要求等等。

FPGA開發(fā)過程中,提高代碼的可維護性需注意以下幾點

1、工程設(shè)計層次化,結(jié)構(gòu)化

要編寫可維護、可移植的工程首先要對FPGA項目需求進行層次化、結(jié)構(gòu)化設(shè)計。遵循FPGA的設(shè)計流程,自頂向下,把一個任務(wù)按照功能或者類別分成若干個可獨立操作的模塊,每個模塊又可以細(xì)分下去,通過逐次分解與模塊的例化,整個工程的層次結(jié)構(gòu)就會非常清晰。

2、模塊的設(shè)計

模塊的設(shè)計要求,盡量做到功能獨立,接口簡單,編寫功能介紹,及代碼注釋,在系統(tǒng)維護過程中,代碼重用性越高,維護和移植的時候修改的代碼量就越小,甚至不修改。

3、parameter參數(shù)傳遞

Verilog中可以用parameter定義一個標(biāo)識符代表一個常量,有助提高程序的可讀性,也方便對程序的可擴展性,根據(jù)設(shè)置的不同的參數(shù),實現(xiàn)不同的功能。

4、宏定義和條件編譯

宏定義對系統(tǒng)的可維護,可移植上的作用和parameter類似,都是增加了程序的可讀性。條件編譯方便于一個模塊實現(xiàn)多個功能,根據(jù)設(shè)置選擇不同的功能進行編譯,來實現(xiàn)不同的功能,節(jié)省開發(fā)時間,相應(yīng)的語法使用就不這說明了。

5、遵循FPGA的編碼規(guī)范

增強代碼的可讀性,應(yīng)該遵循FPGA編碼規(guī)范,一般以公司的編碼要求為準(zhǔn)。

介紹幾點常見的編碼風(fēng)格要求:

1)、編寫設(shè)計文檔;

2)、對所有的信號名、變量名和端口名都用小寫,對常量名和用戶定義類型用大寫;

3)、使用有意義的信號名、端口名、函數(shù)名和參數(shù)名;

4)、信號名長度不要太長;

5)、對于時鐘信號使用clk作為信號名,如果設(shè)計中存在多個時鐘,使用clk作為時鐘信號的前綴;

6)、對于來自同一驅(qū)動源的信號在不同的子模塊中采用相同的名字,這要求在芯片總體設(shè)計時就定義好頂層子模塊間連接線的名字,端口和連接線端口的信號盡可能采用相同的名字;

7)、對于低電平有效的信號,應(yīng)該以一個下劃線跟一個小寫字母n表示;

8)、對于復(fù)位信號使用rst作為信號名,如果復(fù)位信號是低電平有效,建議使用rst_n;

9)、當(dāng)描述多比特總線時,使用一致的定義順序,對于verilog建議采用bus_signal[x:0]的表示;

10)、盡量遵循業(yè)界已經(jīng)習(xí)慣的一些約定;

11)、源文件頭一般包含的內(nèi)容有:文件名,作者,模塊的實現(xiàn)功能概述和關(guān)鍵特征描述,文件創(chuàng)建和修改的記錄,包括修改時間、修改的內(nèi)容等;

12)、使用適當(dāng)?shù)腶lways進程、函數(shù)、端口定義、信號含義、變量含義或信號組、變量組的意義等;

13)、每一行語句獨立成行;

14)、建議采用縮進提高續(xù)行和嵌套語句的可讀性,縮進一般采用兩個空格;

15)、在RTL源碼的設(shè)計中命名都不能取Verilog和VHDl語言的關(guān)鍵字;

16)、在進行模塊的端口聲明時,每行只聲明一個端口;

17)、在例化模塊時,使用名字相關(guān)的顯式映射而不要采用位置相關(guān)的映射;

18)、對一些重要的always語句塊定義一個有意義的標(biāo)號,注意括號名不要與信號名、變量名重復(fù);

19)、代碼編寫時的數(shù)據(jù)類型只是用IEEE定義的標(biāo)準(zhǔn)類型;

20)、在設(shè)計中不要直接使用數(shù)字;

21)、避免冗長的邏輯和子表達(dá)式;

22)、避免采用內(nèi)部三態(tài)電路,建議多路選擇電路代替內(nèi)部三態(tài)電路;

23)、注釋應(yīng)該放在它所注釋的代碼附近,要求簡明扼要,只要足夠說明設(shè)計意圖即可,避免過于復(fù)雜。

最后,給大家分享一下華為設(shè)計規(guī)范,掃碼下載即可(限時7天),多點點關(guān)注。

#Verilog#

本文rst驅(qū)動(pe加載rst驅(qū)動)到此分享完畢,希望對大家有所幫助。