[한번 해봤는데] Nand 2 Tetris 2장.
2881 단어 Nand2TetrisHDL
ALU 제작에 참고로 사용됩니다.혼자. Nand2 Tetris/Hiraku.
다음은 이 책을 통해 실제 학습에 착수한 화제다.
* 하드웨어<- 이번
* 아키텍처
* 운영 체제
* 프로그래밍 언어
* 컴파일러
* 데이터 구조 및 알고리즘
* 소프트웨어 엔지니어링
제2장 볼 산술
memo
십진법의 일반 공식은(x_nx_{n-1}\cdots x_0)_b = \sum_{i=0}^{n} x_ib^i
바이너리 처리에 관해서는 기본 정보 등을 이미 배웠기 때문에 생략한다
산술 논리 연산기(Arristhmetic Logical Unit, ALU) 제작 방법
(x_nx_{n-1}\cdots x_0)_b = \sum_{i=0}^{n} x_ib^i
반가법기: 두 분의 합을 구하다
입력은 두 개입니다.
출력은 이 비트 출력(Sum)과 비트 상승(Carry)의 2개
출력
A, B
C, S
0, 0
0, 0
0, 1
0, 1
1, 0
0, 1
1, 1
1, 0
생각이 간단하다
A, B 중 하나만이 1->Sum++
A, B는 모두 1->Carry++
구화기: 세 자리의 합
세 개의 입력이 있다.세 번째 입력은 아래 자릿수에서 시작하는 자릿수 상승입니다.
출력은 이 비트 출력(Sum)과 비트 상승(Carry)의 2개
출력
A, B, C
C, S
0 0 0
0 0
0 0 1
0 1
0 1 0
0 1
0 1 1
1 0
1 0 0
0 1
1 0 1
1 0
1 1 0
1 0
1 1 1
1 1
진리치표에서 나오면
\begin{align}
C_{out} &= \bar{A}\cdot B\cdot C_{in}+ {A}\cdot \bar{B}\cdot C_{in}+ {A}\cdot B\cdot \bar{C}_{in}+ {A}\cdot B\cdot C_{in}\\
&= A\cdot B+B\cdot C_{in}+C_{in}\cdot A\\
&=\cdots
\end{align}\\
상세 정보전자선로의 조립과 동작 실험[설계편]/교토대학20p 이후결국 아주 예쁜 모양이 될 거예요.
비트수만 늘었어요.
첫 번째는 반가법기, 그 다음에 모든 가법기
1만 추가합니다.
그나저나 HDL로 1을 표시하고 싶은 경우는 다음과 같다
true
HalfAdder(a = in[0], b = true, sum = out[0], carry = carry0);
ALU(산술 논리 연산기):out=f(x, y) 계산
입력의 x, y 처리 및 출력out 처리에 대한 총괄
각 함수 규격에 따라 움직이면 된다.
(예: if(zx)x=0 구현)
알다
기존(내부)의 변수(버스)에 대해 이미지 처리를 할 수 없기 때문에 다음과 같이 분해하고 출력할 때 이미지 처리
Mux16(a = AFXY, b = NAFXY, sel = no, out = out, out[0..7] = aout, out[8..15] = bout, out[15] = ng);
//if(out == 0) set zr
Or8Way(in = aout, out = zr1);
Or8Way(in = bout, out = zr2);
End of script - Comparison ended succesfully2시간 30분 걸렸어요.
창고를 지나가다GitHub
Reference
이 문제에 관하여([한번 해봤는데] Nand 2 Tetris 2장.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/daisuke_ishii/items/5fed23c4008ec6bfab10텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)