Verilog HDL簡(jiǎn)明教程(part1)
第一章 簡(jiǎn)介
Verilog HDL是一種硬件描述語(yǔ)言,用于從算法級(jí)、門級(jí)到開關(guān)級(jí)的多種抽象設(shè)計(jì)層次的數(shù)字系統(tǒng)建模。被建模的數(shù)字系統(tǒng)對(duì)象的復(fù)雜性可以介于簡(jiǎn)單的門和完整的電子數(shù)字系統(tǒng)之間。數(shù)字系統(tǒng)能夠按層次描述,并可在相同描述中顯式地進(jìn)行時(shí)序建模。
本文引用地址:http://butianyuan.cn/article/201710/365607.htmVerilog HDL 語(yǔ)言具有下述描述能力:設(shè)計(jì)的行為特性、設(shè)計(jì)的數(shù)據(jù)流特性、設(shè)計(jì)的結(jié)構(gòu)組成以及包含響應(yīng)監(jiān)控和設(shè)計(jì)驗(yàn)證方面的時(shí)延和波形產(chǎn)生機(jī)制。所有這些都使用同一種建模語(yǔ)言。此外,Verilog HDL語(yǔ)言提供了編程語(yǔ)言接口,通過該接口可以在模擬、驗(yàn)證期間從設(shè)計(jì)外部訪問設(shè)計(jì),包括模擬的具體控制和運(yùn)行。
Verilog HDL語(yǔ)言不僅定義了語(yǔ)法,而且對(duì)每個(gè)語(yǔ)法結(jié)構(gòu)都定義了清晰的模擬、仿真語(yǔ)義。因此,用這種語(yǔ)言編寫的模型能夠使用Verilog仿真器進(jìn)行驗(yàn)證。語(yǔ)言從C編程語(yǔ)言中繼承了多種操作符和結(jié)構(gòu)。Verilog HDL提供了擴(kuò)展的建模能力,其中許多擴(kuò)展最初很難理解。但是,Verilog HDL語(yǔ)言的核心子集非常易于學(xué)習(xí)和使用,這對(duì)大多數(shù)建模應(yīng)用來說已經(jīng)足夠。當(dāng)然,完整的硬件描述語(yǔ)言足以對(duì)從最復(fù)雜的芯片到完整的電子系統(tǒng)進(jìn)行描述。
Verilog HDL語(yǔ)言最初是于1983年由Gateway Design AutomaTIon公司為其模擬器產(chǎn)品開發(fā)的硬件建模語(yǔ)言。那時(shí)它只是一種專用語(yǔ)言。由于他們的模擬、仿真器產(chǎn)品的廣泛使用,Verilog HDL 作為一種便于使用且實(shí)用的語(yǔ)言逐漸為眾多設(shè)計(jì)者所接受。在一次努力增加語(yǔ)言普及性的活動(dòng)中,Verilog HDL語(yǔ)言于1990年被推向公眾領(lǐng)域。 Open Verilog InternaTIonal (OVI)是促進(jìn)Verilog發(fā)展的國(guó)際性組織。1992年, OVI決定致力于推廣Verilog OVI標(biāo)準(zhǔn)成為IEEE標(biāo)準(zhǔn)。這一努力最后獲得成功,Verilog 語(yǔ)言于1995年成為IEEE標(biāo)準(zhǔn),稱為IEEE Std 1364-1995。完整的標(biāo)準(zhǔn)在Verilog硬件描述語(yǔ)言參考手冊(cè)中有詳細(xì)描述。
主要能力
下面列出的是Verilog硬件描述語(yǔ)言的主要能力:
* 基本邏輯門,例如and、or和nand等都內(nèi)置在語(yǔ)言中。
* 用戶定義原語(yǔ)(UDP)創(chuàng)建的靈活性。用戶定義的原語(yǔ)既可以是組合邏輯原語(yǔ),也可以是時(shí)序邏輯原語(yǔ)。
* 開關(guān)級(jí)基本結(jié)構(gòu)模型,例如pmos 和nmos等也被內(nèi)置在語(yǔ)言中。
* 提供顯式語(yǔ)言結(jié)構(gòu)指定設(shè)計(jì)中的端口到端口的時(shí)延及路徑時(shí)延和設(shè)計(jì)的時(shí)序檢查。
* 可采用三種不同方式或混合方式對(duì)設(shè)計(jì)建模。這些方式包括:行為描述方式—使用過程化結(jié)構(gòu)建模;數(shù)據(jù)流方式—使用連續(xù)賦值語(yǔ)句方式建模;結(jié)構(gòu)化方式—使用門和模塊實(shí)例語(yǔ)句描述建模。
* Verilog HDL中有兩類數(shù)據(jù)類型:線網(wǎng)數(shù)據(jù)類型和寄存器數(shù)據(jù)類型。線網(wǎng)類型表示構(gòu)件間的物理連線,而寄存器類型表示抽象的數(shù)據(jù)存儲(chǔ)元件。
* 能夠描述層次設(shè)計(jì),可使用模塊實(shí)例結(jié)構(gòu)描述任何層次。
* 設(shè)計(jì)的規(guī)??梢允侨我獾?;語(yǔ)言不對(duì)設(shè)計(jì)的規(guī)模(大?。┦┘尤魏蜗拗啤?br />* Verilog HDL不再是某些公司的專有語(yǔ)言而是IEEE標(biāo)準(zhǔn)。
* 人和機(jī)器都可閱讀Verilog 語(yǔ)言,因此它可作為EDA的工具和設(shè)計(jì)者之間的交互語(yǔ)言。
* Verilog HDL語(yǔ)言的描述能力能夠通過使用編程語(yǔ)言接口(PLI)機(jī)制進(jìn)一步擴(kuò)展。PLI是允許外部函數(shù)訪問Verilog 模塊內(nèi)信息、允許設(shè)計(jì)者與模擬器交互的例程集合。
* 設(shè)計(jì)能夠在多個(gè)層次上加以描述,從開關(guān)級(jí)、門級(jí)、寄存器傳送級(jí)(RTL)到算法級(jí),包括進(jìn)程和隊(duì)列級(jí)。
* 能夠使用內(nèi)置開關(guān)級(jí)原語(yǔ)在開關(guān)級(jí)對(duì)設(shè)計(jì)完整建模。
* 同一語(yǔ)言可用于生成模擬激勵(lì)和指定測(cè)試的驗(yàn)證約束條件,例如輸入值的指定。
* Verilog HDL 能夠監(jiān)控模擬驗(yàn)證的執(zhí)行,即模擬驗(yàn)證執(zhí)行過程中設(shè)計(jì)的值能夠被監(jiān)控和顯示。這些值也能夠用于與期望值比較,在不匹配的情況下,打印報(bào)告消息。
* 在行為級(jí)描述中,Verilog HDL不僅能夠在RTL級(jí)上進(jìn)行設(shè)計(jì)描述,而且能夠在體系結(jié)構(gòu)級(jí)描述及其算法級(jí)行為上進(jìn)行設(shè)計(jì)描述。
* 能夠使用門和模塊實(shí)例化語(yǔ)句在結(jié)構(gòu)級(jí)進(jìn)行結(jié)構(gòu)描述。
* Verilog HDL 的混合方式建模能力,即在一個(gè)設(shè)計(jì)中每個(gè)模塊均可以在不同設(shè)計(jì)層次上建模。
* Verilog HDL 還具有內(nèi)置邏輯函數(shù),例如(按位與)和|(按位或)。
* 對(duì)高級(jí)編程語(yǔ)言結(jié)構(gòu),例如條件語(yǔ)句、情況語(yǔ)句和循環(huán)語(yǔ)句,語(yǔ)言中都可以使用。
* 可以顯式地對(duì)并發(fā)和定時(shí)進(jìn)行建模。
* 提供強(qiáng)有力的文件讀寫能力。
* 語(yǔ)言在特定情況下是非確定性的,即在不同的模擬器上模型可以產(chǎn)生不同的結(jié)果;例如,事件隊(duì)列上的事件順序在標(biāo)準(zhǔn)中沒有定義。
習(xí)題
1. Verilog HDL 是在哪一年首次被IEEE標(biāo)準(zhǔn)化的?
2. Verilog HDL支持哪三種基本描述方式?
3. 可以使用Verilog HDL描述一個(gè)設(shè)計(jì)的時(shí)序嗎?
4. 語(yǔ)言中的什么特性能夠用于描述參數(shù)化設(shè)計(jì)?
5. 能夠使用Verilog HDL 編寫測(cè)試驗(yàn)證程序嗎?
6. Verilog HDL 是由哪個(gè)公司最先開發(fā)的?
7. Verilog HDL中的兩類主要數(shù)據(jù)類型什么?
8. UDP代表什么?
9. 寫出兩個(gè)開關(guān)級(jí)基本門的名稱。
10. 寫出兩個(gè)基本邏輯門的名稱。
評(píng)論