rst驅(qū)動(pe加載rst驅(qū)動)
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ū)動)到此分享完畢,希望對大家有所幫助。
作者:baidianfeng365本文地址:http://lkxg.cn/bdf/42008.html發(fā)布于 2024-05-09
文章轉(zhuǎn)載或復(fù)制請以超鏈接形式并注明出處白癜風(fēng)知識網(wǎng)