<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>
0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

標簽 > Verilog HDL

Verilog HDL

+關注 0人關注

Verilog HDL是一種硬件描述語言(HDL:Hardware Description Language),以文本形式來描述數字系統硬件的結構和行為的語言,用它可以表示邏輯電路圖、邏輯表達式,還可以表示數字邏輯系統所完成的邏輯功能。

文章: 42
視頻: 60
瀏覽: 50192
帖子: 50

Verilog HDL簡介

  Verilog HDL是一種硬件描述語言(HDL:Hardware Description Language),以文本形式來描述數字系統硬件的結構和行為的語言,用它可以表示邏輯電路圖、邏輯表達式,還可以表示數字邏輯系統所完成的邏輯功能。 Verilog HDL和VHDL是世界上最流行的兩種硬件描述語言,都是在20世紀80年代中期開發出來的。前者由Gateway Design Automation公司(該公司于1989年被Cadence公司收購)開發。兩種HDL均為IEEE標準。

Verilog HDL百科

  Verilog HDL是一種硬件描述語言(HDL:Hardware Description Language),以文本形式來描述數字系統硬件的結構和行為的語言,用它可以表示邏輯電路圖、邏輯表達式,還可以表示數字邏輯系統所完成的邏輯功能。 Verilog HDL和VHDL是世界上最流行的兩種硬件描述語言,都是在20世紀80年代中期開發出來的。前者由Gateway Design Automation公司(該公司于1989年被Cadence公司收購)開發。兩種HDL均為IEEE標準。

  以模塊為基礎的設計

  描述復雜的硬件電路,設計人員總是將復雜的功能劃分為簡單的功能,模塊是提供每個簡單功能的基本結構。設計人員可以采取“自頂向下”的思路,將復雜的功能模塊劃分為低層次的模塊。這一步通常是由系統級的總設計師完成,而低層次的模塊則由下一級的設計人員完成。自頂向下的設計方式有利于系統級別層次劃分和管理,并提高了效率、降低了成本。“自底向上”方式是“自頂向下”方式的逆過程。

  使用Verilog描述硬件的基本設計單元是模塊(module)。構建復雜的電子電路,主要是通過模塊的相互連接調用來實現的。模塊被包含在關鍵字module、endmodule之內。實際的電路元件。Verilog中的模塊類似C語言中的函數,它能夠提供輸入、輸出端口,可以實例調用其他模塊,也可以被其他模塊實例調用。模塊中可以包括組合邏輯部分、過程時序部分。例如,四選一的多路選擇器,就可以用模塊進行描述。它具有兩個位選輸入信號、四個數據輸入,一個輸出端,在Verilog中可以表示為:

  module mux (out, select, in0, in1, in2, in3);output out;input [1:0] select;input in0, in1, in2, in3;//具體的寄存器傳輸級代碼endmodule

  設計人員可以使用一個頂層模塊,通過實例調用上面這個模塊的方式來進行測試。這個頂層模塊常被稱為“測試平臺(Testbench)”。為了最大程度地對電路的邏輯進行功能驗證,測試代碼需要盡可能多地覆蓋系統所涉及的語句、分支、條件、路徑、觸發、狀態機狀態,驗證人員需要在測試平臺里創建足夠多的輸入激勵,并連接到被測模塊的輸入端,然后檢測其輸出端的表現是否符合預期(諸如SystemVerilog的硬件驗證語言能夠提供針對驗證專門優化的數據結構,以隨機測試的方式進行驗證,這對于高度復雜的集成電路設計驗證可以起到關鍵作用)。實例調用模塊時,需要將端口的連接情況按照這個模塊聲明時的順序排列。這個頂層模塊由于不需要再被外界調用,因此沒有輸入輸出端口:

  module tester;reg [1:0] SELECT;reg IN0, IN1, IN2, IN3;wire OUT;mux my_mux (OUT, SELECT, IN0, IN1, IN2, IN3); //實例調用mux模塊,這個實例被命名為my_muxinitial //需要仿真的激勵代碼 begin endendmodule

  在這個測試平臺模塊里,設計人員可以設定仿真時的輸入信號以及信號監視程序,然后觀察仿真時的輸出情況是否符合要求,這樣就可以了解設計是否達到了預期。

  示例中的對模塊進行實例引用時,按照原模塊聲明時的順序羅列了輸入變量。除此之外,還可以使用或者采用命名端口連接的方式。使用這種方式,端口的排列順序可以與原模塊聲明時不同,甚至可以不連接某些端口:

  mux my_mux (.out(OUT), .select(SELECT), .in0(IN0), .in1(IN1), .in2(IN2), .in3(IN3));//使用命名端口連接,括號外面是模塊聲明時的端口,括號內是實際的端口連接//括號外相當于C語言的形式參數,括號內相當于實際參數endmodule

  上面所述的情況是,測試平臺頂層模塊的測試變量直接連接了所設計的功能模塊。測試平臺還可以是另一種形式,即測試平臺并不直接連接所設計的功能模塊,而是在這個測試平臺之下,將激勵模塊和功能模塊以相同的抽象級別,通過線網相互連接。這兩種形式的測試平臺都可以完成對功能模塊的測試。大型的電路系統,正是由各個層次不同模塊之間的連接、調用,來實現復雜的功能的。

  Verilog HDL 快速入門

  Verilog HDL是一種硬件描述語言(HDL:Hardware Description Language),它是以文本形式來描述數字系統硬件的結構和行為的語言。 世界上最流行的兩種硬件描述語言是Verilog HDL和VHDL。

  注意,VerilogHDL是一種描述語言,它和常見的編程語言C有根本的不同。C語言,讓計算機的CPU從上往下按順序執行每一條指令,執行完程序就結束了。

  而,VerilogHDL主要是描述了一個數字模塊的結構,或者行為。有點像商業合同,合同里面也會描述產品的結構,產品的功能等等。合同的每一個條款,并不需要嚴格的先后順序,只要把項目的方方面面都考慮完整,寫下來就OK了。VerilogHDL也是這樣。

  我們用VerilogHDL描述數字模塊的功能,剩下的交給編譯器(如,Quartus),編譯器會根據我們的要求設計重構FPGA內部硬件。對于大批懶人來說,這技術簡直碉堡了。這就是EDA(Electronic Design Automation,電子設計自動化)。

  好,下面就來認識一下VerilogHDL

  我們先設計一個“數據選擇器”:

  s是數據選擇控制端,

  a,b是輸入信號,y是輸出信號

  這里寫圖片描述

  代碼如下:

  module mux2_1(a, b, s, y); //模塊名、模塊接口名

  input a, b, s; // 定義輸入端口

  output y; // 定義輸出端口

  /* s為0時,選擇a輸出;

  s為1時,選擇b輸出。*/

  assign y = (s == 0) ? a : b; //輸出信號

  endmodule12345678

  每個Verilog文件中都有一個module 開始,endmodule 結束的代碼塊。

  這個代碼塊的定義了一個名字叫 mux2_1 的模塊,模塊名后面緊跟的括號內寫明了該模塊的接口信號,相當于數字器件的引腳。

  但是括號內沒有說明接口的信號方向,所以緊跟著另起一行用input 和output 再說明一下。注釋和C語法一樣,可以用// 或 /* */ 。

  assign 是Verilog的關鍵詞,書上稱為連續賦值。我一般把他視為“連線”操作,assign后面的緊跟的 y 在硬件上是一根導線(或輸出引腳)。

  assign  y = (s == 0) ? a : b;

  這句話的意思是:s如果為0,那么等號左邊就是a,否則就是b。將這個表達式的輸出結果接在輸出引腳 y 上。

  這就是一個簡單的Verilog程序,不需要我們去設計與非門,直接表達你的你想要的功能就好了。然后,編譯下載到FPGA,功能就實現了。

  要注意的是,assign 后面永遠跟著一個 =,它們是一起使用的。

  即,assign xx = zz;

  上面的2選1數據選擇器,內部實現結構如下:

  這里寫圖片描述

  所以,上面的assign語句還可以這樣寫,直接使用邏輯表達式:

  assign y = (a & (~ s)) | (b & s);

  這個是在門級對邏輯關系進行描述,所以不屬于行為描述,算是結構描述吧。下面這種描述方式,叫做門原語,算結構描述。這里的關鍵詞wire 表示電路中的導線(信號線)。

  module mux2_1(a, b, s, y);

  input a, b, s;

  output y;

  wire ns, as, bs;

  not(ns, s);//這里使用了一個非門,輸出是ns,輸入是s

  and(as, a, ns);//使用一個與門,輸出as,輸入a和ns

  and(bs, b, s);//使用與門,輸出bs,輸入b和s

  or(y, as, bs);//使用或門,輸出y,輸入as和bs

  endmodule12345678910

  看,這是告訴我們電路中有什么元器件,又是怎么連接的,所以這個屬于結構描述。

  很明顯,有時候結構描述比行為描述要費力得多,而且不太容易理解程序功能。

  另外,上面的這個程序中,這4個邏輯門的順序,可以隨便寫,不用管先后順序。

  這個數據選擇器,還可以使用如下行為描述方法:

  module mux2_1(a, b, s, y);

  input a, b, s;

  output y;

  reg y; //reg 表示寄存器

  always @(a, b, s)

  begin

  if(!s) y = a;

  else y = b;

  end

  endmodule1234567891011

  這里reg表示寄存器(存儲器),需要提醒一下的是,assign后面只能接wire型,不能接reg型。(當然output從物理上也是wire)

  為什么不能?因為寄存器的賦值除了需要輸入信號,還需要觸發信號(例如D觸發器寄存器),assign?sorry,he can’t。

  always @(a, b, s)中,括號里面的輸入信號a,b,s表示敏感信號。

  always @( ) 是連在一起使用的。

  這句話的意思是,敏感信號列表中的任何一個信號發生變化,將會引發

  begin …… end 之間的行為。

  Verilog用begin和end包圍代碼段,相當于c語言中的大括號{ }的功能。

  if(!s) y = a;

  這里的“=”單獨使用,叫做“阻塞賦值”。我把他理解為“串行賦值”。

  比如,有這么一段代碼:

  b=a;

  c=b;

  那么最后,c的值就等于a,這個行為在描述的時候,語句的先后順序,決定了賦值的先后。

  在Verilog中,和它對應的還有一個“非阻塞賦值”,表示方法是 《=,我把這種賦值稱為“并行賦值”。具體區別,請參考另一篇短文阻塞賦值和非阻塞賦值。

