Harman 세미콘 아카데미/SoC를 위한 Peripheral 설계 14

2024.9.11 [SoC를 위한 Peripheral 설계]4 - stopwatch_btn(myip), pwm_servo(myip)

2024.9.11 수업날 저번에 만들었던 stopwatch_btn Block Desgin에서 이번에는 버튼에 기능을 추가해본다. vivado 진행 순서board 부분에서 4 Puch Button을 끌어다가 Diagram에 추가한다. Diagram 부분에서 수정한 부분이 있다면 Sources에서 수정한 Diagram의 wrapper를 갱신한다.그 다음 bitstream을 실행하고 .xsa 파일을 만든다.  vitis 진행 순서새롭게 만든 hardware platform에는 gpio(버튼 기능)이 있는 것을 확인할 수 있다. Mblaze_stopwatch_btn -> helloworld.c 소스코드#include #include "platform.h"#include "xil_printf.h"#include ..

2024.9.10 [SoC를 위한 Peripheral 설계]3 - bcd_fnd, stopwatch(myip)

2024.9.10 수업날이번에는 저번에 만들었던 Fnd 출력 모듈에서 결과값을 10진수로 표시하는 IP를 만들어본다.Verilog 수업할때 만들었던 Fnd_cntr 모듈 밑에 아래와 같이 코드를 추가한다.  Block Design에서 IP를 만들기 전에 Basys3 에서 테스트 하기 위해 Verilog 수업할 때 만들었던 .xdc을 아래와 같이 수정한다. vivado bcd_fnd_cntr 테스트 영상  테스트를 완료했으면 create and package new ip를 생성한다. Add Design Sources에서 아래와 같이 추가해주고, 아래의 Copy 부분을 체크한다.  그리고 아래와 같이 myip_bcd_fnd_cntr_v1_0S00_AXI 모듈(slave 모듈)을 수정한다.  다음으로 아래와 ..

2024.9.6 [SoC를 위한 Peripheral 설계]2 - led 제어2, fnd, fnd cntr(myip)

2024.9.6 수업날이번에는 SWITCH를 입력값으로 받아서 출력인 LED를 제어해본다.vivado 진행 순서  이때 gpio 채널에 어떤것이 해당되는지를 잘 확인해야한다. vitis 코드에서 define 할때 채널에 따라 해당되는 것이 다르면 작동이 안되기 때문이다.   vitis 진행 순서 Mblaze_led_switch -> helloworld.c 소스코드#include #include "platform.h"#include "xil_printf.h"#include "xparameters.h"#include "xgpio.h"#define GPIO_ID XPAR_GPIO_0_DEVICE_ID#define LED_CHANNEL 1#define SWITCH_CHANNEL 2int main(){ in..

2024.9.5 [SoC를 위한 Peripheral 설계]1 - Vitis 사용법, button 제어, led_switch 제어

2024.9.5 수업날SoC: System on Chip새로운 주제로 수업을 진행하므로 Vivado에서 새로운 project를 만들어준다.새롭게 지정해야하는 것은 project 이름, RTL 설정, 보드를 Basys3으로 설정하는 것이다. vivado의 왼쪽 메뉴에서 Create Block Design->이름을 설정한다.그러면 두번째 사진처럼 Diagram 창이 나타난다. 다음으로 아래의 순서와 같이 진행하면 된다.        Source에서 방금 만든 Design Sources의 우클릭을 하여 Create HDL Wrapper를 클릭한다. 그러면 이렇게 자동으로 코드가 만들어지는 것을 확인할 수 있다.자동적으로 set as top이 되어있으므로 이 코드로 bitstream을 실행한다.그리고 bitst..