資源描述:
《vhdl代碼書寫規(guī)范》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在學(xué)術(shù)論文-天天文庫(kù)。
1、VHDL代碼書寫規(guī)范(定稿)文件編號(hào):編制:審核:可靠性審核:標(biāo)準(zhǔn)化:批準(zhǔn):文件會(huì)蒼瓦文件歷史記錄文件編號(hào)現(xiàn)行版本V1.0文件標(biāo)題VHDL代碼書寫規(guī)范文件履歷版次編制日期更改內(nèi)容(條款)V1.0V1.01.閥12.范圍13.似吾測(cè)14.擱夫臟14.1命名規(guī)范1R1.—個(gè)文件只包含一個(gè)模塊,文件命名和實(shí)體命名必須相同。文件名大寫,K后綴小寫。1K2.頂層文件命名方式使用工程名、器件型號(hào)與_TOP結(jié)合。頂層文件的元件實(shí)例化,后綴使用jnodule;第二層文件的元件實(shí)例化,后綴使用_block;第三層之后不做定義(若遇到常見(jiàn)的?本邏輯電路或子模塊,如:SRAM、F
2、IFO等,那么優(yōu)先使用具有代表性的名稱)1R3.代碼編寫之前,以文檔的方式,根據(jù)功能分類,分別對(duì)FPGA的外部端口進(jìn)行命名約定。2R4.命名要有實(shí)際意義。2R5.命名標(biāo)識(shí)符的首字符必須是字母,包含多個(gè)單詞的標(biāo)志符單詞之間使用下劃線分開(kāi)。信號(hào)、變量等的命名最后字符也一定要求是字母,屮間的可以是數(shù)字或者其他合法符號(hào)。2R6.模塊、信號(hào)、變量等的命名不大于64個(gè)字符2R7.實(shí)體、結(jié)構(gòu)名、端口信號(hào)、常量用大寫標(biāo)識(shí)2R8.行為級(jí)、結(jié)構(gòu)級(jí)和數(shù)據(jù)流級(jí)結(jié)構(gòu)命名分別以“BEH_實(shí)體名”、“STR_實(shí)體名”和“1^1_實(shí)體名”區(qū)分。如果是混合使用,或者是分不清使用了那一種結(jié)構(gòu),
3、那么就是用1隊(duì)_實(shí)體名”命名。3R9.單口RAM模塊命名以SPRAM作后綴;雙口RAM模塊命名以DPRAM作后綴;ROM模塊命名以ROM作后綴;FIFO模塊命名以FIFOjt后綴;數(shù)字時(shí)鐘笆理模塊命名以DCM作后綴;鎖相環(huán)模塊命名以PLL作后綴;乘法模塊命名以MULT作后綴;除法模塊命名以DIV作后綴;加法模塊命名以ADD作后綴;減法模塊命名以SUB作后綴3K10.模塊實(shí)例化時(shí),采用‘如_乂*_元件名’標(biāo)識(shí),cell實(shí)例化時(shí)使用件名’標(biāo)識(shí)。3R11.模塊內(nèi)部定義的信號(hào)、變量采用首字母大寫命名。首字母符合說(shuō)明的要求。3R12.非頂層模塊端口信號(hào)命名方式采用I_
4、portname、0_portname和IO_portnamc分別對(duì)應(yīng)輸入、輸出和雙向端□信號(hào)。3R13.時(shí)鐘信號(hào)必須用后綴“_clk”進(jìn)行命名。3R14.對(duì)于微處理器接口的寄存器,必須包含reg標(biāo)志。用下劃線分開(kāi)該寄存器功能特征。4R15.對(duì)于輸入管腳時(shí)鐘采樣同步的信號(hào)命名要求后綴加“_buf”表示。多次采樣加數(shù)字區(qū)分。4R16.—些常用的基木信號(hào)按說(shuō)明統(tǒng)一后綴命名。4R17.多比特信號(hào),應(yīng)該使用相同的比特順序,都采用downto描述。5R18.VHDL的保留字用小寫。5R19.調(diào)用IEEE標(biāo)準(zhǔn)庫(kù)時(shí),“IEEE”用大寫,其它用小寫。54.2注釋規(guī)范5R20
5、.每個(gè)VHDL源文件應(yīng)該在文件頭注釋文件的基木信息。5R21.每個(gè)信號(hào)、變量、常量和端口的定義都要有注釋。5R22.每個(gè)進(jìn)程使用“”隔開(kāi)。如果一個(gè)功能模塊由幾個(gè)進(jìn)程組成,使用”--*****”隔開(kāi)。...5R23.對(duì)于內(nèi)部表,注釋說(shuō)明表的組成、表的內(nèi)容及作用。64.3其它書寫規(guī)范6R24.用縮進(jìn)方式使得代碼有層次感,縮進(jìn)不要使用TAB鍵,縮進(jìn)為4個(gè)空格。6R25.每行字符數(shù),最大不能超過(guò)120。6R26.模塊端U每行定義一個(gè)。先根據(jù)端U功能進(jìn)行區(qū)分,然后再根據(jù)輸入輸出方向進(jìn)行區(qū)分,類間用空行分開(kāi)。6R27.調(diào)用模塊使用“=〉”方式進(jìn)行端口映射,總線到總線映射
6、吋(xdowntoy)要寫全。6R28.調(diào)用模塊進(jìn)行端口映射時(shí),一行代碼只映射一個(gè)信號(hào)。順序必須與原模塊保持一致6K29功能集中或有很強(qiáng)的相關(guān)性的變量信號(hào)聲明放在一起,類間用空行或注釋分開(kāi)。6R30.端U、信號(hào)、變量定義需要對(duì)齊;模塊實(shí)例化時(shí),端U映射需要對(duì)齊。6R31.運(yùn)算符與信號(hào)之間必須有空格分開(kāi)71.目的規(guī)范VHDL的書寫風(fēng)格,保證代碼的可讀性、可重用性和可移植性,并且要與現(xiàn)有的EDA工具保持一致,從而形成對(duì)VHDL代碼的標(biāo)準(zhǔn)化管理。本標(biāo)準(zhǔn)規(guī)定丫VHDL代碼書寫規(guī)范。本標(biāo)準(zhǔn)適用于G-LINK公司研發(fā)屮心。3.術(shù)語(yǔ)說(shuō)明木規(guī)范使用的術(shù)語(yǔ)解釋如下:級(jí)別:指該
7、規(guī)則遵循的級(jí)別,奮兩個(gè)級(jí)別,分別為推薦和規(guī)定。推薦:表示在一般情況下必須遵循該規(guī)則。規(guī)定:表示必須嚴(yán)格遵守該規(guī)則。說(shuō)明:對(duì)此規(guī)則或準(zhǔn)則的必要的解釋。示例:對(duì)此規(guī)則舉例進(jìn)行說(shuō)明,示例分為正例和反例。正例:對(duì)此規(guī)則或準(zhǔn)則給出的正確示例。反例:對(duì)此規(guī)則或準(zhǔn)則給出的反面示例。4.書寫規(guī)范4.1命名規(guī)范R1.—個(gè)文件只包含一個(gè)模塊,文件命名和實(shí)體命名必須相同。文件名大寫,其后綴小寫。級(jí)別:規(guī)定說(shuō)明:文件類型為.vhd。如果文件名與實(shí)體名不一致,有些編譯器不能識(shí)別,而且名字不一致,也不利于將文件與模塊對(duì)應(yīng),不利于文件的管理。正例:文件名是SER_TSP.vhd,那么文件
8、內(nèi)部實(shí)體的命名就是entitySER_TSPispo