国产精品观看在线亚洲人成网_久久激情国产_久久华人_狠狠干天天操_91一区二区三区久久久久国产乱_1区2区3区国产

首頁 > 文章中心 > 組合電路的設計

組合電路的設計

前言:想要寫出一篇令人眼前一亮的文章嗎?我們特意為您整理了5篇組合電路的設計范文,相信會為您的寫作帶來幫助,發現更多的寫作思路和靈感。

組合電路的設計

組合電路的設計范文第1篇

關鍵詞:組合邏輯電路分析 設計

中圖分類號: TP331.1 文獻標識碼: A 文章編號:

1 組合邏輯電路的分析

組合邏輯電路的分析過程如下:

(1)由給定的邏輯電路圖,寫出輸出端的邏輯表達式;

(2)列出真值表;

(3)從真值炭概括出邏輯功能;

(4)對原電路進行改進設計,尋找最佳方案。

舉例說明分析過程如下:

已知邏輯電路如圖1所示,分析其功能。

解:第一步:寫出邏輯表達式。由前級到后級寫出各個門的輸出函數

第二步:如出真值表,如表2所示。

第三步;邏輯功能描述。真值表已經全面地反映了該電路的邏輯功能。下面用文字描

述其功能。達一步對初學者有一定的困難,但通過多練習,多接觸邏輯學問題,也不難

掌握。

由真值表可以看出,在輸入三變量中,只要有兩個以上變量為1,則輸出為1,故該電路可概括為:三變量多數表決器。

第四步;檢驗該電路設計是否最簡,并改進。

畫出卡諾圖,化簡結果與原電路一致,說明原設計合理,無改進的必要。

(圖1) (圖2)

2組合邏輯電路的設計

電路設計的任務就是根據功能設計電路。一般按如下步驟進行:

(1)將文字描述的邏輯命題變換為真值表,這是十分重要的一步。作出真值表前要仔

細分析解決邏輯問題的條件,作出輸入、輸出變量的邏輯規定,然后列出真值表。

(2)進行函數化簡,化簡形式應依據選擇什么門而定。

(3)根據化簡結果和選定的門電路,畫出邏輯電路。

(例2)設計三變量表決器,其中A具有否決權。

解第一步:列出真值表。

設A、B、C分別代表參加表決的邏輯變量,F為表決結果。對于變量我們作如下規

定:A、B、C為1表示贊成,為0表示反對。F=1表示通過,F=0表示被否決。真值表如

圖3所示。

第二步:函數化簡。

我們選用與非門來實現。畫出卡諾圖,其化簡過程如圖4所示,邏輯電路如圖5所示。

(圖3)

(圖4)(圖5)

參考文獻:

1、羅朝杰.數字邏輯設計基礎.北京:人民郵電出版社,1982.

2、(美)納爾遜(Neslon,V.P.),等.數字邏輯電路分析與設計.英文影印本.

華大學出版社,1997.

3、王毓銀.脈沖與數字電路.3版.北京:高等教育出版社,1999.

組合電路的設計范文第2篇

關鍵詞:口袋實驗室;數字邏輯;組合邏輯電路;嵌入式系統

中圖分類號:TP311 文獻標識碼:A 文章編號:1009-3044(2016)28-0268-03

口袋實驗室,又稱無墻實驗室,就是讓學生人手一個迷你“口袋實驗箱”,上課帶來、下課帶走,課程結束時歸還。學生有了一個小的實驗平臺,就可以結合課程內容,隨時隨地進行課程實驗;同時,激蕩在學生頭腦中的創新想法可以即時得到驗證,激發他們主動學習的興趣。

口袋實驗室這種形式使實驗設備突破了實驗室的限制、實驗課時的限制,能夠把最新的技術補充到學生的課余學習中,讓學生隨時隨地都能進行實驗,從而最大程度地實現了實驗室的開放。

目前口袋實驗室理念在國內多所高校已得到廣泛的認可和貫徹,如清華大學、北京大學、哈爾濱工業大學、復旦大學、同濟大學、上海交通大學、東南大學、華中科技大學等都建起了數量、規模各異的口袋實驗室。

