코세라(Couesera)를 통한 Nand2Tetris의 첫번째 주 강의이다
Boolean Function(불린 함수)와 Gate logic에 대해 배운다
Unit 1.1 : Boolean logic(불 논리)
Boolean Values
: On/off, True/False, Yes/No, 1/0
Boolean Operations
: x AND y x OR y
0 0 = 0 0 0 = 0
0 1 = 0 0 1 = 1
1 0 = 0 1 0 = 1
1 1 = 1 1 1 = 1
Boolean Identities
교환법칙 : (x AND y) = (y AND x)
(Commutative Laws) (x OR y) = (y OR x)
결합법칙 : (x AND (y AND z)) = ((x AND y) AND z)
(Associative Laws) (x OR (y OR z)) = ((x OR y) OR z)
분배법칙 : (x AND (y OR z)) = (x AND y) OR (x AND z)
(Distributive Laws) (x OR (y AND z)) = (x OR y) AND (x OR z)
드모르간법칙 : NOT(x AND y) = NOT(x) OR NOT(y)
(De Morgan Laws) NOT(x) AND NOT(y)
Boolean Algebra(불 대수)
NOT(NOT(x) AND NOT(x OR y)) =
De Morgan Laws > NOT(NOT(x) AND (NOT(x) AND NOT(y)))
Associative Laws > NOT((NOT(x) AND NOT(x)) AND NOT(y))
Idempotence Laws > NOT(NOT(x) AND NOT(y))
Double Negation > x OR y
Unit 1.2 Boolean functions synthesis(불린 함수 합치기?)
어떤 불린함수들이라도 AND와 NOT operations을 사용해서 표현될 수 있다.
Ex. 드모르간법칙
어떤 불린함수들이라도 오직 NAND operations를 사용해서 표현될 수 있다.
Ex. NOT(x) = (x NAND x)
(x AND y) = NOT(x NAND y)
Unit 1.3 Logic Gates
불린 함수들을 이행하기 위한 기술들이 Logic Gates이다.
기본논리회로 (Nand, And, Or, Not, .... )
조합논리회로 (Mux, Adder, ....)
Nand : if(a==1 and ==1) then out =0 , else out = 1
Unit 1.4 Hardware Description Language
HDL은 기능적, 선언형 언어이다.
HDL 명령문의 순서는 중요하지 않다.
chip part를 사용하기전에 Interface에 대해 반드시 알아야한다. (Ex. NOT(in=, out=), AND(a=, b=, out=), OR(a=, b=, out=)
partName(a=a, ...) 그리고 partName(..., out=out) 의 사이는 일반적이다.
Unit 1.6 Multi-Bit Buses
Array of Bits
- 비트의 배열을 같이 조작해야 될 때가 있다. 이런 경우 bit의 집합을 "Bus"라는 용어인 하나의 독립체로 생각하는게 쉽다.
- HDL은 buses들을 조작하기 위해 편리한 표기법을 항상 제공한다.
- Bus들은 sub-buses들로 구성될 수 있다.
'Nand2Tetris(Couesera)' 카테고리의 다른 글
Nand2Tetris 강의를 시작하다 (0) | 2018.10.21 |
---|