家電維修班,手機維修班,電腦維修班,電工班,焊工班,液晶電視維修班,電動工具維修班、電動車摩托車維修班、網絡營銷培訓、網站設計培訓、淘寶培訓---全國招生 家電維修班,手機維修班,電腦維修班,電工班,焊工班,液晶電視維修班,電動工具維修班、電動車摩托車維修班、網絡營銷培訓、網站設計培訓、淘寶培訓---全國招生

中日欧洲精品视频在线-中日韩在线观看-中日韩一区二区三区-中日韩精品视频在线观看-狂野欧美老黑粗又硬-狂野猛交xxxx吃奶

您的位置:網站首頁 > 電器維修資料網 > 正文 >

Verilog HDL基礎教程之--程序基本結構

★★★★★【文章導讀】:Verilog HDL基礎教程之--程序基本結構具體內容是:VerilogHDL是一種用于數字邏輯電路設計的語言。用VerilogHDL描述的電路設計就是該電路的VerilogHDL模型。VerilogHDL既是一種行為描述的語言,也是一種結構描述的語言。也就是說,既可以用電路的功能描述,也可...

來源: 日期:2013-11-3 17:29:06 人氣:標簽:

Verilog HDL基礎教程之--程序基本結構

Verilog HDL是一種用于數字邏輯電路設計的語言。用Verilog HDL描述的電路設計就是該電路的Verilog HDL模型。Verilog HDL既是一種行為描述的語言,也是一種結構描述的語言。也就是說,既可以用電路的功能描述,也可以用元器件和它們之間的連接來建立所設計電路的Verilog HDL模型。Verilog模型可以是實際電路的不同級別的抽象。這些抽象的級別和它們對應的模型類型共有以下5種。

  • 系統級(system):用高級語言結構實現設計模塊的外部性能的模型。
  • 算法級(algorithm):用高級語言結構實現設計算法的模型。
  • RTL級(Register Transfer Level):描述數據在寄存器之間流動和如何處理這些數據的模型。
  • 門級(gate-level):描述邏輯門以及邏輯門之間的連接的模型。
  • 開關級(switch-level):描述器件中三極管和儲存節點以及它們之間連接的模型。

 

一個復雜電路系統的完整Verilog HDL模型是由若干個Verilog HDL模塊構成的,每一個模塊又可以由若干個子模塊構成。其中有些模塊需要綜合成具體電路,而有些模塊只是與用戶所設計的模塊交互的現存電路或激勵信號源。利用Verilog HDL語言結構所提供的這種功能就可以構造一個模塊間的清晰層次結構來描述極其復雜的大型設計,并對所作設計的邏輯電路進行嚴格的驗證。

 

Verilog HDL行為描述語言作為一種結構化和過程性的語言,其語法結構非常適合于算法級和RTL級的模型設計。這種行為描述語言具有以下功能。

  • 可描述順序執行或并行執行的程序結構。
  • 用延遲表達式或事件表達式來明確地控制過程的啟動時間。
  • 通過命名的事件來觸發其他過程里的激活行為或停止行為。
  • 提供了條件、if-else、case、循環程序結構。
  • 提供了可帶參數且非零延續時間的任務(task)程序結構。
  • 提供了可定義新的操作符的函數結構(function)。
  • 提供了用于建立表達式的算術運算符、邏輯運算符、位運算符。
  • Verilog HDL語言作為一種結構化的語言也非常適合于門級和開關級的模型設計。因其結構化的特點又使它具有以下功能。
    • 提供了完整的一套組合型原語(primitive);
    • 提供了雙向通路和電阻器件的原語;
    • 可建立MOS器件的電荷分享和電荷衰減動態模型。

 

Verilog HDL的構造性語句可以精確地建立信號的模型。這是因為在Verilog HDL中,提供了延遲和輸出強度的原語來建立精確程度很高的信號模型。信號值可以有不同的強度,可以通過設定寬范圍的模糊值來降低不確定條件的影響。

 

