# 數邏筆記
## 第二週
* BCD碼(二進位編碼十進數):用二進位表達十進位數,每4個位元表達一個十進位
* 互斥或 相同為0不同為1
* 二進位用互斥或轉格雷碼
* 二進位轉格雷碼

* 格雷碼轉二進位

* ASCII 使用七個位元編碼128字元
* ASCII 分三種字元
* 格式效果字元
* 訊息分隔字元
* 通訊控制字元
* 同位位元 用來指示訊息中1的總數是偶數還是奇數的一個額外位元
* 偶同位 二進位+同位位元中的1的個數為偶數
* 奇同位 二進位+同位位元中的1的個數為奇數
* 二元晶胞是一個具有兩個穩定狀態的元件,他能儲存 0 OR 1
* register是一群二元晶胞的組合
* 布林代數 二進位元邏輯
* 二進位元邏輯
* AND
* 111 100 010 000
* OR
* 111 101 011 000
* NOT
* 10 01
* AND
| X | Y | Z |
| -------- | -------- | -------- |
| 1| 1 | 1 |
| 1| 0 | 0 |
| 0| 1 | 0 |
| 0| 0 | 0 |
* OR
| X | Y | Z |
| -------- | -------- | -------- |
| 1| 1 | 1 |
| 1| 0 | 1 |
| 0| 1 | 1 |
| 0| 0 | 0 |
* NOT
| X | Y |
| -------- | -------- |
| 1| 0 |
| 0| 1 |
<BR>
* 邏輯閘
* 正邏輯 高電壓為1 低電壓為0
* 邏輯電路符號