本組合邏輯電路設計就是基于Xilinx(賽靈思公司)Basys3口袋實驗室的。在性能更好的NEXYS4或ZYBO實驗板上也可實現。

1 口袋實驗室之核心硬件Basys3

Basys3 實驗板(見圖1)是一款采用Xilinx最新7系列的數字電路入門級開發平臺,該平臺主芯片為Xilinx Artix系列中的最小型號 XC7A35T。它包含5200個slice資源,相當于33,280個邏輯單元。每個slice包含4個6輸入查找表(LUT),8個觸發器 。容量為1800kb的塊狀RAM 以及5個時鐘管理單元,每個單元帶有一個鎖相環。Basys3同時也是一款入門級的FPGA實驗板,專門針對Vivado Design Suite而設計,具有Xilinx Artix-7 FPGA架構。Basys3包含了所有Basys系列板卡的標準功能:完備的硬件規格,大 量的板載IO設備,所有需要FPGA支持的電路,以及免費的開發工具,上手即用。

采用Basys3 可以實施更貼近嵌入式方向專業要求的數字邏輯實驗項目,形成符合嵌入式方向專業要求的數字邏輯實驗課程。可解決現有《數字邏輯》實驗課程的教學要求與嵌入式方向專業要求相比有些偏低的問題。同時可以解決現有面向嵌入式方向的基礎實驗課程實驗平臺各異,實驗內容不夠貫通的問題。

2 口袋實驗室之核心軟件Vivado

賽靈思在全球業界第一個發貨和量產28nm 7系列器件后,2012年又推出了“Vivado”這一全新的FPGA設計套件,很可能在將來取代已經面世18年之久的賽靈思ISE設計套件。Vivado的推出,不僅僅是讓設計的界面更加漂亮(如圖2所示),更重要的是它帶給行業的那種體現在設計手段和設計方法上的的創新。眾所周知,對于電子設計工程師來說,一方面要求FPGA能實現所有的數字系統功能,包括:數字邏輯、嵌入式系統和數字信號處理等等;另一方面又要求基于FPGA的設計就像他們使用“C”語言給CPU、MCU編程那樣的簡單。Vivado將這兩個看起來相互矛盾的夢想變成了現實。

在Vivado 2014.3環境下如同前期的ISE環境,可以非常方便地運用Verilog HDL語言的編程開發流程,包括源程序的輸入、編譯、模擬仿真及程序下載。

通過學習Verilog硬件描述語言,以及利用Verilog HDL進行數字電路設計和FPGA開發的方法。可讓學生初步掌握代表當今數字邏輯設計前沿的FPGA開發的設計流程。除基本組合邏輯電路實驗外,還可以追加時序邏輯電路的設計實驗、。

3 口袋實驗室之組合邏輯電路設計實驗

本實驗所用口袋實驗室為Basys3電路板,板上的LED燈是共陰極的連接方式,當輸入高電平‘1’時,LED亮;當撥動開關靠近數字標稱端輸出為低電平‘0’。

3.1 簡單門電路的實現

在數字電路中,二輸入與門電路、或門電路、非門電路、與非門電路、或非門電路和異或門電路的邏輯表達式如下所示,真值表如表1。

下面分別給出這些門電路的行為描述方式(Behavioral)和邏輯寄存器傳輸描述方式(Register Transfer Level,RTL)。可以看出,行為描述方式和邏輯表達式十分接近,而寄存器傳輸描述方式則是以真值表為依據進行編寫的。 具體操作步驟如下:

(1) 利用向導,建立一個新項目,工程名為expe1,頂層文件名也指定為gate。

(2) 新建一個Verilog HDL文件。

(3) 在Verilog HDL文件中輸入程序:

a 行為描述方式源程序:

module gate(a,b,c1,c2,c3,c4,c5,c6);

input a,b;

output c1,c2,c3,c4,c5,c6;

assign c1=a&b;

assign c2=a|b;

assign c3=~a;

assign c4=~(a&b);

assign c5=~(a|b);

assign c6=a^b;

endmodule

b 寄存器傳輸描述方式源程序:

module gate(a,b,c1,c2,c3,c4,c5,c6);

input a,b;

output c1,c2,c3,c4,c5,c6;

reg c1,c2,c3,c4,c5,c6;

always@(a or b) begin

case({a,b})

2'b00:

begin

c1

end

2'b01:

begin

c1

end

2'b10:

begin

c1

end

2'b11:

begin

c1

end

default:

begin

c1

end

endcase

end

endmodule

(1) 進行語法檢查和綜合編譯。

(2) 編寫testbench,進行時序仿真。

(3) 分配管腳,生成*.bit文件(管腳分配可參照后續實驗結果部分)。

(4) 下載。

3.2 三態門電路的實現

在數字電路中,三態門電路是在普通門電路的基礎上附加控制電路構成的。三態門主要用于可編程邏輯器件管腳的雙向口設置。三態門的邏輯電路圖如圖3所示,真值表如表2。

根據三態門的邏輯電路圖和真值表,不難看出三態門電路的基本工作原理是:當控制端口的輸入使能信號EN=’1’,那么直接將輸入端口的數據送到輸出端口上;當控制端口的輸入使能信號EN=’0’,那么這時輸出端口呈高阻狀態。 具體操作步驟如下:

(1) 利用向導,建立一個新項目,工程名為expe2,頂層文件名也指定為tri_gate。

(2) 新建一個Verilog HDL文件。

(3) 在Verilog HDL文件中輸入程序:

module tri_gate(din,en,dout);

input din,en;

output dout;

reg dout;

always@(din or en) begin

if(en==1) dout

else dout

end

endmodule

(4) 進行語法檢查和綜合編譯。

(5) 進行時序仿真。

(6) 重新分配管腳,生成*.bit文件(管腳分配可參照實驗結果部分)。

(7) 下載。

3.3 實驗結果

1) 兩輸入與門電路的管腳分配表和實驗結果對照表見表3、表4。

2) 二輸入或門電路、非門電路、與非門電路、或非門電路和異或門電路的管腳分配表和實驗結果對照表見表5、表6。

3) 三態門電路的管腳分配表和實驗結果對照表見表7、表8。

4 結束語

本組合邏輯電路設計是基于Xilinx(賽靈思公司)Basys3口袋實驗室實現的,主要內容為簡單門電路和三態門電路。在此口袋實驗室的電路板上還可以實現編碼/譯碼器,比較器,全加器等組合邏輯功能。項目中使用的口袋實驗室由于其優秀的軟、硬件平臺,在本科教學中有多方面的應用價值。

1)在Vivado 2014.3環境下,可推動Verilog HDL基本語法的學習,有利于學生掌握Verilog HDL編程設計的基礎。 而Verilog HDL和VHDL并稱為業界最流行的兩種硬件描述語言,其重要性不言而喻。

2)在本科嵌入式方向的《數字邏輯》、《計算機組成原理》、《計算機系統結構》三門課程間有一條銜接與貫通的主線:即由計算機組成基礎部件到單/多周期CPU和中斷/IO處理CPU,再到基本流水線CPU。本實驗平臺可直接應用于這三門課程。不僅能節約學生熟悉實驗平臺的時間,而且同一實驗平臺有利于他們溫故而知新。

3)讓嵌入式方向的學生開始學習滿足較高專業需求的實驗內容。打通面向嵌入式方向的基礎實驗課程的教學內容,有利于學生較系統、深刻地掌握滿足專業要求的軟硬件知識,鍛煉他們的系統設計能力。

參考文獻:

[1] 白中英,謝松云等.數字邏輯[M].6版.北京:科學出版社,2013.

[2] RichardE.Haskell著,鄭利浩譯.FPGA數字邏輯設計教程―Verilog[M].北京:電子工業出版社,2013.

[3] 何賓.Xilinx FPGA設計權威指南:Vivado集成設計環境[M].北京:清華大學出版社,2014.

組合電路的設計范文第3篇

關鍵字:數字電路;組合邏輯電路;時序邏輯電路

中圖分類號:TN79文獻標識碼:A 文章編號:1673-0992(2010)06A-0042-01