Verilog HDL作為一種高級的硬件描述編程語言,有著類似C語言的風格。其中if語句、case語句等和C語言中的對應語句十分相似。如果讀者已經掌握C語言編程的基礎,那么學習Verilog HDL并不困難,只要對Verilog HDL某些語句的特殊方面著重理解,并加強上機練習就能很好地掌握它,利用它的強大功能來設計復雜的數字邏輯電路。下面將介紹Verilog HDL中的基本結構和語法。

 

Verilog HDL程序入門

首先來看幾個Verilog HDL程序,然后從中分析Verilog HDL程序的特性。

 

例1:加法器。

module  adder ( count,sum,a,b,cin );  //加法器模塊端口聲明

     input [2:0] a,b;                        //端口說明

     input  cin;

     output  count;

     output [2:0] sum;

     assign {count,sum} = a + b + cin;     //加法器算法實現

endmodule

 

這個例子通過連續賦值語句描述了一個名為adder的三位加法器可以根據兩個三比特數a、b和進位(cin)計算出和(sum)和進位(count)。從例子中可以看出整個Verilog HDL程序是嵌套在module和endmodule聲明語句里的。

 

例2:比較器。

module  compare ( equal,a,b );    //比較器模塊端口聲明

         output  equal;                //輸出信號equal

         input [1:0] a,b;             //輸入信號a、b

         assign  equal=(a==b)?1:0; //如果a、b 兩個輸入信號相等,輸出為1,否則為0

endmodule

 

這個程序通過連續賦值語句描述了一個名為compare的比較器。對兩比特數a、b進行比較,如a與b相等,則輸出equal為高電平,否則為低電平。在這個程序中,“/*........*/”和“//.........”表示注釋部分,注釋只是為了方便程序員理解程序,對編譯是不起作用的。

 

例3:使用原語的三態驅動器。

module  trist2(out,in,enable);     //三態啟動器模塊端口聲明

     output  out;                      //端口說明

     input  in, enable;

     bufif1  mybuf(out,in,enable);  //實例化宏模塊bufif1

endmodule

 

這個例子描述了一個名為trist2的三態驅動器。程序通過調用一個在Verilog語言庫中現存的三態驅動器實例元件bufif1來實現其功能。

 

例4:自行設計的三態驅動器。

module  trist1(out,in,enable);    //三態啟動器模塊端口聲明

     output  out;                      //端口說明

     input  in, enable;

     mytri  tri_inst(out,in,enable);//實例化由mytri模塊定義的實例元件tri_inst

endmodule

     module  mytri(out,in,enable); //三態啟動器模塊端口聲明

     output  out;                          //端口說明

     input  in, enable;

     assign  out = enable? in : 'bz;   //三態啟動器算法描述

endmodule

 

這個例子通過另一種方法描述了一個三態門。在這個例子中存在著兩個模塊。模塊trist1調用由模塊mytri定義的實例元件tri_inst。模塊trist1是頂層模塊。模塊mytri則被稱為子模塊。

通過上面的例子可以看到。

  • Verilog HDL程序是由模塊構成的。每個模塊的內容都是嵌在module和endmodule兩個語句之間。每個模塊實現特定的功能。模塊是可以進行層次嵌套的。正因為如此,才可以將大型的數字電路設計分割成不同的小模塊來實現特定的功能, 后通過頂層模塊調用子模塊來實現整體功能。
  • 每個模塊要進行端口定義,并說明輸入輸出口,然后對模塊的功能進行行為邏輯描述。
  • Verilog HDL程序的書寫格式自由,一行可以寫幾個語句,一個語句也可以分寫多行。
  • 除了endmodule語句外,每個語句和數據定義的 后必須有分號。
  • 可以用“/*.....*/”和“//.......”對Verilog HDL程序的任何部分作注釋。一個好的、有使用價值的源程序都應當加上必要的注釋,以增強程序的可讀性和可維護性。

 

模塊的框架

模塊的內容包括I/O聲明、I/O說明、內部信號聲明和功能定義。

1.I/O聲明

模塊的端口聲明了模塊的輸入輸出端口,其格式如下:

 

