Verilog/Verilog 실습
Verilog [vitis] FND controller
오버헤드프레스
2023. 5. 22. 12:41
새 프로젝트가 생성된다.
8개의 레지스터를 가지는 AXI 모듈을 만듦.
S_AXI 모듈을 만든것.
FND 제어를 위해서 FND_4digit_switcher 가지고옴 copy sources into IP Directory 체크
필요 모듈을 제외하고 전부 삭제
모든 창에 체크표시가 나오도록하고 마지막 Re_Package IP를 클릭
그럼 +버튼을 눌렀을 때 만든 IP가 나온다.
오른쪽아래에 myip_FND_switcher 가 다시 생겼음을 확인할 수 있다.
출력을 클릭하고 make external
출력의 이름들이 seg_0, com_an_0로 바껴있어서 xdc파일에서 다 바꿔줘야함
Vitis fnd출력 확인
#include <stdio.h>
#include "platform.h"
#include "xil_printf.h"
#include "xparameters.h"
int main()
{
init_platform();
volatile unsigned int *fnd_device = (volatile unsigned int *)0x44A00000; //fnd value 1에 저장
print("Hello World\n\r");
fnd_device[0] = 1;
fnd_device[1] = 2;
fnd_device[2] = 3;
fnd_device[3] = 4;
while(1){
print("Hi\n\r");
MB_Sleep(1000);
}
cleanup_platform();
return 0;
}
1초마다 hi출력
수를 1씩 증가시키기 + fnd에 증가하는것 확인
수가 증가하는 것을 확인할 수 있다.