眾所周知,近年,科學技術的不斷進步帶動許多行業發生了翻天覆地的變化,電子信息行業走在了科學發展的前列,表現尤為突出的是數字電子技術,科學進步的浪潮中它迅速前進,已成為當前發展最快的學科之一,數字邏輯器件已從60年代的小規模集成電路(SSI)發展到目前的中、大規模集成電路(MSI、LSI)及超大規模集成電路(VLSI)。那么,邏輯器件的變化也會影響整個數字邏輯電路的發展。

一、數字電路的狀態

數字電路顧名思義就是對數字信號進行算術運算和邏輯運算的電路,它只有兩個狀態就是0和1。在數字電路中,低電平用0表示,高電平用1表示,有時低電位也用字母L(Light)表示,而高電位用字母H(High)表示。另外在對0和1理解時,還會有時間限制,因為數字0、1表示電路狀態,結合時間看電路時,要明白電路工作時序。

二、數字邏輯電路的基本定律

數字電路的設計在生活中使用非常廣泛,但是怎樣設計出符合要求的電路,這就是一門技術活了。因此理解數字電路設計,重點在基本概念和基本方法上。數字設計中邏輯代數基本定律、組合邏輯和時序邏輯的概念是分析和設計數字系統的基礎,也是設計大規模集成芯片的基礎,所以我們在說數字電路設計之前就要先了解邏輯代數的基本知識定律。邏輯代數是英國數學家喬治.布爾(Geroge . Boole)于1847年首先進行系統論述的,也稱布爾代數。 所研究的是兩值變量的運算規律,即0,1表示兩種不同的邏輯狀態,稱這種只有兩種對立邏輯狀態的邏輯關系為二值邏輯。在邏輯代數中我們最先了解的就是進制的轉換,計算機系統中一般二進制、八進制、十進制、十六進制是了解最多的,轉換這些進制也是最容易的,掌握其中的計算方法就能得到。

三、數字電路設計―組合邏輯和時序邏輯

在做數字電路設計時主要就是組合邏輯電路設計和時序邏輯電路設計。從一方面說,這兩種電路的設計是數字電路中的一個最基本的也是最重要的部分,只有會做這兩種電路的設計才算是對數字電路入門了。所以我們先對這兩種設計作下簡單的介紹。

如果說邏輯電路設計是數字電路的最基礎的組成部分,那么門電路就是帶動這些部分運轉的重要元素,就像是一部機器,門電路就是機器中的零件,大家都知道零件在機器的運轉中起著不容小覷的作用,如果在某個部位因為一個小零件的出錯,可能會導致整個機器出故障。邏輯電路中最基本的門電路通常是與門、或門、非門。與門是邏輯與運算的單元電路;或門是邏輯或運算的單元電路;非門,也叫反相器,是實現邏輯非運算的電路。在實際的應用中并不是把它們直接使用,而是將它們組合成復合邏輯運算與非、或非、與或非、異或、同或等常用的門來實現其功能。我們在日常生活中見得最多的就是交通燈的控制,就是用組合邏輯電路設計成的。在組合邏輯電路的設計中,利用門電路的組合完成的很多電路的設計,編碼器、譯碼器就是組合邏輯電路中的器件,組成的液晶顯示器LCD,數碼顯示器LED。

時序邏輯電路中,主要的零件就是集成觸發器,在各種復雜的數字電路中不但需要對二值信號進行算術運算和邏輯運算,還經常需要將這些信號和運算結果保存起來,因此需要使用記憶功能的基本邏輯單元,而這種能儲存信號的基本單元電路就是觸發器。迄今為止,人們已經研制出了很多種觸發器電路,根據電路結構形式的不同,可以分為基本RS觸發器、同步RS觸發器、主從觸發器、邊沿觸發器等。這些觸發器的研制都是在前一種觸發器的基礎上改進而來的,通俗的說是后人在前人的研究發明中不斷提煉出的新器件。因此同步觸發器是建立在基本RS觸發器的基礎上的,基本RS觸發器輸入信號可以直接控制觸發器的狀態翻轉,而在實際應用中往往要求在約定脈沖信號到來時,觸發器才能翻轉,所以才有同步RS觸發器的出現。但是同步RS觸發器有空翻現象,不能正常計數,因此人們又研制了主從觸發器,同樣為了克服主從觸發器的一次性變化,就有了邊沿觸發器的產生。