Module    模塊名(端口1,端口2,端口3,端口4, …);

 

2.I/O說明

I/O說明的格式如下:

 

輸入口:input  端口名1,端口名2,…,端口名i;  //(共有i個輸入口)

輸出口:output 端口名1,端口名2,…,端口名j;      //(共有j個輸出口)

 

I/O說明也可以寫在端口聲明語句里,其格式如下:

 

module  module_name(input port1,input port2,…,output port1,output port2… )

 

3.內部信號聲明

在模塊內用到的和與端口有關的wire和reg變量的聲明,如下所示:

 

reg [width-1 : 0] R變量1,R變量2 …;

wire [width-1 : 0] W變量1,W變量2 …;

 

4.功能定義

模塊中 重要的部分是邏輯功能定義部分,有3種方法可在模塊中產生邏輯。

(1)用“assign”聲明語句。

assign a = b & c;

這種方法的句法很簡單,只需寫一個“assign”,后面再加一個方程式即可。例子中的方程式描述了一個有兩個輸入的與門。

 

(2)用實例元件。

and and_inst( q, a, b );

采用實例元件的方法在電路圖輸入方式下,調入庫元件。鍵入元件的名字和相連的引腳即可,表示在設計中用到一個跟與門(and)一樣的名為and_inst的與門,其輸入端為a、b,輸出為q。要求每個實例元件的名字必須是惟一的,以避免與其他調用與門(and)的實例混淆。

 

(3)用“always”塊。

always @(posedge clk or posedge clr) begin        //時鐘上升沿觸發,異步清零

   if(clr)  q <= 0;                              //清零

   else  if(en) q <= d;                          //使能賦值

   end

采用“assign”語句是描述組合邏輯 常用的方法之一,而“always”塊既可用于描述組合邏輯,也可描述時序邏輯。上面的例子用“always”塊生成了一個帶有異步清除端的D觸發器。

 

“always”塊可用很多種描述手段來表達邏輯,例如上例中就用了“if...else”語句來表達邏輯關系。如按一定的風格來編寫“always”塊,可以通過綜合工具把源代碼自動綜合成用門級結構表示的組合或時序邏輯電路。需要注意的是,如果用Verilog模塊實現一定的功能,首先應該清楚哪些是同時發生的,哪些是順序發生的。

 

上面3個例子分別采用了“assign”語句、實例元件和“always”塊。這3個例子描述的邏輯功能是同時執行的。也就是說,如果把這3項寫到一個Verilog模塊文件中去,它們的次序不會影響邏輯實現的功能。這3項是同時執行的,也就是并發的。

 

然而,在“always”模塊內,邏輯是按照指定的順序執行的。“always”塊中的語句稱為“順序語句”,因為它們是順序執行的。請注意,兩個或更多的“always”模塊也是同時執行的,但是模塊內部的語句是順序執行的。

 

看一下“always”內的語句,就會明白它是如何實現功能的。“if…else… if”必須順序執行,否則其功能就沒有任何意義。如果else語句在if語句之前執行,功能就會不符合要求。為了能實現上述描述的功能,“always”模塊內部的語句將按照書寫的順序執行。

  • 1
  • 2
  • 下一頁

【看看這篇文章在百度的收錄情況】

聯系方式

  • 0731-85579057 , 0731-85569651
  • 點擊這里給我發消息點擊這里給我發消息點擊這里給我發消息
