加入星計(jì)劃,您可以享受以下權(quán)益:

  • 創(chuàng)作內(nèi)容快速變現(xiàn)
  • 行業(yè)影響力擴(kuò)散
  • 作品版權(quán)保護(hù)
  • 300W+ 專業(yè)用戶
  • 1.5W+ 優(yōu)質(zhì)創(chuàng)作者
  • 5000+ 長(zhǎng)期合作伙伴
立即加入
  • 正文
    • Verilog是什么?
    • Verilog為何誕生?
    • Verilog有何特點(diǎn)?
    • 如何提高Verilog編碼水平?
  • 推薦器件
  • 相關(guān)推薦
  • 電子產(chǎn)業(yè)圖譜
申請(qǐng)入駐 產(chǎn)業(yè)圖譜

如何提高Verilog代碼編寫水平?

03/08 09:50
2819
閱讀需 6 分鐘
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(diǎn)資訊討論

IC設(shè)計(jì)端的諸多崗位中,只要提到基礎(chǔ)知識(shí)和必備技能,就一定少不了Verilog。

按照20年芯片設(shè)計(jì)老兵的說法“1. 知道m(xù)odule的基本框架。2. 知道怎么寫assign,和always塊。3. 其他沒有了?!?/p>

也就是說用VerilogHDL做設(shè)計(jì)不要追求花架子,要多花心思在電路設(shè)計(jì)上。

Verilog是什么?

Verilog HDL是目前世界上最流行的硬件描述語(yǔ)言之一,是用文本形式來描述數(shù)字系統(tǒng)硬件的結(jié)構(gòu)和行為的語(yǔ)言。

使用Verilog能夠清楚地展現(xiàn)邏輯電路圖、表達(dá)式等等,還可以用來表示數(shù)字邏輯系統(tǒng)所完成的邏輯功能。?(需要借助EDA工具)

Verilog為何誕生?

IC行業(yè)諸多工具、崗位的出現(xiàn),都是源于行業(yè)和市場(chǎng)的需求。

電路設(shè)計(jì)復(fù)雜度的不斷提高,傳統(tǒng)的電路原理圖設(shè)計(jì)方法的工作量越來越大。但與之對(duì)應(yīng)的是:設(shè)計(jì)效率和正確性不斷降低,驗(yàn)證的難度不斷提高。這樣的現(xiàn)狀已經(jīng)無(wú)法滿足市場(chǎng)對(duì)于IC產(chǎn)品高性能、低功耗、快上市的需求。1985年,Gateway Design Automation公司為其仿真器產(chǎn)品Verilog-XL開發(fā)了Verilog語(yǔ)言。1989年,Cadence收購(gòu)Gateway公司,并繼續(xù)推廣Verilog語(yǔ)言。后來Verilog受到了越來越多工程師的歡迎,IEEE也制定了Verilog IEEE標(biāo)準(zhǔn)。

Verilog有何特點(diǎn)?

Verilog的語(yǔ)法風(fēng)格類似于C語(yǔ)言,對(duì)于有C語(yǔ)言基礎(chǔ)的同學(xué)來說,還是比較友好的。但是Verilog和C還是有本質(zhì)上的區(qū)別,C語(yǔ)言是一種軟件開發(fā)語(yǔ)言,主要是控制硬件實(shí)現(xiàn)某些功能。而Verilog作為硬件描述語(yǔ)言,其實(shí)最終還是為了產(chǎn)生實(shí)際的硬件電路或者對(duì)硬件電路進(jìn)行仿真。

【示例1】

左邊是與門電路符號(hào),右邊是把左邊電路轉(zhuǎn)換成verilog描述。

【示例2】

左邊是異步復(fù)位觸發(fā)器電路,右邊是把觸發(fā)器電路轉(zhuǎn)換成verilog描述。也就是說,Verilog的代碼并不僅僅是一行行代碼,而是一塊一塊硬件模塊。

基本語(yǔ)法介紹

