前言:想要寫出一篇令人眼前一亮的文章嗎?我們特意為您整理了5篇邏輯電路設計方法范文,相信會為您的寫作帶來幫助,發現更多的寫作思路和靈感。
Abstract: The introduction of the new course is an art of teaching, the successful introduction of new course can quickly attract the attention of students, and it is a successful half of the class. According to the characteristics of the course of "digital circuit and logic design", which is rich in content, theoretical abstraction, large span and strong practicality, this paper puts forward several specific new course introduction methods and applies them to the teaching process. Practice had proved that dull knowledge became lively and cheerful with these methods,and students took part in all discuss in classroom actively to improve the teaching and then successfully fulfill it.
P鍵詞:新課導入;數字電路與邏輯設計;教學
Key words: the introduction of the new course;digital circuit and logic design;the teaching
中圖分類號:G642.3 文獻標識碼:A 文章編號:1006-4311(2017)11-0181-02
0 引言
《數字電路與邏輯設計》課程是測控技術與儀器、電子信息工程、電氣工程及自動化、計算機等專業的一門專業基礎課程。該課程詳細介紹了數字邏輯的基礎內容、邏輯門電路、組合邏輯電路、鎖存器和觸發器、時序邏輯電路、脈沖波形的變換與產生、數模與模數轉換、存儲器和可編程邏輯器件[1]。該課程結合集成芯片,進行系統而廣泛的描述,旨在培養學生了解和掌握典型數字集成電路的基本知識、使用方法和設計要點的基本技能。
該課程是許多專業的學生接觸的第一門與實際電子、電器緊密相關的一門課程,更是學生學習今后專業課的基礎。如何引導學生盡快入門,并且學好該課程,是教師需要認真考慮的一個重要問題。本文重點從新課導入方法來闡明如何學好該課程,因為良好的開端是成功的一半。新課導入引人入勝,可以產生凝聚效應,即凝聚學生的注意力、思想、情感,進而對該課程產生學習興趣。本人根據教學經驗的積累,將多種實用的導入方法總結歸納,根據知識點的特點,采用不同的新課導入方式,以期達到最有效的教學效果。
1 新課導入方法
1.1 史料法導入
《數字電路與邏輯設計》課程比較枯燥,教師如果適時、合理地將與該課程有關的歷史人物或事件引入該課程,必將為枯燥的課程帶來幾分生動,同時激發學生的求知欲。如講授數字電路與數字信號基礎知識的時候,首先介紹電子技術的發展歷程,從1906年福雷斯特等發明電子管,到1948年肖克利等發明晶體管。從60年代初出現的只有4個邏輯門的小規模集成電路,到目前使用的超大規模集成電路。每當電子器件有一次變革,電子技術就有一次突破性進展。每當電子器件發生變革的時候都伴隨著與歷史人物有關的有趣的小故事。通過歷史人物的故事,加深學生對電子器件的認識。這樣,很容易激發學生的學習興趣,促使他們認真地去學習各種電子器件,并且深深體會每種器件所代表的時代特征,為后續知識的學習奠定基礎。
1.2 溫故導入
溫故而知新是一種由已知向未知的導入方法,傳統、簡單、有效。通常以舊知識為鋪墊,采用提問的方式復習已學知識,找出已學知識與新知識相聯系的紐帶,自然地過渡到對新知識的學習。這樣既可以鞏固所學知識,又可以幫助學生全面認識事物,提升學生的分析能力以及對知識的融匯貫通能力。比如講授二進制數的算數運算時,先在黑板上給出一個十進制數,讓學生轉換成相應的二進制數、八進制數和十六進制數,這樣不但復習了不同的數制,而且可以順利引入二進制數的算數運算。因為加強了學生對十進制數到二進制數之間的轉換之后,再來學進制數的運算就會事半功倍。
1.3 實例導入
實例導入即通過舉例子或者練習題來回憶舊知識,并且很自然地過渡到新知識。比如,在最小項和卡諾圖講解結束,將要講邏輯函數的卡諾圖化簡時。首先,給出一個邏輯函數表達式,接著提問學生“該表達式是不是最小項表達式?如果不是則寫出其最小項表達式的形式和最小項編號的形式”;然后,根據學生已經寫好的最小項表達式填寫卡諾圖,這樣就通過一個例子將最小項和卡諾圖的相關知識回憶和應用了一遍;最后,針對題目所給的邏輯函數表達式提問學生“該表達式是不是最簡的形式呢?若不是該如何化簡?”這時學生很自然地會用代數化簡法進行化簡,化簡完成之后告訴學生代數化簡法的缺點并引出卡諾圖化簡法。即代數化簡法要求熟練掌握邏輯代數的基本定律,而且需要一些技巧,特別是經代數法化簡后得到的邏輯表達式是否是最簡式較難掌握,這就給使用代數化簡法帶來一定的困難,使用卡諾圖化簡法可以比較簡單而直觀地得到最簡邏輯表達式。那么,這個時候學生自然會被卡諾圖化簡法所吸引,順理成章進入新課程。
再比如,當講解到編碼器時,在講解之前先舉一個大家很熟悉的例子,即每個學生都有一個學號,名字可以重名,但是學號是唯一的,這就是用十進制數將學生進行了編碼。緊接著提出“在數字電路里面,什么是編碼呢?”帶著該問題引入到新課的學習中。
以實例為橋梁導入新課的方法有很多種方式,都是通過舉例吸引學生注意力,并且強化學生對理論知識的運用,使師生之間更容易產生互動。
1.4 對比導入
所謂對比導入就是根據新舊知識的關聯點、異同點,采用正反對比的方式導入新課。《數字電路與邏輯設計》課程中功能相反、思路相反的例子很多。組合邏輯電路的分析與設計、時序邏輯電路的分析與設計、編碼器與譯碼器等等。在講授這些內容時,應用對比法導人可以使學生加深對所學知識的理解與掌握。
比如,組合邏輯電路的分析講解結束,將要講組合邏輯電路的設計時。首先,回顧組合邏輯電路的分析,即已知條件是邏輯電路,待求條件是邏輯功能;然后,緊跟著提問學生“如果反過來,即已知條件是邏輯功能,待求條件是邏輯電路,又該如何解決呢?”由此過渡到新課,即組合邏輯電路的設計。同樣,同步時序邏輯電路的分析講解結束之后,依然采用對比導入方式引出并講解同步時序邏輯電路的設計。
又比如,在講授譯碼器時,通過回顧編碼器的工作過程對比引入譯碼器的工作過程。即先列出三位二進制編碼器的編碼表,然后說明譯碼器和編碼器的工作過程相反,編碼器是將某種信號或十進制數碼(輸入)編成二進制代碼(輸出),譯碼器則是將二進制碼(輸入)按其編碼時的原意譯成對應的信號或十進制數碼(輸出),從而很容易列出三位二進制譯碼器的狀態表。這樣,通過對比的方式回顧并學習了編碼器的知識和譯碼器的狀態表之后,再介紹譯碼器的其余知識就會很容易,學生也會很好地區別和理解編碼器及譯碼器。同樣,數據分配器和數據選擇器、數~模轉換器和?!珨缔D換器、鎖存器和觸發器等很多內容的講解都可以采用對比的方式。
1.5 實物導入
《數字電路與邏輯設計》課程是一門應用性、實用性都很強的課程,如果教師能恰當地選擇一些與講課內容密切相關又符合學生認知能力的電子小產品來導入新課,也不失為一種引發學生興趣,培養解決實際問題的好方法。在講組合邏輯電路設計時,筆者以“設計好的一個切實可行的表決器”為例導入新課,告訴學生們學完今天的內容,你就會做表決器,甚至更復雜的電子產品。這樣理論和實際一下子聯系起來了,學生們也一下子來了精神。此時,教師適時提問“實際中的表決器有什么特點?它屬于什么電路?怎樣實現呢?”這樣因勢利導地切入正題引入這節課要講的內容。教師要善于引用學生熟悉的現象、事例來導入新課,使學生有一種親切感和實用感,從而激發學生興趣,讓學生真正感受到學習了此課程我就可以做什么。
再比如,在講授典型的時序邏輯電路的時候,將已經設計好的計數器帶入教室,讓學生們先了解一下其功能,以及現實生活中經常用到計數器的地方,加強理論與實際的聯系;然后通過提問學生“計數器的電路是如何來設計的?怎樣實現呢?”這樣不僅可以有效地吸引學生注意力,而且很自然地過渡到新知識的講解。需要實物導入的地方很多,再比如單穩態觸發器、施密特觸發器、多諧振蕩器等的講解都可以采用實物導入的方式,通過實物加深學生對理論知識的理解與鞏固,提升學生的感性認識,從而使枯燥的課堂變得活躍、充滿學習熱情。
2 結束語
新課導入是課堂教學中一個必不可少的環節,是教師引導學生參與學習的過程和手段,也是教師必備的一項基本的教學技能,有效的課堂導入可以充分體現學生的主體地位和教師的主導作用。通過上述方法的實踐證明:一些成功的、高效的新課導入可以開啟學生的思維,提高教W質量,為學生后續專業課的學習奠定良好的基礎。
參考文獻:
[1]白彥霞,張秋菊.數字電子技術基礎[M].北京:北京郵電大學出版社,2009.
關鍵字:數字電路;組合邏輯電路;時序邏輯電路
中圖分類號: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)是近期迅速發展起來的新型邏輯器件,這些器件的靈活性和通用性使它們已成為研制和審計數字系統的最理想器件。因此數字電路的發展在今后還有很大的空間,但是在發展的同時,數字電路的基礎的知識是不會改變的,只會在原來的基礎上得到更大的改進,這需要新新的電子人來改進數字電路的不足地方,將它所存在的每一個缺點進行彌補,使各個部分它的作用發揮到最大。
數字電路在實際運用中將越來越廣泛,現在在要求普及的數字電視已經進入了千家萬戶,數字化已經成了必然的趨勢。但是任何技術知識,基礎都是最根本,最主要的,數字電路的組成剛好是是基礎。數字化的時代已經到來,打好基礎知識是數字電路發展的前提條件。
關鍵詞: 數字電路設計; 現代數字邏輯設計方法; 數字電路教學改革; 轉換真值表
中圖分類號: TN710?34; TP302.1 文獻標識碼: A 文章編號: 1004?373X(2014)07?0139?04
Research on the necessity of change in digital circuit design method
based on CPLD/FPGA
SHUANG Kai, CAI Hong?ming
(College of Geophysics and Information Engineering, China University of Petroleum (Beijing), Beijing 102249, China)
Abstract: Application of large?scale programmable logic device has brought great flexibility to digital system design. The introduction of standard logic design language has greatly changed the design method, design process and design concepts of traditional digital system. As a technical foundation teaching link in the university, it should be adjusted accordingly. The problems of the traditional design approach and advantages of modern logic design methods are compared through the combinational logic and sequential logic design examples. By contrast, the modern logic design techniques has replaced the traditional method of digital system design and become the mainstream of the digital circuit design, which is the inevitable trend of development of electronic technology.
Keyword: digital circuit design; modern digital logic design method; digital circuit teaching reform; conversion truth table
0 引 言
20世紀90年代,國際上電子和計算機技術較為先進的國家,一直在積極探索新的電子電路設計方法,并在設計方法、工具等方面進行了徹底的變革,取得了巨大成功。在電子技術設計領域,可編程邏輯器件(如CPLD、FPGA)的應用,已得到廣泛的普及,這些器件為數字系統的設計帶來了極大的靈活性。這些器件可以通過類似軟件編程的方式對其硬件結構和工作方式進行重構,從而使硬件設計像軟件設計那樣方便快捷。這就極大地改變了傳統的數字系統設計方法、設計過程和設計觀念,促進了數字邏輯電路設計技術的迅速發展。本文通過幾個設計實例的對比闡述一個道理,隨著數字電路中先進設計方法的引入,高等學校中數字電子技術的教學內容必須隨之得到改善,使之與技術進步相互適應[1?3]。
數字電路根據邏輯功能的特點,分成兩類,一類叫組合邏輯電路(簡稱組合電路),另一類是時序邏輯電路(簡稱時序電路)。組合邏輯電路在邏輯功能上的特點是任意時刻的輸出僅取決于該時刻的輸入,與電路初態無關。而時序邏輯電路任意時刻的輸出不僅取決于當時的輸入信號,還取決于電路原來的狀態。本文從這兩方面就傳統手工設計存在的問題進行討論。
1 組合邏輯設計中傳統設計方法與可編程邏輯
設計方法的對比
列真值表,邏輯關系式,邏輯化簡是組合邏輯設計的幾個重要步驟。但這一經典的組合邏輯設計步驟并不總是必須的。實現特定邏輯功能的邏輯電路也是多種多樣的。為了使邏輯電路的設計更簡潔,通過各種方法對邏輯表達式進行化簡是必要的。組合電路設計就是用最簡單的邏輯電路實現給定邏輯表達式。在滿足邏輯功能和技術要求基礎上,力求電路簡單、可靠。實現組合邏輯函數可采用基本門電路,也可采用中、大規模集成電路。
例1:三個人表決一件事情,結果按“少數服從多數”的原則決定這一邏輯問題[4?5]。在“三人表決”問題中,將三個人的意見分別設置為邏輯變量A、B、C,只能有同意或不同意兩種意見。將表決結果設置為邏輯函數F,結果也只有“通過”與“不通過”兩種情況。
傳統的邏輯設計需要由下面的4個步驟完成:
(1) 列真值表
對于邏輯變量A、B、C,設同意為邏輯1,不同意為邏輯0。對于邏輯函數F,設表決通過為邏輯1,不通過為邏輯0。
根據“少數服從多數”的原則,將輸入變量不同取值組合與函數值間的對應關系列成表,得到函數的真值表如表1所示。
表1 例1的真值表(共有23=8行)
[A\&B\&C\&F\&0\&0\&0\&0\&0\&0\&1\&0\&0\&1\&0\&0\&0\&1\&1\&1\&1\&0\&0\&0\&1\&0\&1\&1\&1\&1\&0\&1\&1\&1\&1\&1\&]
(2) 列邏輯函數表達式
三人表決器的邏輯表達式為:
[F=ABC+ABC+ABC+ABC] (1)
設N為上式中的邏輯項數,這時,共有邏輯項[N=C23+C33=4]項。
(3) 邏輯化簡
三人表決器的邏輯表達式可化簡為:
[F=BC+AC+AB]
(4) 畫出邏輯電路圖如圖1所示。
盡管上面的分析看上去沒有錯誤,但上例中的“三人表決器”設計給學生一個誤導,好像按照上述的設計步驟就可以進行組合邏輯設計了??梢酝茖?,若表決人數用[p]來表示,邏輯表達式的項數為[Np=k=p2+1pCkp,]其中[Ckp]為邏輯項的組合數。以[p=7]為例,這時表1中的表項為27=128項,式(1)中的邏輯項數N變為[N7=C47+C57+C67+C77=64]。
圖1 例1的邏輯圖
顯然,隨著表決者數量的增加,邏輯項數急劇增加,真值表不易繪制,邏輯公式無法手工書寫,邏輯化簡也非常困難。
多數表決器的邏輯公式由于過多的項數不易采用公式法化簡。如果采用卡諾圖化簡法也會因輸入變量過多而導致傳統化簡方法失效。
標準邏輯設計語言的出現給大規模邏輯設計帶來了新的希望。硬件描述語言(HDL)的采用可以使設計者的精力集中于所設計的邏輯本身,不必過多的考慮如何實現這個邏輯以及需要用哪些定型的邏輯模塊。這在以往中小規模集成電路邏輯設計與大規??删幊踢壿嬙O計方法上產生了本質的差別。Verilog是一種以文本形式來描述數字系統硬件結構和行為的語言,用它可以表示邏輯電路圖、邏輯表達式,還可以表示數字邏輯系統所完成的邏輯功能。在此,用Verilog設計一個“七人表決”邏輯,以考察采用現代邏輯設計方法較傳統設計方法的優勢。
在表決器的設計中,關鍵是對輸入變量中為1的表決結果進行計數,如果把全部的邏輯狀態列表分析,勢必存在冗余的設計資源。根據多數表決的性質,考慮采用加法邏輯來統計表決結果,之后再判決加法器輸出中1的個數即可實現該邏輯。Verilog設計如圖2所示。
圖2 七人表決的Verilog邏輯
在“七人表決”邏輯中,不再專注于每個邏輯變量狀態的變化,只抓住關鍵問題多數表決有效,并用條件操作符“?”設計出所需的Verilog行為邏輯,剩下的實現問題交由計算機綜合(synthesis)。可以看到,采用標準化的硬件描述語言,能有效地避開以往組合邏輯設計中逐一考察每個輸入邏輯狀態所帶來的邏輯狀態分析的爆炸,從而可以用較短的設計時間得到正確的邏輯輸出。眾所周知,加法器、比較器都是傳統的組合邏輯教學內容,但以往的教學中由于采用手工分析方法,很難把這些不同的邏輯設計內容綜合考慮進來。筆者認為,現代邏輯設計方法的引入將逐漸轉化人們對傳統邏輯設計中的關注點,勢必引起邏輯設計教學方法的更新。有必要加大邏輯功能綜合設計的內容,減少元器件級邏輯單元選型在教學中的比例。
2 時序邏輯設計中傳統設計方法與現代可編程
邏輯設計方法的對比
數字電路的另一類設計內容是時序邏輯設計。時序邏輯設計分為同步與異步時序邏輯設計。一般地,同步時序邏輯設計的難度要高于異步時序邏輯。因此,也在時序邏輯電路設計上占有較多的學時。如果在教學改革中僅把可編程邏輯設計作為傳統時序邏輯設計內容的補充,不但不能使學生體會到先進的計算機輔助邏輯設計所帶來的便捷,還可能使學生按照傳統的手工時序邏輯設計步驟去理解可編程時序邏輯,導致時序邏輯設計的復雜化,增加邏輯驗證的成本。因此,有必要探討傳統設計方法與現代邏輯設計方法之間的差別。下面根據一個典型的時序邏輯設計來說明。
例2:試設計一個序列編碼檢測器[6?7],當檢測到輸入信號出現110序列時,電路輸出1,否則輸出0。
這個序列編碼檢測器如果按照傳統的時序設計步驟,將會異常繁瑣:
(1) 由給定的邏輯功能建立原始狀態圖和原始狀態表
從給定的邏輯功能可知,電路有一個輸入信號A和一個輸出信號Y,電路功能是對輸入信號A的編碼序列進行檢測,一旦檢測到信號A出現連續編碼為110的序列時,輸出為1,檢測到其他編碼序列時,輸出為0。
設電路的初始狀態為a,如圖3中箭頭所指。在此狀態下,電路輸出[Y=0,]這時可能的輸入有[A=0]和[A=1]兩種情況。當CP脈沖相應邊沿到來時,若[A=0,]則是收到0,應保持在狀態a不變;若[A=1,]則轉向狀態[b,]表示電路收到一個1。當在狀態[b]時,若輸入[A=0,]則表明連續輸入編碼為10,不是110,則應回到初始狀態[a,]重新開始檢測;若[A=1,]則進入狀態[c,]表示已連續收到兩個1。在狀態[c]時,若A=0,表明已收到序列編碼110,則輸出[Y=1,]并進入狀態d;若[A=1,]則收到的編碼為111,應保持在狀態[c]不變,看下一個編碼輸入是否為[A=0;]由于尚未收到最后的0,故輸出仍為0。在狀態[d,]若輸入[A=0,]則應回到狀態[a,]重新開始檢測;若[A=1,]電路應轉向狀態[b,]表示在收到110之后又重新收到一個1,已進入下一輪檢測;在[d]狀態下,無論[A]為何值,輸出[Y]均為0。根據上述分析,可以得出如圖3所示的原始狀態圖和表2所示的原始狀態表。
圖3 例2的原始狀態圖
表2 例2的原始狀態表
[現態
[(Sn)]\&次態/輸出[Sn+1Y]\&現態
[(Sn)]\&次態/輸出[Sn+1Y]\&[A=0]\&[A=1]\&[A=0]\&[A=1]\&[a]
[b]\&[a/0]
[a/0]\&[b/0]
[c/0]\&[c]
[d]\&[d1]
[a/0]\&[c/0]
[b/0]\&]
(2) 狀態化簡
觀察表2現態欄中[a]和[d]兩行可以看出,當[A=0]和[A=1]時,分別具有相同的次態[a、][b]及相同的輸出0,因此,[a]和[d]是等價狀態,可以合并。最后得到化簡后的狀態表,見表3。
表3 例2經化簡的狀態表
[現態
[(Sn)]\&次態/輸出[Sn+1Y]\&現態
[(Sn)]\&次態/輸出[Sn+1Y]\&[A=0]\&[A=1]\&[A=0]\&[A=1]\&[a]
[b]\&[a/0]
[a/0]\&[b/0]
[c/0]\&[c]
\&[a1]
\&[c/0]
\&]
(3) 狀態分配
化簡后的狀態有三個,可以用2位二進制代碼組合(00,01,10,11)中的任意三個代碼表示,用兩個觸發器組成電路。觀察表3,當輸入信號A=1時,有abc的變化順序,當A=0時,又存在ca的變化。綜合兩方面考慮,這里采取00011100的變化順序,會使其中的組合電路相對簡單。于是,令a=00,b=01,c=11,得到狀態分配后的狀態圖,如圖4所示。
圖4 例2狀態分配后的狀態圖
(4) 選擇觸發器類型
這里選用邏輯功能較強的JK觸發器可以得到較簡化的組合電路。
(5) 確定激勵方程組和輸出方程組
用JK觸發器設計時序電路時,電路的激勵方程需要間接導出。表4所示的JK觸發器特性表提供了在不同現態和輸入條件下所對應的次態。而在時序電路設計時,狀態表已列出現態到次態的轉換關系,希望推導出觸發器的激勵條件。所以需將特性表做適當變換,以給定的狀態轉換為條件,列出所需求的輸入信號,稱為激勵表。根據表4建立的JK觸發器激勵表如表5所示。表中的[x]表示其邏輯值與該行的狀態轉換無關。
表4 JK觸發器特性表
[[Qn]\&[J]\&[K]\&[Qn+1]\&[Qn]\&[J]\&[K]\&[Qn+1]\&0\&0\&0\&0\&1\&0\&0\&1\&0\&0\&1\&0\&1\&0\&1\&0\&0\&1\&0\&1\&1\&1\&0\&1\&0\&1\&1\&1\&1\&1\&1\&0\&]
表5 JK觸發器的激勵表
[[Qn]\&[Qn+1]\&[J]\&[K]\&[Qn]\&[Qn+1]\&[J]\&[K]\&0\&0\&0\&[x]\&1\&0\&[x]\&1\&0\&1\&1\&[x]\&1\&1\&[x]\&0\&]
根據圖4和表5可以列出狀態轉換真值表及兩個觸發器所要求的激勵信號,見表6。
表6 例2的狀態轉換真值表及激勵信號
[[Qn1]\&[Qn0]\&[A]\&[Qn+11]\&[Qn+10]\&[Y]\& 激勵信號\&[J1]\&[K1]\&[J0]\&[K0]\&0\&0\&0\&0\&0\&0\&0\&[x]\&0\&[x]\&0\&0\&1\&0\&1\&0\&0\&[x]\&1\&[x]\&0\&1\&0\&0\&0\&0\&0\&[x]\&[x]\&1\&0\&1\&1\&1\&1\&0\&1\&[x]\&[x]\&0\&1\&1\&0\&0\&0\&1\&[x]\&1\&[x]\&1\&1\&1\&1\&1\&1\&0\&[x]\&0\&[x]\&0\&]
據此,分別畫出兩個觸發器的輸入J、K和電路輸出Y的卡諾圖,如圖5所示。圖中,不使用的狀態均以無關項x填入。
圖5 激勵信號及輸出信號的卡諾圖
化簡后得到激勵方程組和輸出方程。
[J1=Q0AK1=AJ0=AK0=AY=Q1A]
(6) 畫出邏輯圖,并檢查自啟動能力
根據激勵方程組和輸出方程畫出邏輯圖,如圖6所示。
圖6 例2的邏輯圖
如果發現所設計的電路不能自啟動,還應修改設計,直到能自啟動為止。
由上面所列舉的設計方法可以想見,繼續增加檢測位數會使邏輯設計更加復雜。
從上例可以看到,傳統的時序邏輯設計方法盡管可以用來實現時序邏輯的設計,但設計步驟不僅復雜且需要設計者大費周折??梢灶A見,使用傳統的時序邏輯設計方法設計復雜時序電路的難度很大。那么,采用什么方法才能使教學與現代邏輯設計技術接軌呢?
時序電路也被稱為有限狀態機(FSM)[6,8],因為它們的功能行為可以用有限的狀態個數來表示。在與可編程邏輯設計的對比分析中,這里采用FSM設計這個序列檢測器。
根據圖3的狀態轉換圖(采用圖4中化簡的狀態轉換圖亦可),給邏輯狀態[a,b,c,d]分別分配以Gray編碼(00,01,11,10)。之所以采用Gray編碼方法,是可以省掉序列檢測中的計數檢測。序列檢測器的FSM邏輯如圖7所示。經仿真驗證,符合設計要求。
圖7 例2的FSM實現
從上面的對比可以看出,傳統時序邏輯設計以人工邏輯分析為基礎,現有邏輯器件為基礎構件,歷經基本邏輯方程轉換及最后的狀態驗證等多個環節,設計周期長,僅適合設計小規模、時序簡單的邏輯單元[9];現代標準邏輯設計語言的設計方法以邏輯狀態轉換本身為要點,從邏輯門與觸發器級邏輯設計上升的行為邏輯設計,更易于用來設計復雜的現代大規模時序邏輯。
3 結 論
現代邏輯設計方法的引入將逐漸轉化人們對傳統邏輯設計的關注點,大學基礎教學中邏輯電路的設計方法也應隨著這一技術的引入更新它的內容,改變傳統邏輯設計占主導地位的現狀??梢灶A見,大規??删幊踢壿嬈骷囊雽母旧细淖償底蛛娮蛹夹g的教學模式?,F代邏輯設計概念的引入,減少手工邏輯設計方法的比重、增加現代數字電路設計方法,注重基本概念的靈活運用都是數字電路教學改革的選題。廣泛開展現代邏輯設計方法的研究,勢必帶來邏輯設計方法教學的變革。對于高等學校的教師來說,做好改革的思想準備已經是刻不容緩的了。
參考文獻
[1] 鮑家元,毛文林.數字邏輯[M].北京:高等教育出版社,2002.
[2] 呂樂,楊愛琴.談《數字電路與邏輯設計》課程教學改革[J].中國成人教育,2008(3):125?127.
[3] 李小珉,葉曉慧.深化《數字電路與邏輯設計》課程改革[J].長江大學學報:自科版,2004,1(4):124?125.
[4] 侯建軍,路而紅,熊華剛,等.數字電子技術基礎[M].2版.北京:高等教育出版社,2007.
[5] 易亞軍.《數字電子技術》教學研究[J].教育研究,2008(6):121?122.
[6] 康華光,鄒壽彬,秦臻.電子技術基礎:數字部分[M].5版.北京:高等教育出版社,2006.
[7] 鄧水先.《數字邏輯電路》課程的教改探索[J].職業教育研究,2008(8):68?69.
關鍵詞:數字邏輯;課堂教學;實驗教學
作者簡介:徐銀霞(1979-),女,湖北武漢人,武漢工程大學計算機科學與工程學院,講師。(湖北 武漢 430073)
中圖分類號:G642.421 文獻標識碼:A 文章編號:1007-0079(2013)28-0104-02
“數字邏輯”是計算機專業一門重要的硬件基礎課程,其主要目的是使學生掌握數字系統分析與設計的理論知識,熟悉各種不同規模的邏輯器件,掌握各類邏輯電路分析與設計的基本方法,為數字計算機或其它硬件電路分析與設計奠定基礎。[1]“數字邏輯”課程教學一般采用課堂教學與實驗教學相結合的方式,使得學生掌握數字電路分析與設計的一些理論知識,同時培養學生電路設計、制作與調試以及分析問題、解決問題的能力。學生的學習效果一直是教學當中的重中之重,因此如何有效利用有限的理論與實驗教學時間培養學生的綜合素質是一個值得探討的問題。筆者結合多年的教學實踐經驗,分別對課堂教學和實驗教學環節就“數字邏輯”課程的教學方法做一次探討。
一、“數字邏輯”課程的課堂教學
課堂教學效果直接決定學生理論知識掌握的程度,也影響隨后的實驗及實踐能否順利進行。在課堂教學中采用任務式教學、課堂討論、電路仿真演示以及硬件描述語言電路設計等方式進行教學,取得了滿意的效果。
1.任務式教學
明確任務,使學生掌握方法,做到舉一反三。教學過程中將 “數字邏輯”課程的知識點歸納整理成若干個任務。比如數字電路按邏輯功能分成組合邏輯電路和時序邏輯電路兩大類,主要的問題是電路分析與設計兩個方面。按電路規模要求重點掌握的是小規模和中規模電路,所以任務主要有小規模組合電路的分析、小規模組合電路的設計、中規模組合集成芯片、中規模組合電路分析、中規模組合電路設計;小規模時序電路分析、小規模時序電路設計、中規模時序集成芯片、中規模時序電路分析、中規模時序電路設計等等。對于每一個問題明確任務,分析解決辦法,歸納一般的解答步驟及注意事項,舉例證明方法的可行性。比如對于中規模組合芯片的學習,僅以數據選擇器為例,引導學生上網查閱芯片資料,閱讀資料找出芯片的功能表、輸出表達式,邏輯圖和引腳圖以及典型應用。這樣,學生不僅掌握了該芯片的全部知識要點,還可以掌握中規模組合集成芯片這類芯片的學習方法。此后,對于所有此類芯片學生都能夠通過自行查找芯片資料來掌握,節約了課堂時間,學生也獲得了自主學習的成就感。
2.增加課堂討論
精講多練,給予學生充分的討論時間。為提高學習效果,在提出任務、介紹原理及方法后,布置課堂練習。學生可以一邊練習一邊自由討論,已理解的同學在討論中充當老師,可以加深印象,鞏固知識;而沒有理解的同學可以在討論中積極主動地學習,同時也激發了學生后續學習的積極性,比教師反復講解的效果好。這種方式可以避免“滿堂灌”式的教學方式,活躍課堂氣氛,創造學習氛圍,提高學習興趣,實踐證明取得了良好的效果。
3.電路仿真演示
在數字電路分析與設計的理論教學過程中,很多學生會覺得枯燥且難以理解。借助Multisim11.0仿真軟件進行數字電路的模擬和課堂演示,可以直觀地顯示電路的功能和時序電路的時序波形。比如在講解中用16進制計數器74161實現12進制計數器時,其中復位法可通過置0或者異步清零兩種方法使得計數器從11回0,但置0法必須在計數到1011時使得置數端為0,異步清零必須在計數器為1100時使得清零端為0才能保證計數器為12進制。如果僅用理論講解學生比較難理解,但通過仿真演示后學生能夠恍然大悟。因此仿真軟件的使用可以使“數字邏輯”理論課的教學更加生動活潑,而且學生在遇到疑問時也可以通過仿真軟件進行驗證。學生通過直觀的仿真結果,對電路的工作過程進行透徹的分析,提高了學習的興趣和效率,促進自學能力和創新能力的提高。
4.引入硬件描述語言
硬件描述語言用軟件編程的方式來描述電子系統的邏輯功能、電路結構和連接形式,適合大規模系統的設計。在教學的過程中將硬件描述語言Verilog HDL引入課堂,比如在講解邏輯門、數據選擇器、觸發器、計數器等基本單元電路的原理之后,給出模塊對應的硬件描述語言,演示仿真波形和綜合結果。學生從仿真波形中觀察信號的邏輯變化,對數字邏輯電路的掌握更加透徹,同時也豐富了教學內容。Verilog HDL語言是一種非常實用的硬件描述語言,易學易用,學生只要有C語言編程基礎,便容易掌握。編程也可以實現電路設計,同學們感到非常新奇,將被動學習變為主動學習,提高學習興趣,取得了很好的教學效果。
二、“數字邏輯”的實驗教學
“數字邏輯”是一門實踐性很強的課程。[2]通過數字電路設計實驗,學生可以基本掌握數字電路的設計、制作與調試步驟,學會借助萬用表、示波器等實驗儀器排除實驗當中遇到的各種故障,從而獨立分析設計各種規模的數字電路。實踐教學中將傳統實驗、仿真實驗與硬件描述語言設計三種類型實驗相結合,三者互為補充,提高實驗效果,充分培養學生的綜合實踐能力。
1.傳統實驗
傳統實驗項目一般利用面包板及用中小規模芯片完成電路設計。其接線模式可以使學生直觀了解數字電路是如何工作的,從而掌握電路測試、調試以及維修技能。但是部分學生視這一過程為簡單的連線工作,往往只注重結果,不重視過程,造成實驗課就是反復的接線和碰運氣,學生不能駕馭整個實驗過程,產生畏難和退縮心里。在實驗課前要求學生書寫預習報告,自主設計實驗方案,進行原理圖設計、芯片選型,上網查閱芯片資料,掌握閱讀芯片資料的方法,進行實驗方法設計,可以避免機械化操作,學會排除故障,增強操作信心。
在實驗過程中,學生不可避免地會遇到種種問題,導致實驗結果出錯:可能是電路設計或連線過程中出現了問題,也有可能是實驗設備或實驗器材出現了故障。教師應該指導學生借助實驗儀器找到故障點,發現問題之所在,并想出解決辦法。在未來的實際工作中,學生將會遇到各種各樣的問題,而實驗課正是鍛煉如何解決這些問題的好機會。因此實驗中應該向學生講明排除故障的必要性,并引導其對獨立解決各種疑難問題的興趣,增強其信心,令其克服畏難情緒。一旦學生掌握了排除故障的方法,獨立解決了問題,他們就會很有成就感,甚至就此對排除故障產生了濃厚的興趣。[3]實踐表明學生能自主完成所有設計,自主分析討論實驗過程中碰到的問題,逐個排查故障點,最終完成電路調試。
2.仿真實驗
傳統實驗適于以驗證性實驗為主的一些中小規模電路的構建與測試。對于一些比較復雜的設計性和綜合性實驗則比較費時,如數字鐘、搶答器、拔河游戲機、彩燈控制器等。而且在實驗過程中常常因一根導線連接錯誤、一個連接點接觸不良,就致使實驗受阻甚至無法完成,給學生以挫折感,影響學生的實驗興趣,不利于動手能力的培養。
Multisim11.0是一個集原理電路設計和電路功能測試為一體的虛擬仿真軟件,其元器件庫提供了數千種電路元器件供實驗選用,其中包含了數字器件。虛擬測試儀器儀表種類齊全,如數字萬用表、函數信號發生器、示波器、直流電源、數字信號發生器、邏輯分析儀等,可以設計、測試和演示各種電子電路。[4]采用Multisim11.0軟件進行仿真實驗,使學生能充分發揮想象力,按照自己的想法創建各種電路,從而擺脫實驗箱的束縛。實踐證明將Multisim11.0應用于實驗教學,能夠使學生提高學習的興趣,增加學習樂趣,充分發揮學生獨立思考和創新的能力,提高學生的綜合實踐能力。
3.硬件描述語言開發數字電路
當數字邏輯電路及系統的規模比較小而且簡單時,用電路原理圖輸入法基本足夠了,但是需要手工布線,需要熟悉器件的內部結構和外部引線特點,才能達到設計要求。當電路規模大時工作量會相當大,實驗時間往往不能保證。隨著可編程邏輯器件的廣泛應用,硬件描述語言已成為數字系統設計的主要描述方式,采用硬件描述語言進行數字電路的設計,可以實現從傳統的驗證性實驗到分析設計性實驗課的轉變。利用Verilog HDL硬件描述語言進行數字鐘、搶答器、交通燈控制電路等的設計,要求學生利用課堂知識進行編程、仿真、綜合和下載到可編程邏輯器件中運行以觀察結果。學生還可以按照自己的想法自行設計其它數字電路進行仿真、下載調試,提高學生學習興趣和綜合實踐能力。
此外還通過舉辦電子設計競賽、綜合設計等方式激發學生的學習興趣,提高學生自主學習、獨立分析問題和解決問題的能力,也提高了學生綜合應用的能力,收到了良好的教學效果。
三、結論
數字電子技術的應用已經滲透到人類的各個方面,從計算機到手機,從數字電話到數字電視,從家用電器到軍用設備,從工業自動化到航天技術,都采用了數字電子技術。[5]因此“數字邏輯”課程對于計算機及相關專業來說是一門很重要的課程。筆者結合多年的教學實踐經驗,對“數字邏輯”課程的教學方法進行深入探討,在課堂教學中采用任務式教學,增加課堂討論,借助仿真軟件進行電路演示,利用硬件描述語言進行復雜數字系統設計;在實驗教學中將傳統實驗、仿真實驗和硬件描述語言實驗有機結合、互為補充,激發學生的學習興趣,培養學生的綜合能力,取得了很好的教學效果。
參考文獻:
[1]康華光.電子技術基礎(數字部分)[M].第5版.北京:高等教育出版社,2006.
[2]孫麗君,張曉東,魯可.“數字電子技術”課程教學改革探析[J].中國電力教育,2013,(13):67-68.
[3]王宇,崔文華,王寧,等.興趣導向的數字電路設計實驗改革[J].計算機教育,2010,(17):38-40.
關鍵詞:組合邏輯電路;競爭冒險;改進策略。
中圖分類號:TP334 文獻標識碼:A 文章編號:1009-3044(2017)07-0195-02
在組合邏輯電路中,由于門電路的傳輸延遲時間不同,同一輸入信號由不同路徑在不同時刻到達某一電路的輸出端的現象叫做競爭;由競爭而產生的輸出尖峰干擾脈沖的現象叫做冒險。組合邏輯電路中的競爭冒險給電路帶來了許多的干擾,在電路設計中應該避免產生,本文首先介紹電路競爭冒險的方法,然后通過一個具體的電路實例,闡述競爭冒險消除前后電路的狀況,從而說明消除競爭冒險的重要性。
1實際電路中的競爭冒險分析
電路中消除競爭冒險的方法很多,比如在輸出端并聯電容或者在電路中引入選通冒充等,在本節中設計一個具體的試驗電路,闡述競爭冒險的消除方法及改進措施。
本實驗電路如圖1(a)和圖1(b)所示。圖1(a)為逆變電路控制端圖,主要為逆變電路產生控制信號,其中控制信號1控制逆變橋q1和q4通道,控制信號2控制逆變橋q2和q3通道。圖1(b)為逆變電路圖。
2電路分析
2.1控制信號檢測
根據以上設計的電路,單片機的P1.0與P1.1口的設計輸出波形如圖2所示。兩路波形交替產生低電平,而且在低電平產生的過程中,不能同時為低電平,否則會導致逆變電路的直通現象產生。但是根據上面的設計,在實際工作過程中的產生的波形如圖3所示,在開始階段,有一個同時被拉低的信號產生,這樣會導致逆變電路產生直通,應該避免。
2.2原因分析
根據以上的分析,在實際電路工作中,產生了直通現象,應該避免。當三極管q2與q4處于截止狀態時,q2和q4應沒有控制信號,只有輸入設計的如圖2的信號時,才會交替導通,但是在上面的原始電路中,q2和q4的基極各通過一個電阻和電源控制端相接,此時,MCU控制端,輸入輸出端口由于存在延時觸發,產生了競爭產生冒險,q2和q4產生了直通,因此在電路上電的瞬間,將會直通短路,將兩個控制信號均拉低。如圖3所示。
3競爭冒險消除及優化電路設計
通過原因的分析,必須對電路進行改進,緩解電路產生的競爭冒險情況,本文采用的方法是通過增加電容器,由電路給電容充電,電容充電后當做電源,給電路采取分步上電的方式,最后將分步后的信號由開關管加在光耦的控制端。
最后得到的優化電路如圖4。