網站欄目導航: 培訓課程 手機硬件 手機軟件 綜合維修 學校資訊 考證指南 就業導航 招生指南 教學管理 入學須知 學校圖片 教學大綱 師資力量 學生感言 學校概況 教學實景 手機維修培訓資訊 電腦維修培訓 維修間故事 手機維修培訓 液晶電視維修培訓 家電維修資料網 電器維修資料網 招生地區 刷機教程 家電維修 手機技巧 老版網站 招生平臺網絡工程
友情鏈接: 監控安裝培訓 電動工具維修 家電維修學校 電工培訓學校 液晶電視維修 焊工培訓學校 電工焊工學校 電腦維修學校 家電維修培訓 電腦維修培訓 家裝電工培訓網絡安裝維護 主板維修 液晶顯示器 筆記本電腦維修 電腦組裝維護 電腦硬件維修 電腦維修 電工考證 電工證 裝修電工 水電工 維修電工 電工 焊接技術 電焊工 焊工 電動設備維修 電動工具維修 制冷維修 空調維修 冰箱維修  更多>>
陽光-手機維修教育品牌學校
點擊這里給我發消息 點擊這里給我發消息 點擊這里給我發消息
電工培訓學校 電動車維修學校 摩托車維修學校 摩托車維修培訓 手機維修培訓 家電維修培訓 電腦維修培訓 電動工具維修培訓 液晶電視維修培訓 安防監控培訓 空調維修培訓 網絡營銷培訓 網站設計培訓 淘寶網店培訓 電器維修培訓 家電維修學校 電工培訓 焊工培訓 電工學校 電工培訓學校 電動車維修學校 摩托車維修學校 摩托車維修培訓 手機維修培訓 家電維修培訓 電腦維修培訓 電動工具維修培訓 液晶電視維修培訓 安防監控培訓 空調維修培訓 網絡營銷培訓 網站設計培訓 淘寶網店培訓 電器維修培訓 家電維修學校 電工培訓 焊工培訓 電工學校 電工培訓學校 電動車維修學校 摩托車維修學校 摩托車維修培訓 手機維修培訓 家電維修培訓 電腦維修培訓 電動工具維修培訓 液晶電視維修培訓 安防監控培訓 空調維修培訓 網絡營銷培訓 網站設計培訓 淘寶網店培訓 電器維修培訓 家電維修學校 電工培訓 焊工培訓 電工學校 電工培訓學校 電動車維修學校 摩托車維修學校 摩托車維修培訓 手機維修培訓 家電維修培訓 電腦維修培訓 電動工具維修培訓 液晶電視維修培訓 安防監控培訓 空調維修培訓 網絡營銷培訓 網站設計培訓 淘寶網店培訓 電器維修培訓 家電維修學校 電工培訓 焊工培訓 電工學校
中山市,固原市,銀川市,玉樹,海東,隴南市,酒泉市,張掖市,天水市,金昌市,蘭州市,榆林市,延安市,渭南市,銅川市,阿里,山南,拉薩市,怒江,文山州,楚雄州,普洱市,昭通市,玉溪市,昆明市,畢節,銅仁,遵義市,貴陽市,甘孜州,資陽市,達州市,宜賓市,南充市,遂寧市,綿陽市,瀘州市,自貢市,三亞市,崇左市,河池市,玉林市,欽州市,梧州市,柳州市,梅州市,肇慶市,湛江市,佛山市,珠海市,韶關市,湘西州,懷化市,郴州市,張家界市,邵陽市,株洲市,仙桃市,隨州市,荊州市,荊門市,襄樊市,黃石市,駐馬店市,信陽市,南陽市,漯河市,中衛市,石嘴山市,海西,海南藏州,黃南州,海北,甘南,慶陽市,平涼市,武威市,白銀市,嘉峪關市,安康市,漢中市,咸陽市,寶雞市,林芝,日喀則,昌都,迪慶,德宏,大理,西雙版納,紅河州,臨滄市,麗江市,保山市,曲靖市,黔東州,黔西州,安順市,六盤水市,涼山州,阿壩州,雅安市,廣安市,眉山市,內江市,廣元市,德陽市,攀枝花市,成都市,海口市,來賓市,百色市,貴港市,北海市,桂林市,南寧市,云浮市,揭陽市,潮州市,清遠市,陽江市,汕尾市,惠州市,茂名市,江門市,汕頭市,深圳市,廣州市,婁底市,永州市,益陽市,岳陽市,湘潭市,長沙市,恩施州,黃岡市,孝感市,鄂州市,十堰市,武漢市,周口市,商丘市,三門峽市,許昌市,焦作市,安陽市,鶴壁市,平頂山市,開封市,鄭州市,聊城市,濱州市,德州市,萊蕪市,日照市,泰安市,煙臺市,濰坊市,東營市,淄博市,上饒市,濟南市,撫州市,宜春市,贛州市,新余市,九江市,景德鎮市,寧德市,南平市,泉州市,莆田市,廈門市,宣城市,亳州市,六安市,宿州市,黃山市,滁州市,安慶市,淮北市,馬鞍山市,蚌埠市,蕪湖市,合肥市,麗水市,舟山市,衢州市,金華市,湖州市,嘉興市,寧波市,宿遷市,鎮江市,鹽城市,連云港市,蘇州市,徐州市,南京市,綏化市,牡丹江市,佳木斯市,大慶市,鶴崗市,哈爾濱市,白城市,白山市,遼源市,吉林市,葫蘆島市,鐵嶺市,盤錦市,阜新市,錦州市,本溪市,鞍山市,沈陽市,錫林郭勒盟,通遼市,烏海市,呂梁市,忻州市,晉中市,晉城市,陽泉市,太原市,廊坊市,承德市,保定市,邯鄲市,唐山市,寧夏,甘肅省,西藏,貴州省,重慶市,廣西,湖南省,河南省,江西省,安徽省,江蘇省,黑龍江省,遼寧省,山西省,天津市,四平市,內蒙古,吳忠市,果洛,西寧市,定西市,商洛市,西安市,那曲,黔南州,巴中市,樂山市,賀州市,防城港市,東莞市,河源市,常德市,衡陽市,咸寧市,宜昌市,濮陽市,新鄉市,洛陽市,菏澤市,臨沂市,威海市,濟寧市,棗莊市,青島市,吉安市,鷹潭市,萍鄉市,南昌市,龍巖市,漳州市,三明市,福州市,池州市,巢湖市,阜陽市,銅陵市,淮南市,臺州市,紹興市,溫州市,杭州市,泰州市,揚州市,淮安市,南通市,常州市,無錫市,大興安嶺,黑河市,七臺河市,伊春市,雙鴨山市,雞西市,齊齊哈爾市,延邊,松原市,通化市,長春市,朝陽市,遼陽市,營口市,丹東市,撫順市,大連市,阿拉善盟,興安盟,烏蘭察布市,巴彥淖爾市,呼倫貝爾市,鄂爾多斯市,赤峰市,包頭市,呼和浩特市,臨汾市,運城市,朔州市,長治市,大同市,衡水市,滄州市,張家口市,邢臺市,秦皇島市,石家莊市,青海省,陜西省,云南省,四川省,海南省,廣東省,湖北省,山東省,福建省,浙江省,上海市,吉林省,河北省,北京市 主站蜘蛛池模板: 日本片bbbxxx| 亚洲视频精品| 99在线观看免费视频| 国产精自产拍久久久久久蜜| 李丽莎与土豪50分钟在线观看| 四川老师边上网课边被啪视频| 18禁止看的免费污网站| 国产亚洲精品福利视频| 日本国产黄色片| 1级午夜影院费免区| 狠狠色狠狠色综合系列| 色欲久久精品AV无码| 99久久亚洲综合精品| 久久青青草原综合伊人| 羞羞在线观看| 第一次处破女18分钟免费| 男人被绑着强行摸j| 又紧又大又爽精品一区二区| 国产欧美日韩网站| 涩涩伊人久久无码欧美| x69老师x日本| 毛片在线不卡| 一级淫片bbbxxx| 黄色xxxxxx| 亚久久伊人精品青青草原2020| 东京热百度影音| 欧洲日韩av无线在码| 20岁中国男同志china1069| 精品国产高清自在线看| 亚洲AV午夜福利精品香蕉麻豆| 岛国片免费看| 日韩一区二区天海翼| videos gratis欧美另类| 免费精品国偷自产在线| 最近最新的日本字幕MV| 久久久国产精品免费A片蜜芽广 | 久久精品AV无码亚洲色欲| 亚洲 欧洲 国产 日产 综合| 国产福利一区二区精品| 色哒哒影院| 大中国免费视频大全在线观看|