본문 바로가기

전체 글315

[Harman 세미콘 아카데미] 97일차 - SoC Design(UltraSonic, 온습도센서/DHT11) [UltraSonic] 📌 Block Design 입력을 연결해준 것처럼, 출력값 또한 레지스터에 연결해줄 수 있다. 이 방식을 사용해 초음파센서(DHT11) IP을 설계해보자 // Users to add ports here input echo, // 외부에서 입력을 받아야 하므로 output trig, // User ports ends wire [15:0] distance_cm; // Address decoding for reading registers case ( axi_araddr[ADDR_LSB+OPT_MEM_ADDR_BITS:ADDR_LSB] ) 3'h0 : reg_data_out 2023. 11. 22.
[Harman 세미콘 아카데미] 96일차 - SoC Design(Push button, PWM, Servo Motor 제어) [Push Button] 📌 Block Design GPIO 추가 Wrapper 다시 해주고, Re-load해주면 된다. 📌 Main Code 작성 1. 하드웨어 Export 해주고 2. 플랫폼 프로젝트만들고 빌드해주고 3. 어플리케이션 프로젝트 만들고 main code 창 오픈 Push Button의 번호를 알아내기 위해 LED로 테스트해보자. #include #include "platform.h" #include "xil_printf.h" #include "xparameters.h" #include "xgpio.h" #define LED_ID XPAR_AXI_GPIO_LED_DEVICE_ID #define SWITCH_ID XPAR_AXI_GPIO_SWITCH_DEVICE_ID #define FND_.. 2023. 11. 21.
[Harman 세미콘 아카데미] 95일차 - SoC Design(SoC Review, MMIO, FND Control, FND module Instance) [SoC Review] 📌 SoC 개요 우리가 만든 선풍기같은 것도 시스템이지 않느냐? 시스템은 '계'라는 뜻이니, 맞기는 하다. 하지만 SoC에서의 시스템은 다른 의미이다. CPU, RAM 등 컴퓨터 시스템을 의미한다는 것 컴퓨터 자체를 칩 안에 집어 넣었다는 뜻 모바일 기술 발전을 가장 막고 있는 것이 바로 배터리 성능 CPU는 얼마든지 더 성능을 올릴 수 있다. AP 같은 것들을 더 좋은 걸 쓰면 됨 근데 그러면 1~2시간만에 배터리 다 소모됨. 시스템에 다 넣는 것은 문제가 아닌다. IoT라던가, 가전제품이라던가, 예전에는 시스템을 쓰지 않았던 기기들이 요즘에는 시스템을 다 쓰기 시작했다. TV나 휴대폰 뜯어보면, 기판 하나 들어있고 끝. → System on a Chip 그런 기기들의 요구가 점.. 2023. 11. 20.
[Harman 세미콘 아카데미] 94일차 - SoC Design(Block Design과 Vitis를 활용한 기초 기능의 구현) [Vitis] 📌 Export Hardware 우리는 어제 UART 기능이 있는 시스템 하나를 만들었다. Generate Bitstream하고 Export Hardware시켜주도록 하자. Include bitstream은 꼭 체크해줘야 한다. 그래야 비트스트림까지 같이 Export됨 📌 Vitis AVR할 때는 마이크로칩스 CoretexM Vitis는 IDE에 해당되는 것 다른 건 보드를 고를 수 있는데, 이 건 우리가 방금 만든 거라 우리가 만들어준 보드 파일의 타입이 바로 XSA 파일 지금 뭐한거냐면, 하드웨어 플랫폼을 하나 만든 것이다. 이렇게 해주면 우리가 만든 보드에 대한 BSP들이 따라온다. - BSP(보드 서포트 팩)(드라이버 등) - Vitis에서도 ARM에서 사용했 던 HAL 함수처럼, .. 2023. 11. 17.
[Harman 세미콘 아카데미] 93일차 - SoC Design(CPU를 활용한 Calculator 구현, SoC / MicroBlaze) [Calculator] CPU와 4x4 KeyPad, FND를 활용하여 계산기를 구현해보자. 키패드 구성은 다음과 같다. 7 8 9 ÷ (D) 4 5 6 × (E) 1 2 3 - (B) C 0 = (F) + (A) 📌 Top module module Calculator_Top( input clk, reset_p, input [3:0] row, output [3:0] col, output [3:0] com, output [7:0] seg_7 ); wire [3:0] key_value; wire key_valid; key_pad_cntr key_pad(.clk(clk), .reset_p(reset_p), .row(row), .col(col), .key_value(key_value), .key_valid(ke.. 2023. 11. 16.
[Harman 세미콘 아카데미] 92일차 - Verilog(CPU Review / 시뮬레이션) [CPU Review] CPU 동작 Sequence 인스트럭션 Fetch(롬에서 명령어 읽어들임) - Decode(명령어 해석) - Execute(명령어 실행) STM보드를 예시로 들면, 윗부분이 ST Link 아랫 부분이 컴퓨팅 칩 여기서 ST Link가 프로그래머 [Simulation] 모든 경우에 대해 시뮬레이션하며 디버깅해보자. module tb_processor(); reg clk, reset_p; reg [3:0] key_value; reg key_valid; wire [7:0] outreg_data; wire [3:0] kout; // key로 입력된 값을 출력(프로세스가 키 값을 제대로 받는 지 확인하기 위한 것) processor DUT(clk, reset_p, key_value, key.. 2023. 11. 15.
[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.