1051數位系統導論修課心得

數位系統導論為電機系大一上學期的必修課,之所以要學這門課是因為如果要設計一個電路時,進入此電路的訊號是離散的,也就是所謂的logic 0 和1時,我們就可設計一個數位的電路,如果今天是一個連續的訊號,那這時我們可以用設計一個類比的電路,類比的電路裡頭就是一些電阻,電容,電晶體,而在數位電路裡頭則是所謂的logic gate,而這些logic gate其實也是由許多的電晶體所構成的,而此門課主要是介紹logic gate的原理以及一些常用的數位電路。

此門課大致上會先從基本的二進位0和1的運算開始,接著會進入所謂的基本logic gate像是and,or,not,學完這些基本的gate後,當然是利用這些gate的特性來做一些二進位的運算,也就是布林代數,學會了布林代數後,便能寫出所謂的boolean fuuction,有了boolean fuction後,我們便能從方程式來設計電路,可以先從方程式求出真值表(truth table),或是有更快速的方法就是先簡化boolean function,再來設計logic circuit,而簡化的方法就是所謂的k-map,也是最為重要的簡化方程式的方法,之所以要簡化方程式是因為這樣在設計電路時才不會因為很多的logic gate在電路裡頭而讓電路看起來很複雜,有了這簡化的工具k-map後以及學會畫出真值表,大概就能設計出基本的電路,儘管電路有多麼複雜(此門課主要都是在gate level,還沒進入transistor level,要進入電晶體的程度,要先學會電子學的mos,bjt,到電子學的後面才會從基本的cmos inverter講起,也就是數位裡頭的inverter),接著此門課的後半則是會介紹一些基本且重要的電路,像是加法器,減法器,decoder,multiplexer,接著就會開始進入序向邏輯電路,序向邏輯電路顧名思義就是電路裡頭的東西是會和clock(時脈)的訊號有關係,因此一但和clock扯上關係的電路就要先學會基本的正反器(flip-flop)以及flip-flop的入門版,也就是latch,學完flip-flop還沒結束,序向邏輯電路還要先會畫出state diagram並建立state table,最後寫出boolean function,並用kmap簡化一下方程式大概就能設計出一個與clock有關的時脈訊號,而在畫出state diagram時通常會先引入state machine的原理,最後這門課會介紹一些基本且重要的序向邏輯電路,像是counter,而counter其實也有好幾種,像是ripple counter,synchronous couunter,然後這就是這門課大致上的內容。

在總結一下這門課的重點,換句話說,一定要學會的東西就是前面的kmap,要會畫state diagram和建立state table,然後要會幾個基本電路的原理和特性,加法器,減法器,decoder,multipexer,counter,大致上在學畫state diagram,也就是學state machine的時候會比較抽象一點,有點難以想像,通常下學期(1052)會有一門叫做數位邏輯實驗,這門課會利用電腦軟體,我是使用所謂的quartus,分成幾週將這些基本電路(加法器,減法器,decoder,multipexer,counter),全部在更清楚了解一次,不過在實驗課後半部的counter,也就是在設計序向電路時,還是要花點時間去理解到底在幹嘛。

總之大概就是這門課的小摘要,我的用書是Mano Ciletti的Digital Design,不買書的話也是可以,網路上其實就有一些線上課程了,而下學期的實驗課在操作quartus這套軟體時,可以參考youtube的吳順德 數位邏輯實驗,這裡的quartus基本操作滿詳細的,雖然這門實驗課是用軟體中的block來建立電路圖,而不是打verilog code來建立電路圖的。

有涉及此門課的相關課程:數位邏輯實驗,數位系統實作(Digital System Design,簡稱DSD,這門課就是在打verilog code來建立電路圖),超大型數位積體電路(VLSI),超大型數位積體電路實作。

最後,來一張這門課的電路圖,如下。

decoder(這門課要會的電路)



留言

熱門文章