四、數字集成電路

在很多人看來,數字集成電路是非常空洞的東西,因為只是一塊芯片,卻能實現如此多的功能。那在數字集成電路中主要有哪些電路呢?常用的數字集成電路一般有CMOS電路和TTL電路兩種。CMOS電路有消耗功率低,工作電壓范圍廣和噪聲容限大的特點,雖然在CMOS電路的輸入端已經設置了保護電路,但由于保護二極管和限流電阻的幾何尺寸有限,它們所能承受的靜電電壓和脈沖功率均有一定限度。CMOS集成電路在儲存運輸、組裝和調試過程中難免會接觸到某些帶靜電高壓的物體,所以一般要對輸入的靜電進行保護,另外CMOS還會出現電路鎖定效應,一般為了使用安全和方便,人們一直在研究從CMOS電路本身的設計和制造上克服鎖定效應方法。當然,集成電路一般的要求都非常高,它需要預先對芯片進行設計,編制一定的程序,而我們往往使用現成的電路,對它只做了一定的分析。

通過對數字電路的基本知識的解讀,當然這只是很淺的一方面。而數字電路涉及到的一些專用的集成電路。由于專用集成電路(ASIC)是近期迅速發展起來的新型邏輯器件,這些器件的靈活性和通用性使它們已成為研制和審計數字系統的最理想器件。因此數字電路的發展在今后還有很大的空間,但是在發展的同時,數字電路的基礎的知識是不會改變的,只會在原來的基礎上得到更大的改進,這需要新新的電子人來改進數字電路的不足地方,將它所存在的每一個缺點進行彌補,使各個部分它的作用發揮到最大。

數字電路在實際運用中將越來越廣泛,現在在要求普及的數字電視已經進入了千家萬戶,數字化已經成了必然的趨勢。但是任何技術知識,基礎都是最根本,最主要的,數字電路的組成剛好是是基礎。數字化的時代已經到來,打好基礎知識是數字電路發展的前提條件。

組合電路的設計范文第4篇

關鍵字:FPGA;高速低功耗; 方法措施

FPGA的功耗高度依賴于用戶的設計,沒有哪種單一的方法能夠實現這種功耗的降低,如同其它多數事物一樣,降低功耗的設計就是一種協調和平衡藝術,在進行低功耗器件的設計時,人們必須仔細權衡性能、易用性、成本、密度以及功率等諸多指標。

FPGA設計的總功耗包括靜態功耗和動態功耗兩個部分。其中,靜態功耗是指邏輯門沒有開關活動時的功率消耗,主要由泄漏電流造成的,隨溫度和工藝的不同而不同。靜態功耗主要取決于所選的FPGA產品。

動態功耗是指邏輯門開關活動時的功率消耗,在這段時間內,電路的輸入輸出電容完成充電和放電,形成瞬間的軌到地的直通通路。與靜態功耗相比,通常有許多方法可降低動態功耗。

為提高FPGA的數據處理速度及降低芯片功耗,邏輯電路設計應重點采用以下措施:

(1)采用流水線,降低芯片功耗,提高系統時鐘。流水線是一種設計技巧,它在很長的組合邏輯路徑中插入寄存器,寄存器雖增加了運算周期數,卻能大大減少組合邏輯延時,提高整個系統工作頻率。有流水線電路在占用資源略有增加情況下,工作速度是沒有流水線電路的2倍多,可見,少量資源換來了芯片工作速度的成倍增加。

(2)按面積優化組合邏輯,減小組合邏輯的復雜性,從而減少組合電路需要的邏輯門數量,邏輯門數的減少,意味著芯片功耗的降低。流水線的使用已經保證芯片具有足夠高的處理速度,各個寄存器間的組合邏輯不再以速度為優化目標進行設計,考慮到功耗要求,應以最少的邏輯門數實現該功能。

