More actions
imported>trailblaze No edit summary |
imported>trailblaze No edit summary |
||
| Line 40: | Line 40: | ||
* HDL Code | * HDL Code | ||
* Not Gate | |||
CHIP Not2 { | CHIP Not2 { | ||
| Line 49: | Line 49: | ||
PARTS: | PARTS: | ||
Nand(a = a, b = a, out = out); | Nand(a = a, b = a, out = out); | ||
} | |||
* And Gate | |||
CHIP And { | |||
IN a, b; | |||
OUT out; | |||
PARTS: | |||
Nand(a = a, b = b, out = x); | |||
Nand(a = x, b = x, out = out); | |||
} | |||
* Or Gate | |||
CHIP Or { | |||
IN a, b; | |||
OUT out; | |||
PARTS: | |||
Nand(a = a, b = a, out = x1); | |||
Nand(a = b, b = b, out = x2); | |||
Nand(a = x1, b = x2, out = out); | |||
} | |||
* Xor Gate | |||
CHIP Xor { | |||
IN a, b; | |||
OUT out; | |||
PARTS: | |||
Nand(a = a, b = a, out = nota); | |||
Nand(a = b, b = b, out = notb); | |||
Nand(a = nota, b = b, out = x1); | |||
Nand(a = a, b = notb, out = x2); | |||
Nand(a = x1, b = x2, out = out); | |||
} | |||
* Mux | |||
CHIP Mux { | |||
IN a, b, s; | |||
OUT out; | |||
PARTS: | |||
Nand(a = s, b = s, out = nots); | |||
Nand(a = a, b = s, out = x1); | |||
Nand(a = b, b = nots, out = x2); | |||
Nand(a = x1, b = x2, out = out); | |||
} | |||
* Mux 4way | |||
CHIP Mux4way { | |||
IN a[4], s[2]; | |||
OUT out; | |||
PARTS: | |||
Nand(a = s[0], b = s[0], out = nots0); | |||
Nand(a = s[1], b = s[1], out = nots1); | |||
Nand(a = a[0], b = s[1], out = x0); | |||
Nand(a = a[1], b = nots1, out = x1); | |||
Nand(a = a[2], b = s[1], out = x2); | |||
Nand(a = a[3], b = nots1, out = x3); | |||
Nand(a = x0, b = x1, out = xx0); | |||
Nand(a = x2, b = x3, out = xx1); | |||
Nand(a = xx0, b = s[0], out = xxx0); | |||
Nand(a = xx1, b = nots0, out = xxx1); | |||
Nand(a = xxx0, b = xxx1, out = out); | |||
} | } | ||
---- | ---- | ||
---- | ---- | ||
Revision as of 12:56, 29 September 2013
Describe 스터디/Nand 2 Tetris here
Nand2Tetris
- 스터디 소개 :
컴퓨터의 최하위 레벨 계층인 논리회로(하드웨어)단부터 OS와 high level language까지 두루두루 섭렵하고 실습하여 최종에는 테트리스를 만드는것이 목표인 스터디입니다.
- 스터디에 사용하는 사이트 -> http://www.nand2tetris.org/
9/26(목요일)
- 스터티에 대한 방향 :
- 누가 : 3명 + a(?)가
- 인원수 문제 : max 5명까지 받는다.
- 언제 : 시작은? 이번주부터 // 매주 일요일 1시
- 어디서 : zp실에서
- 무엇을 : nand2Teris를
- 어떻게 : 집에서 ppt를 읽어온뒤 만나서 실습하는 방향으로.
- 왜 :
- 혁준 ->재미있을것같아서.
- 윤환 ->컴퓨터 자체를 아는 좋은 기회라고 생각해서 + 흥미가 있는 분야? 여서.
- 영기 ->전체를 꿰뚫기위해.
- 다음시간까지 할일 : chapter 0,1 읽어오기.
9/29(일요일)
공부한 내용
- Chapter1
기본적인 논리 게이트를 공부함. Nand gate를 primitive gate로 놓고, 나머지 논리 게이트 Not, And, Or, Xor, Mux, Demux 등을 Nand만으로 구현.
- HDL Code
- Not Gate
CHIP Not2 {
IN a;
OUT out;
PARTS:
Nand(a = a, b = a, out = out);
}
- And Gate
CHIP And {
IN a, b;
OUT out;
PARTS:
Nand(a = a, b = b, out = x);
Nand(a = x, b = x, out = out);
}
- Or Gate
CHIP Or {
IN a, b;
OUT out;
PARTS:
Nand(a = a, b = a, out = x1);
Nand(a = b, b = b, out = x2);
Nand(a = x1, b = x2, out = out);
}
- Xor Gate
CHIP Xor {
IN a, b;
OUT out;
PARTS:
Nand(a = a, b = a, out = nota);
Nand(a = b, b = b, out = notb);
Nand(a = nota, b = b, out = x1);
Nand(a = a, b = notb, out = x2);
Nand(a = x1, b = x2, out = out);
}
- Mux
CHIP Mux {
IN a, b, s;
OUT out;
PARTS:
Nand(a = s, b = s, out = nots);
Nand(a = a, b = s, out = x1);
Nand(a = b, b = nots, out = x2);
Nand(a = x1, b = x2, out = out);
}
- Mux 4way
CHIP Mux4way {
IN a[4], s[2];
OUT out;
PARTS:
Nand(a = s[0], b = s[0], out = nots0);
Nand(a = s[1], b = s[1], out = nots1);
Nand(a = a[0], b = s[1], out = x0);
Nand(a = a[1], b = nots1, out = x1);
Nand(a = a[2], b = s[1], out = x2);
Nand(a = a[3], b = nots1, out = x3);
Nand(a = x0, b = x1, out = xx0);
Nand(a = x2, b = x3, out = xx1);
Nand(a = xx0, b = s[0], out = xxx0);
Nand(a = xx1, b = nots0, out = xxx1);
Nand(a = xxx0, b = xxx1, out = out);
}