查看詳情

verilog hdl知識

展開查看更多

verilog hdl技術

例說Verilog HDL和VHDL區別

例說Verilog HDL和VHDL區別

Verilog和VHDL之間的區別將在本文中通過示例進行詳細說明。對優點和缺點的Verilog和VHDL進行了討論。

2023-12-20 標簽:NANDasicVHDL語言 656 0

FPGA入門篇:Verilog計數器

FPGA入門篇:Verilog計數器

Verilog HDL是一種硬件描述語言,以文本形式來描述數字系統硬件的結構和行為的語言,用它可以表示邏輯電路圖、邏輯表達式,還可以表示數字邏輯系統所完...

2023-12-07 標簽:fpgaVerilogVerilog HDL 637 0

如何完成一個FPGA工程?

prj為工程文件存放目錄;rtl為verilog可綜合代碼存放目錄;tb為測試文件存放目錄;image為設計相關圖片存放目錄;doc為設計相關文檔存放目...

2023-01-10 標簽:fpgaFPGA芯片Verilog HDL 365 0

FPGA技術之Verilog語法基本概念

Verilog HDL是一種用于數字系統設計的語言。用Verilog HDL描述的電路設計就是該電路的Verilog HDL模型也稱為模塊。Verilo...

2022-12-08 標簽:fpgaVerilogVerilog HDL 2020 0

