author: ZKe
全加器的原理這里就不講了,不知道的還是去看看數字邏輯課本吧,這里主要記錄一下simulink實現邏輯組合電路的方法
首先我們需要知道它的電路圖,如下(借用慕課趙貽竹老師的PPT的圖片),根據電路圖做仿真
(圖片來自慕課,數字邏輯,趙貽竹老師的PPT)
需要觀察一下真值表,真值表的輸入為8421碼,它的simulink實現可以到我上一個關於MATLAB的博客學習(https://www.cnblogs.com/zhaoke271828/p/12752732.html),有完整實現過程,8421碼的實現只需要脈沖發生器元件(Pluse Generator)和示波器(scope)就能完整仿真。比較簡單,下面主要介紹一下邏輯運算原件。
(圖片來自慕課,數字邏輯,趙貽竹老師的PPT)
從電路圖可見,我們需要與門,或門,異或門即可,根據下圖選中邏輯運算原件(Logical Operator),雙擊選中到面板上
選中之后根據我們的需要去改變邏輯門電路的類型,如圖
將一個非門改成異或門
需要解釋的是,XOR表示異或,NOR表示或非,NAND表示與非,XNOR表示異或非,NOT自然就是非門。很有規律,前面加上X表示異,前面加上N表示非
根據電路圖連接電路即可,連接電路的詳細操作還見我上一篇關於MATLAB的博客 https://www.cnblogs.com/zhaoke271828/p/12752732.html
這里給大家介紹一下示波器scope元件的調整方法,有時候需要增加輸入口,增加展示界面的個數,可以這么修改input和layout屬性
值得一提的是,可以修改邏輯元件的外觀,在修改邏輯元件類型的時候有一個icon shape屬性,改成distinctive變得就似乎高級一點了
變得似乎更帥了hhhhhhhh
以上就是半加器的仿真,雙擊示波器查看結果,這里我們看方形波就好了,我們有三個輸入,每一個輸入都是豎着看的一列,
比如我們分別輸入的是000, 001, 010, 011, 100, 101, 110, 111
輸出結果分別是00, 10, 10, 01, 10, 01, 01, 11 這和全加器的真值表時一致的,到此就大功告成了!
author: ZKe