본문 바로가기

verilog61

[Harman 세미콘 아카데미] 85~91일차 - 자율주행 시스템 구현 프로젝트 [프로젝트 진행] 2023.11.06 ~ 2023.11.13 프로젝트 진행 2023.11.14 프로젝트 발표 2023. 11. 15.
[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.