FPGA設計技巧分享

一般情況下,系統中統一用posedge避免用negedge,降低設計的復雜度,可減少出錯。

2022-07-27 標簽:fpga時序邏輯Verilog HDL 882 0

深入理解FPGA Verilog HDL語法(二)

今天給大俠帶來的是一周掌握FPGA Verilog HDL 語法,今天開啟第二天。上一篇提到了整數型以及參數型,此篇我們繼續來看變量以及后續其他內容,結...

2022-07-18 標簽:fpga變量Verilog HDL 1290 0

Verilog HDL應用及數字IC設計與流程概述

Verilog HDL應用及數字IC設計與流程概述

一、HDL的概念和特征 HDL,Hard Discrimination Language的縮寫,翻譯過來就是硬件描述語言。那么什么是硬件描述語言呢?為什...

2020-10-21 標簽:fpgaIC設計Verilog HDL 4109 0

Verilog HDL語言技術要點

Verilog HDL語言技術要點

基于FPGA的SOC在嵌入式系統應用越來越廣了,往往一個復雜系統使用一個單芯片基于FPGA的SOC就搞定了。比較流行的方案主要有Altera/xilin...

2020-09-01 標簽:C語言Verilog HDL 4042 0

Verilog HDL的程序結構_veriloghdl的關鍵字

Verilog HDL的程序結構_veriloghdl的關鍵字

首先我們不開始講Verilog HDL的語法,我們從Verilog HDL的程序結構出發。相信大家都看過芯片吧,它有個名字,有個外殼,外殼向外伸出有引腳...