Verilog語(yǔ)言采用模塊化設(shè)計(jì),以模塊集合的形式來描述數(shù)字系統(tǒng)。模塊(module)可以理解為verilog HDL語(yǔ)言的基本描述單位,它用于描述某個(gè)電路的功能或結(jié)構(gòu),以及該模塊和其他模塊通信的輸入輸出端口。模塊支持層次嵌套,一個(gè)模塊可由若干子模塊構(gòu)成,模塊所構(gòu)建的硬件電路可以是基本門電路也可以是一個(gè)復(fù)雜的系統(tǒng)電路。每個(gè)模塊必須以module開頭,以endmodule結(jié)尾;設(shè)計(jì)模塊還需要定義端口,用input、output、inout分別描述輸入、輸出、雙向端口;模塊中間的Verilog程序的書寫類似C語(yǔ)言,每條語(yǔ)句以分號(hào)結(jié)束;使用“/*…*/”和“//”可以對(duì)多行或一行程序進(jìn)行注釋。

1. 用assign描述持續(xù)賦值

assign語(yǔ)句一般用于組合邏輯電路賦值,也稱之持續(xù)賦值,例如下圖電路結(jié)構(gòu)可描述為:

assign f=((a&b)|(c&d));

2.用always描述過程塊賦值

例:16位的計(jì)數(shù)器模塊設(shè)計(jì)

3.?模塊實(shí)例化(調(diào)用模塊)

Verilog中一個(gè)模塊調(diào)用另一個(gè)模塊是通過實(shí)例化來實(shí)現(xiàn)的,這樣就能建立起層次化的設(shè)計(jì)結(jié)構(gòu)。

例如在其他模塊調(diào)用上面的16位計(jì)數(shù)器模塊。

如何提高Verilog編碼水平?

Verilog是IC設(shè)計(jì)工作中必不可少的。首先一定要熟悉最基本的語(yǔ)法知識(shí),對(duì)于技術(shù)類的崗位來說,只學(xué)基礎(chǔ)知識(shí)顯然是不夠的,還需要不斷練習(xí)和仿真,養(yǎng)成良好的代碼編寫習(xí)慣。

作為芯片設(shè)計(jì)端的工程師,心中對(duì)于要實(shí)現(xiàn)的電路必須門清。

“至少你必須在頭腦中把RTL級(jí)的行為構(gòu)建出來。然后再用assign (組合邏輯)加always (時(shí)序邏輯)把你的想法描述出來?!?/p>

這里給新手幾條建議:深入理解Verilog概念和語(yǔ)法;實(shí)踐編寫代碼;閱讀和分析優(yōu)秀的代碼;調(diào)試和驗(yàn)證代碼;參與開源項(xiàng)目和社區(qū),多交流多學(xué)習(xí)。

最重要的還是“心中有電路”,Verilog也好、EDA也好,都只是實(shí)現(xiàn)電路的工具。工具的掌握是基本功,長(zhǎng)期下功夫還是要在電路結(jié)構(gòu)和電路設(shè)計(jì)上。

推薦器件

更多器件
器件型號(hào) 數(shù)量 器件廠商 器件描述 數(shù)據(jù)手冊(cè) ECAD模型 風(fēng)險(xiǎn)等級(jí) 參考價(jià)格 更多信息
0734120110 1 Molex RF Connector, Female, Board Mount, Surface Mount Terminal, Receptacle, HALOGEN FREE AND ROHS COMPLIANT

ECAD模型

下載ECAD模型
$0.85 查看
53047-0310 1 Molex Board Connector, 3 Contact(s), 1 Row(s), Male, Straight, 0.049 inch Pitch, Solder Terminal, Locking, White Insulator, Receptacle,

ECAD模型

下載ECAD模型
$0.15 查看
43045-0612 1 Molex Rectangular Power Connector, 6 Contact(s), Male, Solder Terminal, Receptacle,

ECAD模型

下載ECAD模型
$1.09 查看

相關(guān)推薦

電子產(chǎn)業(yè)圖譜