(3)以原理圖描述功能模塊的數據流,以VHDL語言的行為語句描述控制流。這種邏輯電路設計思想,充分利用原理圖設計直觀、形象和VHDL輸入法簡單明了的優勢,既可以獲得具有高效率流水線結構的同步電路,又能夠大大縮短設計時間。

(4)在電路設計過程中,應使用“自底向上”與“自頂向下”設計相結合、“邏輯設計”與“功能仿真”交替進行的設計技巧,以保證邏輯電路的層次化、模塊化以及功能的正確性。首先把邏輯復雜的功能模塊,分割為幾個相對簡單的小模塊;然后分別設計這些小模塊,進行功能仿真,發現錯誤,修改設計,再仿真……,直到功能完全正確;再實例化小模塊,組成功能復雜的大模塊,依舊重復功能仿真、修改設計的過程;再實例化這些大模塊,構成更上層模塊……,最后獲得功能完全正確的邏輯電路。

(5)在時鐘網絡上減少開關動作也可大幅降低功耗。多數可提供獨立全局時鐘的FPGA是分割為幾部分的,若一個設計間歇地采用部分邏輯,就可關掉其時鐘以節省功耗。最新FPGA中的PLL可禁止時鐘網絡并支持時鐘轉換,因此既可關掉時鐘也可轉換為更低頻率的時鐘。更小的邏輯部分能夠潛在地使用本地/局域時鐘來替代全局時鐘,因此不必使用不相稱的大型時鐘網絡。

(6)對易受干擾的設計而言,減少意外的邏輯干擾可大幅降低動態功耗。意外干擾是在組合邏輯輸出時產生的暫時性邏輯轉換。減少這種效應的一個方法是重新考慮時序設計,以平衡時序關鍵路徑和非關鍵路徑間的延遲。用戶可在軟件工具的幫助下應用這種方法,例如某軟件可通過組合邏輯移動寄存器的位置,以實現平衡時序。另外一種方法是引入流水線結構,以減少組合邏輯深度,流水線還有助于增加速度。第二種方法對無意外干擾設計的效果不明顯,相反還可能增加功耗。

方便快捷的精確功率估算工具,不僅有助于設計工程師對功率進行定量評估,同時也有助于加快產品設計進度。如果在初期功率評估工具和數據表中沒有實際數據,設計工程師就不能在設計階段走得更遠。獲取初期評估數據工具,可使設計人員在設計開始之前就進行功率估算。此外作為設計規劃,工程師可將布局和布線設計加載到更精確的功率評估持續當中,從而得到一個更精準的功耗描述。最好的評估工具可使仿真文件無縫集成到電源工具中,因而能夠獲得開關功率的精確描述;若不能進行仿真,則該工具也能自動給出FPGA設計的評估參數。

參考文獻:

組合電路的設計范文第5篇

(西安郵電大學電子工程學院,陜西西安710121)

摘要:為了高效地利用Verilog HDL語言中always行為建模語句設計集成電路,采用比較和舉例論證的方法,總結出always語句中事件控制敏感信號對設計仿真的影響。always語句中敏感信號分為時鐘邊沿信號和電平信號,對于敏感信號為時鐘邊沿信號,仿真結果直觀簡單;但是對于敏感信號為電平信號,敏感信號必須是所有的輸入和判斷語句的信號,否則仿真結果不確定。

關鍵詞 :Verilog HDL;always語句;敏感信號;時鐘邊沿信號;時鐘電平信號

中圖分類號:TN911.6?34;TP312 文獻標識碼:A 文章編號:1004?373X(2015)15?0032?03

收稿日期:2015?02?26

基金項目:陜西省教育廳專項科研基金(2013JK0626);西安郵電大學青年教師科研基金資助項目(101?1215;101?0473)

0 引言

硬件描述語言(Hardware Description Language,HDL)是一種用形式化方法來描述數字電路和系統的語言。Verilog HDL和VHDL是目前世界上最流行的兩種硬件描述語言,都是在20世紀80年代中期開發出來的,兩種HDL 均為IEEE 標準。但是Veriolg 語言的很多規定與C語言相似,代碼簡單,有大量支持仿真的語句與可綜合語句,對于初學者設計簡單的數字系統,更容易學習和掌握[1]。所以,Verilog HDL語言在大規模集成電路和現場可編程門陣列設計中得到了廣泛的應用[2?4]。

