적극적 생각 507

★ [FPGA 학습 리소스] vivado-based workshops

https://www.xilinx.com/support/university/vivado/vivado-workshops.html Vivado-Based Workshops www.xilinx.com https://aifpga.tistory.com/entry/Xilinx-FPGA-%EB%A5%BC-%EC%B2%98%EC%9D%8C-%EA%B3%B5%EB%B6%80%ED%95%A0-%EB%95%8C-%EC%95%8C%EC%95%84%EB%91%90%EB%A9%B4-%EC%A2%8B%EC%9D%80-%EC%9E%90%EB%A3%8C%EC%99%80-%EC%82%AC%EC%A0%84%EC%A7%80%EC%8B%9D-1 Xilinx FPGA 를 처음 공부할 때 봤으면 하는 글... 발행하는 글은 설계독학 유튜브에 사..

0802 / Fully Connected Layer 가속기 Core 설계 (3)

ip hw = system (timing diagram이 발생) WNS : worst negative slack TNS : total negative slack 여기서 violation이 발생하고 있는 path를 눌러보면 실제 다이에서 리소스들이 place되고 그것들이 연결된것 다른 path들 눌러보면 다르게 동작하는 것을 알 수 있으며 timing violation을 수정하기 위하여 가장 먼저 해야하는것은 critical path를 수정해주는 것이며 WNS가 가장 작은 것 즉 절대값이 가장 큰것에 대하여 수정을 해주어야 하며 수정을 계속 해주면서 timing closure 시켜서 timing met 을 해주어야 한다. 두가지 방법이 있음 - 직접 verilog hdl을 수정하여 retiming 하는 것..

0802 / Fully Connected Layer 가속기 Core 설계 (2)

input node 개수에 따른 연산 오류 : https://inf.run/2xrK FPGA21장 - fully connected layer 설계 - 코드 리뷰 편에서 질문 있습니다 - 인프런 | 질문 & 답변 https://www.inflearn.com/questions/330774 FPGA21장에서, FC layer에 대한 의문이 있어서 질문을 찾아본 결과, 위 링크의 질문자와 비슷한 질문이 생겼습니다. [사진] [사진] 위의 test.c 코드대로라면, 입력 노 www.inflearn.com diff 여기서부터는 응용의 영역

0802 / HW 가속기 설계 연습. 8b 곱셈 Core 설계 (2)

(지금 만들어진 C파일을 '펌웨어'라고 인식해도 맞음) 여기서 sl 연산 사용됨 주목 구간별 런타임 시간측정. 및 누적합(HW Processing Time). HW result buffer 와 SW result buffer 의 매칭 (하드웨어 런타임 측정을 위해 암 코어텍스 프로세스의 주파수 값을 참고하여 계산할 수 있음.) 계산은 1us만 하는데 이동하는데 860*2us의 시간을 사용하고 있다. ㅋㅋㅋㅋㅋㅋㅋㅋ 그래서 지금은 적합하지 않고 하드웨어가 더 느린 상태이다. (인터페이스 하나만으로 강좌 하나가 나올 수 있기 때문에 지금 설계된 이 모듈을 AXI4 등 다른 인터페이스로 갈아끼우는 것이 또 매우 중요한 큰 과제이다.)

0802 / HW 가속기 설계 연습. 8b 곱셈 Core 설계

Reference C 9.3 Golden Reference Models https://www.syncad.com/web_manual_testbencher/test_bench_generator_main_index.html?golden_reference_models.htm TestBencher Pro and Reactive Test Bench Help www.syncad.com delay 하던 부분에 대하여 mul core로 대체함 어려운건 data를 이동시키는 과정이며 과정 전체에서 data mover의 내용을 가장 잘 장악해야한다. 곱셈같은 경우는 합성 단계에서 알아서 잘 처리해주기 때문에 굳이 low level로 낮출 필요는 없다. c를 먼저 실행하는 workflow로 진행된다. make를 통한 실행 ..