2020-08-27 標簽:VerilogVerilog HDL 2312 0

HDL是什么_HDL語言的特點

HDL是一種硬件描述語言,以文本形式來描述數字系統硬件的結構和行為的語言,用它可以表示邏輯電路圖、邏輯表達式,還可以表示數字邏輯系統所完成的邏輯功能。 ...

2020-08-26 標簽:vhdlVerilog HDL 5.7萬 0

查看更多>>

verilog hdl資訊

Verilog HDL語言的數據類型和運算符

標識符可以是一組字母、數字、下劃線和$符號的組合,且標識符的第一個字符必須是字母或者下劃線。

2022-07-04 標簽:寄存器運算符Verilog HDL 1131 0

Verilog HDL課程詳細介紹

原文標題:非常詳細的Verilog講義教程 文章出處:【微信公眾號:FPGA之家】歡迎添加關注!文章轉載請注明出處。 ? ? ? 審核編輯:彭靜

2022-07-04 標簽:軟件Verilog HDL 579 0

FPGA、Verilog HDL與VHDL的優缺點

Verilog HDL 優點:類似C語言,上手容易,靈活。大小寫敏感。在寫激勵和建模方面有優勢。 缺點:很多錯誤在編譯的時候不能被發現。 VHDL 優點...

2021-08-20 標簽:dspfpgaC語言 3859 0

Verilog HDL verilog hdl和vhdl的區別

Verilog HDL是一種以文本形式描述數字系統硬件的結構和行為的硬件描述語言,也可描述邏輯電路圖、邏輯表達式等。Verilog HDL和VHDL是目...

2021-07-23 標簽:VHDLVerilog HDL 1.0萬 0

Verilog HDL中定義的26個有關門級的關鍵字中常用的有哪些?

1、結構描述形式 從電路結構的角度來描述電路模塊,稱為結構描述形式。 Verilog HDL中定義了26個有關門級的關鍵字,比較常用的有8個: and ...

2021-07-02 標簽:Verilog HDL 2577 0

Verilog HDL中的結構建模方式細述

Verilog HDL中的結構建模方式細述

模塊的端口可以是輸入端口、輸出端口或雙向端口。

2021-03-14 標簽:UDP端口Verilog HDL 3108 0

基于Verilog HDL描述語言實現交通燈系統控制器的設計

基于Verilog HDL描述語言實現交通燈系統控制器的設計

 EDA技術是依靠功能強大的電子計算機,在EDA工具軟件平臺上,對以硬件描述語言HDL(Hardware Description Language)為系...

2020-07-21 標簽:交通燈系統控制器Verilog HDL 6874 0

Verilog HDL語言在FPGA/CPLD中的應用

Verilog HDL語言在FPGA/CPLD中的應用

通常設計數字電路大都采用自頂向下將系統按功能逐層分割的層次化設計方法,這比傳統自下向上的EDA設計方法有更明顯的優勢(當時的主要設計文件是電路圖)。因為...

2020-07-20 標簽:fpgaedaVerilog HDL 1830 0

Verilog HDL之多路選擇器設計

Verilog HDL之多路選擇器設計

在數字信號的傳輸過程中,有時需要從多路輸入數據中選出某一路數據,完成此功能的邏輯器件稱為數據選擇器,即所謂多路開關,簡稱MUX(Multiplexer)...

2020-07-20 標簽:Verilog HDL多路選擇器 4007 0

7段譯碼器的Verilog HDL源代碼

電子發燒友網核心提示: 本例程是Verilog HDL源代碼:關于基本組合邏輯功能中7段譯碼器的功能實現源代碼。注意:程序運行在不同軟件平臺可能要作一些...

2012-10-15 標簽:譯碼器Verilog HDLHDL源代碼 2.3萬 0

查看更多>>

verilog hdl數據手冊

相關標簽

相關話題

