rst驅動(pe加載rst驅動)

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

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

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

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

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

1、工程設計層次化,結構化

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

2、模塊的設計

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

3、parameter參數傳遞

Verilog中可以用parameter定義一個標識符代表一個常量,有助提高程序的可讀性,也方便對程序的可擴展性,根據設置的不同的參數,實現不同的功能。

4、宏定義和條件編譯

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

5、遵循FPGA的編碼規范

增強代碼的可讀性,應該遵循FPGA編碼規范,一般以公司的編碼要求為準。

介紹幾點常見的編碼風格要求:

1)、編寫設計文檔;

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

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

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

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

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

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

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

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

10)、盡量遵循業界已經習慣的一些約定;

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

12)、使用適當的always進程、函數、端口定義、信號含義、變量含義或信號組、變量組的意義等;

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

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

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

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

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

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

19)、代碼編寫時的數據類型只是用IEEE定義的標準類型;

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

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

22)、避免采用內部三態電路,建議多路選擇電路代替內部三態電路;

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

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

#Verilog#

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