注:以R起頭的是對編寫Verilog代碼的IP設(shè)計者所做的強(qiáng)制性規(guī)定,以G起頭的條款是建議采用的規(guī)范。每個設(shè)計者遵守本規(guī)范可鍛煉命名規(guī)范性。
4 注釋(Comments)
注釋可用于描述 Verilog HDL代碼的功能,特別需要提醒設(shè)計者注意的是,只依靠讀代碼很難理解的設(shè)計意圖必須在代碼中添加注釋加以說明。
每一個可綜合的Verilog RTL級電路模塊、虛擬器件和測試模塊文件必須具有下面格式的文件頭。設(shè)計規(guī)范規(guī)定:文件頭的格式必須與下面的格式一致,以便于將來可用軟件對模塊代碼進(jìn)行分析處理。文件頭中大寫的關(guān)鍵詞可以用來檢索。下面的這個模板可以保證文件頭的一致性。下面所示的文件頭只是最小要求。在“REUSE ISSUE”段之后,還可以再添加其他的文件頭.另外,有關(guān)版權(quán)的文件頭也應(yīng)該包括在文件頭中。
// +FHEADER-----------------------------------------------------------------
// Optional Copyright (c)
// Optional Company Confidential
// ----------------------------------------------------------------------
// FILE NAME :
// DEPARTMENT :
// AUTHOR:
// AUTHOR’S EMAIL :
// --------------------------------------------------------------------
// RELEASE HISTORY
// VERSION DATE AUTHORDESCRIPTION
// 1.0 YYYY-MM-DD name
// ---------------------------------------------------------------------
// KEYWORDS : General file searchinGkeywords, leave blank if none.
//-----------------------------------------------------------------------
// PURPOSE : Short description of functionality
// ----------------------------------------------------------------------
// PARAMETERS
// PARAM NAME RANGE : DESCRIPTION : DEFAULT : UNITS
// e.g.DATA_WIDTH [32,16] : width of the data : 32 :
// ----------------------------------------------------------------------
// REUSE ISSUES
// Reset Strategy :
// Clock Domains :
// Critical TiminG:
// Test Features :
// Asynchronous I/F :
// Scan Methodology :
// Instantiations :
// Synthesizable (y/n) :
// OtheR:
// -FHEADER-------------------------------------------------------------
R 4.1 每個文件必須有文件頭(header)
每一個文件必須包括如上面代碼段所示的文件頭。其中,所有的區(qū)域都必須包括在內(nèi),甚至空的數(shù)據(jù)段。
原因:按照規(guī)范編寫的標(biāo)準(zhǔn)文件頭便于建立公司內(nèi)部的設(shè)計信息查詢系統(tǒng)。
R 4.2 使用文件頭界定標(biāo)記 [+FHEADER & -FHEADER]
標(biāo)簽+FHEADER& -FHEADER一定要用來定義頭信息的界限。(the boundary of the 文件頭
information)
原因:這是識別文件頭的簡單方法,標(biāo)明該頭是文件頭,便于用文本工具自動地查詢存檔的資料。
R 4.3 文件頭內(nèi)必須包含文件名
文件頭中必須包含文件名
原因:這樣做提供了一種簡單的方法以便用文本處理工具自動地查詢相關(guān)的設(shè)計文件。
R 4.4 文件頭中必須包含聯(lián)系方式
文件頭中必須包含有關(guān)本代碼的多種信息,其中包括開發(fā)小組的名稱、作者名、版本歷史、作者電話、電子郵件和郵寄地址。
原因:必要時可以找到原作者詢問只從設(shè)計文檔無法理解的問題。
R 4.5 文件頭包含發(fā)布?xì)v史
文件頭必須要包含進(jìn)入虛擬器件(VC)庫的修改歷史,最近的修改列于最后。日期格式必須采用YYYY-MM-DD。這個信息對于集成器是有用的。本地的修改歷史不應(yīng)該包含其中。
原因:要求去記錄設(shè)計的修改歷史。
R 4.6 文件頭包含一個關(guān)鍵字段
文件頭必須包含便于搜索的關(guān)鍵字段。該字段應(yīng)該包含有關(guān)本模塊功能的簡要說明,或是能與本模塊配合運(yùn)行的總線和系統(tǒng)的名稱。
原因:關(guān)鍵字可提供快速的搜索機(jī)制,便于自動文本處理工具在龐大的虛擬器件 (VC)庫中搜索合適的器件。如果沒有關(guān)鍵字,該條目應(yīng)該空著。
例子:sdram, address decoder, coldfire, sbus, amba,usb2.0
R 4.7 文件頭必須包含一段描述模塊功能的說明
文件頭必須包含一段描述本模塊功能的說明,而不是如何操作或運(yùn)行方式的說明。
原因:有助于對模塊功能的理解。
R 4.8 文件頭必須包含參數(shù)描述文件的名和路徑
文件頭必須包含描述本模塊代碼所使用的參數(shù)文件的名和路徑。缺省值必須都在參數(shù)文件中列出。有效值域也必須標(biāo)出。
原因:有助于對Verilog HDL代碼的理解
R 4.9 復(fù)位策略必須在頭文件中說明
在頭文件中必須詳細(xì)說明復(fù)位策略。包括說明是同步復(fù)位還是異步復(fù)位,是內(nèi)部復(fù)位還是外部上電復(fù)位,是硬復(fù)位還是軟復(fù)位,以及該模塊是否能用單個復(fù)位來調(diào)試。
原因:改善代碼的可讀性,突出重點(diǎn)和必需的綜合步驟。
R 4.10 對時鐘域(clock domain)的說明
在頭文件中必須詳細(xì)說明所有的時鐘和時鐘策略。
原因:說明內(nèi)部生成的時鐘或是分頻的時鐘,便于對代碼和時鐘策略的理解。
R 4.11 對關(guān)鍵布線路徑的說明
包括外部時機(jī)關(guān)系的決定性的時機(jī)必須記錄。文件頭的位置可以包含含有決定性的時機(jī)的文件名(如creation guide)
原因:建立時機(jī)和輸出時機(jī)關(guān)系突出了必需的綜合和測試。
R 4.12 記錄測試的特點(diǎn)
任何具體的代碼中的用于提高測試速度的測試特色必須記錄。
原因:一旦可視化部件被集成,這點(diǎn)可用來改善對代碼的理解和測試。
例子:parallel clocking, BIST
R 4.13 需要詳細(xì)的異步接口
異步接口必須包括時間關(guān)系和相關(guān)頻率
原因:有助于對設(shè)計的理解,并且有助于決定是否需要額外的同步的stages用于一個不同目標(biāo)的應(yīng)用。
R 4.14 標(biāo)明掃描方法的風(fēng)格
有關(guān)于掃描風(fēng)格的標(biāo)注必不可缺
原因:有助于設(shè)計的集成
例子:Mux-D oRLSSD
R 4.15 文檔實(shí)例化
文件頭必須包括有關(guān)于文檔內(nèi)每一個單元、模塊、函數(shù)調(diào)用、任務(wù)是如何實(shí)例化的部分。(參考R 4.30, R 7.4, G 10.23)
原因:標(biāo)明必須用于重定義技術(shù)的區(qū)域,并且?guī)椭斫庠O(shè)計層次。
例子:實(shí)例化 mux2s cell, decode task
原因:絕大部分由實(shí)例組成的模塊。
R4.16 標(biāo)明可綜合能力
綜合結(jié)構(gòu)的能力必須以指定的YES或NO標(biāo)明
原因:直接標(biāo)明模塊的使用路徑(如:是否該模塊可被用于仿真)
G 4.17 其他頭文檔(OtheRheadeRdocumentation)
建議文件頭包含額外的相關(guān)信息——這些信息用于集成器或可以使代碼更易理解。這一部分信息有助于設(shè)計者的判斷,并可保持附加信息點(diǎn)的位置連續(xù)性。
-
FPGA
+關(guān)注
關(guān)注
1629文章
21736瀏覽量
603419 -
Verilog
+關(guān)注
關(guān)注
28文章
1351瀏覽量
110101 -
RTL
+關(guān)注
關(guān)注
1文章
385瀏覽量
59789 -
代碼
+關(guān)注
關(guān)注
30文章
4788瀏覽量
68616 -
IP設(shè)計
+關(guān)注
關(guān)注
0文章
10瀏覽量
10513
發(fā)布評論請先 登錄
相關(guān)推薦
評論