在集成電路設計中,Verilog語言中的always語句經常用來描述時序邏輯電路和組合電路。always語句是一種結構化的過程語句,是行為級建模的基本語句,它的語句格式為:always@(敏感事件列表),敏感事件可以是時鐘邊沿信號也可以是電平信號,分別對應時序邏輯電路和組合邏輯電路[5]。敏感事件列表中可以包含多個敏感事件,只要所列舉的任意一種情況發生,都將激活事件控制,各個敏感事件之間是“或”的關系;但不可以同時包括電平敏感事件和邊沿敏感事件,也不可以同時包括同一個信號的上升沿和下降沿,這兩個事件可以合并為一個電平敏感事件。而且,按照語法要求,在always塊中只能給寄存器變量賦值。

在實際應用中,敏感信號為時鐘邊沿信號,仿真綜合結果一般正確。但是當敏感信號為電平信號時,情況就會變得復雜,仿真綜合結果會變得不確定。文獻[6]對always敏感信號與仿真結果的這種不確定性問題也進行了肯定,但是并沒有進一步的分析。本文對always語句中的事件控制敏感信號出現的各種情況進行對比探討,發掘always語句中敏感信號分別為時鐘邊沿信號和電平信號的差異,并通過仿真圖形去驗證。

1 敏感信號為時鐘邊沿信號

Always語句中的敏感信號如果為時鐘邊沿敏感事件,一般用來表示時序邏輯電路,時序邏輯電路在邏輯功能上的特點是任意時刻的輸出不僅取決于當時的輸入信號,而且還取決于電路原來的狀態,或者說,還與之前的輸入有關。從電路行為上講,不管輸入如何變化,僅當時鐘的沿(上升沿或下降沿)到達時,才有可能使輸出發生變化[7]。這里以經常用到的D觸發器為例,其仿真圖如圖1所示。

上面所述的D 觸發器,賦值語句為q<=a|b,等式右端為wire型變量。再舉個多敏感信號的時序邏輯電路的例子,比如帶有清零端的16 分頻,其仿真圖如圖2所示。

只要在always塊的敏感信號表中定義有效的時鐘沿,敏感詞的作用立竿見影,然后使用過程賦值語句對信號賦值,就可以實現時序邏輯電路。

2 敏感信號為電平信號

always語句中的敏感信號如果為電平敏感事件,一般用來表示組合邏輯電路,組合邏輯電路的特點是輸出信號只是當前時刻輸入信號的函數,與其他時刻的輸入狀態無關,無存儲電路。從電路行為上看,其特征就是輸出信號的變化僅僅與輸入信號的電平有關,不涉及對信號跳變沿的處理[8]。always電平敏感信號列表,必須將所有的輸入信號和條件判斷信號都列在信號列表中。有時不完整的信號列表會造成不同的仿真和綜合結果,因此需要保證敏感信號的完備性。在實際的PLD 器件開發中,EDA 工具都會默認將所有的輸入信號和條件判斷語句作為觸發信號,增減敏感信號列表中的信號不會對最終的執行結果產生影響,因此如果期望在設計中通過修改敏感信號來得到不同的邏輯,是不能實現的,這也是經常犯錯的地方,這是因為仿真器在工作時不會自動補充敏感信號表。如果缺少信號,則無法觸發和該信號相關的仿真進程,也就得不到正確的仿真結果。這里以一個2?4譯碼器為例,其仿真圖如圖3所示。

如果想用一個敏感信號來控制邏輯變化,比如當enable信號的電平發生變化時,再去譯碼,程序如下,仿真圖如圖4所示。

由圖4 可以看出,這并不是所需的結果,這就是前面所說的,系統自動將所有的輸入作為了敏感信號。

因此,在應用always塊語句表述組合邏輯電路時,一定要注意敏感信號的完整性,要求觸發為所有內部用到的信號,可以用always@(*),此時,綜合工具和仿真工具會自動將所有的敏感信號自動加入敏感信號列表。

