2015-06-20

[數位邏輯]CH6

[數位邏輯]CH6
用書:Digital Number WITH AN INTRODUCTION TOTHE VERILOG  5thEdition



作者:Mani Ciletti
習題解答:第四版解答(注意版本不一樣)
筆記作者:曾理碩/啾咪喵
分享模式:創用cc 姓名標示-相同方式分享 (cc分享限筆記,不包括連外文件、投影片、作業、作業解答)
                      歡迎分享本文




部格相關連結:

前言:
    因為是筆記,通常以自己不會的地方做加強
    主要寫概念
    而較多複雜邏輯推理的地方會略過
    因此使用時請作為導引手冊
    請務必搭配課本使用(上方有連結)
    內文提到頁碼以紙本課本為主
    與電子書誤差為16頁[建議以章節翻找]

載點:    [CH6]    [筆記]    [投影片]       [段考加碼實作]


==========(以下為筆記內容,因為格式關係,完整資料請下載PDF)==========

計數器&暫存器
                暫存器是一系列的Flip flop
                計數器就是暫存器的一種
                只是資訊順序已經被決定了

6-1, 6-2 暫存器
        Parallel register(並聯)
Register
就是一系列Flip Flop
無計算功能
狹義上是並聯
Register with parallel load
                在前者並聯的register加入load功能
                跟前者一樣沒有計算功能
                方法:    load=1時,將資料衝入D Flip Flop    (LOAD)
                                load=0時,將D Flip Flop反饋    (維持資訊)




Serial register(串聯)
Shift register
即串聯的Flip Flop
可執行”shift right””shift left”來將資訊向左右傳遞
                (Shitt right/left:依照畫圖方向判斷)
                執行時最邊緣的Flip Flop會將資訊丟出去
                另一邊則接受新的input
假設要將A傳進B    (A, B接指shift register)
                A的輸出設成”A的輸入”B的輸入
                在適當執行多次shift即可
Serial adder
用此類型的A, B register,將其中所存資訊相加(存回A)
本例中因為要存回A,因此將sum連至Ainput
        D Flip flop+加法器實作
而額外加入的Flip flop的用途在於:計住進位
        如果沒有它,很可能在啟動瞬間FAz輸入也跟著改變而導致錯誤
        JK Flip flop實作
                由第五章的實作方法畫出state table
                輸入:present state[前一位進位], input(x,y)[各位的數值]    [排列組合吧]
                輸出:next state[進位], output[]
                推導出:Flip flop input J/K[應當JK Flip Flop適當的輸入讓next state正確(ch5)]
Ring counter
        shift counter的輸出作為自身輸入
        其計算就會不停重複相同的狀態
        結合組合電路能達到改變時脈功能
        而且比一般counter來的容易控制時脈
        缺點是會花比較多的Flip flop
                Johnson counter(switch ring counter)
                        Ring counter加強版
                        希望狀態更多卻又不想增加Flip flop
                        那麼將shift counter的輸出作為自身輸入的反向
                        狀態至多能為原先的兩倍



        Universal shift register(萬能)
                技能點滿的傢伙
                parallel transfer, shift transfer, clear
                方法乃用MUX控制(控制閥因電路而有所不同)
                MUX輸出的四個選項分別為:
                        不變:            輸入為register自己的輸出
                        Shift right    輸入為左邊register的輸出
                        Shift left      輸入為右邊register的輸出
                        Parallel load        輸入為平行輸入口



6-3, 6-4 計數器
        依同步性分類
                Ripple counter
                        非共用同一個clock
                        Flip flop各自的output可以當作其他的Flip flopclock
                        可以做為放慢clock的方法
                Synchronous counter
                        接受同一個clock
        依功能區分
                Binary counter
                        用二進位計算次數
                        完全不需要input,因為現在的state就決定了next state
                        性質上會發現只要AND比較小的所有位數就知道該不該轉態了
                        [ch5方法實作]
Up-down counter
                        利用up, down兩條資訊線來控制該上升或下降
                        up函式同上,down亦能用ch5的方法實作
                                up = 0, down = 0保持不變
                                up = 0, down = 1 下數
up = 1, down = 0 上數
up = 1, down = 1 (設定優先)[投影片設定為上數]
        設定優先的方式是較高位要用其反向與另一個資訊做AND
        就能屏避掉該訊息
Binary counter with parallel load
                        Load = 1的時候將輸入開啟
                        投影片因為用JK Flip flop因此複雜了一些
                BCD counter
                        跟前者差不多
                        不過不會用到全部的state
                        亦能用ch5來實現
        另一種做法是用” Binary counter with parallel load”來實作:
                                數到”9”[1001]next state = 0
                                數到”10”[1010]同時執行clear

        該注意
                沒用到的state next state應當指向任一有用的狀態

                以免因意外導致在沒有意義的狀態中繞圈圈

沒有留言:

張貼留言