본문 바로가기

ALU5

[FPGA Project] CPU 구현 프로젝트(ALU, ACC, PC, MAR, MDR, ROM, Control Block, Data Bus) [Mission] 📌 Project Summary Project name : FPGA환경에서 Verilog 언어를 통한 4bit CPU 구현 프로젝트 Mission i) 실제 CPU와 같이 Fetch-Decode-Execute- Writeback 사이클을 반복하여 연산하도록 구현 ii) 사칙연산, 논리연산 iii) 시프트연산, 비교연산 iv) 테스트벤치 작성을 통한 시뮬레이션으로 기능 검증 프로젝트 기간 및 팀원 기간 : 4 Days 팀원 : 1명 [Result] 📌 Operation 📌 Function & Block Diagram ✅ 연산 파트 : 사칙연산, 논리연산, 시프트연산, 비교연산을 수행합니다. - ALU : 각 연산의 명령어(op_sub, op_and 등)와 ACC와 BREG에 저장된 데이터.. 2023. 11. 8.
[Harman 세미콘 아카데미] 74일차 - Verilog(Program Counter, Register, Control Block, ROM, CPU Simulation) [Program Counter] 이전 시간에 만든 N bit Half adder를 활용하여 Program counter를 만들어보자. 프로그램 카운터는 위 그림처럼 조합 회로를 구현한 LUT과 Register를 구현한 DFF로 구성되어 있다. (조합회로에 clk 신호를 받는 DFF를 연결하여 순차적 기능 부여) 📌 Code module register_Nbit_p_alltime #(parameter N = 8)( input [N-1:0] d, input clk, reset_p, wr_en, rd_en, output [N-1:0] register_data, // 상시 출력 output [N-1:0] q ); reg [N-1:0] register_temp; always @(posedge clk or pose.. 2023. 10. 16.
[Harman 세미콘 아카데미] 73일차 - Verilog(ACC / ALU Simulation, Program Counter) [ACC Simulation] 📌 Testbench module tb_acc(); reg clk, reset_p, acc_high_reset_p; reg fill_value; // 안 쓰는 비트를 0으로 채우거나 1로 채움 reg rd_en, acc_in_select; reg [1:0] acc_high_select, acc_low_select; // Half_ACC가 두 개이므로 구분해줘야 한다. reg [3:0] bus_data, alu_data; // BUS와 ALU로부터 받는 데이터 wire [3:0] acc_high_data2bus, acc_high_register_data; wire [3:0] acc_low_data2bus, acc_low_register_data; acc DUT(clk, res.. 2023. 10. 15.
CPU의 구조 및 원리 - CPU의 모든 것 [CPU란?] 📌 CPU란? 중앙처리장치(CPU)는 Centrol Processing Unit의 약자로, 컴퓨터에서 명령어를 해석하고 실행하는 역할읋 하는 마이크로 프로세서이며, 명령어의 해석과 자료의 연산, 비교등의 처리를 제어하는 컴퓨터 시스템의 핵심장치이다. 다양한 입력 장치로부터 정보를 입력받아 처리한 후, 그 결과를 출력장치로 보내는 일련의 과정을 제어하고 조정하는 일을 수행한다. [CPU의 구성 요소] CPU는 아래 그림과 같이 Control Unit(제어장치), ALU(연산 장치), Register(레지스터) 로 구성되어 있고 각 구성 요소들은 Data Bus를 통해서 데이터를 주고받는다. 📌 Control Unit(CU, 제어 장치) - CU는말 그대로 CPU를 컨트롤하는 장치이다. ROM.. 2023. 10. 11.