FW 심화 과정/[1] HDL, ARM프로세서설계 12

0629 ARMV8기반 싱글 프로세서 원리

- 멀티플렉서 자체는 ALU의 Zero 출력과 현재 명령어가 분기라는 것을 나타내는 제어선을 AND하는 게이트에 의해 제어된다. - 멀티 플렉서는 서로 다른 근원지에서 나온 데이터가 같은 유닛으로 가는 경우를 위해서 필요하다 - PC에 들어갈 값은 두 덧셈기(PC+4, TA)중 하나이고, 레지스터 파일에 쓰일 데이터는 ALU나 데이터 메모리에서 나오며, ALU의 두번째 입력은 레지스터나 명령어의 수치필드에서 나온다(18비트 명령어 필드). - 데이터 메모리는 LOAD일때는 읽기, SAVE일때는 쓰기 레지스터 파일은 LOAD나 산술/논리 일대만 쓰기. - 레지스터 피연산자 세 개이므로 매 명령어 마다 레지스터파일에서 두 데이터를 읽고 데이터 워드 하나를 써야 함. - 따라서, 레지스터번호용 세 개, 데이터..

0628 컴퓨터 구조 이론 (2) Assembly->Machine

■ 명령어 필드 (32bit) opcode Rm (src2) shamt(shift amount) Rn (src1) Rd (dst) 11bit 5bit 6bit 5bit 5bit ■ SP (stack pointer) - Last in First Out 구조 ■ FP ■ C -> Assembly 예시 c 코드 if (i==j) f=g+h; else f=g-h; 변환된 Assembly 코드 SUB X9, X22, X23 // x9 = i - j CBNZ X9, Else // go to else if i!=j (x9가 0인지 판단해보기 CBNZ) ADD X19, X20, X21 // f=g+h (if i==j) B Exit // go to Exit Else : SUB X19, X20, X21 // f=g-h (..

0627 컴퓨터 구조 이론 (1) High lang -> Assembly

■ 컴퓨터란? 사술, 논리 연산을 자동으로 실행해주는 전자장치 ■ 컴퓨터 역사 - 컴퓨터는 탄생한지 100년도 채 되지 않았다 - ENIAC은 1946년에 탄생한 최초의 컴퓨터이고, EDSAC은 최초로 프로그램이 탑재된 1969년에 탄생한 컴퓨터이다. ■ 컴퓨터의 종류 - 개인컴퓨터 : 일반 데스크톱 - 서버컴퓨터 : 네트워크 기반 컴퓨팅, 사용자 다중 접속 가능 - 슈퍼컴퓨터 : 연산력이 좋은 비싼 컴퓨터 - 임베디드컴퓨터 : 전력 소모가 적고 성능이 디바이스에 맞춰져 있는 제품 ■ 컴퓨터의 구성요소 1. input 2. output 3. memory 4. datapath 5. control ■ 소프트웨어 종류 - 응용 s/w : 고급언어로 작성됨. 예) 문서 작성 프로그램, 개발 툴 -> 하드웨어 몰..

0623 { 게이트, 데이터플로우, 동작적행위 }모델링

0621~0623 수업 중 실습을 제외한 이론. ** Datatype Rules ** 1. 모든 input ports는 wire로 선언되어야 한다. 2. 모든 output ports는 wire로 선언되어야 한다. 3. assign 구문의 LHS는 wire로 선언되어야 한다. 4. initial 구문의 LHS는 reg로 선언되어야 한다. 5. always 구문의 LHS는 reg로 선언되어야 한다. ■ 모듈 구성요소 module 모듈명 ( 포트의 타입 및 이름 ); 1. wires, regs 등 신호 선언 2. 데이터플로우 모델링 구문 (assign으로 구성) 3. 하위모듈 Instantiation 4. 동작적 행위 모델링 구문 (always, initial 블록) 5. 태스크와 함수 endmodule ■ ..

0623 실습 3-1~3-3

동작적 행위 모델링으로 mux, counter, alu8function 작성해봄 동작적 행위 모델링 형태 always @(신호리스트) begin // 내부에 case문 작성 가능 case (x) 1 : x가 1일때의 동작; 0 : x가 0일때의 동작; endcase end 3-1 4:1mux module MUX4_to_1 ( output reg OUT, input wire I0, I1, I2, I3, input wire S1, S0 ); always @ (S1 or S0 or I0 or I1 or I2 or I3) case ({S1, S0}) 2'd0: OUT=I0; 2'd1: OUT=I1; 2'd2: OUT=I2; 2'd3: OUT=I3; default : $display("Invalid control..

0622 실습 2-1~2-4

데이터플로우 모델링으로 1차실습때의 내용을 재구성함 1번,2번 4:1MUX 두가지방법, 3번 fulladder 4,5번은 새로나온 문제로 직접 설계해야했다 4번 decoder , 5번 비교기 comparator 2-1, 2-2 module MUX4_to_1 ( output wire out, input wire I0, I1, I2, I3, input wire S1, S0 ); assign out = (~S1 & ~S0 & I0) | (~S1 & S0 & I1) | (S1 & S0 & I3); endmodule module MUX4_to_1_two ( output wire out, input wire I0, I1, I2, I3, input wire S1, S0 ); assign out = S1 ? (S0 ?..

0621 FullAdder 바텀업 설계 (실습 1-1~1-4)

MUX4_to_1 4:1 멀티플렉서 s1s0신호에 따라서 y0~y3의 신호가 출려됨 module MUX4_to_1( output wire OUT, input wire I0, I1, I2, I3, input wire S1, S0 ); wire s1n, s0n; wire y0, y1, y2, y3; not (s1n, S1); not (s0n, S0); and (y0, I0, s1n, s0n); and (y1, I1, s1n, S0); and (y2, I2, S1, s0n); and (y3, I3, S1, S0); or (OUT, y0, y1, y2, y3); endmodule tb_mux `timescale 10ns/1ps module tb_mux; reg IN0, IN1, IN2, IN3; reg S0, ..

0620 반도체 설계 방법

# 반도체 계층 Device Level : 반도체 소자 설계 단계 Circuit Level : 트랜지스터 기반의 회로 설계 단계 Gate Level : 논리 게이트 활용하는 회로 설계 단계 System Level : 모듈 및 인터페이스를 모델링하는 단계 # 세 가지 회로 설계 방법 방법 1) Full Custom Design - 완전 맞춤형 설계 - Device Level 에서 전달받은 트랜지스터/저항/커패시터 소자의 동작을 반영해 Circuit Level 에서 완전 맞춤형으로 설계 방법 2) Semi Custom Design - 반맞춤형 설계 - 반도체 공정회사 (Founday)에서 전달받은 Device Level에서 전달받은 standard cell(gate)를 이용해 Gate level 설계 위 두..