前面已經提到過always敏感信號不可以同時包括同一個信號的上升沿和下降沿,這兩個事件可以合并為一個電平敏感事件。在設計中,一些初學的設計者經常在時鐘的上升沿和下降沿都進行計數器加1,以為這樣能實現倍頻,仿真結果如圖5所示。

從圖5中可以發現并沒有出現想要的結果,而是呈現出了高阻態。將直接加1運算改為直接的賦值語句,程序如下,仿真結果如圖6所示。

從圖6中可以看出,cnt8這個變量存儲的是最后一次賦值,這時當always敏感信號為電平信號,系統默認為組合邏輯電路,雖然將信號定義為reg 型,但只是為了滿足always 模塊中的信號必須定義為reg 型的語法要求,最終的實現結果中并沒有寄存器,在圖5中出現高阻態,因為cnt8=cnt8+1是計數器,是時序邏輯電路。

3 結論

本文對Verilog語言中always塊語句中的敏感信號進行了對比探討,得到如下結論:

(1)如果敏感信號是時鐘邊沿觸發信號,表示的是時序邏輯電路,而且在描述時序電路的always 塊中的reg型信號都會被綜合成寄存器,而且時序邏輯的敏感信號列表只需要加入所用的時鐘觸發沿即可。

(2)如果敏感信號是電平觸發信號,表示的是組合邏輯電路,這里一定要注意敏感信號的完整性,即所有的輸入和判斷語句的信號都要加為敏感信號,否則,得不到想要的設計結果。

(3)在組合邏輯電路描述中,將信號定義為reg型,只是為了滿足always模塊中的信號必須定義為reg 型的語法要求,最終實現結果中并沒有寄存器。

參考文獻

[1] PALNITTKAR S.Verilog HDL 數字設計與綜合[M].夏宇聞,胡燕祥,刁嵐松,譯.2版.北京:電子工業出版社,2009.

[2] 孫繼榮,李志蜀,王莉,等.程序切片技術在軟件測試中的應用[J].計算機應用研究,2007,24(5):210?213.

[3] 寧佐林,邱智亮.PCI橋接IP Core 的Verilog HDL 實現[J].電子科技,2006,19(4):43?46.

[4] 趙東,耿衛東,吳春亞,等.用FPGA 實現OLED 灰度級顯示[J].光電子? 激光,2002,13(6):554?558.

[5] 羅杰.Verilog HDL與數字ASIC設計基礎[M].武漢:華中科技大學出版社,2008.

[6] PADMANABHAN T R,SUNDARI B B T. Design through Verilog HDL [M]. New York:John Wiley & Sons,2013.

[7] CILETTI M D. Advanced digital design with the Verilog HDL [M]. 2nd ed. Beijing:Electronic Industry Press,2010.

主站蜘蛛池模板: 日韩精品视频中文字幕 | 亚洲国产一区在线 | 精品久久久久久国产 | 激情自拍网 | 综合欧美一区二区三区 | 日韩精品一区二区三区免费视频 | 欧美三级网 | 中文字幕在线一区观看 | 日韩欧美视频一区 | 在线欧美 | 欧美一区二区三区婷婷月色 | 91麻豆精品国产91久久久久久久久 | 日韩欧美高清视频 | 日本在线观看一区 | 欧美日韩国产综合网 | 久久久99国产精品免费 | 99国产精品99| 免费观看视频www | 91短视频黄 | 国产在线免费 | 国产高清在线精品一区二区三区 | 久久女 | 欧美黑人性视频 | 一个色综合视频 | 亚洲综合15p | 国产黄色一级电影 | 亚洲www.| 毛片无码国产 | 国产成人精品一区二区三区网站观看 | 偷拍自拍在线 | 麻豆精品一区二区 | 精品在线免费观看 | 伊人9| 精品福利在线观看 | 成人免费乱码大片a毛片视频网站 | 日本国产精品 | 日韩av片在线 | 精品国产一区探花在线观看 | 亚洲第一av在线 | 国产一线大片 | 亚洲成人黄色 |