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

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

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

03/08 09:50
2861
閱讀需 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是目前世界上最流行的硬件描述語言之一,是用文本形式來描述數(shù)字系統(tǒng)硬件的結(jié)構(gòu)和行為的語言。

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

Verilog為何誕生?

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

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

Verilog有何特點(diǎn)?

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

【示例1】

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

【示例2】

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

基本語法介紹

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

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

assign語句一般用于組合邏輯電路賦值,也稱之持續(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ì)工作中必不可少的。首先一定要熟悉最基本的語法知識(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概念和語法;實(shí)踐編寫代碼;閱讀和分析優(yōu)秀的代碼;調(diào)試和驗(yàn)證代碼;參與開源項(xiàng)目和社區(qū),多交流多學(xué)習(xí)。

最重要的還是“心中有電路”,Verilog也好、EDA也好,都只是實(shí)現(xiàn)電路的工具。工具的掌握是基本功,長期下功夫還是要在電路結(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 查看
43025-0800 1 Molex Board Connector, 8 Contact(s), 2 Row(s), Female, Straight, Crimp Terminal, Locking, Black Insulator, Receptacle,

ECAD模型

下載ECAD模型
$0.45 查看
53261-0871 1 Molex Board Connector, 8 Contact(s), 1 Row(s), Male, Right Angle, 0.049 inch Pitch, Surface Mount Terminal, Locking, Natural Insulator, Receptacle, LEAD FREE

ECAD模型

下載ECAD模型
$0.72 查看

相關(guān)推薦

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

IC行業(yè)前沿資訊,IC領(lǐng)域硬核知識(shí),專注打造IC人才科技生態(tài)圈。公眾號(hào):IC修真院