資源描述:
《verilog hdl代碼書寫規(guī)范》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。
1、1.目的規(guī)范VerilogHDL的書寫風格,保證代碼的可讀性、可重用性和可移植性。2.范圍本標準規(guī)定了本書推薦的VerilogHDL代碼的書寫規(guī)范。本標準適用于G-LINK公司研發(fā)中心。3.術(shù)語說明本規(guī)范使用的術(shù)語解釋如下:說明:對此規(guī)則或準則的必要的解釋。示例:對此規(guī)則舉例進行說明,示例分為正例和反例。正例:對此規(guī)則或準則給出的正確示例。反例:對此規(guī)則或準則給出的反面示例。4.書寫規(guī)范R1.一個文件只包含一個模塊,文件命名和模塊命名必須相同。說明:設(shè)計文件類型的后綴為.v;仿真測試平臺的后綴為.vt。如果文件名與實體名不一致,有些編譯
2、器不能識別,而且名字不一致,也不利于將文件與模塊相對應,不利于文件的管理。正例:文件名是adder.vhd,那么文件內(nèi)部實體的命名就是moduleadder(……);R4.命名要有實際意義。說明:具有一定意義的命名比寫上好幾行的注釋要好得多。正例:如全加器模塊(full_adder)、半加器子模塊(half_adder)和時鐘信號鎖相環(huán)模塊(clk_shift_phase_pll)等1)常用規(guī)則:l常數(shù)、DEFINE和參數(shù)必須用大寫字母定義。不允許將大小寫字母混用來表示詞的間隔,應該用下橫線來表示詞間隔,例如:ddr_address_b
3、usl所有端口、信號、變量均采用小寫l用n結(jié)尾的下橫線表示低電平有效。例如:reset_memory_n,reset_nl聲明總線寬度的語句必須用[n:0],而不能用[0:n],標記0表示LSB,標記n表示MSBl輸入/輸出端口和信號的聲明必須每個信號一行,然后組合起來,必要時在端口信號后添加注釋。l表示組合邏輯的always塊的電平敏感列表,必須每個變量一行(見樣板模塊)。2)信號命名規(guī)則:l時鐘信號用clk做前綴,把具體名放在后面,例如:clk_memory.l復位信號用reset做前綴,把具體名放在后面,例如:reset_memo
4、ry.l單個輸入信號用i做前綴,把具體名放在后面,例如:i_memory_enablel總線輸入信號用iv做前綴,把具體名放在后面,例如:iv_memory_datal單個輸出信號用o做前綴,把具體名放在后面,例如:o_memory_readl總線輸出信號用ov做前綴,把具體名放在后面,例如:ov_memory_wdatal單條線網(wǎng)用w做前綴,把具體名放在后面,例如:w_tmp_enablel線網(wǎng)總線用wv做前綴,把具體名放在后面,例如:wv_tmp_data3)狀態(tài)機變量的命名規(guī)則:l狀態(tài)機的狀態(tài)變量必須用以下兩個名字:n當前狀態(tài)用c
5、state命名n下一個狀態(tài)用nstate命名如果有一個以上的狀態(tài)可以用后綴來命名該狀態(tài),例如:cstate_fetchl把狀態(tài)機的初始狀態(tài)定義為:IDLE---------------------------------------------------------------------------------------4)可綜合模塊的樣板代碼:---------------------------------------------------------------------------------------//+FHEA
6、DER///////////////////////////////////////////////////////////////////////////////版權(quán)所有者:神州龍芯公司.//Copyright2007.AllRightsReserved.//保密級別:,本代碼絕對不能外傳//-------------------------------------------------------------------------------//文件名:memif_transfer.v//設(shè)計部門:SoC部門//原始作者:周鵬飛
7、//聯(lián)系方式:電子郵件:zhoupengfei@china-cpu.com//內(nèi)部電話:2802//--------------------------------------------------------------------------//版本升級歷史://版本生效日期://1.02005-09-12周鵬飛第1版//2.02006-11-11宋興嘉第2.0版//2.12007-01-18楊雷第2.1版//記錄每次升級的改進點。。。。。。。。。。。。。。。。。.//。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。/
8、/。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。------------------------------------------------------------------------