verilog61 [Harman 세미콘 아카데미] 100일차 - SoC Design(StopWatch) [StopWatch] 📌 Block Design 이전에 RTL로 코딩했던 StopWatch 모듈을 IP로 만들고 HLS로 코딩하여 동작시켜보자. // [IP top] // // Users to add ports here output [3:0] com, output [7:0] seg_7, // User ports ends ) myip_stopwatch_v1_0_S00_AXI_inst ( .com(com), .seg_7(seg_7), .S_AXI_ACLK(s00_axi_aclk), .S_AXI_ARESETN(s00_axi_aresetn), // [IP main] // // Users to add ports here output [3:0] com, output [7:0] seg_7, // User ports .. 2023. 11. 27. [Harman 세미콘 아카데미] 98일차 - SoC Design(AXI, SystemVerilog를 활용한 Simulation, button Interrupt, switch Interrupt) [AXI Protocol] 📌 Block Design 이번엔 얘부터 추가해준다. VIP : verification IP라고, 검증된 IP라는 뜻 📌 Simulation 현장가면 검증할 때, SystemVerilog를 대부분 사용하므로 미리 맛 좀 보고 가자. 가장 큰 차이점은 C++처럼 객체(Class)를 만들 수 있다는 장점이 있다. Class의 장점은 다른 사람이 만들어 놓은 것을 가져다 쓰기 편하다는 것이다. (Class의 Include가 가능) 그러다보니 가져다 쓸 만한 것들도 많이 만들어 놨음 가장 대표적인 것이바로 UVM Verilog vs SystemVerilog Verilog SystemVerilog include import reg bit wire logic import axi_vip_p.. 2023. 11. 23. [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. 이전 1 2 3 4 5 6 7 ··· 16 다음