換一批
  • Maxim Integrated
    Maxim Integrated
    +關注
    在 Maxim Integrated,我們正在解決工程問題并支持設計創新,使我們的客戶能夠創造出塑造我們世界的產品。我們創新的高性能模擬和混合信號產品和技術使系統更小、更智能,同時增強了安全性并提高了能源效率。
  • USB3.1
    USB3.1
    +關注
    USB 3.1 Gen2是最新的USB規范,該規范由英特爾等公司發起。數據傳輸速度提升可至速度10Gbps。與USB 3.0(即USB3.1 Gen1)技術相比,新USB技術使用一個更高效的數據編碼系統,并提供一倍以上的有效數據吞吐率。
  • CC3200
    CC3200
    +關注
  • ADXL362
    ADXL362
    +關注
    ADI有定制一些極致的產品,ADXL362。主要針對運動健康類的檢測。用戶希望在運動時啟動運動分析,在相對靜止時,系統可以休眠以節省功耗。
  • 時鐘信號
    時鐘信號
    +關注
    時鐘信號是計算機科學以及相關領域用語,時鐘信號通常被用于同步電路當中,扮演計時器的角色,保證相關的電子組件得以同步運作。時鐘信號是由時鐘發生器產生的。它有只有兩個電平,一是低電平,另一個是高電平。高電平可以根據電路的要求而不同,例如 TTL 標準的高電平是 5V。
  • D-PHY
    D-PHY
    +關注
    D-PHY,是MIPI 協議中的一項,D-PHY提供了對DSI (串行顯示接口)和CSI(串行攝像頭接口)在物理層上的定義D-PHY 描述了源同步,高速,低功耗的物理層。
  • 藍牙BLE
    藍牙BLE
    +關注
    藍牙ble稱低功耗藍牙。低功耗藍牙是藍牙技術聯盟設計和銷售的一種個人局域網技術。旨在用于醫療保健、運動健身、信標、安防、家庭娛樂等領域的新興應用。相較經典藍牙,低功耗藍牙旨在保持同等通信范圍的同時顯著降低功耗和成本。
  • 匯頂
    匯頂
    +關注
    匯頂科技成立于2002年,作為人機交互領域可靠的技術與解決方案提供商,在包括手機、平板和可穿戴產品在內的智能移動終端人機交互技術領域不斷取得新進展,陸續推出擁有自主知識產權的Goodix Link技術 、 指紋識別與觸控一體化的IFS技術 、活體指紋檢測技術等 。
  • 射頻功率放大器
    射頻功率放大器
    +關注
    射頻功率放大器是對輸出功率、激勵電平、功耗、失真、效率、尺寸和重量等問題作綜合考慮的電子電路,它還是各式各樣無線發射機的重要組成部分。
  • 原邊反饋
    原邊反饋
    +關注
  • AD1674
    AD1674
    +關注
  • 集成運算放大器
    集成運算放大器
    +關注
    集成運算放大器簡稱集成運放,是由多級直接耦合放大電路組成的高增益模擬集成電路。自從1964年美國仙童半導體公司研制出第一個單片集成運算放大器μA702以來,集成運算放大器得到了廣泛的應用,它已成為線性集成電路中品種和數量最多的一類。
  • ab類功放
    ab類功放
    +關注
  • 4.5G
    4.5G
    +關注
  • BAW
    BAW
    +關注
  • MVG
    MVG
    +關注
  • vout
    vout
    +關注
  • AD9858
    AD9858
    +關注
  • MU-MIMO
    MU-MIMO
    +關注
  • 分壓
    分壓
    +關注
  • AD8138
    AD8138
    +關注
  • 差分驅動器
    差分驅動器
    +關注
  • 電容測試儀
    電容測試儀
    +關注
  • 選頻放大器
    選頻放大器
    +關注
      選頻放大器(frequency selective amplifier)對某一段頻率或單一頻率的信號具有突出的放大作用,而對其他頻率的信號具有較強抑制作用的放大單元。
  • AD9958
    AD9958
    +關注
  • 納芯微
    納芯微
    +關注
    蘇州納芯微電子股份有限公司 (Suzhou NOVOSENSE Microelectronics Co., Ltd.) 是高性能高可靠性模擬芯片的研發設計企業。
  • Atlas
    Atlas
    +關注
  • MCP3421
    MCP3421
    +關注
  • Celeno
    Celeno
    +關注
  • 直流放大器
    直流放大器
    +關注
    直流放大器就是能放大直流信號的放大器。直流放大器常用于測量儀表。在高精度電位測量和生物電與物理電測量中,電信號往往很弱,而且變化緩慢,含有直流成分,經放大后才便于檢測、記錄和處理。此外,在許多情況下,被測信號源的內阻高,要求放大器具有高增益和高輸入阻抗。具有這種特性的直流放大器也適合用作運算放大器。

關注此標簽的用戶(17人)

jf_37439352 1114502831 jf_10800708 發發開開心心 LYQWMY c123cccc 不羈的前奏D 咳咳12138 瑯琊一方 youwozuozhujun 夢情緣 有生之年_欣喜相逢c

編輯推薦廠商產品技術軟件/工具OS/語言教程專題

亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>