본문 바로가기

verilog61

[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.