* 集合 具有相同特性物件之聚集
* 二值布林代數=交換代數
* 布林代數的公理定義
* 對運算元 + · 具有封閉性
* +具有單位元素0 $(x+0=x)$
* · 具有單位元素1 $(x · 1=x)$
* +具有交換律 $x+y=y+x$
* · 具有交換律 $x ·y=y ·x$
* · 對+具有分配律 $x ·(y+z)=(x ·y)+(x ·z)$
* +對 · 具有分配律 $x+(y ·z)=(x+y) ·(x+z)$
* 任一元素存在一元素為補數 $x+x'=1$且$x ·x'=0$
* 存在兩元素 使得$x≠y$
## 第四週
* 布林代數的公理定義
* 對運算元 + · 具有封閉性
* +具有單位元素0 $(x+0=x)$
* · 具有單位元素1 $(x · 1=x)$
* +具有交換律 $x+y=y+x$
* · 具有交換律 $x ·y=y ·x$
* · 對+具有分配律 $x ·(y+z)=(x ·y)+(x ·z)$
* +對 · 具有分配律 $x+(y ·z)=(x+y) ·(x+z)$
* 任一元素存在一元素為補數 $x+x'=1$且$x ·x'=0$
* B集合中存在兩元素 使得$x≠y$
* AND
| X | Y |X·Y |
| -------- | -------- | -------- |
| 1| 1 | 1 |
| 1| 0 | 0 |
| 0| 1 | 0 |
| 0| 0 | 0 |
* OR
| X | Y | X+Y |
| -------- | -------- | -------- |
| 1| 1 | 1 |
| 1| 0 | 1 |
| 0| 1 | 1 |
| 0| 0 | 0 |
<BR><BR>
* 用真值表推導X(Y+Z)和(X∙Y)+(X∙Z)相同
| X | Y | Z | |Y+Z|X(Y+Z)| | X∙Y | X∙Z | (X∙Y)+(X∙Z) |
|-- |-- |-- |--| --| -- |--|--|--|--|
| 0 | 0 | 0 | | 0| 0 | | 0 | 0 | 0 |
| 0 | 0 | 1 | | 1| 0 | | 0 | 0 | 0 |
| 0 | 1 | 0 | | 1| 0 | | 0 | 0 | 0 |
| 0 | 1 | 1 | | 1| 0 | | 0 | 0 | 0 |
| 1 | 0 | 0 | | 0| 0 | | 0 | 0 | 0 |
| 1 | 0 | 1 | | 1| 1 | | 0 | 1 | 1 |
| 1 | 1 | 0 | | 1| 1 | | 1 | 0 | 1 |
| 1 | 1 | 1 | | 1| 1 | | 1 | 1 | 1 |
<BR>
* 對偶原理
* 對任意從布林代數所導出的表示式,使其運算子及單位元素互換,運算次序需不變,仍成立
<BR><BR>
#### 布林代數基本定理
* X+X=X
\begin{split}x+x&=(x+x)·1\\&=(x+x)(x+x')\\&=x+xx'\\&=x+0\\&=x\end{split}
* X·X=X
\begin{split}x·x&=xx+0\\&=xx+xx'\\&=x(x+x')\\&=x·1\\&=x\end{split}
* X+1=1
\begin{split}x+1&=1·(x+1)\\&=(x+x')·(x+1)\\&=x+x'·1\\&=x+x'\\&=1\end{split}
* (X')'=X
* X+XY=X
\begin{split}x+xy&=x·1+xy\\&=x(1+y)\\&=x(y+1)\\&=x·1\\&=x\end{split}
<BR>
* 運算子優先次序
1.括號
2.NOT
3.AND
4.OR
## 第五週
* 全及項(minterm):多個變數進行AND運算所出來的結果
* 全或項(maxterms):多個變數進行OR運算所出來的結果
* 全及項:
|x|y|AND|符號|
|---|---|---|---|
|0|0|x'y'|$m_0$|
|0|1|x'y|$m_1$|
|1|0|xy'|$m_2$|
|1|1|xy|$m_3$|
* 全或項:
|x|y|OR|符號|
|---|---|---|---|
|0|0|x+y|$M_0$|
|0|1|x+y'|$M_1$|
|1|0|x'+y|$M_2$|
|1|1|x'+y'|$M_3$|
* 全及項和全或項互為補數
* 布林函數的代數表示式
:::warning
* $f_1=x'y'z+xy'z'+xyz=m_1+m_4+m_7$
* $f_2=(x+y+z)(x+y+z')(x+y'+z)(x'+y+z)=M_0M_1M_2M_4$
:::
* 全及項的和練習
:::info
將布林函數$F=A+B'\ C$表示為全及項的和
$\ x+x'=1\ \to A=A(B+B')=AB+AB'$
$AB=AB(C+C')=ABC+ABC'$
$AB'=AB'(C+C')=AB'C+AB'C'$
$B'C=AB'C+A'B'C$
$F=ABC+ABC'+AB'C+AB'C'+AB'C+A'B'C$
$F=m_7+m_6+m_5+m_4+m_1=\sum(1,4,5,6,7)$
:::
* 全或項的積練習
:::info
將布林函數$F=xy+x'z$表示為全或項的積
$分配律\ x+yz=(x+y)(x+z) \to\ xy+x'z=(xy+x')(xy+z)$
$(xy+x')(xy+z)=(x+x')(x'+y)(x+z)(y+z)$
$x'+y=(x'+y)+zz'=(x'+y+z)(x'+y+z')$
$x+z=(x+z)+yy'=(x+y+z)(x+y'+z)$
$y+z=(y+z)+xx'=(x+y+z)(x'+y+z)$
$F=(x'+y+z)(x'+y+z')(x+y+z)(x+y'+z)(x+y+z)(x'+y+z)$
$F=M_4M_5M_0M_2=\prod(0,2,4,5)$
:::
* 非標準積項和練習
:::info
$求f=y'+xy+x'y'z'$
$y'=xy'+x'y'=xy'z+x'y'z+xy'z'+x'y'z'$
$xy=xyz+xyz'$
$f=xy'z+x'y'z+xy'z'+x'y'z'+xyz+xyz'+x'y'z'$
$f=m_5+m_1+m_4+m_0+m_7+m_6=\sum(0,1,4,5,6,7)$
:::
* 非標準和項積練習
:::info
$求f=x(y'+z)(x'+y+z')$
$x=x+yy'=(x+y)(x+y')+zz'=(x+y+z)(x+y'+z)(x+y+z')(x+y'+z')$
$y'+z=(x+y'+z)(x'+y'+z)$
$f=(x+y+z)(x+y'+z)(x+y+z')(x+y'+z')(x+y'+z)(x'+y'+z)(x'+y+z')$
$f=M_0M_2M_1M_3M_6M_5=\prod(0,1,2,3,5,6)$
:::
* NAND
* 代數函數 $F=(xy)'$
* |x|y|F|
|--|--|--|
|0|0|1|
|0|1|1|
|1|0|1|
|1|1|0|
* NOR
* 代數函數 $F=(x+y)'$
* |x|y|F|
|--|--|--|
|0|0|1|
|0|1|0|
|1|0|0|
|1|1|0|
* XOR
* 代數函數 $F= x\oplus y$
* |x|y|F|
|--|--|--|
|0|0|0|
|0|1|1|
|1|0|1|
|1|1|0|
* 圖形

## 第六週
* 邏輯閘層次最小化
* 每個**積項、和項變數<font color=red>減少</font>**$\to$邏輯閘 **<font color=red>輸入數最小</font>**
* 積項、和項**項次<font color=red>減少</font>**$\to$邏輯 **<font color=red>閘數最少</font>**
* 二變數卡諾圖

* $\sum \to 有的填1$
* $\prod \to 有的填0$
* $\sum$化簡時變數為0取補數
* $\prod$化簡時變數為1取補數
* 二變數卡諾圖練習
:::info
$f(x,y)=\sum(0,1,2)=m_0+m_1+m_2=\prod(3)=M_3$

卡諾圖化簡後為$x'+y'$
:::
:::info
$f(x,y)=\prod(1,2,3)=M_1M_2M_3=\sum(0)=m_0$

卡諾圖化簡後為$x'· y'$
:::
* 三變數卡諾圖練習
:::info
$f(x,y,z)=\sum(0,1,3,4,5)=m_0+m_1+m_3+m_4+m_5=\prod(2,6,7)=M_2M_6M_7$

$y'+x'z+(xy'+x'y')+(y'z+y'z')$
化簡後得$y'+x'z$
:::
* 四變數卡諾圖練習
:::info
$f(w,x,y,z)=\sum(0,1,2,4,5,6,8,9,12,13,14)=\prod(3,7,11,14,15)$

化簡後為$y'+xz'+w'z'=(y'+z')(w'+x+y')$
:::
:::info
$f=A'B'C'+B'CD'+A'BCD'+AB'C'$

$化簡後得B'D'+B'C'+A'CD'=(A'+B')(C'+D')(B'+C)$
:::
:::info
$f(A,B,C,D)=(A'+B'+C')(B'+C+D')(A'+B+C+D')(A+B'+C')$

化簡後得$(A'+C+D')(B'+D')(B'+C')$
:::
## 第七週
* 基本質含項:至少有一格沒被其他質含項包含
:::info
$F(A,B,C,D)=\sum(0,2,3,5,7,8,9,10,11,13,15)$

$基本質含項為BD+B'D'$
\begin{aligned}F&=BD+B'D'+(CD+AD)\\&=BD+B'D'+(CD+AB')\\&=BD+B'D'+(B'C+AD)\\&=BD+B'D'+(B'C+AB')\end{aligned}
:::
* 不理會條件:函數對於一些輸入組產生未定的輸出
:::info
$f(w,x,y,z)=\sum(1,3,7,11,15)\\d(w,x,y,z)=\sum(0,2,5)\to不理會條件$

\begin{aligned}f=yz&+w'z\\&+w'x'\end{aligned}
:::
* NAND做NOT

* NAND做AND

* NAND做OR

* NOR做NOT

* NOR做OR

* NOR做AND

* 互斥或XOR
* |x|y|F|
|--|--|--|
|0|0|0|
|0|1|1|
|1|0|1|
|1|1|0|
* 變數為奇數個時:
:::warning
$(a\oplus b\oplus c...)=a ⨀ b ⨀ c...$
:::
* 變數為偶數個時:
:::warning
$(a\oplus b\oplus c\oplus d...)'=a ⨀ b ⨀ c ⨀ d...$
:::
<br>
## 第十週
* 組合電路
* 對於n個輸入,有$2^n$種二進位輸入組合
* 組合電路圖中的邏輯閘不具有回授路徑或記憶元件
* 半加法器

|x|y|C|S|
|--|--|-|-|
|0|0|0|0|
|0|1|0|1|
|1|0|0|1|
|1|1|1|0|
* 全加法器
* 2個半加法器可構成一全加法器

|cin|x|y|C|S|
|--|--|-|-|-|
|0|0|0|0|0|
|0|0|1|0|1|
|0|1|0|0|1|
|0|1|1|1|0|
|1|0|0|0|1|
|1|0|1|1|0|
|1|1|0|1|0|
|1|1|1|1|1|
* 二進位加法器

## 第11週
* 進位傳播
* 前瞻進化邏輯
* 增加裝置複雜度,減少進位傳播時間
* 對於n位元加法器,進位從輸入到輸出傳播共有2n個閘階層
* 每個函數可利用一階的AND閘後面接OR閘(或利用2階NAND)來完成

* 二進位減法器
* M=0,四位元加法器
* M=1,減法器

* 溢位:2個n位數元的數相加得到n+1位數元的數,超過表示範圍
## 第12週
* 解碼器
* 使二進位碼能從n條輸入線轉換到最多$2^n$條輸出線的組合電路
* 2X4 Decoder

|$E$|$X_1$|$X_0$||$Y_0$|$Y_1$|$Y_2$|$Y_3$||
|-|-|-|-|-|-|-|-|-|
|1|0|0||1|0|0|0|$Y_0=X_1'X_0'E$|
|1|0|1||0|1|0|0|$Y_1=X_1'X_0E$|
|1|1|0||0|0|1|0|$Y_2=X_1X_0'E$|
|1|1|1||0|0|0|1|$Y_3=X_1X_0E$|
|0|x|x||0|0|0|0|禁能|

|$E$|$X_1$|$X_0$||$Y_0$|$Y_1$|$Y_2$|$Y_3$||
|-|-|-|-|-|-|-|-|-|
|0|0|0||1|0|0|0|$Y_0=X_1'X_0'E'$|
|0|0|1||0|1|0|0|$Y_1=X_1'X_0E'$|
|0|1|0||0|0|1|0|$Y_2=X_1X_0'E'$|
|0|1|1||0|0|0|1|$Y_3=X_1X_0E'$|
|1||||||||致能|

* 2X4 -> 3X8 Decoder
|$X_2$|$X_1$|$X_0$||$Y_0$|$Y_1$|$Y_2$|$Y_3$|$Y_4$|$Y_5$|$Y_6$|$Y_7$|
|-|-|-|-|-|-|-|-|-|-|-|-|
|0|0|0||1|0|0|0|0|0|0|0|
|0|0|1||0|1|0|0|0|0|0|0|
|0|1|0||0|0|1|0|0|0|0|0|
|0|1|1||0|0|0|1|0|0|0|0|
|1|0|0||0|0|0|0|1|0|0|0|
|1|0|1||0|0|0|0|0|1|0|0|
|1|1|0||0|0|0|0|0|0|1|0|
|1|1|1||0|0|0|0|0|0|0|1|


## 第13週
* BCD加法器
* 10~15需修正,故需加6


* 2X1多工器

## 第15週
* **組合邏輯電路**
* 輸出立即隨輸入而變
* <font color=red>**不具有記憶體**</font>
* **序向電路**
* 由<font color=red>**輸入、輸出、內部狀態時序**</font>來描述的電路
* 含有<font color=red>**組合邏輯電路**</font>及<font color=red>**儲存元件**</font>
* 輸出取決於儲存元件的<font color=red>**present state**</font>(目前狀態)

* 同步序向電路
* 其動作由<font color=red>**不連續瞬時信號**</font>決定
* 非同步序向電路
* 其動作由<font color=red>**瞬時輸入信號與輸入信號改變的次序**</font>決定
* 同步序向電路
* 使用到<font color=red>**脈波**</font>
* 利用<font color=red>**時脈**</font>控制儲存元件$\to$<font color=red>**時脈序向電路**</font>
* 此儲存元件又稱<font color=red>**正反器**</font>

* 正反器
* 一種<font color=red>**二元記憶元件**</font>
* 序向電路可用<font color=red>**多個正反器**</font>儲存資料
* 為<font color=red>**edge-sensitive(邊緣-感測)裝置**</font>
* 由<font color=red>**時脈轉態**</font>控制的儲存元件
* 閂鎖器
* 對<font color=red>**信號準位**</font>操作的儲存元件
* 為<font color=red>**level-sensitive(準位感測)裝置**</font>
* SR閂鎖器
* 由兩個交連的<font color=red>**NOR**</font>或兩個交連的<font color=red>**NAND**</font>組成
* 兩個輸入端,S為設置輸入,R為重置輸入
* NOR構成SR閂鎖器
* 在實際上,<font color=red>**兩端輸入為1是禁止的**</font>

* NAND構成SR閂鎖器
* 在實際上,<font color=red>**兩端輸入為0是禁止的**</font>

* 具有控制輸入之SR閂鎖器

* D型閂鎖器
* 兩個輸入端,D為資料,En為致能
* En為0,輸出不改變

* JK正反器

* 狀態表

* 狀態圖

## 第16週
* 狀態簡化
1. <font color=red>**沒有∅**</font>,用<font color=red>**分割法**</font>
2. <font color=red>**很多∅**</font>,用<font color=red>**合併表**</font>
3. <font color=red>**很少∅**</font>,用<font color=red>**合併表加合併圖**</font>
<BR>
* 狀態簡化練習(沒有∅)








<BR>
* 設計程序
1. 從題目推導電路狀態圖
2. 如果需要,簡化狀態數量
3. 指定狀態的二進位值
4. 求出二進位編碼的狀態表
5. 選擇使用的正反器形式
6. 推導已簡化的輸入方程式與輸出方程式
7. 繪製邏輯圖
<BR>
<BR>
* D型正反器

* JK型正反器

<br>
## 第17週

* 計數器
* ex.7493
* 使用T型正反器
