diff --git "a/\345\244\247\344\272\214\344\270\212/\346\225\260\345\255\227\351\200\273\350\276\221\350\256\276\350\256\241/note/2021_hanswan/Digital Logic Design 05bbc93ece5d4edd95c960bf21bada63/Untitled.png" "b/\345\244\247\344\272\214\344\270\212/\346\225\260\345\255\227\351\200\273\350\276\221\350\256\276\350\256\241/note/2021_hanswan/Digital Logic Design 05bbc93ece5d4edd95c960bf21bada63/Untitled.png" new file mode 100644 index 0000000..d1ef69a Binary files /dev/null and "b/\345\244\247\344\272\214\344\270\212/\346\225\260\345\255\227\351\200\273\350\276\221\350\256\276\350\256\241/note/2021_hanswan/Digital Logic Design 05bbc93ece5d4edd95c960bf21bada63/Untitled.png" differ diff --git "a/\345\244\247\344\272\214\344\270\212/\346\225\260\345\255\227\351\200\273\350\276\221\350\256\276\350\256\241/note/2021_hanswan/Digital Logic Design 05bbc93ece5d4edd95c960bf21bada63/\345\237\272\346\234\254\351\200\273\350\276\221\351\227\250 c5a80174c1ca46d7ae2c7190d0d77fa8.md" "b/\345\244\247\344\272\214\344\270\212/\346\225\260\345\255\227\351\200\273\350\276\221\350\256\276\350\256\241/note/2021_hanswan/Digital Logic Design 05bbc93ece5d4edd95c960bf21bada63/\345\237\272\346\234\254\351\200\273\350\276\221\351\227\250 c5a80174c1ca46d7ae2c7190d0d77fa8.md" new file mode 100644 index 0000000..ee1cef7 --- /dev/null +++ "b/\345\244\247\344\272\214\344\270\212/\346\225\260\345\255\227\351\200\273\350\276\221\350\256\276\350\256\241/note/2021_hanswan/Digital Logic Design 05bbc93ece5d4edd95c960bf21bada63/\345\237\272\346\234\254\351\200\273\350\276\221\351\227\250 c5a80174c1ca46d7ae2c7190d0d77fa8.md" @@ -0,0 +1,93 @@ +# 基本逻辑门 + +Logic gates are the basic building blocks of any digital system. A logic gate is a electronic circuit having one or more than one *input port(s)* and only one *output port*. The relationship between its input(s) and output is determined by a certain logic. + +It’s necessary to memorise the function, symbol as well as algebraic expression of some common logic gates introduced in this chapter. + +# Basic Operations + +## AND Gate + +The AND gate only outputs a positive signal when all of its inputs are getting positive signal. + +Expression: $F=A\cdot B=AB$. Intuitively the AND logic can be treated as multiplication. + +Symbol: + +![Untitled](%E5%9F%BA%E6%9C%AC%E9%80%BB%E8%BE%91%E9%97%A8%20c5a80174c1ca46d7ae2c7190d0d77fa8/Untitled.png) + +## OR Gate + +The OR gate only outputs a negative signal when all of its inputs are getting negative signal. + +Expression: $F=A+B$. Intuitively the OR logic can be treated as addition. + +Symbol: + +![Untitled](%E5%9F%BA%E6%9C%AC%E9%80%BB%E8%BE%91%E9%97%A8%20c5a80174c1ca46d7ae2c7190d0d77fa8/Untitled%201.png) + +## NOT Gate + +The NOT gate will produce a signal different from its input. + +Expression: $F=\bar{A}=A'$. + +Symbol: + +![Untitled](%E5%9F%BA%E6%9C%AC%E9%80%BB%E8%BE%91%E9%97%A8%20c5a80174c1ca46d7ae2c7190d0d77fa8/Untitled%202.png) + +# Other Operations + +## NAND Gate + +NAND = NOT + AND, i.e. $F=\overline{AB}$. + +Symbol: + +![Untitled](%E5%9F%BA%E6%9C%AC%E9%80%BB%E8%BE%91%E9%97%A8%20c5a80174c1ca46d7ae2c7190d0d77fa8/Untitled%203.png) + +## NOR Gate + +NOR = NOT + OR, i.e. $F=\overline{A+B}$. + +Symbol: + +![The symbol on the right side is so ugly that I’m wondering if my teacher drew it with line & curve tools in PowerPoint.](%E5%9F%BA%E6%9C%AC%E9%80%BB%E8%BE%91%E9%97%A8%20c5a80174c1ca46d7ae2c7190d0d77fa8/Untitled%204.png) + +The symbol on the right side is so ugly that I’m wondering if my teacher drew it with line & curve tools in PowerPoint. + +## AND-OR-NOT Gate + +**This is not a common logic gate**. + +This kind of logic gate has 4 input ports, wiring them with AND gate two by two and then connects the two outputs with a NOR gate. + +Expression: $F=\overline{AB+CD}$. + +Symbol: + +![Untitled](%E5%9F%BA%E6%9C%AC%E9%80%BB%E8%BE%91%E9%97%A8%20c5a80174c1ca46d7ae2c7190d0d77fa8/Untitled%205.png) + +The fact is, I hold the opinion that this is not a logic gate. It’s a kind of combinational logic block. + +## XOR Gate + +Exclusive OR gate, or XOR gate, outputs a positive signal only when its two input signals are different from each other. + +Expression: $F=A\oplus B=\bar{A}B+A\bar{B}$. + +Symbol: + +![Untitled](%E5%9F%BA%E6%9C%AC%E9%80%BB%E8%BE%91%E9%97%A8%20c5a80174c1ca46d7ae2c7190d0d77fa8/Untitled%206.png) + +## XNOR Gate + +XNOR = NOT + XOR, i.e. $F=AB+\bar{A}\bar{B}$. + +XNOR gate outputs a positive signal only when its two input signals are the same one. + +Symbol: + +![The bottom-left symbol is more or less... rough.](%E5%9F%BA%E6%9C%AC%E9%80%BB%E8%BE%91%E9%97%A8%20c5a80174c1ca46d7ae2c7190d0d77fa8/Untitled%207.png) + +The bottom-left symbol is more or less... rough. \ No newline at end of file diff --git "a/\345\244\247\344\272\214\344\270\212/\346\225\260\345\255\227\351\200\273\350\276\221\350\256\276\350\256\241/note/2021_hanswan/Digital Logic Design 05bbc93ece5d4edd95c960bf21bada63/\345\237\272\346\234\254\351\200\273\350\276\221\351\227\250 c5a80174c1ca46d7ae2c7190d0d77fa8/Untitled 1.png" "b/\345\244\247\344\272\214\344\270\212/\346\225\260\345\255\227\351\200\273\350\276\221\350\256\276\350\256\241/note/2021_hanswan/Digital Logic Design 05bbc93ece5d4edd95c960bf21bada63/\345\237\272\346\234\254\351\200\273\350\276\221\351\227\250 c5a80174c1ca46d7ae2c7190d0d77fa8/Untitled 1.png" new file mode 100644 index 0000000..80c7e65 Binary files /dev/null and "b/\345\244\247\344\272\214\344\270\212/\346\225\260\345\255\227\351\200\273\350\276\221\350\256\276\350\256\241/note/2021_hanswan/Digital Logic Design 05bbc93ece5d4edd95c960bf21bada63/\345\237\272\346\234\254\351\200\273\350\276\221\351\227\250 c5a80174c1ca46d7ae2c7190d0d77fa8/Untitled 1.png" differ diff --git "a/\345\244\247\344\272\214\344\270\212/\346\225\260\345\255\227\351\200\273\350\276\221\350\256\276\350\256\241/note/2021_hanswan/Digital Logic Design 05bbc93ece5d4edd95c960bf21bada63/\345\237\272\346\234\254\351\200\273\350\276\221\351\227\250 c5a80174c1ca46d7ae2c7190d0d77fa8/Untitled 2.png" "b/\345\244\247\344\272\214\344\270\212/\346\225\260\345\255\227\351\200\273\350\276\221\350\256\276\350\256\241/note/2021_hanswan/Digital Logic Design 05bbc93ece5d4edd95c960bf21bada63/\345\237\272\346\234\254\351\200\273\350\276\221\351\227\250 c5a80174c1ca46d7ae2c7190d0d77fa8/Untitled 2.png" new file mode 100644 index 0000000..91868bd Binary files /dev/null and "b/\345\244\247\344\272\214\344\270\212/\346\225\260\345\255\227\351\200\273\350\276\221\350\256\276\350\256\241/note/2021_hanswan/Digital Logic Design 05bbc93ece5d4edd95c960bf21bada63/\345\237\272\346\234\254\351\200\273\350\276\221\351\227\250 c5a80174c1ca46d7ae2c7190d0d77fa8/Untitled 2.png" differ diff --git "a/\345\244\247\344\272\214\344\270\212/\346\225\260\345\255\227\351\200\273\350\276\221\350\256\276\350\256\241/note/2021_hanswan/Digital Logic Design 05bbc93ece5d4edd95c960bf21bada63/\345\237\272\346\234\254\351\200\273\350\276\221\351\227\250 c5a80174c1ca46d7ae2c7190d0d77fa8/Untitled 3.png" "b/\345\244\247\344\272\214\344\270\212/\346\225\260\345\255\227\351\200\273\350\276\221\350\256\276\350\256\241/note/2021_hanswan/Digital Logic Design 05bbc93ece5d4edd95c960bf21bada63/\345\237\272\346\234\254\351\200\273\350\276\221\351\227\250 c5a80174c1ca46d7ae2c7190d0d77fa8/Untitled 3.png" new file mode 100644 index 0000000..30cf854 Binary files /dev/null and "b/\345\244\247\344\272\214\344\270\212/\346\225\260\345\255\227\351\200\273\350\276\221\350\256\276\350\256\241/note/2021_hanswan/Digital Logic Design 05bbc93ece5d4edd95c960bf21bada63/\345\237\272\346\234\254\351\200\273\350\276\221\351\227\250 c5a80174c1ca46d7ae2c7190d0d77fa8/Untitled 3.png" differ diff --git "a/\345\244\247\344\272\214\344\270\212/\346\225\260\345\255\227\351\200\273\350\276\221\350\256\276\350\256\241/note/2021_hanswan/Digital Logic Design 05bbc93ece5d4edd95c960bf21bada63/\345\237\272\346\234\254\351\200\273\350\276\221\351\227\250 c5a80174c1ca46d7ae2c7190d0d77fa8/Untitled 4.png" "b/\345\244\247\344\272\214\344\270\212/\346\225\260\345\255\227\351\200\273\350\276\221\350\256\276\350\256\241/note/2021_hanswan/Digital Logic Design 05bbc93ece5d4edd95c960bf21bada63/\345\237\272\346\234\254\351\200\273\350\276\221\351\227\250 c5a80174c1ca46d7ae2c7190d0d77fa8/Untitled 4.png" new file mode 100644 index 0000000..e382441 Binary files /dev/null and "b/\345\244\247\344\272\214\344\270\212/\346\225\260\345\255\227\351\200\273\350\276\221\350\256\276\350\256\241/note/2021_hanswan/Digital Logic Design 05bbc93ece5d4edd95c960bf21bada63/\345\237\272\346\234\254\351\200\273\350\276\221\351\227\250 c5a80174c1ca46d7ae2c7190d0d77fa8/Untitled 4.png" differ diff --git "a/\345\244\247\344\272\214\344\270\212/\346\225\260\345\255\227\351\200\273\350\276\221\350\256\276\350\256\241/note/2021_hanswan/Digital Logic Design 05bbc93ece5d4edd95c960bf21bada63/\345\237\272\346\234\254\351\200\273\350\276\221\351\227\250 c5a80174c1ca46d7ae2c7190d0d77fa8/Untitled 5.png" "b/\345\244\247\344\272\214\344\270\212/\346\225\260\345\255\227\351\200\273\350\276\221\350\256\276\350\256\241/note/2021_hanswan/Digital Logic Design 05bbc93ece5d4edd95c960bf21bada63/\345\237\272\346\234\254\351\200\273\350\276\221\351\227\250 c5a80174c1ca46d7ae2c7190d0d77fa8/Untitled 5.png" new file mode 100644 index 0000000..90f1c29 Binary files /dev/null and "b/\345\244\247\344\272\214\344\270\212/\346\225\260\345\255\227\351\200\273\350\276\221\350\256\276\350\256\241/note/2021_hanswan/Digital Logic Design 05bbc93ece5d4edd95c960bf21bada63/\345\237\272\346\234\254\351\200\273\350\276\221\351\227\250 c5a80174c1ca46d7ae2c7190d0d77fa8/Untitled 5.png" differ diff --git "a/\345\244\247\344\272\214\344\270\212/\346\225\260\345\255\227\351\200\273\350\276\221\350\256\276\350\256\241/note/2021_hanswan/Digital Logic Design 05bbc93ece5d4edd95c960bf21bada63/\345\237\272\346\234\254\351\200\273\350\276\221\351\227\250 c5a80174c1ca46d7ae2c7190d0d77fa8/Untitled 6.png" "b/\345\244\247\344\272\214\344\270\212/\346\225\260\345\255\227\351\200\273\350\276\221\350\256\276\350\256\241/note/2021_hanswan/Digital Logic Design 05bbc93ece5d4edd95c960bf21bada63/\345\237\272\346\234\254\351\200\273\350\276\221\351\227\250 c5a80174c1ca46d7ae2c7190d0d77fa8/Untitled 6.png" new file mode 100644 index 0000000..b9c0e63 Binary files /dev/null and "b/\345\244\247\344\272\214\344\270\212/\346\225\260\345\255\227\351\200\273\350\276\221\350\256\276\350\256\241/note/2021_hanswan/Digital Logic Design 05bbc93ece5d4edd95c960bf21bada63/\345\237\272\346\234\254\351\200\273\350\276\221\351\227\250 c5a80174c1ca46d7ae2c7190d0d77fa8/Untitled 6.png" differ diff --git "a/\345\244\247\344\272\214\344\270\212/\346\225\260\345\255\227\351\200\273\350\276\221\350\256\276\350\256\241/note/2021_hanswan/Digital Logic Design 05bbc93ece5d4edd95c960bf21bada63/\345\237\272\346\234\254\351\200\273\350\276\221\351\227\250 c5a80174c1ca46d7ae2c7190d0d77fa8/Untitled 7.png" "b/\345\244\247\344\272\214\344\270\212/\346\225\260\345\255\227\351\200\273\350\276\221\350\256\276\350\256\241/note/2021_hanswan/Digital Logic Design 05bbc93ece5d4edd95c960bf21bada63/\345\237\272\346\234\254\351\200\273\350\276\221\351\227\250 c5a80174c1ca46d7ae2c7190d0d77fa8/Untitled 7.png" new file mode 100644 index 0000000..9aab71e Binary files /dev/null and "b/\345\244\247\344\272\214\344\270\212/\346\225\260\345\255\227\351\200\273\350\276\221\350\256\276\350\256\241/note/2021_hanswan/Digital Logic Design 05bbc93ece5d4edd95c960bf21bada63/\345\237\272\346\234\254\351\200\273\350\276\221\351\227\250 c5a80174c1ca46d7ae2c7190d0d77fa8/Untitled 7.png" differ diff --git "a/\345\244\247\344\272\214\344\270\212/\346\225\260\345\255\227\351\200\273\350\276\221\350\256\276\350\256\241/note/2021_hanswan/Digital Logic Design 05bbc93ece5d4edd95c960bf21bada63/\345\237\272\346\234\254\351\200\273\350\276\221\351\227\250 c5a80174c1ca46d7ae2c7190d0d77fa8/Untitled.png" "b/\345\244\247\344\272\214\344\270\212/\346\225\260\345\255\227\351\200\273\350\276\221\350\256\276\350\256\241/note/2021_hanswan/Digital Logic Design 05bbc93ece5d4edd95c960bf21bada63/\345\237\272\346\234\254\351\200\273\350\276\221\351\227\250 c5a80174c1ca46d7ae2c7190d0d77fa8/Untitled.png" new file mode 100644 index 0000000..e027eec Binary files /dev/null and "b/\345\244\247\344\272\214\344\270\212/\346\225\260\345\255\227\351\200\273\350\276\221\350\256\276\350\256\241/note/2021_hanswan/Digital Logic Design 05bbc93ece5d4edd95c960bf21bada63/\345\237\272\346\234\254\351\200\273\350\276\221\351\227\250 c5a80174c1ca46d7ae2c7190d0d77fa8/Untitled.png" differ diff --git "a/\345\244\247\344\272\214\344\270\212/\346\225\260\345\255\227\351\200\273\350\276\221\350\256\276\350\256\241/note/2021_hanswan/Digital Logic Design 05bbc93ece5d4edd95c960bf21bada63/\345\270\203\345\260\224\344\273\243\346\225\260 68f91aab71134af48483ec3eda18e153.md" "b/\345\244\247\344\272\214\344\270\212/\346\225\260\345\255\227\351\200\273\350\276\221\350\256\276\350\256\241/note/2021_hanswan/Digital Logic Design 05bbc93ece5d4edd95c960bf21bada63/\345\270\203\345\260\224\344\273\243\346\225\260 68f91aab71134af48483ec3eda18e153.md" new file mode 100644 index 0000000..5ca12ff --- /dev/null +++ "b/\345\244\247\344\272\214\344\270\212/\346\225\260\345\255\227\351\200\273\350\276\221\350\256\276\350\256\241/note/2021_hanswan/Digital Logic Design 05bbc93ece5d4edd95c960bf21bada63/\345\270\203\345\260\224\344\273\243\346\225\260 68f91aab71134af48483ec3eda18e153.md" @@ -0,0 +1,167 @@ +# 布尔代数 + +The Boolean algebra is used to describe certain logic design made up with several logic gates and wires connecting them. + +# Laws and Theorems in Boolean Algebra + +## Basic Theorems + +- $A+B=B+A$, and $AB=BA$. +- $(A+B)+C=A+(B+C)$, and $(AB)C=A(BC)$. +- $A(B+C)=AB+AC$. +- $A+AB=A$, and $A(A+B)=A$. + + This theorem shows that $B$ will be ‘absorbed’ in this form of expression. + +- $AB+A\bar{B}=A$, and $(A+B)(A+\bar{B})=A$. +- $A+\bar{A}B=A+B$. + + $A+\bar{A}B=A+AB+\bar{A}B=A+(A+\bar{A})B=A+B$. + +- ${A+BC=(A+B)(A+C)}$ + + Why: $(A+B)(A+C)=A+AC+BA+BC$, and $A+AC+BA=A$. + +- $AB+\bar{A}C+BC=AB+\bar{A}C$, and $AB+\bar{A}C+BCD=AB+\bar{A}C$. + + Use $BC$ to absorb $BCD$. + +- $\overline{A\bar{B}+\bar{A}B}=\bar{A}\bar{B}+AB$. + + XNOR = XOR + NOT. + + +## DeMorgan’s Law + +$$ +\begin{align*}\overline{X_1X_2\cdots X_n}=\bar{X}_1+\bar{X}_2+\cdots+\bar{X}_n\\\overline{X_1+X_2+\cdots+X_n}=\bar{X}_1\bar{X}_2\cdots\bar{X}_n\end{align*} +$$ + +## Dual Rule + +By changing operators in an expression in this way you get its dual expression: + +- $+\leftrightarrow\cdot$ +- $\oplus\leftrightarrow\odot$ + +For a equation it’s dual expression is still valid. For example: + +$$ +A+BCD=(A+B)(A+C)(A+D)\Leftrightarrow A(B+C+D)=AB+AC+AD +$$ + +# Maxterm and Minterm + +It’s easy for us to realise that for a boolean expression containing some variables—say, $A$, $B$, $C$ and $D$—it can be written in this form: only several AND items added together, i.e. addiction of multiplications. An example: + +$$ +f(A, B, C, D)=AB+ACD+D +$$ + +And if we add invisible items (which is always 1) such as $(A+A')$ and $(D+D')$ to make each AND item has all four variables appear, then the formula can be expanded to: + +$$ +f(A,B,C,D)=AB(C+C')(D+D')+A(B+B')CD+(A+A')(B+B')(C+C')D +$$ + +Simplify this expression using the law $A(B+C)=AB+AC$, we will get + +$$ +f(A,B,C,D)=ABCD+ABCD'+ABC'D+ABC'D'+AB'CD+A'BCD+A'B'CD+A'BC'D+A'B'C'D +$$ + +If we use $1011$ to represent $AB'CD$, use $0110$ to represent $A'BCD'$, then the items in the formula above are: + +$$ +1111, 1110, 1101, 1100, 1011, 0111, 0011, 0101, 0001 + +$$ + +All of them are 4-bit binary numbers so we just transform them into decimal numbers. They are + +$$ +15, 14, 13, 12, 11, 7, 3, 5, 1 +$$ + +Intuitively, the original boolean expression can be expressed with a series of numbers. This is called the *minterm* expression. More detailed, we use minterm expression in this algebraic way: + +$$ +f(A,B,C,D)=\sum m(1, 3, 5, 7, 11, 12, 13, 14, 15) +$$ + +Dually, an expression can also be written in this way: + +$$ +g(A, B, C)=(A'+B+C)(A+B+C')(A'+B'+C) +$$ + +Treat $(A'+B+C)$ as binary number $100$, then we have the *maxterm* expression. It is expressed in this way: + +$$ +g(A,B,C)=\prod M(1, 5, 6) +$$ + +According to the dual rule it’s easy for us to change an expression into the other one. For instance: + +$$ +f(A,B,C)=\sum m(1, 4, 5, 7)=\prod M(0, 2, 3, 6) +$$ + +This figure shows some interesting relationships. + +![Untitled](%E5%B8%83%E5%B0%94%E4%BB%A3%E6%95%B0%2068f91aab71134af48483ec3eda18e153/Untitled.png) + +# Karnaugh Map + +Karnaugh Map (K. Map) is a powerful tool used in expression simplification and other scenarios. + +K. Map is a table containing $2^n$ element cells. Each cell stands for a minterm. The cells are arranged in a Gray code way, which means the two cells next to each other have only one different bit. For 4 variables the K. Map usually likes this: + +![Untitled](%E5%B8%83%E5%B0%94%E4%BB%A3%E6%95%B0%2068f91aab71134af48483ec3eda18e153/Untitled%201.png) + +Steps when using K. Map to simplify logic expression: + +## Fulfil the K. Map + +To fulfil the K. Map you firstly transform your expression into the form ‘addiction of multiplications’. For example, + +$$ +F=\overline{A\oplus C\cdot\overline{\bar{B}(A\bar{C}\bar{D}+\bar{A}C\bar{D})}}=AC+\bar{A}\bar{C}+A\bar{B}\bar{C}\bar{D}+\bar{A}\bar{B}C\bar{D} +$$ + +Then for each multiplication fill its corresponding K. Map cells with 1. For example, for $\bar{A}\bar{C}$, we find the row where $A$ is 0, and mark 1 in those rows whose $C$ is 0. Finally we will have a K. Map like this: + +![Untitled](%E5%B8%83%E5%B0%94%E4%BB%A3%E6%95%B0%2068f91aab71134af48483ec3eda18e153/Untitled%202.png) + +*An interesting fact is that you can now read the minterm expression directly on this K. Map.* + +## Circle the Prime Implicants in K. Map + +Now, we make rectangular groups containing total terms in power of 2 and try to cover as many elements as you can in one group. + +![Untitled](%E5%B8%83%E5%B0%94%E4%BB%A3%E6%95%B0%2068f91aab71134af48483ec3eda18e153/Untitled%203.png) + +Note that the four red groups are the same group for the parallel edges and corners of such K. Map are connected together. + +This kind of rectangular groups, or circles, are called ‘prime implicants’. ‘Implicant’ means the rectangular group only consists 1 and ‘prime’ means it has been expanded as large as possible. + +## Get Simplified Expression from the Implicants + +Each group in the figure above stands for a multiplication item. Just write them and add them together and you get a simplified addiction of multiplications. + +Look at the figure above. + +- For four elements in the red circle, they have both $B$ and $D$ as 0, while their $A$ and $C$ values differ. So for this group it’s implicant is $B'D'$. +- For four elements in the green circle, they have both $A$ and $C$ as 0, so this group represents $A'C'$. +- For four elements in the yellow circle, they have both $A$ and $C$ as 1, so this group represents $AC$. + +So finally we can read out this expression: + +$$ +F=A'C'+AC+B'D' +$$ + +## Distinguished 1-Cell and Essential Prime Implicant + +- Distinguished 1-cell means the cell in a K. map who is only covered by one prime implicant. +- Essential prime implicant means the prime implicant containing distinguished 1-cell. \ No newline at end of file diff --git "a/\345\244\247\344\272\214\344\270\212/\346\225\260\345\255\227\351\200\273\350\276\221\350\256\276\350\256\241/note/2021_hanswan/Digital Logic Design 05bbc93ece5d4edd95c960bf21bada63/\345\270\203\345\260\224\344\273\243\346\225\260 68f91aab71134af48483ec3eda18e153/Untitled 1.png" "b/\345\244\247\344\272\214\344\270\212/\346\225\260\345\255\227\351\200\273\350\276\221\350\256\276\350\256\241/note/2021_hanswan/Digital Logic Design 05bbc93ece5d4edd95c960bf21bada63/\345\270\203\345\260\224\344\273\243\346\225\260 68f91aab71134af48483ec3eda18e153/Untitled 1.png" new file mode 100644 index 0000000..37ed737 Binary files /dev/null and "b/\345\244\247\344\272\214\344\270\212/\346\225\260\345\255\227\351\200\273\350\276\221\350\256\276\350\256\241/note/2021_hanswan/Digital Logic Design 05bbc93ece5d4edd95c960bf21bada63/\345\270\203\345\260\224\344\273\243\346\225\260 68f91aab71134af48483ec3eda18e153/Untitled 1.png" differ diff --git "a/\345\244\247\344\272\214\344\270\212/\346\225\260\345\255\227\351\200\273\350\276\221\350\256\276\350\256\241/note/2021_hanswan/Digital Logic Design 05bbc93ece5d4edd95c960bf21bada63/\345\270\203\345\260\224\344\273\243\346\225\260 68f91aab71134af48483ec3eda18e153/Untitled 2.png" "b/\345\244\247\344\272\214\344\270\212/\346\225\260\345\255\227\351\200\273\350\276\221\350\256\276\350\256\241/note/2021_hanswan/Digital Logic Design 05bbc93ece5d4edd95c960bf21bada63/\345\270\203\345\260\224\344\273\243\346\225\260 68f91aab71134af48483ec3eda18e153/Untitled 2.png" new file mode 100644 index 0000000..be3f953 Binary files /dev/null and "b/\345\244\247\344\272\214\344\270\212/\346\225\260\345\255\227\351\200\273\350\276\221\350\256\276\350\256\241/note/2021_hanswan/Digital Logic Design 05bbc93ece5d4edd95c960bf21bada63/\345\270\203\345\260\224\344\273\243\346\225\260 68f91aab71134af48483ec3eda18e153/Untitled 2.png" differ diff --git "a/\345\244\247\344\272\214\344\270\212/\346\225\260\345\255\227\351\200\273\350\276\221\350\256\276\350\256\241/note/2021_hanswan/Digital Logic Design 05bbc93ece5d4edd95c960bf21bada63/\345\270\203\345\260\224\344\273\243\346\225\260 68f91aab71134af48483ec3eda18e153/Untitled 3.png" "b/\345\244\247\344\272\214\344\270\212/\346\225\260\345\255\227\351\200\273\350\276\221\350\256\276\350\256\241/note/2021_hanswan/Digital Logic Design 05bbc93ece5d4edd95c960bf21bada63/\345\270\203\345\260\224\344\273\243\346\225\260 68f91aab71134af48483ec3eda18e153/Untitled 3.png" new file mode 100644 index 0000000..c9fa2e5 Binary files /dev/null and "b/\345\244\247\344\272\214\344\270\212/\346\225\260\345\255\227\351\200\273\350\276\221\350\256\276\350\256\241/note/2021_hanswan/Digital Logic Design 05bbc93ece5d4edd95c960bf21bada63/\345\270\203\345\260\224\344\273\243\346\225\260 68f91aab71134af48483ec3eda18e153/Untitled 3.png" differ diff --git "a/\345\244\247\344\272\214\344\270\212/\346\225\260\345\255\227\351\200\273\350\276\221\350\256\276\350\256\241/note/2021_hanswan/Digital Logic Design 05bbc93ece5d4edd95c960bf21bada63/\345\270\203\345\260\224\344\273\243\346\225\260 68f91aab71134af48483ec3eda18e153/Untitled.png" "b/\345\244\247\344\272\214\344\270\212/\346\225\260\345\255\227\351\200\273\350\276\221\350\256\276\350\256\241/note/2021_hanswan/Digital Logic Design 05bbc93ece5d4edd95c960bf21bada63/\345\270\203\345\260\224\344\273\243\346\225\260 68f91aab71134af48483ec3eda18e153/Untitled.png" new file mode 100644 index 0000000..5e941ba Binary files /dev/null and "b/\345\244\247\344\272\214\344\270\212/\346\225\260\345\255\227\351\200\273\350\276\221\350\256\276\350\256\241/note/2021_hanswan/Digital Logic Design 05bbc93ece5d4edd95c960bf21bada63/\345\270\203\345\260\224\344\273\243\346\225\260 68f91aab71134af48483ec3eda18e153/Untitled.png" differ diff --git "a/\345\244\247\344\272\214\344\270\212/\346\225\260\345\255\227\351\200\273\350\276\221\350\256\276\350\256\241/note/2021_hanswan/Digital Logic Design 05bbc93ece5d4edd95c960bf21bada63/\346\227\266\345\272\217\351\200\273\350\276\221\345\237\272\347\241\200 7576fe9c309b432cbd6431f6c2ce0e4b.md" "b/\345\244\247\344\272\214\344\270\212/\346\225\260\345\255\227\351\200\273\350\276\221\350\256\276\350\256\241/note/2021_hanswan/Digital Logic Design 05bbc93ece5d4edd95c960bf21bada63/\346\227\266\345\272\217\351\200\273\350\276\221\345\237\272\347\241\200 7576fe9c309b432cbd6431f6c2ce0e4b.md" new file mode 100644 index 0000000..189ec43 --- /dev/null +++ "b/\345\244\247\344\272\214\344\270\212/\346\225\260\345\255\227\351\200\273\350\276\221\350\256\276\350\256\241/note/2021_hanswan/Digital Logic Design 05bbc93ece5d4edd95c960bf21bada63/\346\227\266\345\272\217\351\200\273\350\276\221\345\237\272\347\241\200 7576fe9c309b432cbd6431f6c2ce0e4b.md" @@ -0,0 +1,191 @@ +# 时序逻辑基础 + +时序逻辑电路与组合逻辑电路不同。在时序逻辑电路中,状态可以被记忆,电路整体受一个时钟信号 `clk` 的控制,此外往往还有一个异步的重置信号 `rst`。 + +锁存器和触发器是时序逻辑电路中的两类基本元件,在它们的基础上,寄存器和计数器等元件得以产生。 + +# 锁存器 + +锁存器没有时钟信号。它被用来「锁」住一个值,受一个或多个控制信号的控制。 + +## RS 锁存器 + +RS 锁存器有两个输入端——R 对应 Reset,用来置 0;S 对应 Set,用来置 1。 + +对于使用或非门实现的 RS 锁存器(高有效),假设 $Q_{n+1}$ 是其输出的「次态」,也就是下一轮输出电平的状态;$Q_n$ 是现态, 即现在输出的状态,那么 $Q_{n}$ 和 $Q_{n+1}$ 与 R 和 S 之间的关系如下表: + +![Untitled](%E6%97%B6%E5%BA%8F%E9%80%BB%E8%BE%91%E5%9F%BA%E7%A1%80%207576fe9c309b432cbd6431f6c2ce0e4b/Untitled.png) + +对于与非门实现的 RS 锁存器(低有效),只需要翻转上表左边两栏中的 0 和 1 就可以了。RS 锁存器在 R 和 S 都无效的时候不会改变输出,在 R 和 S 单独有效的时候置 0 或者置 1,不允许两者都有效。它的状态方程是: + +$$ +Q_{n+1}=S+R'Q_n +$$ + +## 门控 D 锁存器 + +门控 D 锁存器有两个输入端——「门」端 G 和输入端 D。门控 D 锁存器的功能表如下: + +![Untitled](%E6%97%B6%E5%BA%8F%E9%80%BB%E8%BE%91%E5%9F%BA%E7%A1%80%207576fe9c309b432cbd6431f6c2ce0e4b/Untitled%201.png) + +如其名所言,门控 D 锁存器在「门」打开(也就是 G 有效)时,输出端将直接拷贝输入端 D;否则,会保持原先的值。因此,它的状态方程是: + +$$ +Q_{n+1}=GD+G'Q_{n} +$$ + +# 触发器 + +触发器与锁存器最大的不同是,触发器有一个时钟信号接入,并在这个时钟信号的控制之下动作。一般触发器的触发方式是边沿触发的,这意味着它只关心时钟信号的变化而不是时钟信号的高低。 + +## D 触发器 + +D 触发器只有一个输入端,是应用最广的一种触发器。它的输出次态与现态无关;换言之,它的输出仅与输入信号有关。在触发的那一瞬间,它的输出端会直接拷贝输入端,并且保持这个值直到下一次被触发。 + +对于上升沿触发的 D 触发器,它的状态表如下: + +![Untitled](%E6%97%B6%E5%BA%8F%E9%80%BB%E8%BE%91%E5%9F%BA%E7%A1%80%207576fe9c309b432cbd6431f6c2ce0e4b/Untitled%202.png) + +它的状态方程是 $Q_{n+1}=D$。式子中并没有 $Q_n$。 + +如果把 D 触发器的反相输出端与输入端 D 相连,就可以得到一个二分频电路:输出端会产生一个频率是时钟频率一半的方波时钟。 + +*一个小提示:在时序电路中,如果在时钟边沿到来的那一瞬间输入信号也有改变,我们一般认为这个时候采样到的是原值(改变前的值),尽管实际电路中这种情况可能导致不确定的结果。* + +## RS 触发器 + +RS 触发器有两个输入端 R (Reset) 和 S (Set),就像 RS 锁存器一样,不同的是它的状态只有在时钟边沿时才会更新。上升沿触发的 RS 触发器的状态表如下: + +![Untitled](%E6%97%B6%E5%BA%8F%E9%80%BB%E8%BE%91%E5%9F%BA%E7%A1%80%207576fe9c309b432cbd6431f6c2ce0e4b/Untitled%203.png) + +同样地,它不允许 R 和 S 同时为高电平。它的状态方程是 $Q_{n+1}=S+R'Q_{n}$。 + +## JK 触发器 + +JK 触发器 ~~里面住着可爱的 JK~~ 得名于它的发明者 Jack Kil,有两个输入端 J 和 K。它可以理解为 RS 触发器的升级版,取消了 RS 触发器中 R 和 S 不能同时为高的限制。对于这种情况,它会翻转现态作为次态。下降沿触发的 JK 触发器的状态表如下: + +![Untitled](%E6%97%B6%E5%BA%8F%E9%80%BB%E8%BE%91%E5%9F%BA%E7%A1%80%207576fe9c309b432cbd6431f6c2ce0e4b/Untitled%204.png) + +它的状态方程是 $Q_{n+1}=JQ_n'+K'Q_n$。可以发现它比 RS 触发器多与了一项 $Q_n'$。事实上,如果忽略 RS 不能为 1 这个条件,那么 R 和 K 端对应,S 和 J 端对应。 + +## T 触发器 + +T 触发器只有一个输入 T。与 D 触发器完全相反,它的输出完全由现态决定,T 则是控制是否翻转现态。下降沿触发的 T 触发器的状态表如下: + +![Untitled](%E6%97%B6%E5%BA%8F%E9%80%BB%E8%BE%91%E5%9F%BA%E7%A1%80%207576fe9c309b432cbd6431f6c2ce0e4b/Untitled%205.png) + +事实上 T 触发器相当于把 JK 触发器的 J 和 K 接在了一起。因此它的状态方程是 $Q_{n+1}=T\oplus Q_n$。 + +如果把 T 触发器的 T 端恒置为 1,就得到了 T’ 触发器。T’ 触发器将在触发的瞬间无条件翻转现态作为次态。 + +--- + +*对于上文中的所有触发器,都可以额外增加两个输入端:异步清零端和异步置 1 端。异步清零端有效时,触发器无条件输出 0;异步置 1 端有效时,触发器无条件输出 1。* + +## 触发器类型的转换 + +触发器类型的转换,即用某一种触发器 A 和一些外围逻辑门电路,实现触发器 B 的功能。下面介绍方法。 + +假设我们需要使用 JK 触发器实现 D 触发器的功能。先写出两个触发器的状态方程: + +$$ +\left\{\begin{align*}JK&:Q_{n+1}=JQ_n'+K'Q_n\\ D&:Q_{n+1}=D\end{align*}\right. +$$ + +我们的目标是得到 J 和 K 端关于 D 的函数(这样才能把 D 转换之后接上去)。因此,我们令上两式右侧相等,得到 + +$$ +JQ_n'+K'Q_n=D +$$ + +改写成 + +$$ +JQ_n'+K'Q_n=DQ_n+DQ_n' +$$ + +于是 + +$$ +\left\{\begin{align*}J&=D\\K&=D'\end{align*}\right. +$$ + +另一种更好的方式是用卡诺图来转换。本质上,假设 $A_1, A_2, \cdots, A_m$ 是触发器 A 的输入端,$B_1, B_2, \cdots, B_n$ 是触发器 B 的输入端,我们的目标是用 A 来实现 B。那么我们需要找的就是 $B_i$ 和 $A_i$ 与 $Q_n$ 之间的关系。例如,如果要用 RS 触发器实现 JK 触发器,先找出次态现态转换的四种情况以及它们对应的 RS 和 JK 触发器的输入: + +![Untitled](%E6%97%B6%E5%BA%8F%E9%80%BB%E8%BE%91%E5%9F%BA%E7%A1%80%207576fe9c309b432cbd6431f6c2ce0e4b/Untitled%206.png) + +然后画出 $R$ 和 $S$ 关于现态以及 $J$ 和 $K$ 的卡诺图 + +![S 的](%E6%97%B6%E5%BA%8F%E9%80%BB%E8%BE%91%E5%9F%BA%E7%A1%80%207576fe9c309b432cbd6431f6c2ce0e4b/Untitled%207.png) + +S 的 + +![R 的](%E6%97%B6%E5%BA%8F%E9%80%BB%E8%BE%91%E5%9F%BA%E7%A1%80%207576fe9c309b432cbd6431f6c2ce0e4b/Untitled%208.png) + +R 的 + +根据卡诺图写出式子就行了。 + +# 寄存器 + +寄存器顾名思义,是用来「寄存」数据的。上文提到的各类触发器中,D 触发器的输出仅与输入有关,故十分用来寄存单个比特。把许多 D 触发器级联起来,就形成了寄存器: + +![Untitled](%E6%97%B6%E5%BA%8F%E9%80%BB%E8%BE%91%E5%9F%BA%E7%A1%80%207576fe9c309b432cbd6431f6c2ce0e4b/Untitled%209.png) + +如果把这些 D 触发器的接法改成首尾相接(后一个触发器的 D 端接在前一个触发器的 Q 端),那么就形成了移位寄存器。下图展示的是一种串入并出的右移寄存器: + +![Untitled](%E6%97%B6%E5%BA%8F%E9%80%BB%E8%BE%91%E5%9F%BA%E7%A1%80%207576fe9c309b432cbd6431f6c2ce0e4b/Untitled%2010.png) + +把整个设计反向,就得到左移寄存器(数据从右边进,不断向左移动)。此外,还有移动方向可变得双向移位寄存器。 + +# 计数器 + +计数器是一种能够在有限个输出状态之间循环转换的元件。将前文提到的右移寄存器最右边的输出反着接到输入端,就可以得到一个循环往复的计数器。计数器的模指的是计数器能循环的状态的个数。由 n 个触发器构成的 n 位二进制计数器一共有 $2^n$ 个状态,但一般模小于 $2^n$,也就是说其中只有一些状态能参与循环。 + +对计数器电路的分析包含下面 5 个部分: + +- 输入方程:指的是计数器中所有触发器的**输入**端的接法。 +- 输出方程:指的是计数器的所有**输出端和触发器**之间的接法。对于 Moore 型计数器,它的输出就是计数器的输出,因此不需要考虑这个问题。 +- 状态转移方程:指的是计数器中各个**触发器的状态转移方程**(即次态输出和现态输出、输入之间的关系)。 +- 状态转换表:指的是计数器的**现态**和**次态**之间的转换,以及对应的触发条件。 +- 状态图:指的是计数器各状态之间的循环关系。 + +例如下面的计数器电路 + +![Untitled](%E6%97%B6%E5%BA%8F%E9%80%BB%E8%BE%91%E5%9F%BA%E7%A1%80%207576fe9c309b432cbd6431f6c2ce0e4b/Untitled%2011.png) + +输入方程: + +$$ +\left\{\begin{align*}D_3&=Y_3Y_1'+Y_2Y_1\\D_2&=Y_2Y_1'+Y_3'Y_2'Y_1\\D_1&=Y_1'\end{align*}\right. +$$ + +状态转移方程: + +$$ +\left\{\begin{align*}Y_3^{n+1}&=D_3\\Y_2^{n+1}&=D_2\\Y_1^{n+1}&=D_1\end{align*}\right. +$$ + +由上面的两组方程可以画出下面的状态转换表: + +![Untitled](%E6%97%B6%E5%BA%8F%E9%80%BB%E8%BE%91%E5%9F%BA%E7%A1%80%207576fe9c309b432cbd6431f6c2ce0e4b/Untitled%2012.png) + +由这个表容易得到状态转换的关系。(**模 6 加法计数器**) + +## 环形计数器 + +将右移寄存器的最右端输出接到输入,得到一个环形计数器。 + +![Untitled](%E6%97%B6%E5%BA%8F%E9%80%BB%E8%BE%91%E5%9F%BA%E7%A1%80%207576fe9c309b432cbd6431f6c2ce0e4b/Untitled%2013.png) + +n 个触发器制成的环形计数器一共有 n 个可循环的状态,不能自启动,需要预置。 + +## 扭环形计数器 + +将右移寄存器的最右端反相输出接到输入,得到一个扭环形计数器。 + +![Untitled](%E6%97%B6%E5%BA%8F%E9%80%BB%E8%BE%91%E5%9F%BA%E7%A1%80%207576fe9c309b432cbd6431f6c2ce0e4b/Untitled%2014.png) + +n 个触发器制成的扭环形计数器一共有 2n 个可循环的状态,不能自启动,需要预置。 + +所谓「扭」环正是因为它是用最右端输出的反相信号返回去接到输入。 \ No newline at end of file diff --git "a/\345\244\247\344\272\214\344\270\212/\346\225\260\345\255\227\351\200\273\350\276\221\350\256\276\350\256\241/note/2021_hanswan/Digital Logic Design 05bbc93ece5d4edd95c960bf21bada63/\346\227\266\345\272\217\351\200\273\350\276\221\345\237\272\347\241\200 7576fe9c309b432cbd6431f6c2ce0e4b/Untitled 1.png" "b/\345\244\247\344\272\214\344\270\212/\346\225\260\345\255\227\351\200\273\350\276\221\350\256\276\350\256\241/note/2021_hanswan/Digital Logic Design 05bbc93ece5d4edd95c960bf21bada63/\346\227\266\345\272\217\351\200\273\350\276\221\345\237\272\347\241\200 7576fe9c309b432cbd6431f6c2ce0e4b/Untitled 1.png" new file mode 100644 index 0000000..97f310b Binary files /dev/null and "b/\345\244\247\344\272\214\344\270\212/\346\225\260\345\255\227\351\200\273\350\276\221\350\256\276\350\256\241/note/2021_hanswan/Digital Logic Design 05bbc93ece5d4edd95c960bf21bada63/\346\227\266\345\272\217\351\200\273\350\276\221\345\237\272\347\241\200 7576fe9c309b432cbd6431f6c2ce0e4b/Untitled 1.png" differ diff --git "a/\345\244\247\344\272\214\344\270\212/\346\225\260\345\255\227\351\200\273\350\276\221\350\256\276\350\256\241/note/2021_hanswan/Digital Logic Design 05bbc93ece5d4edd95c960bf21bada63/\346\227\266\345\272\217\351\200\273\350\276\221\345\237\272\347\241\200 7576fe9c309b432cbd6431f6c2ce0e4b/Untitled 10.png" "b/\345\244\247\344\272\214\344\270\212/\346\225\260\345\255\227\351\200\273\350\276\221\350\256\276\350\256\241/note/2021_hanswan/Digital Logic Design 05bbc93ece5d4edd95c960bf21bada63/\346\227\266\345\272\217\351\200\273\350\276\221\345\237\272\347\241\200 7576fe9c309b432cbd6431f6c2ce0e4b/Untitled 10.png" new file mode 100644 index 0000000..4ce080b Binary files /dev/null and "b/\345\244\247\344\272\214\344\270\212/\346\225\260\345\255\227\351\200\273\350\276\221\350\256\276\350\256\241/note/2021_hanswan/Digital Logic Design 05bbc93ece5d4edd95c960bf21bada63/\346\227\266\345\272\217\351\200\273\350\276\221\345\237\272\347\241\200 7576fe9c309b432cbd6431f6c2ce0e4b/Untitled 10.png" differ diff --git "a/\345\244\247\344\272\214\344\270\212/\346\225\260\345\255\227\351\200\273\350\276\221\350\256\276\350\256\241/note/2021_hanswan/Digital Logic Design 05bbc93ece5d4edd95c960bf21bada63/\346\227\266\345\272\217\351\200\273\350\276\221\345\237\272\347\241\200 7576fe9c309b432cbd6431f6c2ce0e4b/Untitled 11.png" "b/\345\244\247\344\272\214\344\270\212/\346\225\260\345\255\227\351\200\273\350\276\221\350\256\276\350\256\241/note/2021_hanswan/Digital Logic Design 05bbc93ece5d4edd95c960bf21bada63/\346\227\266\345\272\217\351\200\273\350\276\221\345\237\272\347\241\200 7576fe9c309b432cbd6431f6c2ce0e4b/Untitled 11.png" new file mode 100644 index 0000000..1a6105a Binary files /dev/null and "b/\345\244\247\344\272\214\344\270\212/\346\225\260\345\255\227\351\200\273\350\276\221\350\256\276\350\256\241/note/2021_hanswan/Digital Logic Design 05bbc93ece5d4edd95c960bf21bada63/\346\227\266\345\272\217\351\200\273\350\276\221\345\237\272\347\241\200 7576fe9c309b432cbd6431f6c2ce0e4b/Untitled 11.png" differ diff --git "a/\345\244\247\344\272\214\344\270\212/\346\225\260\345\255\227\351\200\273\350\276\221\350\256\276\350\256\241/note/2021_hanswan/Digital Logic Design 05bbc93ece5d4edd95c960bf21bada63/\346\227\266\345\272\217\351\200\273\350\276\221\345\237\272\347\241\200 7576fe9c309b432cbd6431f6c2ce0e4b/Untitled 12.png" "b/\345\244\247\344\272\214\344\270\212/\346\225\260\345\255\227\351\200\273\350\276\221\350\256\276\350\256\241/note/2021_hanswan/Digital Logic Design 05bbc93ece5d4edd95c960bf21bada63/\346\227\266\345\272\217\351\200\273\350\276\221\345\237\272\347\241\200 7576fe9c309b432cbd6431f6c2ce0e4b/Untitled 12.png" new file mode 100644 index 0000000..ea66788 Binary files /dev/null and "b/\345\244\247\344\272\214\344\270\212/\346\225\260\345\255\227\351\200\273\350\276\221\350\256\276\350\256\241/note/2021_hanswan/Digital Logic Design 05bbc93ece5d4edd95c960bf21bada63/\346\227\266\345\272\217\351\200\273\350\276\221\345\237\272\347\241\200 7576fe9c309b432cbd6431f6c2ce0e4b/Untitled 12.png" differ diff --git "a/\345\244\247\344\272\214\344\270\212/\346\225\260\345\255\227\351\200\273\350\276\221\350\256\276\350\256\241/note/2021_hanswan/Digital Logic Design 05bbc93ece5d4edd95c960bf21bada63/\346\227\266\345\272\217\351\200\273\350\276\221\345\237\272\347\241\200 7576fe9c309b432cbd6431f6c2ce0e4b/Untitled 13.png" "b/\345\244\247\344\272\214\344\270\212/\346\225\260\345\255\227\351\200\273\350\276\221\350\256\276\350\256\241/note/2021_hanswan/Digital Logic Design 05bbc93ece5d4edd95c960bf21bada63/\346\227\266\345\272\217\351\200\273\350\276\221\345\237\272\347\241\200 7576fe9c309b432cbd6431f6c2ce0e4b/Untitled 13.png" new file mode 100644 index 0000000..a915cf7 Binary files /dev/null and "b/\345\244\247\344\272\214\344\270\212/\346\225\260\345\255\227\351\200\273\350\276\221\350\256\276\350\256\241/note/2021_hanswan/Digital Logic Design 05bbc93ece5d4edd95c960bf21bada63/\346\227\266\345\272\217\351\200\273\350\276\221\345\237\272\347\241\200 7576fe9c309b432cbd6431f6c2ce0e4b/Untitled 13.png" differ diff --git "a/\345\244\247\344\272\214\344\270\212/\346\225\260\345\255\227\351\200\273\350\276\221\350\256\276\350\256\241/note/2021_hanswan/Digital Logic Design 05bbc93ece5d4edd95c960bf21bada63/\346\227\266\345\272\217\351\200\273\350\276\221\345\237\272\347\241\200 7576fe9c309b432cbd6431f6c2ce0e4b/Untitled 14.png" "b/\345\244\247\344\272\214\344\270\212/\346\225\260\345\255\227\351\200\273\350\276\221\350\256\276\350\256\241/note/2021_hanswan/Digital Logic Design 05bbc93ece5d4edd95c960bf21bada63/\346\227\266\345\272\217\351\200\273\350\276\221\345\237\272\347\241\200 7576fe9c309b432cbd6431f6c2ce0e4b/Untitled 14.png" new file mode 100644 index 0000000..e6ea189 Binary files /dev/null and "b/\345\244\247\344\272\214\344\270\212/\346\225\260\345\255\227\351\200\273\350\276\221\350\256\276\350\256\241/note/2021_hanswan/Digital Logic Design 05bbc93ece5d4edd95c960bf21bada63/\346\227\266\345\272\217\351\200\273\350\276\221\345\237\272\347\241\200 7576fe9c309b432cbd6431f6c2ce0e4b/Untitled 14.png" differ diff --git "a/\345\244\247\344\272\214\344\270\212/\346\225\260\345\255\227\351\200\273\350\276\221\350\256\276\350\256\241/note/2021_hanswan/Digital Logic Design 05bbc93ece5d4edd95c960bf21bada63/\346\227\266\345\272\217\351\200\273\350\276\221\345\237\272\347\241\200 7576fe9c309b432cbd6431f6c2ce0e4b/Untitled 2.png" "b/\345\244\247\344\272\214\344\270\212/\346\225\260\345\255\227\351\200\273\350\276\221\350\256\276\350\256\241/note/2021_hanswan/Digital Logic Design 05bbc93ece5d4edd95c960bf21bada63/\346\227\266\345\272\217\351\200\273\350\276\221\345\237\272\347\241\200 7576fe9c309b432cbd6431f6c2ce0e4b/Untitled 2.png" new file mode 100644 index 0000000..1352905 Binary files /dev/null and "b/\345\244\247\344\272\214\344\270\212/\346\225\260\345\255\227\351\200\273\350\276\221\350\256\276\350\256\241/note/2021_hanswan/Digital Logic Design 05bbc93ece5d4edd95c960bf21bada63/\346\227\266\345\272\217\351\200\273\350\276\221\345\237\272\347\241\200 7576fe9c309b432cbd6431f6c2ce0e4b/Untitled 2.png" differ diff --git "a/\345\244\247\344\272\214\344\270\212/\346\225\260\345\255\227\351\200\273\350\276\221\350\256\276\350\256\241/note/2021_hanswan/Digital Logic Design 05bbc93ece5d4edd95c960bf21bada63/\346\227\266\345\272\217\351\200\273\350\276\221\345\237\272\347\241\200 7576fe9c309b432cbd6431f6c2ce0e4b/Untitled 3.png" "b/\345\244\247\344\272\214\344\270\212/\346\225\260\345\255\227\351\200\273\350\276\221\350\256\276\350\256\241/note/2021_hanswan/Digital Logic Design 05bbc93ece5d4edd95c960bf21bada63/\346\227\266\345\272\217\351\200\273\350\276\221\345\237\272\347\241\200 7576fe9c309b432cbd6431f6c2ce0e4b/Untitled 3.png" new file mode 100644 index 0000000..b5c9392 Binary files /dev/null and "b/\345\244\247\344\272\214\344\270\212/\346\225\260\345\255\227\351\200\273\350\276\221\350\256\276\350\256\241/note/2021_hanswan/Digital Logic Design 05bbc93ece5d4edd95c960bf21bada63/\346\227\266\345\272\217\351\200\273\350\276\221\345\237\272\347\241\200 7576fe9c309b432cbd6431f6c2ce0e4b/Untitled 3.png" differ diff --git "a/\345\244\247\344\272\214\344\270\212/\346\225\260\345\255\227\351\200\273\350\276\221\350\256\276\350\256\241/note/2021_hanswan/Digital Logic Design 05bbc93ece5d4edd95c960bf21bada63/\346\227\266\345\272\217\351\200\273\350\276\221\345\237\272\347\241\200 7576fe9c309b432cbd6431f6c2ce0e4b/Untitled 4.png" "b/\345\244\247\344\272\214\344\270\212/\346\225\260\345\255\227\351\200\273\350\276\221\350\256\276\350\256\241/note/2021_hanswan/Digital Logic Design 05bbc93ece5d4edd95c960bf21bada63/\346\227\266\345\272\217\351\200\273\350\276\221\345\237\272\347\241\200 7576fe9c309b432cbd6431f6c2ce0e4b/Untitled 4.png" new file mode 100644 index 0000000..65b69ae Binary files /dev/null and "b/\345\244\247\344\272\214\344\270\212/\346\225\260\345\255\227\351\200\273\350\276\221\350\256\276\350\256\241/note/2021_hanswan/Digital Logic Design 05bbc93ece5d4edd95c960bf21bada63/\346\227\266\345\272\217\351\200\273\350\276\221\345\237\272\347\241\200 7576fe9c309b432cbd6431f6c2ce0e4b/Untitled 4.png" differ diff --git "a/\345\244\247\344\272\214\344\270\212/\346\225\260\345\255\227\351\200\273\350\276\221\350\256\276\350\256\241/note/2021_hanswan/Digital Logic Design 05bbc93ece5d4edd95c960bf21bada63/\346\227\266\345\272\217\351\200\273\350\276\221\345\237\272\347\241\200 7576fe9c309b432cbd6431f6c2ce0e4b/Untitled 5.png" "b/\345\244\247\344\272\214\344\270\212/\346\225\260\345\255\227\351\200\273\350\276\221\350\256\276\350\256\241/note/2021_hanswan/Digital Logic Design 05bbc93ece5d4edd95c960bf21bada63/\346\227\266\345\272\217\351\200\273\350\276\221\345\237\272\347\241\200 7576fe9c309b432cbd6431f6c2ce0e4b/Untitled 5.png" new file mode 100644 index 0000000..e3ccdda Binary files /dev/null and "b/\345\244\247\344\272\214\344\270\212/\346\225\260\345\255\227\351\200\273\350\276\221\350\256\276\350\256\241/note/2021_hanswan/Digital Logic Design 05bbc93ece5d4edd95c960bf21bada63/\346\227\266\345\272\217\351\200\273\350\276\221\345\237\272\347\241\200 7576fe9c309b432cbd6431f6c2ce0e4b/Untitled 5.png" differ diff --git "a/\345\244\247\344\272\214\344\270\212/\346\225\260\345\255\227\351\200\273\350\276\221\350\256\276\350\256\241/note/2021_hanswan/Digital Logic Design 05bbc93ece5d4edd95c960bf21bada63/\346\227\266\345\272\217\351\200\273\350\276\221\345\237\272\347\241\200 7576fe9c309b432cbd6431f6c2ce0e4b/Untitled 6.png" "b/\345\244\247\344\272\214\344\270\212/\346\225\260\345\255\227\351\200\273\350\276\221\350\256\276\350\256\241/note/2021_hanswan/Digital Logic Design 05bbc93ece5d4edd95c960bf21bada63/\346\227\266\345\272\217\351\200\273\350\276\221\345\237\272\347\241\200 7576fe9c309b432cbd6431f6c2ce0e4b/Untitled 6.png" new file mode 100644 index 0000000..799007b Binary files /dev/null and "b/\345\244\247\344\272\214\344\270\212/\346\225\260\345\255\227\351\200\273\350\276\221\350\256\276\350\256\241/note/2021_hanswan/Digital Logic Design 05bbc93ece5d4edd95c960bf21bada63/\346\227\266\345\272\217\351\200\273\350\276\221\345\237\272\347\241\200 7576fe9c309b432cbd6431f6c2ce0e4b/Untitled 6.png" differ diff --git "a/\345\244\247\344\272\214\344\270\212/\346\225\260\345\255\227\351\200\273\350\276\221\350\256\276\350\256\241/note/2021_hanswan/Digital Logic Design 05bbc93ece5d4edd95c960bf21bada63/\346\227\266\345\272\217\351\200\273\350\276\221\345\237\272\347\241\200 7576fe9c309b432cbd6431f6c2ce0e4b/Untitled 7.png" "b/\345\244\247\344\272\214\344\270\212/\346\225\260\345\255\227\351\200\273\350\276\221\350\256\276\350\256\241/note/2021_hanswan/Digital Logic Design 05bbc93ece5d4edd95c960bf21bada63/\346\227\266\345\272\217\351\200\273\350\276\221\345\237\272\347\241\200 7576fe9c309b432cbd6431f6c2ce0e4b/Untitled 7.png" new file mode 100644 index 0000000..c27e204 Binary files /dev/null and "b/\345\244\247\344\272\214\344\270\212/\346\225\260\345\255\227\351\200\273\350\276\221\350\256\276\350\256\241/note/2021_hanswan/Digital Logic Design 05bbc93ece5d4edd95c960bf21bada63/\346\227\266\345\272\217\351\200\273\350\276\221\345\237\272\347\241\200 7576fe9c309b432cbd6431f6c2ce0e4b/Untitled 7.png" differ diff --git "a/\345\244\247\344\272\214\344\270\212/\346\225\260\345\255\227\351\200\273\350\276\221\350\256\276\350\256\241/note/2021_hanswan/Digital Logic Design 05bbc93ece5d4edd95c960bf21bada63/\346\227\266\345\272\217\351\200\273\350\276\221\345\237\272\347\241\200 7576fe9c309b432cbd6431f6c2ce0e4b/Untitled 8.png" "b/\345\244\247\344\272\214\344\270\212/\346\225\260\345\255\227\351\200\273\350\276\221\350\256\276\350\256\241/note/2021_hanswan/Digital Logic Design 05bbc93ece5d4edd95c960bf21bada63/\346\227\266\345\272\217\351\200\273\350\276\221\345\237\272\347\241\200 7576fe9c309b432cbd6431f6c2ce0e4b/Untitled 8.png" new file mode 100644 index 0000000..a64fd60 Binary files /dev/null and "b/\345\244\247\344\272\214\344\270\212/\346\225\260\345\255\227\351\200\273\350\276\221\350\256\276\350\256\241/note/2021_hanswan/Digital Logic Design 05bbc93ece5d4edd95c960bf21bada63/\346\227\266\345\272\217\351\200\273\350\276\221\345\237\272\347\241\200 7576fe9c309b432cbd6431f6c2ce0e4b/Untitled 8.png" differ diff --git "a/\345\244\247\344\272\214\344\270\212/\346\225\260\345\255\227\351\200\273\350\276\221\350\256\276\350\256\241/note/2021_hanswan/Digital Logic Design 05bbc93ece5d4edd95c960bf21bada63/\346\227\266\345\272\217\351\200\273\350\276\221\345\237\272\347\241\200 7576fe9c309b432cbd6431f6c2ce0e4b/Untitled 9.png" "b/\345\244\247\344\272\214\344\270\212/\346\225\260\345\255\227\351\200\273\350\276\221\350\256\276\350\256\241/note/2021_hanswan/Digital Logic Design 05bbc93ece5d4edd95c960bf21bada63/\346\227\266\345\272\217\351\200\273\350\276\221\345\237\272\347\241\200 7576fe9c309b432cbd6431f6c2ce0e4b/Untitled 9.png" new file mode 100644 index 0000000..9e86024 Binary files /dev/null and "b/\345\244\247\344\272\214\344\270\212/\346\225\260\345\255\227\351\200\273\350\276\221\350\256\276\350\256\241/note/2021_hanswan/Digital Logic Design 05bbc93ece5d4edd95c960bf21bada63/\346\227\266\345\272\217\351\200\273\350\276\221\345\237\272\347\241\200 7576fe9c309b432cbd6431f6c2ce0e4b/Untitled 9.png" differ diff --git "a/\345\244\247\344\272\214\344\270\212/\346\225\260\345\255\227\351\200\273\350\276\221\350\256\276\350\256\241/note/2021_hanswan/Digital Logic Design 05bbc93ece5d4edd95c960bf21bada63/\346\227\266\345\272\217\351\200\273\350\276\221\345\237\272\347\241\200 7576fe9c309b432cbd6431f6c2ce0e4b/Untitled.png" "b/\345\244\247\344\272\214\344\270\212/\346\225\260\345\255\227\351\200\273\350\276\221\350\256\276\350\256\241/note/2021_hanswan/Digital Logic Design 05bbc93ece5d4edd95c960bf21bada63/\346\227\266\345\272\217\351\200\273\350\276\221\345\237\272\347\241\200 7576fe9c309b432cbd6431f6c2ce0e4b/Untitled.png" new file mode 100644 index 0000000..0a716d5 Binary files /dev/null and "b/\345\244\247\344\272\214\344\270\212/\346\225\260\345\255\227\351\200\273\350\276\221\350\256\276\350\256\241/note/2021_hanswan/Digital Logic Design 05bbc93ece5d4edd95c960bf21bada63/\346\227\266\345\272\217\351\200\273\350\276\221\345\237\272\347\241\200 7576fe9c309b432cbd6431f6c2ce0e4b/Untitled.png" differ diff --git "a/\345\244\247\344\272\214\344\270\212/\346\225\260\345\255\227\351\200\273\350\276\221\350\256\276\350\256\241/note/2021_hanswan/Digital Logic Design 05bbc93ece5d4edd95c960bf21bada63/\346\227\266\345\272\217\351\200\273\350\276\221\347\224\265\350\267\257\347\232\204\345\210\206\346\236\220 a83a0a39c1df4005895ed19f9c115a6e.md" "b/\345\244\247\344\272\214\344\270\212/\346\225\260\345\255\227\351\200\273\350\276\221\350\256\276\350\256\241/note/2021_hanswan/Digital Logic Design 05bbc93ece5d4edd95c960bf21bada63/\346\227\266\345\272\217\351\200\273\350\276\221\347\224\265\350\267\257\347\232\204\345\210\206\346\236\220 a83a0a39c1df4005895ed19f9c115a6e.md" new file mode 100644 index 0000000..7b2161f --- /dev/null +++ "b/\345\244\247\344\272\214\344\270\212/\346\225\260\345\255\227\351\200\273\350\276\221\350\256\276\350\256\241/note/2021_hanswan/Digital Logic Design 05bbc93ece5d4edd95c960bf21bada63/\346\227\266\345\272\217\351\200\273\350\276\221\347\224\265\350\267\257\347\232\204\345\210\206\346\236\220 a83a0a39c1df4005895ed19f9c115a6e.md" @@ -0,0 +1,140 @@ +# 时序逻辑电路的分析 + +时序逻辑电路的分析,即是通过给出的电路图,分析它的状态和状态之间的转换。事实上,在上一部分 [时序逻辑基础](%E6%97%B6%E5%BA%8F%E9%80%BB%E8%BE%91%E5%9F%BA%E7%A1%80%207576fe9c309b432cbd6431f6c2ce0e4b.md) 中的计数器部分,我们已经提到了对时序逻辑电路的分析方法。 + +时序电路的分析包含下面 5 个部分: + +- 输入方程:指的是电路中所有触发器的**输入端**(比如,D 端、T 端和 J 与 K 端)连接的电路的方程。 +- 输出方程:指的是电路中的所有**输出端和触发器**之间的接法。对于 Moore 型计数器,它的输出就是总体输出,因此不需要考虑这个问题。 +- 状态转移方程:指的是电路中各个**触发器的状态转移方程**(即次态输出和现态输出、输入之间的关系)。 +- 状态转换表:指的是电路的**现态**和**次态**之间的转换,以及对应的触发条件。 +- 状态图:指的是电路各状态之间的循环关系。 + +下面是一些例子。 + +# 同步时序逻辑电路的分析 + +## D 触发器 + +![Untitled](%E6%97%B6%E5%BA%8F%E9%80%BB%E8%BE%91%E7%94%B5%E8%B7%AF%E7%9A%84%E5%88%86%E6%9E%90%20a83a0a39c1df4005895ed19f9c115a6e/Untitled.png) + +输入方程: + +$$ +\left\{\begin{align*}D_1&=AQ_2'\\D_2&=A(Q_1'Q_2')'=A(Q_1+Q_2)\end{align*}\right. +$$ + +状态方程: + +$$ +\left\{\begin{align*}Q_1^{n+1}&=D_1=AQ_2'\\Q_2^{n+1}&=D_2=A(Q_1+Q_2)\end{align*}\right. +$$ + +输出方程: + +$$ +F=AQ_1'Q_2 +$$ + +状态表: + +| 输入 A | 现态 Q1 | 现态 Q2 | 次态 Q1 | 次态 Q2 | 输出 F | +| --- | --- | --- | --- | --- | --- | +| 0 | 0 | 0 | 0 | 0 | 0 | +| 0 | 0 | 1 | 0 | 0 | 0 | +| 0 | 1 | 0 | 0 | 0 | 0 | +| 0 | 1 | 1 | 0 | 0 | 0 | +| 1 | 0 | 0 | 1 | 0 | 0 | +| 1 | 0 | 1 | 0 | 1 | 1 | +| 1 | 1 | 0 | 1 | 1 | 0 | +| 1 | 1 | 1 | 0 | 1 | 0 | + +画出状态图如下: + +![Untitled](%E6%97%B6%E5%BA%8F%E9%80%BB%E8%BE%91%E7%94%B5%E8%B7%AF%E7%9A%84%E5%88%86%E6%9E%90%20a83a0a39c1df4005895ed19f9c115a6e/Untitled%201.png) + +由于状态图包含了所有状态,因此可以自启动。 + +## JK 触发器 + +从左往右的四个触发器编号为 3、2、1、0。 + +![Untitled](%E6%97%B6%E5%BA%8F%E9%80%BB%E8%BE%91%E7%94%B5%E8%B7%AF%E7%9A%84%E5%88%86%E6%9E%90%20a83a0a39c1df4005895ed19f9c115a6e/Untitled%202.png) + +输入方程: + +$$ +\left\{\begin{align*}&J_3=1, K_3=Q_0\\&J_2=1, K_2=\overline{Q_3}\\&J_1=1, K_1=\overline{Q_2}\\&J_0=1, K_0=\overline{Q_1}\end{align*}\right. +$$ + +状态方程:$Q^{n+1}=J\overline{Q^n}+\overline{K}Q^n$,得到 + +$$ +\left\{\begin{align*}Q_3^{n+1}&=\overline{Q_3^n}+\overline{Q_0^n}Q_3^n \\ Q_2^{n+1}&=\overline{Q_2^n}+Q_3^nQ_2^n \\ Q_1^{n+1}&=\overline{Q_1^n}+Q_2^nQ_1^n \\ Q_0^{n+1}&=\overline{Q_0^n}+Q_1^nQ_0^n\end{align*}\right. +$$ + +画出状态表: + +| 现态 Q3 | Q2 | Q1 | Q0 | 次态 Q3 | Q2 | Q1 | Q0 | +| --- | --- | --- | --- | --- | --- | --- | --- | +| 0 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | +| 0 | 0 | 0 | 1 | 1 | 1 | 1 | 0 | +| 0 | 0 | 1 | 0 | 1 | 1 | 0 | 1 | +| 0 | 0 | 1 | 1 | 1 | 1 | 0 | 1 | +| 0 | 1 | 0 | 0 | 1 | 0 | 1 | 1 | +| 0 | 1 | 0 | 1 | 1 | 0 | 1 | 0 | +| 0 | 1 | 1 | 0 | 1 | 0 | 1 | 1 | +| 0 | 1 | 1 | 1 | 1 | 0 | 1 | 1 | +| 1 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | +| 1 | 0 | 0 | 1 | 0 | 1 | 1 | 0 | +| 1 | 0 | 1 | 0 | 1 | 1 | 0 | 1 | +| 1 | 0 | 1 | 1 | 0 | 1 | 0 | 1 | +| 1 | 1 | 0 | 0 | 1 | 1 | 1 | 1 | +| 1 | 1 | 0 | 1 | 0 | 1 | 1 | 0 | +| 1 | 1 | 1 | 0 | 1 | 1 | 1 | 1 | +| 1 | 1 | 1 | 1 | 0 | 1 | 1 | 1 | + +状态图:不画了 + +由于包含了所有状态,因此这个电路可以自启动。 + +# 异步时序逻辑电路的分析 + +由于异步时序电路稳定性差,容易产生毛刺,因此实际应用中很少见。 + +![Untitled](%E6%97%B6%E5%BA%8F%E9%80%BB%E8%BE%91%E7%94%B5%E8%B7%AF%E7%9A%84%E5%88%86%E6%9E%90%20a83a0a39c1df4005895ed19f9c115a6e/Untitled%203.png) + +输入方程($K_i=1$) + +$$ +\left\{\begin{align*}J_4&=Y_3Y_2\\J_3&=1\\J_2&=Y_4'\\J_1&=1\end{align*}\right. +$$ + +状态方程: + +$$ +\left\{\begin{align*}Y_4^{n+1}&=Y_3Y_2Y_4',\text{触发条件:}Y_1\downarrow\\Y_3^{n+1}&=Y_3', \text{触发条件:}Y_2\downarrow\\Y_2^{n+1}&=Y_4'Y_2', \text{触发条件:}Y_1\downarrow\\Y_1^{n+1}&=Y_1'\end{align*}\right. +$$ + +状态转换表: + +| 现态 Y4 | Y3 | Y2 | Y1 | 次态 Y4 | Y3 | Y2 | Y1 | +| --- | --- | --- | --- | --- | --- | --- | --- | +| 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 ↑ | +| 0 | 0 | 0 | 1 | 0 | 0 | 1 ↑ | 0 ↓ | +| 0 | 0 | 1 | 0 | 0 | 0 | 1 | 1 ↑ | +| 0 | 0 | 1 | 1 | 0 | 1 ↑ | 0 ↓ | 0 ↓ | +| 0 | 1 | 0 | 0 | 0 | 1 | 0 | 1 ↑ | +| 0 | 1 | 0 | 1 | 0 | 1 | 1 ↑ | 0 ↓ | +| 0 | 1 | 1 | 0 | 0 | 1 | 1 | 1 ↑ | +| 0 | 1 | 1 | 1 | 1 ↑ | 0 ↓ | 0 ↓ | 0 ↓ | +| 1 | 0 | 0 | 0 | 1 | 0 | 0 | 1 ↑ | +| 1 | 0 | 0 | 1 | 0 ↓ | 0 | 0 | 0 ↓ | +| 1 | 0 | 1 | 0 | 1 | 0 | 1 | 1 ↑ | +| 1 | 0 | 1 | 1 | 0 ↓ | 1 ↑ | 0 ↓ | 0 ↓ | +| 1 | 1 | 0 | 0 | 1 | 1 | 0 | 1 ↑ | +| 1 | 1 | 0 | 1 | 0 | 1 | 0 | 0 ↓ | +| 1 | 1 | 1 | 0 | 1 | 1 | 1 | 1 ↑ | +| 1 | 1 | 1 | 1 | 0 ↓ | 0 ↓ | 0 ↓ | 0 ↓ | + +状态图:不画了,看着上表画就行了。 \ No newline at end of file diff --git "a/\345\244\247\344\272\214\344\270\212/\346\225\260\345\255\227\351\200\273\350\276\221\350\256\276\350\256\241/note/2021_hanswan/Digital Logic Design 05bbc93ece5d4edd95c960bf21bada63/\346\227\266\345\272\217\351\200\273\350\276\221\347\224\265\350\267\257\347\232\204\345\210\206\346\236\220 a83a0a39c1df4005895ed19f9c115a6e/Untitled 1.png" "b/\345\244\247\344\272\214\344\270\212/\346\225\260\345\255\227\351\200\273\350\276\221\350\256\276\350\256\241/note/2021_hanswan/Digital Logic Design 05bbc93ece5d4edd95c960bf21bada63/\346\227\266\345\272\217\351\200\273\350\276\221\347\224\265\350\267\257\347\232\204\345\210\206\346\236\220 a83a0a39c1df4005895ed19f9c115a6e/Untitled 1.png" new file mode 100644 index 0000000..9780046 Binary files /dev/null and "b/\345\244\247\344\272\214\344\270\212/\346\225\260\345\255\227\351\200\273\350\276\221\350\256\276\350\256\241/note/2021_hanswan/Digital Logic Design 05bbc93ece5d4edd95c960bf21bada63/\346\227\266\345\272\217\351\200\273\350\276\221\347\224\265\350\267\257\347\232\204\345\210\206\346\236\220 a83a0a39c1df4005895ed19f9c115a6e/Untitled 1.png" differ diff --git "a/\345\244\247\344\272\214\344\270\212/\346\225\260\345\255\227\351\200\273\350\276\221\350\256\276\350\256\241/note/2021_hanswan/Digital Logic Design 05bbc93ece5d4edd95c960bf21bada63/\346\227\266\345\272\217\351\200\273\350\276\221\347\224\265\350\267\257\347\232\204\345\210\206\346\236\220 a83a0a39c1df4005895ed19f9c115a6e/Untitled 2.png" "b/\345\244\247\344\272\214\344\270\212/\346\225\260\345\255\227\351\200\273\350\276\221\350\256\276\350\256\241/note/2021_hanswan/Digital Logic Design 05bbc93ece5d4edd95c960bf21bada63/\346\227\266\345\272\217\351\200\273\350\276\221\347\224\265\350\267\257\347\232\204\345\210\206\346\236\220 a83a0a39c1df4005895ed19f9c115a6e/Untitled 2.png" new file mode 100644 index 0000000..50a5fc7 Binary files /dev/null and "b/\345\244\247\344\272\214\344\270\212/\346\225\260\345\255\227\351\200\273\350\276\221\350\256\276\350\256\241/note/2021_hanswan/Digital Logic Design 05bbc93ece5d4edd95c960bf21bada63/\346\227\266\345\272\217\351\200\273\350\276\221\347\224\265\350\267\257\347\232\204\345\210\206\346\236\220 a83a0a39c1df4005895ed19f9c115a6e/Untitled 2.png" differ diff --git "a/\345\244\247\344\272\214\344\270\212/\346\225\260\345\255\227\351\200\273\350\276\221\350\256\276\350\256\241/note/2021_hanswan/Digital Logic Design 05bbc93ece5d4edd95c960bf21bada63/\346\227\266\345\272\217\351\200\273\350\276\221\347\224\265\350\267\257\347\232\204\345\210\206\346\236\220 a83a0a39c1df4005895ed19f9c115a6e/Untitled 3.png" "b/\345\244\247\344\272\214\344\270\212/\346\225\260\345\255\227\351\200\273\350\276\221\350\256\276\350\256\241/note/2021_hanswan/Digital Logic Design 05bbc93ece5d4edd95c960bf21bada63/\346\227\266\345\272\217\351\200\273\350\276\221\347\224\265\350\267\257\347\232\204\345\210\206\346\236\220 a83a0a39c1df4005895ed19f9c115a6e/Untitled 3.png" new file mode 100644 index 0000000..583de2c Binary files /dev/null and "b/\345\244\247\344\272\214\344\270\212/\346\225\260\345\255\227\351\200\273\350\276\221\350\256\276\350\256\241/note/2021_hanswan/Digital Logic Design 05bbc93ece5d4edd95c960bf21bada63/\346\227\266\345\272\217\351\200\273\350\276\221\347\224\265\350\267\257\347\232\204\345\210\206\346\236\220 a83a0a39c1df4005895ed19f9c115a6e/Untitled 3.png" differ diff --git "a/\345\244\247\344\272\214\344\270\212/\346\225\260\345\255\227\351\200\273\350\276\221\350\256\276\350\256\241/note/2021_hanswan/Digital Logic Design 05bbc93ece5d4edd95c960bf21bada63/\346\227\266\345\272\217\351\200\273\350\276\221\347\224\265\350\267\257\347\232\204\345\210\206\346\236\220 a83a0a39c1df4005895ed19f9c115a6e/Untitled.png" "b/\345\244\247\344\272\214\344\270\212/\346\225\260\345\255\227\351\200\273\350\276\221\350\256\276\350\256\241/note/2021_hanswan/Digital Logic Design 05bbc93ece5d4edd95c960bf21bada63/\346\227\266\345\272\217\351\200\273\350\276\221\347\224\265\350\267\257\347\232\204\345\210\206\346\236\220 a83a0a39c1df4005895ed19f9c115a6e/Untitled.png" new file mode 100644 index 0000000..8aade40 Binary files /dev/null and "b/\345\244\247\344\272\214\344\270\212/\346\225\260\345\255\227\351\200\273\350\276\221\350\256\276\350\256\241/note/2021_hanswan/Digital Logic Design 05bbc93ece5d4edd95c960bf21bada63/\346\227\266\345\272\217\351\200\273\350\276\221\347\224\265\350\267\257\347\232\204\345\210\206\346\236\220 a83a0a39c1df4005895ed19f9c115a6e/Untitled.png" differ diff --git "a/\345\244\247\344\272\214\344\270\212/\346\225\260\345\255\227\351\200\273\350\276\221\350\256\276\350\256\241/note/2021_hanswan/Digital Logic Design 05bbc93ece5d4edd95c960bf21bada63/\346\227\266\345\272\217\351\200\273\350\276\221\347\224\265\350\267\257\347\232\204\350\256\276\350\256\241 5fd7ec6b0a5d4bb5b243d28eef3ff1e7.md" "b/\345\244\247\344\272\214\344\270\212/\346\225\260\345\255\227\351\200\273\350\276\221\350\256\276\350\256\241/note/2021_hanswan/Digital Logic Design 05bbc93ece5d4edd95c960bf21bada63/\346\227\266\345\272\217\351\200\273\350\276\221\347\224\265\350\267\257\347\232\204\350\256\276\350\256\241 5fd7ec6b0a5d4bb5b243d28eef3ff1e7.md" new file mode 100644 index 0000000..eb9c8f0 --- /dev/null +++ "b/\345\244\247\344\272\214\344\270\212/\346\225\260\345\255\227\351\200\273\350\276\221\350\256\276\350\256\241/note/2021_hanswan/Digital Logic Design 05bbc93ece5d4edd95c960bf21bada63/\346\227\266\345\272\217\351\200\273\350\276\221\347\224\265\350\267\257\347\232\204\350\256\276\350\256\241 5fd7ec6b0a5d4bb5b243d28eef3ff1e7.md" @@ -0,0 +1,103 @@ +# 时序逻辑电路的设计 + +# 状态表的化简 + +如果两个状态满足: + +- 对于各组输入,它们的输出是一样的。 +- 对于各组输入,它们的次态 + - 完全相同; + - 是它们本身,或者交错; + - 某一后续状态可以合并; + - 是一个状态对封闭链中的一个, + +那么这两个状态可以合并而看成一个。利用这个原理,我们可以对状态表进行化简。 + +给定一个状态表: + +![Untitled](%E6%97%B6%E5%BA%8F%E9%80%BB%E8%BE%91%E7%94%B5%E8%B7%AF%E7%9A%84%E8%AE%BE%E8%AE%A1%205fd7ec6b0a5d4bb5b243d28eef3ff1e7/Untitled.png) + +画出如下的隐含表(竖列横排掐头去尾) + +![Untitled](%E6%97%B6%E5%BA%8F%E9%80%BB%E8%BE%91%E7%94%B5%E8%B7%AF%E7%9A%84%E8%AE%BE%E8%AE%A1%205fd7ec6b0a5d4bb5b243d28eef3ff1e7/Untitled%201.png) + +然后填表。如果单元格左方和下方对应的两个状态的输出有不同,直接打「×」;如果两组输出相同,如果不仅输出相同,次态也相同或交错(例如,A → B,B → A),打「√」;如果输出相同但是次态有不同,将它们对应的下一跳状态写出来; + +![Untitled](%E6%97%B6%E5%BA%8F%E9%80%BB%E8%BE%91%E7%94%B5%E8%B7%AF%E7%9A%84%E8%AE%BE%E8%AE%A1%205fd7ec6b0a5d4bb5b243d28eef3ff1e7/Untitled%202.png) + +接着,排查那些没有打「×」或打「√」的单元格,去检查它们对应的下一跳状态,将它们变成「×」或者「√」。 + +![Untitled](%E6%97%B6%E5%BA%8F%E9%80%BB%E8%BE%91%E7%94%B5%E8%B7%AF%E7%9A%84%E8%AE%BE%E8%AE%A1%205fd7ec6b0a5d4bb5b243d28eef3ff1e7/Untitled%203.png) + +打「√」表示这两个状态可以合并。合并完成的状态表如下: + +![Untitled](%E6%97%B6%E5%BA%8F%E9%80%BB%E8%BE%91%E7%94%B5%E8%B7%AF%E7%9A%84%E8%AE%BE%E8%AE%A1%205fd7ec6b0a5d4bb5b243d28eef3ff1e7/Untitled%204.png) + +# 设计同步时序电路 + +与 [时序逻辑电路的分析](%E6%97%B6%E5%BA%8F%E9%80%BB%E8%BE%91%E7%94%B5%E8%B7%AF%E7%9A%84%E5%88%86%E6%9E%90%20a83a0a39c1df4005895ed19f9c115a6e.md) 中的方法完全相反,利用某一触发器来设计同步时序电路的步骤如下: + +- 确定**状态和状态转换关系**。可能需要对原始状态图进行化简。 +- 画出**状态转换表**。与前面的状态转换表不一样的是,这里的状态转换表多了触发器的输入栏——因为触发器的输入电路是我们需要得到的。 +- 利用卡诺图化简得到: + - 所有触发器的输入方程(和输入与现态有关); + - 所有输出项的方程(和输入与现态有关); +- 画出电路。 + +下面以「使用 D 触发器设计 1111 检测器」为例。 + +先画出 Mealy 状态机的状态图: + +![Untitled](%E6%97%B6%E5%BA%8F%E9%80%BB%E8%BE%91%E7%94%B5%E8%B7%AF%E7%9A%84%E8%AE%BE%E8%AE%A1%205fd7ec6b0a5d4bb5b243d28eef3ff1e7/Untitled%205.png) + +这是它的状态表: + +| 现态 | X = 0 | X = 1 | +| --- | --- | --- | +| A | A / 0 | B / 0 | +| B | A / 0 | C / 0 | +| C | A / 0 | D / 0 | +| D | A / 0 | E / 1 | +| E | A / 0 | E / 1 | + +显然可以将 D 和 E 状态合并,即: + +| 现态 | X = 0 | X = 1 | +| --- | --- | --- | +| A | A / 0 | B / 0 | +| B | A / 0 | C / 0 | +| C | A / 0 | D / 0 | +| D | A / 0 | D / 1 | + +一共需要 2 个 D 触发器。 为 A、B、C、D 四个状态分别编码 `00`、`01`、`10` 和 `11`,得到如下的状态图: + +![**注意 10 和 11 对调一下位置,我画反了。**](%E6%97%B6%E5%BA%8F%E9%80%BB%E8%BE%91%E7%94%B5%E8%B7%AF%E7%9A%84%E8%AE%BE%E8%AE%A1%205fd7ec6b0a5d4bb5b243d28eef3ff1e7/Untitled%206.png) + +**注意 10 和 11 对调一下位置,我画反了。** + +总的状态转换表如下。由于 D 触发器的次态就是 D 的值,填写 D1、D0 两栏十分的方便。 + +| 输入 X | 现态 Q1 | Q0 | 次态 Q1 | Q0 | D1 | D0 | 输出 Z | +| --- | --- | --- | --- | --- | --- | --- | --- | +| 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | +| 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | +| 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | +| 0 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | +| 1 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | +| 1 | 0 | 1 | 1 | 0 | 1 | 0 | 0 | +| 1 | 1 | 0 | 1 | 1 | 1 | 1 | 0 | +| 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | + +画出 D1、D0 和 Z 关于 X、现态 Q1、现态 Q0 的卡诺图,圈出各自的最简式。 + +![Untitled](%E6%97%B6%E5%BA%8F%E9%80%BB%E8%BE%91%E7%94%B5%E8%B7%AF%E7%9A%84%E8%AE%BE%E8%AE%A1%205fd7ec6b0a5d4bb5b243d28eef3ff1e7/Untitled%207.png) + +画出电路: + +![Untitled](%E6%97%B6%E5%BA%8F%E9%80%BB%E8%BE%91%E7%94%B5%E8%B7%AF%E7%9A%84%E8%AE%BE%E8%AE%A1%205fd7ec6b0a5d4bb5b243d28eef3ff1e7/Untitled%208.png) + +用 Logisim 验证一下(当然考试是不可能验证的了): + +*为什么我手画的图那么丑。* + +![Untitled](%E6%97%B6%E5%BA%8F%E9%80%BB%E8%BE%91%E7%94%B5%E8%B7%AF%E7%9A%84%E8%AE%BE%E8%AE%A1%205fd7ec6b0a5d4bb5b243d28eef3ff1e7/Untitled%209.png) \ No newline at end of file diff --git "a/\345\244\247\344\272\214\344\270\212/\346\225\260\345\255\227\351\200\273\350\276\221\350\256\276\350\256\241/note/2021_hanswan/Digital Logic Design 05bbc93ece5d4edd95c960bf21bada63/\346\227\266\345\272\217\351\200\273\350\276\221\347\224\265\350\267\257\347\232\204\350\256\276\350\256\241 5fd7ec6b0a5d4bb5b243d28eef3ff1e7/Untitled 1.png" "b/\345\244\247\344\272\214\344\270\212/\346\225\260\345\255\227\351\200\273\350\276\221\350\256\276\350\256\241/note/2021_hanswan/Digital Logic Design 05bbc93ece5d4edd95c960bf21bada63/\346\227\266\345\272\217\351\200\273\350\276\221\347\224\265\350\267\257\347\232\204\350\256\276\350\256\241 5fd7ec6b0a5d4bb5b243d28eef3ff1e7/Untitled 1.png" new file mode 100644 index 0000000..8174547 Binary files /dev/null and "b/\345\244\247\344\272\214\344\270\212/\346\225\260\345\255\227\351\200\273\350\276\221\350\256\276\350\256\241/note/2021_hanswan/Digital Logic Design 05bbc93ece5d4edd95c960bf21bada63/\346\227\266\345\272\217\351\200\273\350\276\221\347\224\265\350\267\257\347\232\204\350\256\276\350\256\241 5fd7ec6b0a5d4bb5b243d28eef3ff1e7/Untitled 1.png" differ diff --git "a/\345\244\247\344\272\214\344\270\212/\346\225\260\345\255\227\351\200\273\350\276\221\350\256\276\350\256\241/note/2021_hanswan/Digital Logic Design 05bbc93ece5d4edd95c960bf21bada63/\346\227\266\345\272\217\351\200\273\350\276\221\347\224\265\350\267\257\347\232\204\350\256\276\350\256\241 5fd7ec6b0a5d4bb5b243d28eef3ff1e7/Untitled 2.png" "b/\345\244\247\344\272\214\344\270\212/\346\225\260\345\255\227\351\200\273\350\276\221\350\256\276\350\256\241/note/2021_hanswan/Digital Logic Design 05bbc93ece5d4edd95c960bf21bada63/\346\227\266\345\272\217\351\200\273\350\276\221\347\224\265\350\267\257\347\232\204\350\256\276\350\256\241 5fd7ec6b0a5d4bb5b243d28eef3ff1e7/Untitled 2.png" new file mode 100644 index 0000000..5212ad0 Binary files /dev/null and "b/\345\244\247\344\272\214\344\270\212/\346\225\260\345\255\227\351\200\273\350\276\221\350\256\276\350\256\241/note/2021_hanswan/Digital Logic Design 05bbc93ece5d4edd95c960bf21bada63/\346\227\266\345\272\217\351\200\273\350\276\221\347\224\265\350\267\257\347\232\204\350\256\276\350\256\241 5fd7ec6b0a5d4bb5b243d28eef3ff1e7/Untitled 2.png" differ diff --git "a/\345\244\247\344\272\214\344\270\212/\346\225\260\345\255\227\351\200\273\350\276\221\350\256\276\350\256\241/note/2021_hanswan/Digital Logic Design 05bbc93ece5d4edd95c960bf21bada63/\346\227\266\345\272\217\351\200\273\350\276\221\347\224\265\350\267\257\347\232\204\350\256\276\350\256\241 5fd7ec6b0a5d4bb5b243d28eef3ff1e7/Untitled 3.png" "b/\345\244\247\344\272\214\344\270\212/\346\225\260\345\255\227\351\200\273\350\276\221\350\256\276\350\256\241/note/2021_hanswan/Digital Logic Design 05bbc93ece5d4edd95c960bf21bada63/\346\227\266\345\272\217\351\200\273\350\276\221\347\224\265\350\267\257\347\232\204\350\256\276\350\256\241 5fd7ec6b0a5d4bb5b243d28eef3ff1e7/Untitled 3.png" new file mode 100644 index 0000000..131797f Binary files /dev/null and "b/\345\244\247\344\272\214\344\270\212/\346\225\260\345\255\227\351\200\273\350\276\221\350\256\276\350\256\241/note/2021_hanswan/Digital Logic Design 05bbc93ece5d4edd95c960bf21bada63/\346\227\266\345\272\217\351\200\273\350\276\221\347\224\265\350\267\257\347\232\204\350\256\276\350\256\241 5fd7ec6b0a5d4bb5b243d28eef3ff1e7/Untitled 3.png" differ diff --git "a/\345\244\247\344\272\214\344\270\212/\346\225\260\345\255\227\351\200\273\350\276\221\350\256\276\350\256\241/note/2021_hanswan/Digital Logic Design 05bbc93ece5d4edd95c960bf21bada63/\346\227\266\345\272\217\351\200\273\350\276\221\347\224\265\350\267\257\347\232\204\350\256\276\350\256\241 5fd7ec6b0a5d4bb5b243d28eef3ff1e7/Untitled 4.png" "b/\345\244\247\344\272\214\344\270\212/\346\225\260\345\255\227\351\200\273\350\276\221\350\256\276\350\256\241/note/2021_hanswan/Digital Logic Design 05bbc93ece5d4edd95c960bf21bada63/\346\227\266\345\272\217\351\200\273\350\276\221\347\224\265\350\267\257\347\232\204\350\256\276\350\256\241 5fd7ec6b0a5d4bb5b243d28eef3ff1e7/Untitled 4.png" new file mode 100644 index 0000000..b568a8e Binary files /dev/null and "b/\345\244\247\344\272\214\344\270\212/\346\225\260\345\255\227\351\200\273\350\276\221\350\256\276\350\256\241/note/2021_hanswan/Digital Logic Design 05bbc93ece5d4edd95c960bf21bada63/\346\227\266\345\272\217\351\200\273\350\276\221\347\224\265\350\267\257\347\232\204\350\256\276\350\256\241 5fd7ec6b0a5d4bb5b243d28eef3ff1e7/Untitled 4.png" differ diff --git "a/\345\244\247\344\272\214\344\270\212/\346\225\260\345\255\227\351\200\273\350\276\221\350\256\276\350\256\241/note/2021_hanswan/Digital Logic Design 05bbc93ece5d4edd95c960bf21bada63/\346\227\266\345\272\217\351\200\273\350\276\221\347\224\265\350\267\257\347\232\204\350\256\276\350\256\241 5fd7ec6b0a5d4bb5b243d28eef3ff1e7/Untitled 5.png" "b/\345\244\247\344\272\214\344\270\212/\346\225\260\345\255\227\351\200\273\350\276\221\350\256\276\350\256\241/note/2021_hanswan/Digital Logic Design 05bbc93ece5d4edd95c960bf21bada63/\346\227\266\345\272\217\351\200\273\350\276\221\347\224\265\350\267\257\347\232\204\350\256\276\350\256\241 5fd7ec6b0a5d4bb5b243d28eef3ff1e7/Untitled 5.png" new file mode 100644 index 0000000..17c5a62 Binary files /dev/null and "b/\345\244\247\344\272\214\344\270\212/\346\225\260\345\255\227\351\200\273\350\276\221\350\256\276\350\256\241/note/2021_hanswan/Digital Logic Design 05bbc93ece5d4edd95c960bf21bada63/\346\227\266\345\272\217\351\200\273\350\276\221\347\224\265\350\267\257\347\232\204\350\256\276\350\256\241 5fd7ec6b0a5d4bb5b243d28eef3ff1e7/Untitled 5.png" differ diff --git "a/\345\244\247\344\272\214\344\270\212/\346\225\260\345\255\227\351\200\273\350\276\221\350\256\276\350\256\241/note/2021_hanswan/Digital Logic Design 05bbc93ece5d4edd95c960bf21bada63/\346\227\266\345\272\217\351\200\273\350\276\221\347\224\265\350\267\257\347\232\204\350\256\276\350\256\241 5fd7ec6b0a5d4bb5b243d28eef3ff1e7/Untitled 6.png" "b/\345\244\247\344\272\214\344\270\212/\346\225\260\345\255\227\351\200\273\350\276\221\350\256\276\350\256\241/note/2021_hanswan/Digital Logic Design 05bbc93ece5d4edd95c960bf21bada63/\346\227\266\345\272\217\351\200\273\350\276\221\347\224\265\350\267\257\347\232\204\350\256\276\350\256\241 5fd7ec6b0a5d4bb5b243d28eef3ff1e7/Untitled 6.png" new file mode 100644 index 0000000..0f77bea Binary files /dev/null and "b/\345\244\247\344\272\214\344\270\212/\346\225\260\345\255\227\351\200\273\350\276\221\350\256\276\350\256\241/note/2021_hanswan/Digital Logic Design 05bbc93ece5d4edd95c960bf21bada63/\346\227\266\345\272\217\351\200\273\350\276\221\347\224\265\350\267\257\347\232\204\350\256\276\350\256\241 5fd7ec6b0a5d4bb5b243d28eef3ff1e7/Untitled 6.png" differ diff --git "a/\345\244\247\344\272\214\344\270\212/\346\225\260\345\255\227\351\200\273\350\276\221\350\256\276\350\256\241/note/2021_hanswan/Digital Logic Design 05bbc93ece5d4edd95c960bf21bada63/\346\227\266\345\272\217\351\200\273\350\276\221\347\224\265\350\267\257\347\232\204\350\256\276\350\256\241 5fd7ec6b0a5d4bb5b243d28eef3ff1e7/Untitled 7.png" "b/\345\244\247\344\272\214\344\270\212/\346\225\260\345\255\227\351\200\273\350\276\221\350\256\276\350\256\241/note/2021_hanswan/Digital Logic Design 05bbc93ece5d4edd95c960bf21bada63/\346\227\266\345\272\217\351\200\273\350\276\221\347\224\265\350\267\257\347\232\204\350\256\276\350\256\241 5fd7ec6b0a5d4bb5b243d28eef3ff1e7/Untitled 7.png" new file mode 100644 index 0000000..3002f78 Binary files /dev/null and "b/\345\244\247\344\272\214\344\270\212/\346\225\260\345\255\227\351\200\273\350\276\221\350\256\276\350\256\241/note/2021_hanswan/Digital Logic Design 05bbc93ece5d4edd95c960bf21bada63/\346\227\266\345\272\217\351\200\273\350\276\221\347\224\265\350\267\257\347\232\204\350\256\276\350\256\241 5fd7ec6b0a5d4bb5b243d28eef3ff1e7/Untitled 7.png" differ diff --git "a/\345\244\247\344\272\214\344\270\212/\346\225\260\345\255\227\351\200\273\350\276\221\350\256\276\350\256\241/note/2021_hanswan/Digital Logic Design 05bbc93ece5d4edd95c960bf21bada63/\346\227\266\345\272\217\351\200\273\350\276\221\347\224\265\350\267\257\347\232\204\350\256\276\350\256\241 5fd7ec6b0a5d4bb5b243d28eef3ff1e7/Untitled 8.png" "b/\345\244\247\344\272\214\344\270\212/\346\225\260\345\255\227\351\200\273\350\276\221\350\256\276\350\256\241/note/2021_hanswan/Digital Logic Design 05bbc93ece5d4edd95c960bf21bada63/\346\227\266\345\272\217\351\200\273\350\276\221\347\224\265\350\267\257\347\232\204\350\256\276\350\256\241 5fd7ec6b0a5d4bb5b243d28eef3ff1e7/Untitled 8.png" new file mode 100644 index 0000000..07548c7 Binary files /dev/null and "b/\345\244\247\344\272\214\344\270\212/\346\225\260\345\255\227\351\200\273\350\276\221\350\256\276\350\256\241/note/2021_hanswan/Digital Logic Design 05bbc93ece5d4edd95c960bf21bada63/\346\227\266\345\272\217\351\200\273\350\276\221\347\224\265\350\267\257\347\232\204\350\256\276\350\256\241 5fd7ec6b0a5d4bb5b243d28eef3ff1e7/Untitled 8.png" differ diff --git "a/\345\244\247\344\272\214\344\270\212/\346\225\260\345\255\227\351\200\273\350\276\221\350\256\276\350\256\241/note/2021_hanswan/Digital Logic Design 05bbc93ece5d4edd95c960bf21bada63/\346\227\266\345\272\217\351\200\273\350\276\221\347\224\265\350\267\257\347\232\204\350\256\276\350\256\241 5fd7ec6b0a5d4bb5b243d28eef3ff1e7/Untitled 9.png" "b/\345\244\247\344\272\214\344\270\212/\346\225\260\345\255\227\351\200\273\350\276\221\350\256\276\350\256\241/note/2021_hanswan/Digital Logic Design 05bbc93ece5d4edd95c960bf21bada63/\346\227\266\345\272\217\351\200\273\350\276\221\347\224\265\350\267\257\347\232\204\350\256\276\350\256\241 5fd7ec6b0a5d4bb5b243d28eef3ff1e7/Untitled 9.png" new file mode 100644 index 0000000..9e6313f Binary files /dev/null and "b/\345\244\247\344\272\214\344\270\212/\346\225\260\345\255\227\351\200\273\350\276\221\350\256\276\350\256\241/note/2021_hanswan/Digital Logic Design 05bbc93ece5d4edd95c960bf21bada63/\346\227\266\345\272\217\351\200\273\350\276\221\347\224\265\350\267\257\347\232\204\350\256\276\350\256\241 5fd7ec6b0a5d4bb5b243d28eef3ff1e7/Untitled 9.png" differ diff --git "a/\345\244\247\344\272\214\344\270\212/\346\225\260\345\255\227\351\200\273\350\276\221\350\256\276\350\256\241/note/2021_hanswan/Digital Logic Design 05bbc93ece5d4edd95c960bf21bada63/\346\227\266\345\272\217\351\200\273\350\276\221\347\224\265\350\267\257\347\232\204\350\256\276\350\256\241 5fd7ec6b0a5d4bb5b243d28eef3ff1e7/Untitled.png" "b/\345\244\247\344\272\214\344\270\212/\346\225\260\345\255\227\351\200\273\350\276\221\350\256\276\350\256\241/note/2021_hanswan/Digital Logic Design 05bbc93ece5d4edd95c960bf21bada63/\346\227\266\345\272\217\351\200\273\350\276\221\347\224\265\350\267\257\347\232\204\350\256\276\350\256\241 5fd7ec6b0a5d4bb5b243d28eef3ff1e7/Untitled.png" new file mode 100644 index 0000000..cb8b6f6 Binary files /dev/null and "b/\345\244\247\344\272\214\344\270\212/\346\225\260\345\255\227\351\200\273\350\276\221\350\256\276\350\256\241/note/2021_hanswan/Digital Logic Design 05bbc93ece5d4edd95c960bf21bada63/\346\227\266\345\272\217\351\200\273\350\276\221\347\224\265\350\267\257\347\232\204\350\256\276\350\256\241 5fd7ec6b0a5d4bb5b243d28eef3ff1e7/Untitled.png" differ diff --git "a/\345\244\247\344\272\214\344\270\212/\346\225\260\345\255\227\351\200\273\350\276\221\350\256\276\350\256\241/note/2021_hanswan/Digital Logic Design 05bbc93ece5d4edd95c960bf21bada63/\347\273\204\345\220\210\351\200\273\350\276\221\345\231\250\344\273\266 9b7d1dea29234eec8fcb43954abdd60c.md" "b/\345\244\247\344\272\214\344\270\212/\346\225\260\345\255\227\351\200\273\350\276\221\350\256\276\350\256\241/note/2021_hanswan/Digital Logic Design 05bbc93ece5d4edd95c960bf21bada63/\347\273\204\345\220\210\351\200\273\350\276\221\345\231\250\344\273\266 9b7d1dea29234eec8fcb43954abdd60c.md" new file mode 100644 index 0000000..e849e8f --- /dev/null +++ "b/\345\244\247\344\272\214\344\270\212/\346\225\260\345\255\227\351\200\273\350\276\221\350\256\276\350\256\241/note/2021_hanswan/Digital Logic Design 05bbc93ece5d4edd95c960bf21bada63/\347\273\204\345\220\210\351\200\273\350\276\221\345\231\250\344\273\266 9b7d1dea29234eec8fcb43954abdd60c.md" @@ -0,0 +1,90 @@ +# 组合逻辑器件 + +这部分介绍一些常见的组合逻辑器件。 + +## 多路复用器(MUX) + +![Untitled](%E7%BB%84%E5%90%88%E9%80%BB%E8%BE%91%E5%99%A8%E4%BB%B6%209b7d1dea29234eec8fcb43954abdd60c/Untitled.png) + +相当于一个单刀多掷开关。输出信号 $Z$ 由选择控制端决定接到 $I_0, I_1, \cdots,I_{2^n-1}$ 中的某一个上。 + +更多路数的多路复用器可以由多个低路数的多路复用器串联得到。例如用 4 个 2 路复用器和 1 个 4 路复用器实现的 8 路复用器: + +![Untitled](%E7%BB%84%E5%90%88%E9%80%BB%E8%BE%91%E5%99%A8%E4%BB%B6%209b7d1dea29234eec8fcb43954abdd60c/Untitled%201.png) + +## 三态门与三态逻辑 + +三态逻辑是指在低电平(0)和高电平(1)之外,再加入一种逻辑状态「高阻态」(Z)。所谓高阻态可以理解为引脚悬空或者不接。对于开漏输出的逻辑器件,P 管开漏输出器件只能输出高电平和高阻态,N 管开漏输出只能输出低电平和高阻态。这是由它们的电路特性决定的。 + +三态门是在三态逻辑基础上建立的一种元件。它能控制输出在正常高低电平和高阻态之间切换,可以理解为一个「开关」。 + +![Untitled](%E7%BB%84%E5%90%88%E9%80%BB%E8%BE%91%E5%99%A8%E4%BB%B6%209b7d1dea29234eec8fcb43954abdd60c/Untitled%202.png) + +## 译码器和编码器 + +译码器是将二进制信号转换成对应的某一个引脚使能,例如 3 线—8 线译码器是将输入的 3 位二进制数转换到 8 个输出引脚中的对应一个。 + +编码器和译码器功能相反。编码器又可以分为普通编码器(同时只允许一路信号使能)和优先编码器(允许多路信号同时使能,会按照某一既定的规则决定编码谁)。 + +## 奇偶校验器 + +奇偶校验器会「数」一组信号中「1」的个数,并根据这个个数是奇数还是偶数来决定输出。例如,对于 74238 系列的 9 位奇偶校验器,其输出情况如下 + +![Untitled](%E7%BB%84%E5%90%88%E9%80%BB%E8%BE%91%E5%99%A8%E4%BB%B6%209b7d1dea29234eec8fcb43954abdd60c/Untitled%203.png) + +即是说,如果输入信号中有奇数个 1,那么 ODD 端输出高电平;反之 EVEN 端输出高电平。 + +奇偶校验器的具体使用方法是: + +![Untitled](%E7%BB%84%E5%90%88%E9%80%BB%E8%BE%91%E5%99%A8%E4%BB%B6%209b7d1dea29234eec8fcb43954abdd60c/Untitled%204.png) + +8 位数据的校验使用 9 位的奇偶校验器。 + +## 比较器 + +比较器用来比较两个二进制数字的大小。 + +![Untitled](%E7%BB%84%E5%90%88%E9%80%BB%E8%BE%91%E5%99%A8%E4%BB%B6%209b7d1dea29234eec8fcb43954abdd60c/Untitled%205.png) + +比较器有 3 个输出端(等于、大于和小于),以及 3 个级联输入端。比较器会先比较自身得到的两个二进制数字 A 和 B。如果 A 和 B 是不相等的,那么级联输入端的信号会被忽略,比较器直接输出大于或者小于的信号;如果 A 和 B 相等,比较器会直接拷贝级联输出端的信号。这意味着: + +- 单独使用一个比较器时,级联输入端 A=B 接高电平,其他两个接低电平。 +- 比较器级联使用时,高位比较器的级联输入端接低位比较器的输出,最低位比较器的级联输入端 A=B 接高电平,其他两个接低电平。 + +此外也可以使用这种并行接法: + +![Untitled](%E7%BB%84%E5%90%88%E9%80%BB%E8%BE%91%E5%99%A8%E4%BB%B6%209b7d1dea29234eec8fcb43954abdd60c/Untitled%206.png) + +## 用 MUX 实现组合逻辑电路 + +### $2^n$ 路 MUX 实现 $n$ 个变量的组合逻辑 + +由于 $2^n$ 路的 MUX 恰好有 $n$ 个输入端,因此可以把 $n$ 个变量直接接在 MUX 的控制端上,实现最小项的控制。 + +例如,使用 8 路 MUX 实现逻辑电路 $F=AB'+A'C+BC'$,先画出 $F$ 的卡诺图和 MUX 的卡诺图: + +![Untitled](%E7%BB%84%E5%90%88%E9%80%BB%E8%BE%91%E5%99%A8%E4%BB%B6%209b7d1dea29234eec8fcb43954abdd60c/Untitled%207.png) + +照着左边将 $D_i(i=0, 1, \cdots, 7)$ 接到 0 或者 1 就可以了。 + +![Untitled](%E7%BB%84%E5%90%88%E9%80%BB%E8%BE%91%E5%99%A8%E4%BB%B6%209b7d1dea29234eec8fcb43954abdd60c/Untitled%208.png) + +### $2^n$ 路 MUX 实现 $(n+1)$ 个变量的组合逻辑 + +例如,使用 8 路 MUX 实现逻辑电路 $F(A, B, C, D)=\sum m(1, 5, 6, 7, 9, 11, 12, 13, 14)$。我们使用 $A, B, C$ 作为 MUX 的控制端,因此需要在 $F$ 的卡诺图中圈出 $D$ 的不同组合: + +![Untitled](%E7%BB%84%E5%90%88%E9%80%BB%E8%BE%91%E5%99%A8%E4%BB%B6%209b7d1dea29234eec8fcb43954abdd60c/Untitled%209.png) + +对于每一对 $A, B, C$ 固定的最小项,如果它们的 $D$ 同为 1,那么对应到 MUX 的卡诺图里填 1;若同为 0,则填 0;否则填写对应的 $D$ 或者 $D'$。MUX 的卡诺图如下: + +![Untitled](%E7%BB%84%E5%90%88%E9%80%BB%E8%BE%91%E5%99%A8%E4%BB%B6%209b7d1dea29234eec8fcb43954abdd60c/Untitled%2010.png) + +按卡诺图接线就可以了。 + +### $2^n$ 路 MUX 实现 $(m+2)$ 个变量的组合逻辑 + +按照上面的方法降维两次。降维的时候善用异或、同或等高级逻辑。 + +## 用译码器实现组合逻辑电路 + +译码器天生就是一个最小项电路,因此用译码器实现最小项只需要将对应的输出线相或(或者相与,取决于译码器的输出是高有效还是低有效)就可以。 \ No newline at end of file diff --git "a/\345\244\247\344\272\214\344\270\212/\346\225\260\345\255\227\351\200\273\350\276\221\350\256\276\350\256\241/note/2021_hanswan/Digital Logic Design 05bbc93ece5d4edd95c960bf21bada63/\347\273\204\345\220\210\351\200\273\350\276\221\345\231\250\344\273\266 9b7d1dea29234eec8fcb43954abdd60c/Untitled 1.png" "b/\345\244\247\344\272\214\344\270\212/\346\225\260\345\255\227\351\200\273\350\276\221\350\256\276\350\256\241/note/2021_hanswan/Digital Logic Design 05bbc93ece5d4edd95c960bf21bada63/\347\273\204\345\220\210\351\200\273\350\276\221\345\231\250\344\273\266 9b7d1dea29234eec8fcb43954abdd60c/Untitled 1.png" new file mode 100644 index 0000000..1b8ea39 Binary files /dev/null and "b/\345\244\247\344\272\214\344\270\212/\346\225\260\345\255\227\351\200\273\350\276\221\350\256\276\350\256\241/note/2021_hanswan/Digital Logic Design 05bbc93ece5d4edd95c960bf21bada63/\347\273\204\345\220\210\351\200\273\350\276\221\345\231\250\344\273\266 9b7d1dea29234eec8fcb43954abdd60c/Untitled 1.png" differ diff --git "a/\345\244\247\344\272\214\344\270\212/\346\225\260\345\255\227\351\200\273\350\276\221\350\256\276\350\256\241/note/2021_hanswan/Digital Logic Design 05bbc93ece5d4edd95c960bf21bada63/\347\273\204\345\220\210\351\200\273\350\276\221\345\231\250\344\273\266 9b7d1dea29234eec8fcb43954abdd60c/Untitled 10.png" "b/\345\244\247\344\272\214\344\270\212/\346\225\260\345\255\227\351\200\273\350\276\221\350\256\276\350\256\241/note/2021_hanswan/Digital Logic Design 05bbc93ece5d4edd95c960bf21bada63/\347\273\204\345\220\210\351\200\273\350\276\221\345\231\250\344\273\266 9b7d1dea29234eec8fcb43954abdd60c/Untitled 10.png" new file mode 100644 index 0000000..a7d1d74 Binary files /dev/null and "b/\345\244\247\344\272\214\344\270\212/\346\225\260\345\255\227\351\200\273\350\276\221\350\256\276\350\256\241/note/2021_hanswan/Digital Logic Design 05bbc93ece5d4edd95c960bf21bada63/\347\273\204\345\220\210\351\200\273\350\276\221\345\231\250\344\273\266 9b7d1dea29234eec8fcb43954abdd60c/Untitled 10.png" differ diff --git "a/\345\244\247\344\272\214\344\270\212/\346\225\260\345\255\227\351\200\273\350\276\221\350\256\276\350\256\241/note/2021_hanswan/Digital Logic Design 05bbc93ece5d4edd95c960bf21bada63/\347\273\204\345\220\210\351\200\273\350\276\221\345\231\250\344\273\266 9b7d1dea29234eec8fcb43954abdd60c/Untitled 2.png" "b/\345\244\247\344\272\214\344\270\212/\346\225\260\345\255\227\351\200\273\350\276\221\350\256\276\350\256\241/note/2021_hanswan/Digital Logic Design 05bbc93ece5d4edd95c960bf21bada63/\347\273\204\345\220\210\351\200\273\350\276\221\345\231\250\344\273\266 9b7d1dea29234eec8fcb43954abdd60c/Untitled 2.png" new file mode 100644 index 0000000..dea05f5 Binary files /dev/null and "b/\345\244\247\344\272\214\344\270\212/\346\225\260\345\255\227\351\200\273\350\276\221\350\256\276\350\256\241/note/2021_hanswan/Digital Logic Design 05bbc93ece5d4edd95c960bf21bada63/\347\273\204\345\220\210\351\200\273\350\276\221\345\231\250\344\273\266 9b7d1dea29234eec8fcb43954abdd60c/Untitled 2.png" differ diff --git "a/\345\244\247\344\272\214\344\270\212/\346\225\260\345\255\227\351\200\273\350\276\221\350\256\276\350\256\241/note/2021_hanswan/Digital Logic Design 05bbc93ece5d4edd95c960bf21bada63/\347\273\204\345\220\210\351\200\273\350\276\221\345\231\250\344\273\266 9b7d1dea29234eec8fcb43954abdd60c/Untitled 3.png" "b/\345\244\247\344\272\214\344\270\212/\346\225\260\345\255\227\351\200\273\350\276\221\350\256\276\350\256\241/note/2021_hanswan/Digital Logic Design 05bbc93ece5d4edd95c960bf21bada63/\347\273\204\345\220\210\351\200\273\350\276\221\345\231\250\344\273\266 9b7d1dea29234eec8fcb43954abdd60c/Untitled 3.png" new file mode 100644 index 0000000..8190246 Binary files /dev/null and "b/\345\244\247\344\272\214\344\270\212/\346\225\260\345\255\227\351\200\273\350\276\221\350\256\276\350\256\241/note/2021_hanswan/Digital Logic Design 05bbc93ece5d4edd95c960bf21bada63/\347\273\204\345\220\210\351\200\273\350\276\221\345\231\250\344\273\266 9b7d1dea29234eec8fcb43954abdd60c/Untitled 3.png" differ diff --git "a/\345\244\247\344\272\214\344\270\212/\346\225\260\345\255\227\351\200\273\350\276\221\350\256\276\350\256\241/note/2021_hanswan/Digital Logic Design 05bbc93ece5d4edd95c960bf21bada63/\347\273\204\345\220\210\351\200\273\350\276\221\345\231\250\344\273\266 9b7d1dea29234eec8fcb43954abdd60c/Untitled 4.png" "b/\345\244\247\344\272\214\344\270\212/\346\225\260\345\255\227\351\200\273\350\276\221\350\256\276\350\256\241/note/2021_hanswan/Digital Logic Design 05bbc93ece5d4edd95c960bf21bada63/\347\273\204\345\220\210\351\200\273\350\276\221\345\231\250\344\273\266 9b7d1dea29234eec8fcb43954abdd60c/Untitled 4.png" new file mode 100644 index 0000000..67cea6b Binary files /dev/null and "b/\345\244\247\344\272\214\344\270\212/\346\225\260\345\255\227\351\200\273\350\276\221\350\256\276\350\256\241/note/2021_hanswan/Digital Logic Design 05bbc93ece5d4edd95c960bf21bada63/\347\273\204\345\220\210\351\200\273\350\276\221\345\231\250\344\273\266 9b7d1dea29234eec8fcb43954abdd60c/Untitled 4.png" differ diff --git "a/\345\244\247\344\272\214\344\270\212/\346\225\260\345\255\227\351\200\273\350\276\221\350\256\276\350\256\241/note/2021_hanswan/Digital Logic Design 05bbc93ece5d4edd95c960bf21bada63/\347\273\204\345\220\210\351\200\273\350\276\221\345\231\250\344\273\266 9b7d1dea29234eec8fcb43954abdd60c/Untitled 5.png" "b/\345\244\247\344\272\214\344\270\212/\346\225\260\345\255\227\351\200\273\350\276\221\350\256\276\350\256\241/note/2021_hanswan/Digital Logic Design 05bbc93ece5d4edd95c960bf21bada63/\347\273\204\345\220\210\351\200\273\350\276\221\345\231\250\344\273\266 9b7d1dea29234eec8fcb43954abdd60c/Untitled 5.png" new file mode 100644 index 0000000..0ec370f Binary files /dev/null and "b/\345\244\247\344\272\214\344\270\212/\346\225\260\345\255\227\351\200\273\350\276\221\350\256\276\350\256\241/note/2021_hanswan/Digital Logic Design 05bbc93ece5d4edd95c960bf21bada63/\347\273\204\345\220\210\351\200\273\350\276\221\345\231\250\344\273\266 9b7d1dea29234eec8fcb43954abdd60c/Untitled 5.png" differ diff --git "a/\345\244\247\344\272\214\344\270\212/\346\225\260\345\255\227\351\200\273\350\276\221\350\256\276\350\256\241/note/2021_hanswan/Digital Logic Design 05bbc93ece5d4edd95c960bf21bada63/\347\273\204\345\220\210\351\200\273\350\276\221\345\231\250\344\273\266 9b7d1dea29234eec8fcb43954abdd60c/Untitled 6.png" "b/\345\244\247\344\272\214\344\270\212/\346\225\260\345\255\227\351\200\273\350\276\221\350\256\276\350\256\241/note/2021_hanswan/Digital Logic Design 05bbc93ece5d4edd95c960bf21bada63/\347\273\204\345\220\210\351\200\273\350\276\221\345\231\250\344\273\266 9b7d1dea29234eec8fcb43954abdd60c/Untitled 6.png" new file mode 100644 index 0000000..8ba34be Binary files /dev/null and "b/\345\244\247\344\272\214\344\270\212/\346\225\260\345\255\227\351\200\273\350\276\221\350\256\276\350\256\241/note/2021_hanswan/Digital Logic Design 05bbc93ece5d4edd95c960bf21bada63/\347\273\204\345\220\210\351\200\273\350\276\221\345\231\250\344\273\266 9b7d1dea29234eec8fcb43954abdd60c/Untitled 6.png" differ diff --git "a/\345\244\247\344\272\214\344\270\212/\346\225\260\345\255\227\351\200\273\350\276\221\350\256\276\350\256\241/note/2021_hanswan/Digital Logic Design 05bbc93ece5d4edd95c960bf21bada63/\347\273\204\345\220\210\351\200\273\350\276\221\345\231\250\344\273\266 9b7d1dea29234eec8fcb43954abdd60c/Untitled 7.png" "b/\345\244\247\344\272\214\344\270\212/\346\225\260\345\255\227\351\200\273\350\276\221\350\256\276\350\256\241/note/2021_hanswan/Digital Logic Design 05bbc93ece5d4edd95c960bf21bada63/\347\273\204\345\220\210\351\200\273\350\276\221\345\231\250\344\273\266 9b7d1dea29234eec8fcb43954abdd60c/Untitled 7.png" new file mode 100644 index 0000000..283b8fa Binary files /dev/null and "b/\345\244\247\344\272\214\344\270\212/\346\225\260\345\255\227\351\200\273\350\276\221\350\256\276\350\256\241/note/2021_hanswan/Digital Logic Design 05bbc93ece5d4edd95c960bf21bada63/\347\273\204\345\220\210\351\200\273\350\276\221\345\231\250\344\273\266 9b7d1dea29234eec8fcb43954abdd60c/Untitled 7.png" differ diff --git "a/\345\244\247\344\272\214\344\270\212/\346\225\260\345\255\227\351\200\273\350\276\221\350\256\276\350\256\241/note/2021_hanswan/Digital Logic Design 05bbc93ece5d4edd95c960bf21bada63/\347\273\204\345\220\210\351\200\273\350\276\221\345\231\250\344\273\266 9b7d1dea29234eec8fcb43954abdd60c/Untitled 8.png" "b/\345\244\247\344\272\214\344\270\212/\346\225\260\345\255\227\351\200\273\350\276\221\350\256\276\350\256\241/note/2021_hanswan/Digital Logic Design 05bbc93ece5d4edd95c960bf21bada63/\347\273\204\345\220\210\351\200\273\350\276\221\345\231\250\344\273\266 9b7d1dea29234eec8fcb43954abdd60c/Untitled 8.png" new file mode 100644 index 0000000..d64b76f Binary files /dev/null and "b/\345\244\247\344\272\214\344\270\212/\346\225\260\345\255\227\351\200\273\350\276\221\350\256\276\350\256\241/note/2021_hanswan/Digital Logic Design 05bbc93ece5d4edd95c960bf21bada63/\347\273\204\345\220\210\351\200\273\350\276\221\345\231\250\344\273\266 9b7d1dea29234eec8fcb43954abdd60c/Untitled 8.png" differ diff --git "a/\345\244\247\344\272\214\344\270\212/\346\225\260\345\255\227\351\200\273\350\276\221\350\256\276\350\256\241/note/2021_hanswan/Digital Logic Design 05bbc93ece5d4edd95c960bf21bada63/\347\273\204\345\220\210\351\200\273\350\276\221\345\231\250\344\273\266 9b7d1dea29234eec8fcb43954abdd60c/Untitled 9.png" "b/\345\244\247\344\272\214\344\270\212/\346\225\260\345\255\227\351\200\273\350\276\221\350\256\276\350\256\241/note/2021_hanswan/Digital Logic Design 05bbc93ece5d4edd95c960bf21bada63/\347\273\204\345\220\210\351\200\273\350\276\221\345\231\250\344\273\266 9b7d1dea29234eec8fcb43954abdd60c/Untitled 9.png" new file mode 100644 index 0000000..2d209e2 Binary files /dev/null and "b/\345\244\247\344\272\214\344\270\212/\346\225\260\345\255\227\351\200\273\350\276\221\350\256\276\350\256\241/note/2021_hanswan/Digital Logic Design 05bbc93ece5d4edd95c960bf21bada63/\347\273\204\345\220\210\351\200\273\350\276\221\345\231\250\344\273\266 9b7d1dea29234eec8fcb43954abdd60c/Untitled 9.png" differ diff --git "a/\345\244\247\344\272\214\344\270\212/\346\225\260\345\255\227\351\200\273\350\276\221\350\256\276\350\256\241/note/2021_hanswan/Digital Logic Design 05bbc93ece5d4edd95c960bf21bada63/\347\273\204\345\220\210\351\200\273\350\276\221\345\231\250\344\273\266 9b7d1dea29234eec8fcb43954abdd60c/Untitled.png" "b/\345\244\247\344\272\214\344\270\212/\346\225\260\345\255\227\351\200\273\350\276\221\350\256\276\350\256\241/note/2021_hanswan/Digital Logic Design 05bbc93ece5d4edd95c960bf21bada63/\347\273\204\345\220\210\351\200\273\350\276\221\345\231\250\344\273\266 9b7d1dea29234eec8fcb43954abdd60c/Untitled.png" new file mode 100644 index 0000000..8a749ac Binary files /dev/null and "b/\345\244\247\344\272\214\344\270\212/\346\225\260\345\255\227\351\200\273\350\276\221\350\256\276\350\256\241/note/2021_hanswan/Digital Logic Design 05bbc93ece5d4edd95c960bf21bada63/\347\273\204\345\220\210\351\200\273\350\276\221\345\231\250\344\273\266 9b7d1dea29234eec8fcb43954abdd60c/Untitled.png" differ diff --git "a/\345\244\247\344\272\214\344\270\212/\346\225\260\345\255\227\351\200\273\350\276\221\350\256\276\350\256\241/note/2021_hanswan/Digital Logic Design 05bbc93ece5d4edd95c960bf21bada63/\347\273\204\345\220\210\351\200\273\350\276\221\345\237\272\347\241\200 64b771b2840947ef82a79bd3d11612a6.md" "b/\345\244\247\344\272\214\344\270\212/\346\225\260\345\255\227\351\200\273\350\276\221\350\256\276\350\256\241/note/2021_hanswan/Digital Logic Design 05bbc93ece5d4edd95c960bf21bada63/\347\273\204\345\220\210\351\200\273\350\276\221\345\237\272\347\241\200 64b771b2840947ef82a79bd3d11612a6.md" new file mode 100644 index 0000000..29ed078 --- /dev/null +++ "b/\345\244\247\344\272\214\344\270\212/\346\225\260\345\255\227\351\200\273\350\276\221\350\256\276\350\256\241/note/2021_hanswan/Digital Logic Design 05bbc93ece5d4edd95c960bf21bada63/\347\273\204\345\220\210\351\200\273\350\276\221\345\237\272\347\241\200 64b771b2840947ef82a79bd3d11612a6.md" @@ -0,0 +1,71 @@ +# 组合逻辑基础 + +# 多级门电路 + +多级门电路指的是由逻辑门一层一层相连而形成的电路。具体地,其中一些逻辑门的输出引脚接在了另外一些逻辑门的输入引脚上。 + +多级门电路的「级」数指的是输入和输出之间相隔逻辑门层数的最大值,其中不包括非门。 + +## 两级门电路 + +两级门电路是最简单的门电路。任何一种组合逻辑最终都可以用两级门电路来实现(理论依据:前文章节中提到的「最大项」和「最小项」。 + +由于与非门和或非门相比其他逻辑门电路更加简单、性能更好、价格更低,因此这里特别介绍如何使用这两种逻辑门实现两级门电路。 + +![CMOS 与门、与非门、或门和或非门。观察上面的晶体管级电路不难发现,与门、或门其实就是与非门和或非门再接一个非门。](%E7%BB%84%E5%90%88%E9%80%BB%E8%BE%91%E5%9F%BA%E7%A1%80%2064b771b2840947ef82a79bd3d11612a6/Untitled.png) + +CMOS 与门、与非门、或门和或非门。观察上面的晶体管级电路不难发现,与门、或门其实就是与非门和或非门再接一个非门。 + +### 与非门电路 + +给出一个已经化简的「积之和」电路(或者说,最小项),下面的方法可以将它转换成全与非门电路。 + +- 把所有逻辑门全部换成与非门。 +- 翻转最后一个逻辑门(输出处的逻辑门)的所有单独的输入。 + +![Untitled](%E7%BB%84%E5%90%88%E9%80%BB%E8%BE%91%E5%9F%BA%E7%A1%80%2064b771b2840947ef82a79bd3d11612a6/Untitled%201.png) + +另外,我们也可以通过两次取反再化简的方法来得到全与非门电路。例如,有 $F=A'B+AB'$, 取反得到 $F'=(A'B+AB')'=(A'B)'(AB')'$, 再取反就有 $F=(F')'=\overline{\overline{\bar{A}B}\cdot\overline{A\bar{B}}}$。 + +### 或非门电路 + +给出一个已经化简的「和之积」电路(或者说,最大项),下面的方法可以将它转换成全或非门电路。 + +- 把所有逻辑门全部换成或非门。 +- 翻转最后一个逻辑门(输出处的逻辑门)的所有单独的输入。 + +另外,我们也可以通过两次取对偶的方法来得到全或非门电路。 + +# 多输出电路 + +多输出电路有至少两个输出端。对于这样的电路设计,我们不应该追求每一个输出端电路的最简,而应该考虑逻辑门的复用,实现整体的最简。利用卡诺图可以寻找出实现整体最简的共享项。 + +例如,对于 $F_1=C+AB', F_2=BC+AB'C'$,我们画出两者的卡诺图: + +![Untitled](%E7%BB%84%E5%90%88%E9%80%BB%E8%BE%91%E5%9F%BA%E7%A1%80%2064b771b2840947ef82a79bd3d11612a6/Untitled%202.png) + +发现二者可以共享 $AB'C'$ 这一项。这样整体的电路如下 + +![Untitled](%E7%BB%84%E5%90%88%E9%80%BB%E8%BE%91%E5%9F%BA%E7%A1%80%2064b771b2840947ef82a79bd3d11612a6/Untitled%203.png) + +# 险象与消除 + +所谓险象是由于实际的逻辑门元件存在延迟,即,输出信号会比输入信号晚一些产生造成的。 + +下表中,对于输出逻辑门来说,它的两个输入引脚的信号**并不是**完全同时到达逻辑门的——由于非门翻转需要时间,下方引脚的信号略迟于上方引脚。这导致原本恒成立的 $A+A'=1$ 和 $AA'=0$ 中间存在一个「空窗期」,造成了电路中的毛刺。 + +![Untitled](%E7%BB%84%E5%90%88%E9%80%BB%E8%BE%91%E5%9F%BA%E7%A1%80%2064b771b2840947ef82a79bd3d11612a6/Untitled%204.png) + +上表中展示的两种险象被叫做静态冒险,前者由 $A+A'$ 这种形式产生,即原本应该恒为 1 的电路中有一个产生 0 的毛刺,称为静态 1 冒险;后者由 $A\cdot A'$ 这种形式产生,即原本应该恒为 0 的电路中有一个产生 1 的毛刺,称为静态 0 冒险。 + +通过卡诺图可以快速地找出逻辑电路中是否存在冒险。首先画出卡诺图以及逻辑电路对应的蕴含项,然后找出其中是否存在相切的蕴含项。例如,对于 $F=A'C+B'C$: + +![Untitled](%E7%BB%84%E5%90%88%E9%80%BB%E8%BE%91%E5%9F%BA%E7%A1%80%2064b771b2840947ef82a79bd3d11612a6/Untitled%205.png) + +这说明当 $A=0, B=1$ 时,存在 $C+C'$ 这样的险象,即静态 1 冒险。 + +消除险象只需要添加一个蕴含项包住这条相切的边。对于上面的例子,添加这样的新蕴含项: + +![Untitled](%E7%BB%84%E5%90%88%E9%80%BB%E8%BE%91%E5%9F%BA%E7%A1%80%2064b771b2840947ef82a79bd3d11612a6/Untitled%206.png) + +也就是添加 $A'B$ 项,就可以消除险象了。 \ No newline at end of file diff --git "a/\345\244\247\344\272\214\344\270\212/\346\225\260\345\255\227\351\200\273\350\276\221\350\256\276\350\256\241/note/2021_hanswan/Digital Logic Design 05bbc93ece5d4edd95c960bf21bada63/\347\273\204\345\220\210\351\200\273\350\276\221\345\237\272\347\241\200 64b771b2840947ef82a79bd3d11612a6/Untitled 1.png" "b/\345\244\247\344\272\214\344\270\212/\346\225\260\345\255\227\351\200\273\350\276\221\350\256\276\350\256\241/note/2021_hanswan/Digital Logic Design 05bbc93ece5d4edd95c960bf21bada63/\347\273\204\345\220\210\351\200\273\350\276\221\345\237\272\347\241\200 64b771b2840947ef82a79bd3d11612a6/Untitled 1.png" new file mode 100644 index 0000000..83fe595 Binary files /dev/null and "b/\345\244\247\344\272\214\344\270\212/\346\225\260\345\255\227\351\200\273\350\276\221\350\256\276\350\256\241/note/2021_hanswan/Digital Logic Design 05bbc93ece5d4edd95c960bf21bada63/\347\273\204\345\220\210\351\200\273\350\276\221\345\237\272\347\241\200 64b771b2840947ef82a79bd3d11612a6/Untitled 1.png" differ diff --git "a/\345\244\247\344\272\214\344\270\212/\346\225\260\345\255\227\351\200\273\350\276\221\350\256\276\350\256\241/note/2021_hanswan/Digital Logic Design 05bbc93ece5d4edd95c960bf21bada63/\347\273\204\345\220\210\351\200\273\350\276\221\345\237\272\347\241\200 64b771b2840947ef82a79bd3d11612a6/Untitled 2.png" "b/\345\244\247\344\272\214\344\270\212/\346\225\260\345\255\227\351\200\273\350\276\221\350\256\276\350\256\241/note/2021_hanswan/Digital Logic Design 05bbc93ece5d4edd95c960bf21bada63/\347\273\204\345\220\210\351\200\273\350\276\221\345\237\272\347\241\200 64b771b2840947ef82a79bd3d11612a6/Untitled 2.png" new file mode 100644 index 0000000..31d1419 Binary files /dev/null and "b/\345\244\247\344\272\214\344\270\212/\346\225\260\345\255\227\351\200\273\350\276\221\350\256\276\350\256\241/note/2021_hanswan/Digital Logic Design 05bbc93ece5d4edd95c960bf21bada63/\347\273\204\345\220\210\351\200\273\350\276\221\345\237\272\347\241\200 64b771b2840947ef82a79bd3d11612a6/Untitled 2.png" differ diff --git "a/\345\244\247\344\272\214\344\270\212/\346\225\260\345\255\227\351\200\273\350\276\221\350\256\276\350\256\241/note/2021_hanswan/Digital Logic Design 05bbc93ece5d4edd95c960bf21bada63/\347\273\204\345\220\210\351\200\273\350\276\221\345\237\272\347\241\200 64b771b2840947ef82a79bd3d11612a6/Untitled 3.png" "b/\345\244\247\344\272\214\344\270\212/\346\225\260\345\255\227\351\200\273\350\276\221\350\256\276\350\256\241/note/2021_hanswan/Digital Logic Design 05bbc93ece5d4edd95c960bf21bada63/\347\273\204\345\220\210\351\200\273\350\276\221\345\237\272\347\241\200 64b771b2840947ef82a79bd3d11612a6/Untitled 3.png" new file mode 100644 index 0000000..23f7361 Binary files /dev/null and "b/\345\244\247\344\272\214\344\270\212/\346\225\260\345\255\227\351\200\273\350\276\221\350\256\276\350\256\241/note/2021_hanswan/Digital Logic Design 05bbc93ece5d4edd95c960bf21bada63/\347\273\204\345\220\210\351\200\273\350\276\221\345\237\272\347\241\200 64b771b2840947ef82a79bd3d11612a6/Untitled 3.png" differ diff --git "a/\345\244\247\344\272\214\344\270\212/\346\225\260\345\255\227\351\200\273\350\276\221\350\256\276\350\256\241/note/2021_hanswan/Digital Logic Design 05bbc93ece5d4edd95c960bf21bada63/\347\273\204\345\220\210\351\200\273\350\276\221\345\237\272\347\241\200 64b771b2840947ef82a79bd3d11612a6/Untitled 4.png" "b/\345\244\247\344\272\214\344\270\212/\346\225\260\345\255\227\351\200\273\350\276\221\350\256\276\350\256\241/note/2021_hanswan/Digital Logic Design 05bbc93ece5d4edd95c960bf21bada63/\347\273\204\345\220\210\351\200\273\350\276\221\345\237\272\347\241\200 64b771b2840947ef82a79bd3d11612a6/Untitled 4.png" new file mode 100644 index 0000000..975a998 Binary files /dev/null and "b/\345\244\247\344\272\214\344\270\212/\346\225\260\345\255\227\351\200\273\350\276\221\350\256\276\350\256\241/note/2021_hanswan/Digital Logic Design 05bbc93ece5d4edd95c960bf21bada63/\347\273\204\345\220\210\351\200\273\350\276\221\345\237\272\347\241\200 64b771b2840947ef82a79bd3d11612a6/Untitled 4.png" differ diff --git "a/\345\244\247\344\272\214\344\270\212/\346\225\260\345\255\227\351\200\273\350\276\221\350\256\276\350\256\241/note/2021_hanswan/Digital Logic Design 05bbc93ece5d4edd95c960bf21bada63/\347\273\204\345\220\210\351\200\273\350\276\221\345\237\272\347\241\200 64b771b2840947ef82a79bd3d11612a6/Untitled 5.png" "b/\345\244\247\344\272\214\344\270\212/\346\225\260\345\255\227\351\200\273\350\276\221\350\256\276\350\256\241/note/2021_hanswan/Digital Logic Design 05bbc93ece5d4edd95c960bf21bada63/\347\273\204\345\220\210\351\200\273\350\276\221\345\237\272\347\241\200 64b771b2840947ef82a79bd3d11612a6/Untitled 5.png" new file mode 100644 index 0000000..69704b6 Binary files /dev/null and "b/\345\244\247\344\272\214\344\270\212/\346\225\260\345\255\227\351\200\273\350\276\221\350\256\276\350\256\241/note/2021_hanswan/Digital Logic Design 05bbc93ece5d4edd95c960bf21bada63/\347\273\204\345\220\210\351\200\273\350\276\221\345\237\272\347\241\200 64b771b2840947ef82a79bd3d11612a6/Untitled 5.png" differ diff --git "a/\345\244\247\344\272\214\344\270\212/\346\225\260\345\255\227\351\200\273\350\276\221\350\256\276\350\256\241/note/2021_hanswan/Digital Logic Design 05bbc93ece5d4edd95c960bf21bada63/\347\273\204\345\220\210\351\200\273\350\276\221\345\237\272\347\241\200 64b771b2840947ef82a79bd3d11612a6/Untitled 6.png" "b/\345\244\247\344\272\214\344\270\212/\346\225\260\345\255\227\351\200\273\350\276\221\350\256\276\350\256\241/note/2021_hanswan/Digital Logic Design 05bbc93ece5d4edd95c960bf21bada63/\347\273\204\345\220\210\351\200\273\350\276\221\345\237\272\347\241\200 64b771b2840947ef82a79bd3d11612a6/Untitled 6.png" new file mode 100644 index 0000000..01b911b Binary files /dev/null and "b/\345\244\247\344\272\214\344\270\212/\346\225\260\345\255\227\351\200\273\350\276\221\350\256\276\350\256\241/note/2021_hanswan/Digital Logic Design 05bbc93ece5d4edd95c960bf21bada63/\347\273\204\345\220\210\351\200\273\350\276\221\345\237\272\347\241\200 64b771b2840947ef82a79bd3d11612a6/Untitled 6.png" differ diff --git "a/\345\244\247\344\272\214\344\270\212/\346\225\260\345\255\227\351\200\273\350\276\221\350\256\276\350\256\241/note/2021_hanswan/Digital Logic Design 05bbc93ece5d4edd95c960bf21bada63/\347\273\204\345\220\210\351\200\273\350\276\221\345\237\272\347\241\200 64b771b2840947ef82a79bd3d11612a6/Untitled.png" "b/\345\244\247\344\272\214\344\270\212/\346\225\260\345\255\227\351\200\273\350\276\221\350\256\276\350\256\241/note/2021_hanswan/Digital Logic Design 05bbc93ece5d4edd95c960bf21bada63/\347\273\204\345\220\210\351\200\273\350\276\221\345\237\272\347\241\200 64b771b2840947ef82a79bd3d11612a6/Untitled.png" new file mode 100644 index 0000000..1149cd3 Binary files /dev/null and "b/\345\244\247\344\272\214\344\270\212/\346\225\260\345\255\227\351\200\273\350\276\221\350\256\276\350\256\241/note/2021_hanswan/Digital Logic Design 05bbc93ece5d4edd95c960bf21bada63/\347\273\204\345\220\210\351\200\273\350\276\221\345\237\272\347\241\200 64b771b2840947ef82a79bd3d11612a6/Untitled.png" differ diff --git "a/\345\244\247\344\272\214\344\270\212/\346\225\260\345\255\227\351\200\273\350\276\221\350\256\276\350\256\241/note/2021_hanswan/README.md" "b/\345\244\247\344\272\214\344\270\212/\346\225\260\345\255\227\351\200\273\350\276\221\350\256\276\350\256\241/note/2021_hanswan/README.md" new file mode 100644 index 0000000..e75e2bd --- /dev/null +++ "b/\345\244\247\344\272\214\344\270\212/\346\225\260\345\255\227\351\200\273\350\276\221\350\256\276\350\256\241/note/2021_hanswan/README.md" @@ -0,0 +1,39 @@ +# Digital Logic Design +--- + +## 概述 + +这是一份 2021 秋哈尔滨工业大学(深圳)《数字逻辑设计》课程的考前复习笔记。 + +这份笔记主要整理自 [高翠芸](https://cuiyungao.github.io/) 老师的 PPT。前两部分([基本逻辑门](Digital%20Logic%20Design%2005bbc93ece5d4edd95c960bf21bada63/%E5%9F%BA%E6%9C%AC%E9%80%BB%E8%BE%91%E9%97%A8%20c5a80174c1ca46d7ae2c7190d0d77fa8.md) 和 [布尔代数](Digital%20Logic%20Design%2005bbc93ece5d4edd95c960bf21bada63/%E5%B8%83%E5%B0%94%E4%BB%A3%E6%95%B0%2068f91aab71134af48483ec3eda18e153.md))以英文写成,后续各章节为中文。~~为什么:因为前边那两章还算简单,我还能整出英文笔记~~ + +注意这份笔记并没有整理进下面这些内容: + +- 进制与编码(8421 BCD 码、余 3 码、格雷码等); +- 利用中规模计数器芯片设计时序逻辑电路; +- Verilog 语言相关。 + +除此之外可能还有一些其他的零散内容没有包含。 + +*数字逻辑考试占比 60%,作业和实验各占 20%,应该比较容易通过(吧)。* + +## 目录 + +[基本逻辑门](Digital%20Logic%20Design%2005bbc93ece5d4edd95c960bf21bada63/%E5%9F%BA%E6%9C%AC%E9%80%BB%E8%BE%91%E9%97%A8%20c5a80174c1ca46d7ae2c7190d0d77fa8.md) + +[布尔代数](Digital%20Logic%20Design%2005bbc93ece5d4edd95c960bf21bada63/%E5%B8%83%E5%B0%94%E4%BB%A3%E6%95%B0%2068f91aab71134af48483ec3eda18e153.md) + +[组合逻辑基础](Digital%20Logic%20Design%2005bbc93ece5d4edd95c960bf21bada63/%E7%BB%84%E5%90%88%E9%80%BB%E8%BE%91%E5%9F%BA%E7%A1%80%2064b771b2840947ef82a79bd3d11612a6.md) + +[组合逻辑器件](Digital%20Logic%20Design%2005bbc93ece5d4edd95c960bf21bada63/%E7%BB%84%E5%90%88%E9%80%BB%E8%BE%91%E5%99%A8%E4%BB%B6%209b7d1dea29234eec8fcb43954abdd60c.md) + +[时序逻辑基础](Digital%20Logic%20Design%2005bbc93ece5d4edd95c960bf21bada63/%E6%97%B6%E5%BA%8F%E9%80%BB%E8%BE%91%E5%9F%BA%E7%A1%80%207576fe9c309b432cbd6431f6c2ce0e4b.md) + +[时序逻辑电路的分析](Digital%20Logic%20Design%2005bbc93ece5d4edd95c960bf21bada63/%E6%97%B6%E5%BA%8F%E9%80%BB%E8%BE%91%E7%94%B5%E8%B7%AF%E7%9A%84%E5%88%86%E6%9E%90%20a83a0a39c1df4005895ed19f9c115a6e.md) + +[时序逻辑电路的设计](Digital%20Logic%20Design%2005bbc93ece5d4edd95c960bf21bada63/%E6%97%B6%E5%BA%8F%E9%80%BB%E8%BE%91%E7%94%B5%E8%B7%AF%E7%9A%84%E8%AE%BE%E8%AE%A1%205fd7ec6b0a5d4bb5b243d28eef3ff1e7.md) + +## 版本修订 + +- Update: 增加内容「组合逻辑器件」 (12/25) +- Initial release: 基本完成所有内容(除了那些预计不会加入的内容)(12/24) diff --git "a/\345\244\247\344\272\214\344\270\213/\350\256\241\347\256\227\346\226\271\346\263\225/note/2022_hanswan/Numerical Analysis 7806bc3fbe9c4ba5ab43441f2a640b0e/Untitled 1.png" "b/\345\244\247\344\272\214\344\270\213/\350\256\241\347\256\227\346\226\271\346\263\225/note/2022_hanswan/Numerical Analysis 7806bc3fbe9c4ba5ab43441f2a640b0e/Untitled 1.png" new file mode 100644 index 0000000..470146f Binary files /dev/null and "b/\345\244\247\344\272\214\344\270\213/\350\256\241\347\256\227\346\226\271\346\263\225/note/2022_hanswan/Numerical Analysis 7806bc3fbe9c4ba5ab43441f2a640b0e/Untitled 1.png" differ diff --git "a/\345\244\247\344\272\214\344\270\213/\350\256\241\347\256\227\346\226\271\346\263\225/note/2022_hanswan/Numerical Analysis 7806bc3fbe9c4ba5ab43441f2a640b0e/Untitled.png" "b/\345\244\247\344\272\214\344\270\213/\350\256\241\347\256\227\346\226\271\346\263\225/note/2022_hanswan/Numerical Analysis 7806bc3fbe9c4ba5ab43441f2a640b0e/Untitled.png" new file mode 100644 index 0000000..50a28b2 Binary files /dev/null and "b/\345\244\247\344\272\214\344\270\213/\350\256\241\347\256\227\346\226\271\346\263\225/note/2022_hanswan/Numerical Analysis 7806bc3fbe9c4ba5ab43441f2a640b0e/Untitled.png" differ diff --git "a/\345\244\247\344\272\214\344\270\213/\350\256\241\347\256\227\346\226\271\346\263\225/note/2022_hanswan/Numerical Analysis 7806bc3fbe9c4ba5ab43441f2a640b0e/\345\276\256\345\210\206\346\226\271\347\250\213\347\232\204\346\225\260\345\200\274\350\247\243\346\263\225 e131c76362e24784a619d2a10a8fc1be.md" "b/\345\244\247\344\272\214\344\270\213/\350\256\241\347\256\227\346\226\271\346\263\225/note/2022_hanswan/Numerical Analysis 7806bc3fbe9c4ba5ab43441f2a640b0e/\345\276\256\345\210\206\346\226\271\347\250\213\347\232\204\346\225\260\345\200\274\350\247\243\346\263\225 e131c76362e24784a619d2a10a8fc1be.md" new file mode 100644 index 0000000..546546a --- /dev/null +++ "b/\345\244\247\344\272\214\344\270\213/\350\256\241\347\256\227\346\226\271\346\263\225/note/2022_hanswan/Numerical Analysis 7806bc3fbe9c4ba5ab43441f2a640b0e/\345\276\256\345\210\206\346\226\271\347\250\213\347\232\204\346\225\260\345\200\274\350\247\243\346\263\225 e131c76362e24784a619d2a10a8fc1be.md" @@ -0,0 +1,223 @@ +# 微分方程的数值解法 + +## 问题定义 + +本章我们关注「初值问题」的数值解法。所谓初值问题是指给定 + +$$ +\left\{\begin{aligned} +&\frac{\mathrm{d}y}{\mathrm{d}x} =f(x,y), a\leqslant x\leqslant b \\ +&y(a)=\eta +\end{aligned}\right. +$$ + +求 $y(x)$ 的问题。数值解法即不用求出 $y(x)$ 的表达式,而只要得到一系列 $x$ 对应的 $y(x)$ 的数表。 + +## Euler 法 + +在 $x_n$ 处 Taylor 展开 $y(x_{n+1})$,有 + +$$ +y(x_{n+1})=y(x_n)+hy'(x_n)+\frac{h^2}{2!}y''(\xi), \xi\in(x_n, x_{n+1}) +$$ + +略去余项,改写为迭代形式,得到 + +$$ +\left\{\begin{aligned} +&y_{n+1}=y_n+hf(x_n, y_n)\\ +&y_0=\eta +\end{aligned}\right. +$$ + +此为解初值问题的 Euler 法。 + +## 梯形法 + +用梯形公式计算积分有 + +$$ +y_{n+1}=y_n+\frac{h}2(f(x_n, y_n) + f(x_{n+1}, y_{n+1})) +$$ + +显然这是隐式方法。 + +## Runge-Kutta 法 + +显式 RK 方法的一般形式为 + +$$ +\left\{\begin{aligned} +&y_{n+1}=y_n+h\sum_{i=1}^sb_iK_i\\ +&K_i=f(x_n+c_ih, y_n+h\sum_{j=1}^{i-1}a_{ij}K_j) +\end{aligned}\right. +$$ + +其中 $b_i,c_i,a_{ij}$ 都是常数,$c_1=0,a_{1j}=0, j=1, 2, \cdots,s-1$,$s$ 为「级数」。 + +### 改进的 Euler 方法(2 级 2 阶 RK 法) + +$$ +\left\{\begin{aligned} +& y_{n+1}=y_n+\frac{h}2(K_1+K_2)\\ +& K_1=f(x_n, y_n)\\ +& K_2=f(x_n+h, y_n+hK_1) +\end{aligned}\right. +$$ + +### 中点方法(2 级 2 阶 RK 法) + +$$ +\left\{\begin{aligned} +&y_{n+1}=y_n+hK_2\\ +&K_1=f(x_n,y_n)\\ +&K_2=f(x_n+\frac{h}2, y_n+\frac{h}2K_1) +\end{aligned}\right. +$$ + +### 标准的 4 阶 RK 法 + +$$ +\left\{\begin{aligned} +&y_{n+1}=y_n+\frac{h}6(K_1+2K_2+2K_3+K_4)\\ +&K_1=f(x_n, y_n) \\ +&K_2=f(x_n+\frac{h}2, y_n+\frac{h}2K_1) \\ +&K_3=f(x_n+\frac{h}2, y_n+\frac{h}2K_2) \\ +&K_4=f(x_n+h, y_n+hK_3) +\end{aligned}\right. +$$ + +## 线性多步法 + +- 「线性」:只进行线性的组合,没有高次、超越的项。 +- 「多步」:计算节点 $y_{n+1}$ 要用到多个以前算出的结果。 + +所有线性多步法都具有下面的形式: + +$$ +y_{n+1}=\sum_{i=0}^pa_iy_{n-i}+h\sum_{i=-1}^{p}b_iy_{n-i}', n\geqslant p +$$ + +其中: + +- 如果 $p=0$,式子变成 $y_{n+1}=a_0y_n+h(b_{-1}y'_{n+1}+b_0y'_n)$,是单步法。 +- 任意 $a_i$ 或 $b_i$ 都可以是 0,但 $a_p$ 和 $b_p$ 不能同时是 0。步数为 $(p+1)$,每次计算需要前 $(p+1)$ 个结果,亦需要这么多个初始值。 +- 如果 $b_{-1}$ 为零,为显式方法;反之为隐式方法。 + +### 阶数 + +与机械求积公式类似。如果有函数 $y(x)$,将 $y_i=y(x_i)$ 代入线性多步法的公式时两端相等,称上式对 $y(x)$ 准确成立。 + +如果某线性多步法公式对任意 $r$ 次多项式准确成立,而对 $(r+1)$ 次多项式至少有一个不成立,称此方法是 $r$ 阶的。 + +显然,阶数越高,效果越好。 + +### 待定系数法 + +考虑误差 + +$$ +\begin{aligned} +T_n&=y(x_{n+1})-y_{n+1} \\ +&=y(x_{n+1})-(\sum_{i=0}^pa_iy(x_{n-i})+h\sum_{i=-1}^{p}b_iy'(x_{n-i})) +\end{aligned} +$$ + +如果 $y(x)$ 充分连续可导,可将上式中 $y(x_{n+1})$、$y(x_{n-i})$、$y'(x_{n-i})$ 等在 $x_n$ 处 Taylor 展开,得到 + +$$ +T_n=C_0y(x_n)+C_1hy'(x_n)+\cdots+C_qh^qy^{(q)}(x_n)+\cdots +$$ + +其中 + +$$ +\begin{aligned} +C_0&=1-\sum_{i=0}^pa_i\\ +C_1&=1-(\sum_{i=0}^p(-i)a_i+\sum_{i=-1}^pb_i) \\ +C_2 &= \frac{1}{2!}(1-(\sum_{i=0}^p(-i)^2a_i+2\sum_{i=-1}^p(-i)b_i))\\ +&\vdots\\ +C_q&=\frac{1}{q!}(1-(\sum_{i=0}^p(-i)^qa_i+q\sum_{i=-1}^p(-i)^{q-1}b_i)) \\ +&\vdots\\ +\end{aligned} +$$ + +容易知道原线性多步法是 $r$ 阶的方法 $\Leftrightarrow$ $C_0=C_1=\cdots=C_r=0, C_{r+1}\neq 0$。 + +称 $C_{r+1}h^{r+1}y^{(r+1)}(x_n)$ 为局部截断误差首项,$C_{r+1}$ 为误差常数。 + +令 $C_0=C_1=\cdots=C_r=0$,可以得到一个线性方程组。解这个线性方程组,就能得到一个至少为 $r$ 阶的方法。$(p+1)$ 步法的最高阶是 $(2p+2)$。 + +一些特殊的线性多步法: + +- Simpson 方法:隐式方法,$a_1=1$ 时的最高阶方法,误差常数 $C_5=-\frac{1}{90}$。 + + $$ + y_{n+1}=y_{n-1}+\frac{h}3(y'_{n+1}+4y'_n+y'_{n-1}) + $$ + + +### Adams 方法 + +在 $[x_n,x_{n+1}]$ 上对 $y'(x)=f(x, y(x))$ 积分得 $\int_{x_{n}}^{x_{n+1}}f(x, y(x))\mathrm{d}x=y(x_{n+1})-y(x_n)$,移项有 + +$$ +y_{n+1}=y_n+\int\limits_{x_n}^{x_{n+1}}f(x, y(x))\mathrm{d}x +$$ + +显式 Adams 方法是指,利用 Newton 向后插值法,选取 $x_n, x_{n-1},x_{n-2},\cdots, x_{n-p}$ 这 $(p+1)$ 个节点对 $f(x, y(x))$ 进行插值,记 $x=x_n+th(t\in[0, 1])$ 有 + +$$ +f(x, y(x))\approx N_p(x)=\sum_{i=0}^p\nabla^if_n\mathrm{C}_{t+i-1}^{i} +$$ + +对这个式子进行积分,并变换为线性多步法的形式,有 + +$$ +\left\{\begin{aligned} +&a_i=\int\limits_0^1\mathrm{C}_{t+i-1}^i\mathrm{d}t \\ +&b_{pj}=(-1)^j\sum_{i=j}^pa_j\mathrm{C}_i^j +\end{aligned}\right. +$$ + +**当 $p=3$ 时,得到的显式 4 步 4 阶方法称为 Adams-Bashforth 方法:** + +$$ +y_{n+1}=y_n+\frac{h}{24}(55f_n-59f_{n-1}+37f_{n-2}-9f_{n-3}) +$$ + +如果前面插值时,起点选择 $(x_{i+1},f(x_{i+1},y(x_{i+1})))$,进行 $(p+2)$ 个节点的插值,则为隐式 Adams 方法,其系数公式为 + +$$ +\left\{\begin{aligned} +&a^*_i=\int\limits_{-1}^0\mathrm{C}_{t+i-1}^i\mathrm{d}t \\ +&b^*_{pj}=(-1)^{j+1}\sum_{i=j+1}^{p+1}a^*_j\mathrm{C}_i^{j+1} +\end{aligned}\right. +$$ + +**当 $p=2$ 时,得到的隐式 3 步 4 阶方法称为 Adams-Moulton 方法:** + +$$ +y_{n+1}=\frac{h}{24}(9f_{n+1}+19f_{n}-5f_{n-1}+f_{n-2}) +$$ + +### 线性多步法的收敛性 + +对于线性多步法 + +$$ +y_{n+1}=y_n+\sum_{i=0}^na_iy_{n-i}+h\sum_{i=-1}^nb_iy'_{n-i} +$$ + +记 + +$$ +\begin{aligned} +\rho(r)&=r^{p+1}-\sum_{i=0}^pa_ir^{p-i} \\ +\sigma(r)&=\sum_{i=-1}^pb_ir^{p-i} +\end{aligned} +$$ + +分别为第一、第二多项式。 + +- **根条件**:$\rho(r)$ 的所有根的模均不大于 1,且模为 1 的根是单根。收敛 $\Rightarrow$ 根条件。 \ No newline at end of file diff --git "a/\345\244\247\344\272\214\344\270\213/\350\256\241\347\256\227\346\226\271\346\263\225/note/2022_hanswan/Numerical Analysis 7806bc3fbe9c4ba5ab43441f2a640b0e/\346\217\222\345\200\274\346\263\225\344\270\216\346\225\260\345\200\274\351\200\274\350\277\221 1c715f0fce9448a19d1e55d99ee8fbee.md" "b/\345\244\247\344\272\214\344\270\213/\350\256\241\347\256\227\346\226\271\346\263\225/note/2022_hanswan/Numerical Analysis 7806bc3fbe9c4ba5ab43441f2a640b0e/\346\217\222\345\200\274\346\263\225\344\270\216\346\225\260\345\200\274\351\200\274\350\277\221 1c715f0fce9448a19d1e55d99ee8fbee.md" new file mode 100644 index 0000000..20a5732 --- /dev/null +++ "b/\345\244\247\344\272\214\344\270\213/\350\256\241\347\256\227\346\226\271\346\263\225/note/2022_hanswan/Numerical Analysis 7806bc3fbe9c4ba5ab43441f2a640b0e/\346\217\222\345\200\274\346\263\225\344\270\216\346\225\260\345\200\274\351\200\274\350\277\221 1c715f0fce9448a19d1e55d99ee8fbee.md" @@ -0,0 +1,281 @@ +# 插值法与数值逼近 + +## 问题定义 + +给定离散的 $(n+1)$ 个点 $(x_0, f(x_0))$,$(x_1, f(x_1))$,…,$(x_n, f(x_n))$,求 $\forall \bar{x}\neq x_i(i=0,1,\cdots,n)$,$f(\bar{x})$ 的近似值。 + +即:找一个函数 $y(x)$ 去近似 $f(x)$。插值和逼近是两种具体的量化「近似」的方法。 + +- 插值:希望 $y(x)$ 经过所有 $f(x)$ 的采样点。 +- 逼近:希望 $y(x)$ 在「整体上」最「靠近」$f(x)$。 + +## 多项式插值 + +找一个多项式 $y(x)=a_0+a_1x+a_2x^2+\cdots+a_nx^n$ 来近似任意函数 $f(x)$。 + +为了让插值尽量精确,我们让 $y(x)$ 经过所有的 $x_i$(插值节点)。这样就得到: + +$$ +\left\{\begin{aligned} +a_0+a_1x_0+a_2x_0^2+\cdots+a_nx_0^n&=f(x_0)\\ +a_0+a_1x_1+a_2x_1^2+\cdots+a_nx_1^n&=f(x_1)\\ +&\vdots \\ +a_0+a_1x_n+a_2x_n^2+\cdots+a_nx_n^n&=f(x_n)\\ +\end{aligned}\right. +$$ + +显然这个方程组的解是唯一的,即:多项式插值具有唯一性。Lagrange 插值、Newton 插值等只是得到这个方程组的解的不同方式,最终得到的结果是一样的。 + +## Lagrange 插值 + +### 计算 + +$$ +L(x)=\sum_{j=0}^nf(x_j)l_j(x) +$$ + +其中 + +$$ +\begin{aligned} +l_j(x)&=\frac{(x-x_0)(x-x_1)\cdots(x-x_{j-1})(x-x_{j+1})\cdots(x-x_n)}{(x_j-x_0)(x_j-x_1)\cdots(x_j-x_{j-1})(x_j-x_{j+1})\cdots(x_j-x_n)} \\ +&= \prod_{i=0, i\neq j}^n\frac{x-x_i}{x_j-x_i} +\end{aligned} +$$ + +事实上,$l_j(x)$ 的本质就是 $\left\{\begin{aligned} +&0, x\neq x_j\\ &1, x=x_j +\end{aligned}\right.$ 这样一个「开关」。 + +被插函数可以表示为 $f(x)=L(x)+E(x)$,其中 $E(x)$ 即为误差(又叫「插值余项」)。 + +### 误差 / 余项 + +$$ +E(x)=\frac{f^{(n+1)}(\xi)}{(n+1)!}p_{n+1}(x), p_{n+1}(x)=(x-x_0)(x-x_1)\cdots(x-x_n) +$$ + +其中 $\xi\in(a, b)$。 + +容易得到误差上限 $|E(x)|\leqslant\frac{\max\limits_{a\lfloor\ln\frac{\varepsilon(1-||\boldsymbol{B}||)}{||\boldsymbol{x}^{(1)}-\boldsymbol{x}^{(0)}||}/\ln||\boldsymbol{B}||\rfloor$(取下整,但是是「大于」!) + +### Jacobi 迭代 + +思路:将 $\boldsymbol{A}$ 拆成 $\boldsymbol{L}+\boldsymbol{D}+\boldsymbol{U}$ 分别是下三角阵、对角阵和上三角阵。那么 + +$$ +\begin{aligned} +\boldsymbol{Ax} = \boldsymbol{b} &\Rightarrow \boldsymbol{Dx}=-(\boldsymbol{L}+\boldsymbol{U})\boldsymbol{x}+\boldsymbol{b} \\ +&\Rightarrow \boldsymbol{x}=-\boldsymbol{D}^{-1}(\boldsymbol{L}+\boldsymbol{U})\boldsymbol{x}+\boldsymbol{D}^{-1}\boldsymbol{b} +\end{aligned} +$$ + +记 $\boldsymbol{B}_j=-\boldsymbol{D}^{-1}(\boldsymbol{L}+\boldsymbol{U})=\boldsymbol{I}-\boldsymbol{D}^{-1}\boldsymbol{A}$。写成迭代格式有: + +$$ +\boldsymbol{x}^{(k+1)}=-\boldsymbol{D}^{-1}(\boldsymbol{L}+\boldsymbol{U})\boldsymbol{x}^{(k)}+\boldsymbol{D}^{-1}\boldsymbol{b}, k=0, 1,\cdots +$$ + +将迭代过程写成分量形式有: + +$$ +x_j^{(i+1)}=\frac{1}{a_{jj}}(b_j-\sum_{m=1}^{j-1}a_{jm}x_m^{(i)}-\sum_{m=j+1}^na_{jm}x_m^{(i)}) +$$ + +### Gauss-Seidel 迭代 + +对 Jacobi 迭代的改进,用已经计算出来的 $x_m^{(i+1)}$ 代替 $x_m^{(i)}$。 + +$$ +x_j^{(i+1)}=\frac{1}{a_{jj}}(b_j-\sum_{m=1}^{j-1}a_{jm}x_m^{(i+1)}-\sum_{m=j+1}^na_{jm}x_m^{(i)}) +$$ + +写成矩阵形式有 + +$$ +\boldsymbol{x}^{(k+1)}=-(\boldsymbol{D}+\boldsymbol{L})^{-1}\boldsymbol{U}\boldsymbol{x}^{(k)}+(\boldsymbol{D}+\boldsymbol{L})^{-1}\boldsymbol{b} +$$ + +### 超松弛(SOR)迭代 + +在 Gauss-Seidel 迭代的基础上,乘以一个系数 $\omega$ 来加速。 + +$$ +x_j^{(i+1)}=x_j^{(i)}+\frac{\omega}{a_{jj}}(b_j-\sum_{m=1}^{j-1}a_{jm}x_m^{(i+1)}-\sum_{m=j}^na_{jm}x_m^{(i)}) +$$ + +写成矩阵形式有 + +$$ +\boldsymbol{x}^{(k+1)}=(\boldsymbol{D}+\omega\boldsymbol{L})^{-1}((1-\omega)\boldsymbol{D}-\omega\boldsymbol{U})\boldsymbol{x}^{(k)}+\omega(\boldsymbol{D}+\omega\boldsymbol{L})^{-1}\boldsymbol{b} +$$ + +### 收敛判定 + +- 用迭代法基本定理。 +- 若 $\boldsymbol{A}$ 为对称正定矩阵(所有顺序主子式不为 0),Gauss-Seidel 迭代收敛,SOR 方法在 $0<\omega<2$ 时收敛。(充分) +- 若 $\boldsymbol{A}$ 为严格对角占优矩阵(对角元绝对值比这一行其他元素绝对值之和大),Jacobi、Gauss-Seidel 迭代收敛,SOR 方法在 $0<\omega<1$ 时收敛。(充分) +- 若 $\boldsymbol{A}$ 是具有正对角线元素的对称矩阵,Jacobi 迭代收敛的充要条件是 $\boldsymbol{A}$ 和 $2\boldsymbol{D}-\boldsymbol{A}$ 都是正定矩阵。(充要) + +![Untitled](%E7%BA%BF%E6%80%A7%E6%96%B9%E7%A8%8B%E7%BB%84%E7%9A%84%E6%95%B0%E5%80%BC%E8%A7%A3%E6%B3%95%20dcec63e0df6743ff8c02d8073bc9c428/Untitled.png) \ No newline at end of file diff --git "a/\345\244\247\344\272\214\344\270\213/\350\256\241\347\256\227\346\226\271\346\263\225/note/2022_hanswan/Numerical Analysis 7806bc3fbe9c4ba5ab43441f2a640b0e/\347\272\277\346\200\247\346\226\271\347\250\213\347\273\204\347\232\204\346\225\260\345\200\274\350\247\243\346\263\225 dcec63e0df6743ff8c02d8073bc9c428/Untitled.png" "b/\345\244\247\344\272\214\344\270\213/\350\256\241\347\256\227\346\226\271\346\263\225/note/2022_hanswan/Numerical Analysis 7806bc3fbe9c4ba5ab43441f2a640b0e/\347\272\277\346\200\247\346\226\271\347\250\213\347\273\204\347\232\204\346\225\260\345\200\274\350\247\243\346\263\225 dcec63e0df6743ff8c02d8073bc9c428/Untitled.png" new file mode 100644 index 0000000..dbf57f6 Binary files /dev/null and "b/\345\244\247\344\272\214\344\270\213/\350\256\241\347\256\227\346\226\271\346\263\225/note/2022_hanswan/Numerical Analysis 7806bc3fbe9c4ba5ab43441f2a640b0e/\347\272\277\346\200\247\346\226\271\347\250\213\347\273\204\347\232\204\346\225\260\345\200\274\350\247\243\346\263\225 dcec63e0df6743ff8c02d8073bc9c428/Untitled.png" differ diff --git "a/\345\244\247\344\272\214\344\270\213/\350\256\241\347\256\227\346\226\271\346\263\225/note/2022_hanswan/Numerical Analysis 7806bc3fbe9c4ba5ab43441f2a640b0e/\351\235\236\347\272\277\346\200\247\346\226\271\347\250\213\347\232\204\346\225\260\345\200\274\350\247\243\346\263\225 41d2e01bb4f547fb9a46becb3e313bc4.md" "b/\345\244\247\344\272\214\344\270\213/\350\256\241\347\256\227\346\226\271\346\263\225/note/2022_hanswan/Numerical Analysis 7806bc3fbe9c4ba5ab43441f2a640b0e/\351\235\236\347\272\277\346\200\247\346\226\271\347\250\213\347\232\204\346\225\260\345\200\274\350\247\243\346\263\225 41d2e01bb4f547fb9a46becb3e313bc4.md" new file mode 100644 index 0000000..2fee8ec --- /dev/null +++ "b/\345\244\247\344\272\214\344\270\213/\350\256\241\347\256\227\346\226\271\346\263\225/note/2022_hanswan/Numerical Analysis 7806bc3fbe9c4ba5ab43441f2a640b0e/\351\235\236\347\272\277\346\200\247\346\226\271\347\250\213\347\232\204\346\225\260\345\200\274\350\247\243\346\263\225 41d2e01bb4f547fb9a46becb3e313bc4.md" @@ -0,0 +1,164 @@ +# 非线性方程的数值解法 + +## 基本概念 + +对于一个非线性方程 $f(x)=0$: + +- $\exist\alpha$,使得 $f(\alpha)=0$,就称 $\alpha$ 是 $f(x)=0$ 的根或 $f(x)$ 的零点。 +- 设 $\exist m\in\mathbb{Z}_+$,使得 $f(x)=(x-\alpha)^mg(x)$,且 $g(\alpha)\neq0$, 则 + - $m=1$,称 $\alpha$ 为 $f(x)=0$ 的单根; + - $m>1$,称 $\alpha$ 为 $f(x)=0$ 的 $m$ 重根。 + - 如果 $m$ 是 $f(x)= 0$ 的 $m$ 重根,则 $f(\alpha)=f'(\alpha)=f''(\alpha)=\cdots=f^{(m-1)}(\alpha)=0$,且 $f^{(m)}(\alpha)\neq0$。 + +## 二分法 + +### 理论来源 + +零点存在性定理。 + +### 计算过程 + +1. 确定起始的有根区间 $[a_0, b_0]$。即 $f(a_0)\cdot f(b_0)<0$。 +2. 计算 $x_0=\frac{b_0-a_0}{2}$。然后判定有根区间是 $[a_0, x_0]$ 还是 $[x_0, b_0]$,记新的有根区间为 $[a_1, b_1]$。 +3. 重复上面的过程。容易知道 $[a_n, b_n]$ 区间的长度是 $\frac{b-a}{2^n}$。 +4. 当 $\frac{b-a}{2^n}$ 小于给定的长度(误差)时,取这个区间的中点 $x_n=\frac{a_n+b_n}{2}$ 为根的近似值。 + +### 误差 + +$|\alpha-x_n|\leqslant\frac{b_n-a_n}{2}=\frac{b-a}{2^{n+1}}$,当 $n\to\infty$ 时,$x_n\to\alpha$。 + +若要求误差不超过 $\varepsilon$,即 $\frac{b-a}{2^{n+1}}<\varepsilon$,有 $n\geqslant\lfloor\frac{\ln(b-a)-\ln\varepsilon}{\ln 2}\rfloor$(是取下整!),即可以根据误差要求先行确定计算次数。 + +## 单点迭代法 / 不动点迭代法 + +### 理论来源 + +将 $f(x)=0$ 改写成 $x=\phi(x)$,以 $x_{n+1}=\phi(x_i)$ 的形式进行迭代。 + +如果 $\phi(x)$ 连续,且 $\lim\limits_{k\to\infty}x_k=\alpha$,那么 $\alpha$ 为原方程 $f(x)=0$ 的根,称为函数 $\phi(x)$ 的「不动点」。 + +为使迭代直观,构造序列 $\{x_i\}_0^{+\infty}$,其中 $x_{i+1}=\phi(x_i)$,$x_0$ 为迭代初值。如果数列 $\{x_i\}$ 收敛于 $\alpha$,则 $\alpha$ 是根。 + +### 迭代法的收敛性 + +- 设 $\alpha$ 是 $f(x)=0$ 的根,如果 $\forall x_0\in[a, b]$,迭代序列总是收敛于 $\alpha$,称此迭代法「全局收敛」。 +- 设 $\alpha$ 是 $f(x)=0$ 的根,如果 $\exist\alpha$ 的某个邻域 $\delta$,对 $\forall x_0\in\delta$,迭代序列都能收敛于 $\alpha$,称此迭代法「局部收敛」。 +- 设迭代过程产生的序列 $\{x_i\}$ 收敛于 $f(x)=0$ 的根 $\alpha$,记 $e_k=\alpha-x_k$(即绝对误差),若 $\exist p$ 使得 $\lim\limits_{k\to\infty}\frac{|e_{k+1}|}{|e_k|^p}=c\neq 0$,那么 + - $p=1$,称「线性收敛」。 + - $10$,而 $f(1)<0$,$f(2)>0$,故 $f(x)=0$ 仅在 $(1,2)$ 有一个根。(确定根的邻域) + +- 若令 $\phi(x)=4-2^x$,则 $|\phi'(x)|=2^x\ln 2$,然而 $2^x\ln 2\geqslant 2\ln2>1$,故此迭代不能收敛。 +- 令 $\phi(x)=\frac{\ln(4-x)}{\ln 2}$,$\phi'(x)=\frac{1}{(4-x)\ln2}$,$\phi(x)\in[1, \frac{\ln3}{\ln2}]\sub[1, 2]$,$|\phi'(x)|\leqslant\frac{1}{2\ln2}<1$,此迭代可以收敛。 + +## Newton 迭代法 + +### 理论来源 + +形象化的解释:切线下降。 + +来源:Taylor 展开反函数。 + +迭代公式:$x_{k+1}=x_k-\frac{f(x_k)}{f'(x_k)}$,$k=0, 1, 2, \cdots$ + +### 阶数 + +Newton 迭代法是 2 阶的方法。即 + +$$ +\lim_{i\to\infty}\frac{|e_{i+1}|}{|e^i|^2}=\frac{|f''(\alpha)|}{2|f'(\alpha)|} +$$ + +### 局部收敛性 + +容易计算出 $\phi'(x)=\frac{f(x)f''(x)}{(f'(x))^2}$。 + +- 若 $\alpha$ 是单根,$f(\alpha)=0$,$f'(\alpha)\neq0$,即 $\phi'(\alpha)=0$,$\phi''(\alpha)\neq0$。故 $\alpha$ 附近二阶局部收敛。 +- 若 $\alpha$ 是重根,则局部线性收敛。 + +### 全局收敛性 + +$f(x)$ 在有根区间 $[a, b]$ 二阶导数存在且满足: + +- $f(a)\cdot f(b)<0$;(有根) +- $f'(x)\neq0$ 且单调;(唯一根) +- $f''(x)$ 不变号;(凹凸性不变) +- 初值 $x_0\in[a, b]$,$f''(x_0)\cdot f(x_0)>0$;(初值要向着解接近) + +则 Newton 迭代法全局收敛于 $[a, b]$ 内的唯一根。 + +### 其他的 Newton 法 + +- 简化 Newton 法:$x_{k+1}=x_k-\frac{f(x_k)}c$(不算导数) +- Newton 下山法:$x_{k+1}=x_k-\lambda\frac{f(x_k)}{f'(x_k)}$(加速收敛速度) + +## 弦截法 / 割线法 + +在方程 $f(x)=0$ 的根 $\alpha$ 附近任取两初始近似根 $x_0, x_1$,由迭代公式 + +$$ +x_{k+1}=x_k-\frac{x_{k}-x_{k-1}}{f(x_k)-f(x_{k-1})}f(x_k),k=0,1,\cdots +$$ + +可以逐次逼近 $f(x)=0$ 的根 $\alpha$。 + +### 收敛性与收敛速度 + +设 $f(x), f'(x), f''(x)$ 在包含 $\alpha$ 的某个区间连续且 $f'(\alpha)\neq0$,若 $x_0$、$x_1$ 的选取充分接近 $\alpha$,则弦截法收敛,收敛阶为 + +$$ +p=\frac{1+\sqrt{5}}{2} +$$ + +且 + +$$ +\lim_{i\to\infty}\frac{|e_{i+1}|}{|e_i|^p}=|\frac{f''(\alpha)}{2f'(\alpha)}|^{p-1} +$$ + +## 重根时的迭代法 + +### 已知重数 + +修正 Newton 法为 + +$$ +x_{k+1}=x_k-r\cdot\frac{f(x_k)}{f'(x_k)} +$$ + +其中 $r$ 为重数。这是求 $r$ 重根的二阶收敛格式。 + +### 未知重数 + +修正 Newton 法为 + +$$ +x_{k+1}=x_k-\frac{u(x_k)}{u'(x_k)} +$$ + +其中 $u(x)=\frac{f(x)}{f'(x)}$。同样是二阶局部收敛的。 \ No newline at end of file diff --git "a/\345\244\247\344\272\214\344\270\213/\350\256\241\347\256\227\346\226\271\346\263\225/note/2022_hanswan/README.md" "b/\345\244\247\344\272\214\344\270\213/\350\256\241\347\256\227\346\226\271\346\263\225/note/2022_hanswan/README.md" new file mode 100644 index 0000000..8b2a35b --- /dev/null +++ "b/\345\244\247\344\272\214\344\270\213/\350\256\241\347\256\227\346\226\271\346\263\225/note/2022_hanswan/README.md" @@ -0,0 +1,31 @@ +# Numerical Analysis + +## 概述 + +这是一份 2022 春哈工大深圳校区《计算方法》(即《数值分析》)的考前复习提纲。 + +这份复习提纲主要整理自 [袁慧芳](http://faculty.hitsz.edu.cn/yuanhuifang) 老师的课堂讲义、2019 级 [杨云云](http://faculty.hitsz.edu.cn/yangyunyun) 老师的 PPT、我个人的上课笔记、《数值分析原理》和网络上的其他资料。我校这门课课时量不多,并没有上完教材的全部内容,本复习笔记的内容亦是按老师所提供之「主要教学内容」清单所排的。 + +## 目录 + +[非线性方程的数值解法](Numerical%20Analysis%207806bc3fbe9c4ba5ab43441f2a640b0e/%E9%9D%9E%E7%BA%BF%E6%80%A7%E6%96%B9%E7%A8%8B%E7%9A%84%E6%95%B0%E5%80%BC%E8%A7%A3%E6%B3%95%2041d2e01bb4f547fb9a46becb3e313bc4.md) + +[线性方程组的数值解法](Numerical%20Analysis%207806bc3fbe9c4ba5ab43441f2a640b0e/%E7%BA%BF%E6%80%A7%E6%96%B9%E7%A8%8B%E7%BB%84%E7%9A%84%E6%95%B0%E5%80%BC%E8%A7%A3%E6%B3%95%20dcec63e0df6743ff8c02d8073bc9c428.md) + +[插值法与数值逼近](Numerical%20Analysis%207806bc3fbe9c4ba5ab43441f2a640b0e/%E6%8F%92%E5%80%BC%E6%B3%95%E4%B8%8E%E6%95%B0%E5%80%BC%E9%80%BC%E8%BF%91%201c715f0fce9448a19d1e55d99ee8fbee.md) + +[数值积分](Numerical%20Analysis%207806bc3fbe9c4ba5ab43441f2a640b0e/%E6%95%B0%E5%80%BC%E7%A7%AF%E5%88%86%20edc2e7ebe6e24f82b915dda86e59959e.md) + +[微分方程的数值解法](Numerical%20Analysis%207806bc3fbe9c4ba5ab43441f2a640b0e/%E5%BE%AE%E5%88%86%E6%96%B9%E7%A8%8B%E7%9A%84%E6%95%B0%E5%80%BC%E8%A7%A3%E6%B3%95%20e131c76362e24784a619d2a10a8fc1be.md) + +## 作者 + +[@Hans Wan](https://github.com/criwits) + +## 版本修订 + +- Little fixes: 修修补补 (5/26) +- PPT & initial release: 用 2019 级的 PPT 完善,初定稿 (5/25) +- Release candidate: 基本完成,除了一些误差分析之类的内容还没写 (5/24) +- First things first: 开始写复习提纲 (5/23) +