월 59,400원
5개월 할부 시다른 수강생들이 자주 물어보는 질문이 궁금하신가요?
- 미해결설계독학맛비's 실전 FPGA를 이용한 HW 가속기 설계 (LED 제어부터 Fully Connected Layer 가속기 설계까지)
Vitis 로그 확인
안녕하세요 맛비님. 실습을 따라하는 과정에서 이러한 오류 문구가 뜨면서, vitis에서 프로젝트가 뜨질 않고 있습니다. 영상 그대로 진행하고 있으며, tool 버전 문제인지 아니면 경로 문제인지 잘 모르겠어서 질문 남깁니다. 사용하는 tool 버전은 : 2023.02사용 보드는 : zynq 702입니다. 로그를 확인해서 스스로 해결하고 싶은데 어디서 로그를 볼 수 있을지 여쭤봐도 될까요?=================현업자인지라 업무때문에 답변이 늦을 수 있습니다. (길어도 만 3일 안에는 꼭 답변드리려고 노력중입니다 ㅠㅠ)강의에서 다룬 내용들의 질문들을 부탁드립니다!! (설치과정, 강의내용을 듣고 이해가 안되었던 부분들, 강의의 오류 등등)이런 질문은 부담스러워요.. (답변거부해도 양해 부탁드려요)개인 과제, 강의에서 다루지 않은 내용들의 궁금증 해소, 영상과 다른 접근방법 후 디버깅 요청, 고민 상담 등..글쓰기 에티튜드를 지켜주세요 (저 포함, 다른 수강생 분들이 함께보는 공간입니다.)서로 예의를 지키며 존중하는 문화를 만들어가요.질문글을 보고 내용을 이해할 수 있도록 남겨주시면 답변에 큰 도움이 될 것 같아요. (상세히 작성하면 더 좋아요! )먼저 유사한 질문이 있었는지 검색해보세요.잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.==================
- 해결됨설계독학맛비's 실전 FPGA를 이용한 HW 가속기 설계 (LED 제어부터 Fully Connected Layer 가속기 설계까지)
20장 perceptron
안녕하세요 20장 Perceptron 개념에서 이해가 가지 않는 부분이 있어 질문을 올립니다. ppt에서 적혀있는 output formula를 이용해서 NAND(-1.0, -1.0, -1.0) 그리고 OR(0.3, 0.3, 0.5) 의 y 값을 계산한다면 둘다 Input 이 (1,0) 일때 y=1 이여야하는데 0이 나와서 어느 부분에서 제가 잘못 이해한건지 모르겠습니다.
- 미해결설계독학맛비's 실전 FPGA를 이용한 HW 가속기 설계 (LED 제어부터 Fully Connected Layer 가속기 설계까지)
BANK0 / BANK1 기준 전압
Z7-20 schematic 문서에서 스위치랑, LED, 버튼에 해당하는 G15, K18, M14는 기준 voltage가 3.3V으로 되어있습니다. XDC 파일에서도 LVCMOS33 이라고 확인 했습니다.해당 영역은 BANK0에서 기준전압이라고 보면 될까요?UART는 BANK1에서 1.8V I/O에 해당하기 때문에 설정한다고 보면 될까요?
- 미해결설계독학맛비's 실전 FPGA를 이용한 HW 가속기 설계 (LED 제어부터 Fully Connected Layer 가속기 설계까지)
FPGA 4장 실습해보고 있는데 UART baudrate가 안맞아서 그런지 터미널에서 font가 깨져보이게 출력이되고 있는것 같은데 혹시 ZYNQ IP UART 설정창에서 baudrate값을 변경해볼수 있을까요?
=================현업자인지라 업무때문에 답변이 늦을 수 있습니다. (길어도 만 3일 안에는 꼭 답변드리려고 노력중입니다 ㅠㅠ)강의에서 다룬 내용들의 질문들을 부탁드립니다!! (설치과정, 강의내용을 듣고 이해가 안되었던 부분들, 강의의 오류 등등)이런 질문은 부담스러워요.. (답변거부해도 양해 부탁드려요)개인 과제, 강의에서 다루지 않은 내용들의 궁금증 해소, 영상과 다른 접근방법 후 디버깅 요청, 고민 상담 등..글쓰기 에티튜드를 지켜주세요 (저 포함, 다른 수강생 분들이 함께보는 공간입니다.)서로 예의를 지키며 존중하는 문화를 만들어가요.질문글을 보고 내용을 이해할 수 있도록 남겨주시면 답변에 큰 도움이 될 것 같아요. (상세히 작성하면 더 좋아요! )먼저 유사한 질문이 있었는지 검색해보세요.잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.==================
- 미해결설계독학맛비's 실전 FPGA를 이용한 HW 가속기 설계 (LED 제어부터 Fully Connected Layer 가속기 설계까지)
z7-20DDR DQS to CLK delay
hello world 강의 수강 질의입니다.[PSU-1] Parameter : PCW_UIPARAM_DDR_DQS_TO_CLK_DELAY_0 has negative value -0.050 . PS DDR interfaces might fail when entering negative DQS skew values. [PSU-2] Parameter : PCW_UIPARAM_DDR_DQS_TO_CLK_DELAY_1 has negative value -0.044 . PS DDR interfaces might fail when entering negative DQS skew values. [PSU-3] Parameter : PCW_UIPARAM_DDR_DQS_TO_CLK_DELAY_2 has negative value -0.035 . PS DDR interfaces might fail when entering negative DQS skew values. [PSU-4] Parameter : PCW_UIPARAM_DDR_DQS_TO_CLK_DELAY_3 has negative value -0.100 . PS DDR interfaces might fail when entering negative DQS skew values. xilinx community에서는 dsq to cloack delay를 0ns로 바꾸라고 하는데 바꿔도 같은 메세지가 뜨면서 generate bitstream도 안되고 systhesis도 안되네요이게 vivado가 업데이트 되면서 negative value를 비허용하게 되면서 발생하는 문제라는데 잘 모르겠네요
- 해결됨설계독학맛비's 실전 FPGA를 이용한 HW 가속기 설계 (LED 제어부터 Fully Connected Layer 가속기 설계까지)
ILA 를 이용한 waveform 분석 질문
안녕하세요 13장 강의 내용에서 ILA를 이용하여 waveform 을 보는 과정에서 질문이 생겼습니다.위 사진은 vitis 를 이용하여 run mode 로 write를 한 후에 seed값을 넣은 후 모습입니다. AWVALID랑 AWREADY 동시에 trigger가 되면서 0x0C 즉 4번째 register에 임의의 값이 write되는걸로 이해하고 있습니다. 하지만 0x0C register를 통해서 bram이 write 되는 중간 중간에 AWADDR값이 0x0C의 다음 register인 0x10으로 잠시 바뀌는 이유는 무엇인가요? 비록 이때 WVALID랑 WREADY가 handshake가 일어나지 않기 때문에 5번째 register에 값이 저장되는것은 아니겠지만 굳이 이렇게 바뀌는 이유가 궁금합니다.
- 미해결설계독학맛비's 실전 FPGA를 이용한 HW 가속기 설계 (LED 제어부터 Fully Connected Layer 가속기 설계까지)
clock 설정
안녕하세요. 항상 수업 잘 듣고 있습니다.5장에서 나온 클럭을 zynq processing system을 통해 설정한 뒤 vitis에서 FPGA를 프로그래밍 하는 과정은 이해했습니다.그런데 vitis를 사용하지 않고 vivado에서 hardware manager를 통해 프로그래밍을 해보려고 schematic 탭에서 I/O 포트들을 연결 하여 constraints 파일을 만들어 보았습니다. 이 과정에서 클럭을 핀 넘버에 연결은 시켰는데 여기서 클럭의 속도를 어떻게 설정하는지 모르겠습니다... vitis를 사용하지 않고 이런 방식으로 하면 클럭의 속도를 임의로 설정할 수 없는 것인지 궁금합니다.
- 해결됨설계독학맛비's 실전 FPGA를 이용한 HW 가속기 설계 (LED 제어부터 Fully Connected Layer 가속기 설계까지)
BRAM은 어떻게 합성되나요?
module true_sync_dpbram ( clk, addr0, ce0, we0, q0, d0, addr1, ce1, we1, q1, d1);parameter DWIDTH = 16;parameter AWIDTH = 12;parameter MEM_SIZE = 3840;input clk;input[AWIDTH-1:0] addr0;input ce0;input we0;output reg[DWIDTH-1:0] q0;input[DWIDTH-1:0] d0;input[AWIDTH-1:0] addr1;input ce1;input we1;output reg[DWIDTH-1:0] q1;input[DWIDTH-1:0] d1;(* ram_style = "block" *)reg [DWIDTH-1:0] ram[0:MEM_SIZE-1];always @(posedge clk) begin if (ce0) begin if (we0) ram[addr0] <= d0; else q0 <= ram[addr0]; endendalways @(posedge clk) begin if (ce1) begin if (we1) ram[addr1] <= d1; else q1 <= ram[addr1]; endendendmodule 저기서 시스템이 BRAM을 사용한다는 걸 어떻게 인식할 수 있나요?(* ram_style = "block" *)reg [DWIDTH-1:0] ram[0:MEM_SIZE-1];이 한문장이 없으면 BRAM을 사용하지 않게 되나요?아니면 단순히 코드 구성을 보고 자동으로 BRAM이 있다고 판단하여 합성해주나요?
- 해결됨설계독학맛비's 실전 FPGA를 이용한 HW 가속기 설계 (LED 제어부터 Fully Connected Layer 가속기 설계까지)
7장 질문드립니다.
8분 55초에서 AXI4-Lite template code는 multiple outstanding을 지원하지 않는다고 하셨는데, AXI4-Lite가 지원하지 않는 것인지 AXI4-Lite는 지원하는데 template code에서 outstanding을 활용하지 않는다는 것인지 헷갈립니다.
- 미해결설계독학맛비's 실전 FPGA를 이용한 HW 가속기 설계 (LED 제어부터 Fully Connected Layer 가속기 설계까지)
강의자료 관련 질문
=================현업자인지라 업무때문에 답변이 늦을 수 있습니다. (길어도 만 3일 안에는 꼭 답변드리려고 노력중입니다 ㅠㅠ)강의에서 다룬 내용들의 질문들을 부탁드립니다!! (설치과정, 강의내용을 듣고 이해가 안되었던 부분들, 강의의 오류 등등)이런 질문은 부담스러워요.. (답변거부해도 양해 부탁드려요)개인 과제, 강의에서 다루지 않은 내용들의 궁금증 해소, 영상과 다른 접근방법 후 디버깅 요청, 고민 상담 등..글쓰기 에티튜드를 지켜주세요 (저 포함, 다른 수강생 분들이 함께보는 공간입니다.)서로 예의를 지키며 존중하는 문화를 만들어가요.질문글을 보고 내용을 이해할 수 있도록 남겨주시면 답변에 큰 도움이 될 것 같아요. (상세히 작성하면 더 좋아요! )먼저 유사한 질문이 있었는지 검색해보세요.잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.==================안녕하세요 너무나 강의를 잘 듣고있고 도움을 많이 받고있습니다. 제가 강의이후에 강의 내용에 대해서 복습을 하려고 할때 강의자료가PPT나 PDF와 같은 자료가 없어서... 따로 적으면서 공부하고 있는데 이부분을 혹시 제공 받을 방법이 있을까하여 문의드립니다! (부담드리는건 아닙니다!)
- 미해결설계독학맛비's 실전 FPGA를 이용한 HW 가속기 설계 (LED 제어부터 Fully Connected Layer 가속기 설계까지)
원인모를 synthesis error가 뜹니다 도와주세요..
=================현업자인지라 업무때문에 답변이 늦을 수 있습니다. (길어도 만 3일 안에는 꼭 답변드리려고 노력중입니다 ㅠㅠ)강의에서 다룬 내용들의 질문들을 부탁드립니다!! (설치과정, 강의내용을 듣고 이해가 안되었던 부분들, 강의의 오류 등등)이런 질문은 부담스러워요.. (답변거부해도 양해 부탁드려요)개인 과제, 강의에서 다루지 않은 내용들의 궁금증 해소, 영상과 다른 접근방법 후 디버깅 요청, 고민 상담 등..글쓰기 에티튜드를 지켜주세요 (저 포함, 다른 수강생 분들이 함께보는 공간입니다.)서로 예의를 지키며 존중하는 문화를 만들어가요.질문글을 보고 내용을 이해할 수 있도록 남겨주시면 답변에 큰 도움이 될 것 같아요. (상세히 작성하면 더 좋아요! )먼저 유사한 질문이 있었는지 검색해보세요.잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.==================안녕하세요 bitstream 생성시 synthesis error가 떠서 질문드립니다. message나 log에는 아무런 글씨가 없습니다..영상을 보고 그대로 따라했는데 왜 안될까요..도와주시면 감사드리겠습니다
- 미해결설계독학맛비's 실전 FPGA를 이용한 HW 가속기 설계 (LED 제어부터 Fully Connected Layer 가속기 설계까지)
Timig관련 질문있습니다.
*댓글 먼저봐주시면 감사하겠습니다! 댓글 내용이 이해된다면 게시글 질문도 이해가 될 것 같습니다! <Data mover BRAM 220번째 라인>assign we_b1 = r_core_delay[CORE_DELAY-1];여기서 we_b1이 켜지고 (r_core_delay == 1f)한 사이클 후에<DPBRAM 55번째 라인>always @(posedge clk) begin if (ce0) begin if (we0) ram[addr0] <= d0; else q0 <= ram[addr0]; end endBRAM1에 0이 write돼야되는거아닌가요?어떻게 we_b1이 켜짐과 동시에 write되는지 이해가 잘 가지 않습니다ㅠㅠㅠ 기본기가 부족해서 그런걸까요..
- 미해결설계독학맛비's 실전 FPGA를 이용한 HW 가속기 설계 (LED 제어부터 Fully Connected Layer 가속기 설계까지)
build 관련 문의드립니다
안녕하세요, S1부터 수강한 학생인데요,S1 환경셋업 영상을 보며 세팅하고, S1에서 환경 테스트하는 것 (make, 빌드) 이상없이 완료했습니다다만 fpga 21장에서 build하는 중 위와같은 오류가 나는데요, 혹시 원인이 짐작가신다면 조언 좀 부탁드립니다. 두 사진은 같은 오류를 나타내고, 각각 기본모드와 sudo모드에서 돌려본 결과입니다감사합니다.
- 해결됨설계독학맛비's 실전 FPGA를 이용한 HW 가속기 설계 (LED 제어부터 Fully Connected Layer 가속기 설계까지)
begin end 사용법
안녕하세요 맛비님! 그렇게 중요하진 않아보이지만 항상 궁금했던 내용이라 질문드립니다. 예시로always @( posedge S_AXI_ACLK ) begin if ( S_AXI_ARESETN == 1'b0 ) begin axi_awaddr <= 0; end else begin if (~axi_awready && S_AXI_AWVALID && S_AXI_WVALID && aw_en) begin // Write Address latching axi_awaddr <= S_AXI_AWADDR; end end end 166번째 라인에 있는 코드인데 else if (~axi_awready && S_AXI_AWVALID && S_AXI_WVALID && aw_en) axi_awaddr <= S_AXI_AWADDR; end else if (~axi_awready && S_AXI_AWVALID && S_AXI_WVALID && aw_en) begin axi_awaddr <= S_AXI_AWADDR; end end else부분을 이렇게 더 간결하게 짜면 좋을꺼같은데굳이 begin end로 묶는 이유가있을까요?가독성이 더 좋아지기 때문일까요?
- 미해결설계독학맛비's 실전 FPGA를 이용한 HW 가속기 설계 (LED 제어부터 Fully Connected Layer 가속기 설계까지)
[15] delay valid & data 관련질문
안녕하세요, 질문을 자주드리게되네요..ㅎㅎ 고생해주셔서 감사합니다. data_mover_bram 코드를 작성 중 마지막 부분에서 delay관련 코드가 나오는데요, CORE_DELAY=5기준, 00000->00001->00011->00111->01111->11111 : r_core_delay[4]를 ce_b1에 할당하므로, r_valid가 유지되는 채로 5cycle이 지나 b1에 clock이 인가되기 시작할 것입니다. data를 delay시키는 코드 부분에서,if (|r_core_delay) r_core_data[0] <=mem_data;이므로, 1번에 제가 제시한 시퀀스 기준,r_core_delay=00001이 되고난 그 다음 clock 즉 r_core_delay=00010이 되는 clock에 r_core_data[0]에 mem data가 쓰일 것이라고 생각이되는데, 틀린 생각인가요? 만약 그것이 맞다면 이후 ->[1]->[2]->[3]->[4]와 같이 추가적으로 4cycle, 총 5cycle이 필요한데, r_core_delay 보다 한 사이클 늦게 5cycle이 시작되므로 최종적으로 delay를 미루는 시간보다 data가 한 사이클 늦게 밀릴 것이라고 코드해석이 되는데, 아마 당연히 제가 틀렸겠지요..?이 부분이 어떻게 동시에 싱크를 맞춰서 딜레이 되는 건지 궁금합니다. 감사합니다..
- 미해결설계독학맛비's 실전 FPGA를 이용한 HW 가속기 설계 (LED 제어부터 Fully Connected Layer 가속기 설계까지)
TX부분에 불빛은 들어오나 터미널 상에 문장출력이 되지 않습니다
안녕하세요 맛비님 :)제가 사용하고 있는 보드는 Z7-10입니다. HELLOWORLD 실습을 하던 중 처음에는 JTAG부분의 파랑색 블럭을 잘못 연결하여 cannot halt processor core, timeout 오류가 떴었고 JTAG로 제대로 꽂으니 HALT오류 문구 없이 모두 정상적으로 컴파일되었습니다.하지만 터미널을 통하여 숫자를 입력하여도 빨간색 동그라미 친 부분의 TX부분만 한번 깜빡이고 터미널에서 따로 출력되는 동작이 없습니다.이러한 경우 UART는 제대로 동작하는 것일까요? 다음 장의 LED BLINKING의 경우 잘 동작함을 확인하였는데 UART부분에만 문제가 있는 것일까요?다른 부분은 실습과 동일하게 진행하였습니다.*보드 초기에는 전원을 키고 FPGA에 로딩을 할 때에 특유의 LED반짝이는 동작이 나왔는데 지금은 나오지 않네요. 그것과도 관련있을까요?*hardware 빌드를 시도할 때 한번씩 다음과 같은 문구가 뜹니다
- 미해결설계독학맛비's 실전 FPGA를 이용한 HW 가속기 설계 (LED 제어부터 Fully Connected Layer 가속기 설계까지)
core module에 직접적으로 액세스하지 않는 이유 궁금합니다,
안녕하세요 맛비님,PC <-uart-> PS영역 <-AXI-> core영역 (ex.BRAM)와 같이 직접적으로 액세스하지 않고, core영역 앞단에서 register를 포함하는 모듈을 거쳐가야하는 이유가 무엇인가요??그리고 메모리에 액세스할 때 특정 주소의 값을 읽고 쓰고 싶은 경우가 많다고 생각이 듭니다.BRAM의 주소값을 +1씩 하면서 순차적으로 액세스하도록, 설계하신 이유가 있을까요? 로직이 simple하기 때문에 (수업 중 말씀하신대로) ROM처럼 동작시키고 싶을 때 유용하기 때문인가요?감사합니다.
- 미해결설계독학맛비's 실전 FPGA를 이용한 HW 가속기 설계 (LED 제어부터 Fully Connected Layer 가속기 설계까지)
9장] C code에서 간단한 질문
안녕하세요, 강의 21:40초 경 사용되는 함수들에 대한 질문입니다: write에서는 Xil_Out32, read에서는 Xil_In32라는 함수가 쓰이고 있습니다. 눌러본 결과 동작은 확인할 수 있었습니다.Q: 해당 함수들은 처음에 include한 xil_io.h 파일에 포함된 함수들인데요, 이러한 파일도 자동으로 생성된 것이라고 생각됩니다. 이러한 함수들은 vivado에서 export할 때 자동으로 만들어지는 것인가요? 즉 작성한 HDL코드와 동일한 동작을 할 수 있도록 C code들이 생성되어있는 것인가요?감사합니다!
- 미해결설계독학맛비's 실전 FPGA를 이용한 HW 가속기 설계 (LED 제어부터 Fully Connected Layer 가속기 설계까지)
[lab8] flow에 대한 정리
안녕하세요 맛비님, 우선 정말 좋은 강의 만들어주셔서 감사합니다. 정말 재밌게 도움받으며 따라가고 있습니다. 다만, 전체적인 프로세스를 다음과 같이 정리하며 복습하던 중 헷갈리는 부분을 질문 드립니다.step[1]: VivadoAXI4_Lite IF & slave 생성 (Xilinx에서 제공하는 platform을 활용하여 자동으로 생성)Design모드에서 생성한 IP & Zynq IP 로드, ILA연결wrapper -> bitstream -> export -> step2step[2]: Vitis사실 이 부분이 잘 와닿지가 않습니다. 제가 뭘 하고 있는지 모르겠어요..ㅠㅠ step1은 실제로 불러들이는 IP가 눈으로 보이고, 제가 뭘 하고 있는지 명확히 아는 상태로 진행하며 도움이 많이 됐습니다. 근데 step2는 그냥 기계적으로 강의를 따라가는 느낌이 듭니다.이 부분에서 "PS영역에 대한 프로그래밍"을 하는 것인가요? fpga와 통신하게 되는데, 음 이것도 되게 추상적으로 느껴집니다. 무작정 따라가기 강의 이후에 각 과정을 설명해주신다고 하셨는데, 저는 사실 그 강의 이후로도 vitis 과정에 대한 이해도가 그 당시에 머물러있는 느낌입니다ㅠㅠ제가 감을 못 잡고 있는만큼 질문도 추상적이게, 길게 늘어놓은 것 같아 죄송합니다..다만 맛비님께서는 제가 어떤 부분을 헷갈려하는지 대충 감이 오시지 않을까 하는 생각도 듭니다..!!!! 도움을 부탁드립니다..ㅎㅎㅎ 감사합니다!
- 미해결설계독학맛비's 실전 FPGA를 이용한 HW 가속기 설계 (LED 제어부터 Fully Connected Layer 가속기 설계까지)
[lab8] driver를 자동으로 생성해준다는 것이 무슨 뜻인가요?
8장 강의 17:50~18:10생성한 myip의 드라이버를 자동으로 생성해준다는 말씀이 어떤 뜻인가요? 드라이버가 무엇인지 잘 모르겠습니다. HDL code에서 C code로 자동으로 변환되었다는 뜻일까요? 그렇다면 그 기능은 vivado export -> vitis로 넘어가는 과정에서 자동으로 수행되는 것인가요?자동으로 돼서 좋다! 싶기는 한데, 이게 대체 어떻게 진행되고 있는건지 잘 모르겠고 오히려 혼란스럽네요ㅎ 예를 들어 미래에 제가 설계에 참여한다면, 어떤 부분은 자동으로 되고 어떤 부분까진 스스로 해야되는건지 등등.. 감이 안와서 질문 남겨봅니다.(다 상황by상황일 것인지라 그 것을 모두 설명 부탁드리는 것은 아닙니다! 다만 그런 생각들도 들고, 강의를 따라가는 중에 그런 부분들에 의문이 든다는 점을 말씀드리기 위해 적어봤습니다.) 감사합니다!