묻고 답해요
130만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결설계독학맛비's 실전 Verilog HDL Season 1 (Clock부터 Internal Memory까지)
[20장] direct assign 관련 질문
simple_bram_ctrl 모듈에서 bram으로 부터 받은 입력(q0)을 바로 o_mem_data에 assign 한 것에 대해 레지스터를 통해 연결하는 것을 추천한다고 주석을 달아주셔서이런 식으로 레지스터를 통해 연결을 하면, 예상한 것과 같이 bram에서 이미 1 clk 뒤에 출력하기 때문에 결과적으로 2 cycle 후에 데이터가 출력이 되는 상황이 발생하였습니다.맛비님께서 말씀하신 것처럼 레지스터를 활용하여 출력을 하는데 실습 결과처럼 1cycle 뒤에 데이터가 출력되게 하기 위해서는 어떤 식으로 코드를 구성해야하는지 조언해주시면 감사하겠습니다.추가로 r_mem_data를 선언하시고 실제로 실습에서 사용 안하신 이유가 궁금합니다.
-
미해결설계독학맛비's 실전 FPGA를 이용한 HW 가속기 설계 (LED 제어부터 Fully Connected Layer 가속기 설계까지)
설치 버전 관련 문의
안녕하세요 맛비님,설치 관련해서 궁금한게 있습니다. 현재 회사에서 vivado 2019 버전을 사용하여서 2019 버전으로 강의를 수강 시 문제가 될까요? 또한 이미 vivado 2019가 설치되어 있는 피씨라서, vivado를 따로 설치하려고 하는데 vitis와 vivado의 버전을 맞춰서 설치해야 할지도 궁금합니다. 감사합니다.
-
미해결설계독학맛비's 실전 FPGA를 이용한 HW 가속기 설계 (LED 제어부터 Fully Connected Layer 가속기 설계까지)
18장 tb실행후 gvim을 통해서 rtl_v_result.txt를 열었는데 값이 x x로 나와요.. 왜 이렇게 나올까요?
코드도 계속 찾아보고 반복해서 실행해도 21장은 값이 잘 나오는데 18장 값이 x x로 나와서 질문 드립니다!
-
미해결설계독학맛비's 실전 Verilog HDL Season 2 (AMBA AXI4 완전정복)
gimp 설치관련
안녕하세요. 영상을 보면서 gimp를 설치하려고 하는데 오류가 발생해 설치를 실패했습니다. 분석해주시면 감사하겠습니다.설치 중간에 이러한 오류가 발생하였고이러한 문구가 뜨면서 종료되었습니다.remove 하려고 해도 remove 할게 없다는 내용이 뜨고재설치해도 계속 오류가 발생합니다.=================현업자인지라 업무때문에 답변이 늦을 수 있습니다. (길어도 만 3일 안에는 꼭 답변드리려고 노력중입니다 ㅠㅠ)강의에서 다룬 내용들의 질문들을 부탁드립니다!! (설치과정, 강의내용을 듣고 이해가 안되었던 부분들, 강의의 오류 등등)이런 질문은 부담스러워요.. (답변거부해도 양해 부탁드려요)개인 과제, 강의에서 다루지 않은 내용들의 궁금증 해소, 영상과 다른 접근방법 후 디버깅 요청, 고민 상담 등..글쓰기 에티튜드를 지켜주세요 (저 포함, 다른 수강생 분들이 함께보는 공간입니다.)서로 예의를 지키며 존중하는 문화를 만들어가요.질문글을 보고 내용을 이해할 수 있도록 남겨주시면 답변에 큰 도움이 될 것 같아요. (상세히 작성하면 더 좋아요! )먼저 유사한 질문이 있었는지 검색해보세요.잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.==================
-
미해결설계독학맛비's 실전 FPGA를 이용한 HW 가속기 설계 (LED 제어부터 Fully Connected Layer 가속기 설계까지)
vivado 2023.2.2 schematic 오류
안녕하세요, 맛비님!vivado schemetic을 실행하는 과정에서 오류가 생겨 오래 잡고있다 해결이 안되서 질문 남깁니다.vivado를 이용해서 zybo-z7-20 led점등하는 코드를 입력하고 Schematic을 누르니 로딩이 되다가 vivado창이 닫혀버립니다.windows 11에서 vivado 버전은 2023.2.2를 사용중이고 관리자 권한으로도 실행해본 상태입니다. 사용하는 pc 스펙은 아래와 같습니다.감사합니다.
-
미해결설계독학맛비's 실전 Verilog HDL Season 1 (Clock부터 Internal Memory까지)
digilent zybo z7 프로젝트를 arty z7 보드에 적용가능한가요!
안녕하세요! 맛비님!verilog hdl 강좌부터 fgpa s1강좌까지 모두 잘 수강하였고 추가적으로 더 공부하고자 하였는데 맛비님이 유튜브에 올려주신 digilent에서 hdmi 연결하는 과정을 보고 따라하고 싶었습니다. arty와 zybo의 큰 차이가 memory 정도라고 알고 있는데그대로 arty 보드에 적용가능할 지 여쭙고 싶습니다 !
-
미해결설계독학맛비's 실전 Verilog HDL Season 2 (AMBA AXI4 완전정복)
수강기간 관련
안녕하세요, 맛비님!제가 위의 두가지 강의를 수강하고 있는데요!Verilog HDL Season2는 기한이 정해져 있어서,,, 혹시 강의마다 수강기한이 다른건지, 할인쿠폰을 사용하면 수강기한이 다른건지 궁금해서 문의글 올리게 되었습니다!항상 좋은 강의, 친절한 답변 너무 감사합니다외쳐 갓맛비~
-
해결됨설계독학맛비's 실전 Verilog HDL Season 2 (AMBA AXI4 완전정복)
WDMA의 WVALID signal 설정에 대한 질문
안녕하세요 맛비님,좋은 강의 항상 잘 보고 있습니다:) 큰 도움이 되고 있어요. 39장의 WDMA 설계에서 WVALID signal을 보면, slave의 valid signal을 그대로 연결해 주고 있는 것으로 이해했는데요, 후반부의 검증 환경을 보면(그리고 제가 실제 AXI interconnect를 이용해 FPGA상에 구현 후 ILA를 통해 볼때도 그렇고) wready는 항상 1이 되어있는 경우가 많은 것 같습니다.이렇게 되면 AW channel을 통해 address를 전달해 주기 전에, write handshake가 먼저 발생할 수 있을 것 같습니다.(slave의 동작에 따라서요. 영상의 검증 환경에서는 address가 전달된 이후에 data가 들어오지만, 연결된 slave에서 valid signal이 on 되는 상황이면 WDMA의 state에 관계없이 write handshake가 발생할 수 있는 설계로 보입니다.) 여기서 궁금한 점은, awchannel을 통해 write address가 결정되지 않은 상황에서, wready는 왜 항상 1인 것일까요? 이번 강의에서 다루지는 않고 있지만, AXI4 (full) slave 를 설계할 때 data를 먼저 받고 address를 나중에 받을 수 있도록 data만 fifo에 저장한다거나 하는 설계가 일반적인가요?AXI4 slave를 설계할 때 프로토콜상 그런 제약이 있다면 위와 같이(wvalid와 s_valid를 직접 연결) 설계해도 문제가 없을 것 같고, 그렇진 않고 implementation에 따라 달라질 수 있는 부분이라면 master를 설계하는 입장에서는 더 robust하게? 설계하는게 맞을 것 같아 wvalid = s_valid & w_s_run_w 와 같이 설계해야 할 것 같다는 생각이 들었습니다. 바쁘신 와중에 읽어주셔서 감사합니다:) =================현업자인지라 업무때문에 답변이 늦을 수 있습니다. (길어도 만 3일 안에는 꼭 답변드리려고 노력중입니다 ㅠㅠ)강의에서 다룬 내용들의 질문들을 부탁드립니다!! (설치과정, 강의내용을 듣고 이해가 안되었던 부분들, 강의의 오류 등등)이런 질문은 부담스러워요.. (답변거부해도 양해 부탁드려요)개인 과제, 강의에서 다루지 않은 내용들의 궁금증 해소, 영상과 다른 접근방법 후 디버깅 요청, 고민 상담 등..글쓰기 에티튜드를 지켜주세요 (저 포함, 다른 수강생 분들이 함께보는 공간입니다.)서로 예의를 지키며 존중하는 문화를 만들어가요.질문글을 보고 내용을 이해할 수 있도록 남겨주시면 답변에 큰 도움이 될 것 같아요. (상세히 작성하면 더 좋아요! )먼저 유사한 질문이 있었는지 검색해보세요.잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.==================
-
해결됨설계독학맛비's 실전 FPGA를 이용한 HW 가속기 설계 (LED 제어부터 Fully Connected Layer 가속기 설계까지)
auto connect
안녕하세요. FPGA를 처음으로 접하게 되어 Lab을 동작하는 초반 강의 영상에서 auto connect를 하는데 연결은 되었지만 왜 아무런 장치가 보이지 않는 것인지 모르겠습니다.
-
미해결설계독학맛비's 실전 Verilog HDL Season 1 (Clock부터 Internal Memory까지)
wsl과 ubuntu 관련 용량 문제
안녕하세요, 맛비님. 수업 정말 잘 듣고 있습니다. 다름이 아니라 수업을 들으며 빌드도 해보고, 파형도 보던 중에 컴퓨터가 아무래도 이상해진 것 같아 보았더니 512기가 SSD 용량 중에서 ubuntu가 400기가를 차지하며, 컴퓨터가 먹통이 되었습니다. 수업은 3분의 1정도만 수강한 상태라 절대 400기가를 차지할 리 없다고 생각합니다. 제가 비정상적인 상황인건지, 아니면 맛비님은 주기적으로 큰 용량의 파일을 지워주는 것인지 궁금합니다.
-
미해결설계독학맛비's 실전 FPGA를 이용한 HW 가속기 설계 (LED 제어부터 Fully Connected Layer 가속기 설계까지)
22강 HW가속 질문
안녕하세요 강의 잘보고 있습니다강의 내용 중 IF bottleneck관련 설명에서 1번의 계산에서는 SW가 HW보다 빠른데, input node는 그대로 있고 weight를 계속 업데이트해서 반복을 여러번 하면 HW가 SW보다 빠르다고 설명해주셨는데요 HW가속기는 이미 학습된 모델(weight)를 활용해서 새로운 입력 데이터(input node)에 대해 inference를 빠르게 하는게 목적이라고 알고있어서 weight는 그대로 있고 input node를 계속 업데이트해서 반복을 여러번 해야할걸로 생각했는데, 강의 내용은 그 반대여서 질문드립니다. =================현업자인지라 업무때문에 답변이 늦을 수 있습니다. (길어도 만 3일 안에는 꼭 답변드리려고 노력중입니다 ㅠㅠ)강의에서 다룬 내용들의 질문들을 부탁드립니다!! (설치과정, 강의내용을 듣고 이해가 안되었던 부분들, 강의의 오류 등등)이런 질문은 부담스러워요.. (답변거부해도 양해 부탁드려요)개인 과제, 강의에서 다루지 않은 내용들의 궁금증 해소, 영상과 다른 접근방법 후 디버깅 요청, 고민 상담 등..글쓰기 에티튜드를 지켜주세요 (저 포함, 다른 수강생 분들이 함께보는 공간입니다.)서로 예의를 지키며 존중하는 문화를 만들어가요.질문글을 보고 내용을 이해할 수 있도록 남겨주시면 답변에 큰 도움이 될 것 같아요. (상세히 작성하면 더 좋아요! )먼저 유사한 질문이 있었는지 검색해보세요.잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.==================
-
미해결설계독학맛비's 실전 Verilog HDL Season 1 (Clock부터 Internal Memory까지)
watch의 critical path
우선 vivado tool에 대한 이해도가 상당히 낮습니다 ㅜㅠ 그래도 혼자 최대한 해보자는 마음으로 이것저것 만져보고 있는데 이해가 안되는 점이 있어서 질문드립니다! 강의에서 말씀하시길 wire [5-1:0] hour_val = (r_sec_cnt/(60*60)) % 24;부분이 critical path라고 말씀하셨는데 vivado에서 bitstream을 생성하던 중에 오류를 보니까 뭔가 느낌상 source, destination 부분을 보면 될 거 같더군요근데 destination이 o_hour가 아닌 o_min으로 돼있더라구요혹시나해서 o_hour로 가는 path를 열어보니 거기선 positive slack이었습니다. 그래서 이걸 보고 위 코드가 아닌 wire [6-1:0] min_val = (r_sec_cnt/60) % 60;해당 코드에서 neg slack이 발생한 거 같은데 맞을까요?? 그리고 해결책으론 re-timing을 사용하셨는데 제가 1차원적으로 생각하기엔 clock period를 두배하면, 즉 100MHz가 아닌 50MHz로 바꾸면 뭔가 굳이 코드를 수정하지 않아도 될 거 같은데 맞는 논리일까요..?
-
미해결설계독학맛비's 실전 FPGA를 이용한 HW 가속기 설계 (LED 제어부터 Fully Connected Layer 가속기 설계까지)
AXI4-Lite 질문
안녕하세요 ! 수강 중에 질문이 있어 글 남깁니다! AXi4-Lite를 처음 접하게 되어서 너무 어렵긴한데..궁금한 점이 코드리뷰 편에서 AXi4-Lite 모듈을 만들 때 register의 개수를 정하잖아요?근데 그 register가 왜 있어야 하는건가요?단순히 write와 read를 handshake에 의해 하는지 보기 위해 넣어둔 것인가요?-> 혹시 이 register가 HW를 제어할 때 쓰는 Register space인가요? 7장의 코드 리뷰 편에서 생성된 템플릿 코드가레지스터 4개를 core로 하고 그걸 slave AXI4-Lite I/F 역할을 하는 모듈로 감싼다.그리고 PS IP에는 master로서 AXI4-Lite I/F역할을 수행하는 부분이 있고 이걸 slave 쪽에 연결한다.합성 후 PS에 4번의 write, read를 하도록 coding한다.그리고 결과를 확인한다. 이렇게 이해하는게 맞나요?? 제일 궁금한 건 저 register가 왜 만들어졌는지 이고 그걸 AXi4-Lite I/F 로 write, read가 되는지 확인하기 위한 core로 사용된 것이 맞는지 입니다.
-
미해결설계독학맛비's 실전 Verilog HDL Season 1 (Clock부터 Internal Memory까지)
설치 끝난 후 실행오류
안녕하세요 ! 설치를 며칠째 하고있는데 결국 설치까지는 완료가 됐습니다. 그러나 오류로 vivado실행이 안되고 있는 상태입니다.맛비님과 같은 명령어를 사용했으나 출력문이 다르기도 합니다which vivado 명령어를 쓰면 아무것도 안 뜨는데 그렇다고 설치가 안 된 것은 아닙니다..근데 ./xvlog실행은 안 됩니다....~/.bashrc파일에 source 추가도 해주었습니다.xvlog실행이 안되어서 vi ~/.bashrc에export PATH="/mnt/d/yubeen/tools/Vivado/2022.2/bin/:$PATH" 추가는 못했습니다만 만약 하게 된다면 여기서 /mnt/d/ 이 부분은 어떻게 처리를 해야할까요? 이 문제에 앞서 어떻게 하면 실행이 될까요? ㅜㅜ 지우고 재설치해야할까요..
-
미해결설계독학맛비's 실전 FPGA를 이용한 HW 가속기 설계 (LED 제어부터 Fully Connected Layer 가속기 설계까지)
Master와 slave / AXI4와 AXI4-lite
안녕하십니까강의 잘 듣고 있습니다.스펙 문서와 이것저것 찾아보면서 든 생각에 의견을 여쭙기 위해 문의드립니다.AXI4/AXI4-Lite와 Master/Slave 관계를 계속 보던 중 Master는 AXI4를 사용하며 Slave는 AXI4-Lite를 사용하는 느낌을 많이 받았습니다. AXI4를 사용할때는 burst 기능을 사용하기 위해 사용된다 할지언정, 정작 Slave는 AXI4-Lite로 구현되어 사용되는 것을 느꼈습니다. 설명이 잘 되었는지 모르겠으나, 요약하면 Master=AXI4, Slave=AXI4-Lite로 이해를 하였습니다. 무조건적이라고 생각하진 않지만 추가적 이해를 도움 받기 위해 연락드립니다. 감사합니다.
-
미해결설계독학맛비's 실전 Verilog HDL Season 1 (Clock부터 Internal Memory까지)
chapter 3. fpga에 올리기 관련한 질문입니다.
안녕하세요. IP를 만든 후 새로운 프로잭트에서위와 같이 ZYNQ를 불러오는 단계에서 vivado가 아래와 같은 메세지와 함께 먹통이됩니다.Prism-ES2 Error : GL_VERSION (major.minor) = 1.4구글에도 관련하여 해결법이 잘 안보여서 혹시 해결법을 아시나해서 질문드립니다!
-
미해결설계독학맛비's 실전 Verilog HDL Season 1 (Clock부터 Internal Memory까지)
zybo z7-20 정상작동 확인 관련 질문입니다.
안녕하세요.이번에 zybo z7-20을 사게되어 선생님께서 블로그에 올리신 글을 보고 보드를 점검해보려하는데,(https://aifpga.tistory.com/entry/Zybo-Z7-20-%EA%B0%9C%EB%B4%89) 여기에 올려주신 동영상과 같이 led가 들어오지 않으며 hdmi로도 아무것도 출력이 되지 않아 혹시 어떤게 문제일까 싶어서 문의드립니다.위와 같이 저 빨간불만 깜빡거립니다.
-
해결됨설계독학맛비's 실전 Verilog HDL Season 2 (AMBA AXI4 완전정복)
rdma 설계시 FIFO payload에 대한 의문 +@
안녕하세요 맛비님!좋은 강의 항상 잘 듣고 있습니다.오늘은 RDMA 설계 강의를 보고 직접 RDMA를 구현해 보던 중 의문점?이 생겨 질문드리게 되었습니다. RDMA 설계시, MOR을 위해 AR과 R controller 사이에 FIFO를 사용하였습니다. 이 때 FIFO의 Depth를 통해 하나의 master에서 너무 많은 address request를 날려 bus를 과도하게 점유하는 일을 방지하는 것으로 이해했습니다. 이 때,1) Read channel에서 각 transaction의 종료여부는 burst length를 count하지 않고 RLAST signal을 이용하여 detect하는데, 이 경우 FIFO의 Payload로 burst length를 전달해 줄 필요가 있을까요? FIFO의 Payload width를 줄이면 그만큼 FF를 덜 써 설계상에서 area가 줄어들게 될 테고, 실제로 코드상에서도 ARLEN_r을 Read channel쪽에서 사용하지 않고 있는 것으로 보여 FIFO data width를 0(?!)으로 하여도 되지 않을까 하는 생각이 들게 되었습니다. 혹시 제가 빠트린 부분이 있을까요?2) 위 질문과는 관련이 없습니다만, 보통 AXI 인터페이스를 가지는 IP를 연결할 때는 Interconnect를 이용해서 연결하게 될 테고, 이 때 interconnect의 어느 port에 연결하냐에 따라 ID가 달라지게 될 것 같은데, 왜 xID 포트가 bus 내부가 아닌 consumer쪽에 존재하고, 또 특히 AxID 포트는 output port인지 궁금합니다. 또한 MxN 연결에서 transaction이 어떤 module간에 일어날지는 address에 의해 결정되는 것으로 이해하고 있는데, ID가 어떻게 쓰이는 것인지 잘 이해가 가지 않습니다. 감사합니다. 즐거운 명절 보내시고 새해 복 많이 받으세요:) =================현업자인지라 업무때문에 답변이 늦을 수 있습니다. (길어도 만 3일 안에는 꼭 답변드리려고 노력중입니다 ㅠㅠ)강의에서 다룬 내용들의 질문들을 부탁드립니다!! (설치과정, 강의내용을 듣고 이해가 안되었던 부분들, 강의의 오류 등등)이런 질문은 부담스러워요.. (답변거부해도 양해 부탁드려요)개인 과제, 강의에서 다루지 않은 내용들의 궁금증 해소, 영상과 다른 접근방법 후 디버깅 요청, 고민 상담 등..글쓰기 에티튜드를 지켜주세요 (저 포함, 다른 수강생 분들이 함께보는 공간입니다.)서로 예의를 지키며 존중하는 문화를 만들어가요.질문글을 보고 내용을 이해할 수 있도록 남겨주시면 답변에 큰 도움이 될 것 같아요. (상세히 작성하면 더 좋아요! )먼저 유사한 질문이 있었는지 검색해보세요.잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.==================
-
미해결설계독학맛비's 실전 Verilog HDL Season 1 (Clock부터 Internal Memory까지)
VIVADO Linux 프로젝트 생성 질문
안녕하세요.FPGA에 관심이 가지게 되어서 VIVADO 강의가 있어서 공부 욕심이 생겨서 수강을 하였습니다.현재 강의 중에서는 Linux에서 Project 를 생성 하는 방법이 따로 언급이 없으며 Vivado를 설치하여 chapter를 열 수 있지만, 개인적으로 폴더를 생성 후 프로젝트를 따라가면서 배워보고 싶은데 방법을 알 수 있을까 하여 문의 드립니다.참고할 사이트 있으면 기재해주시면 감사합니다.
-
미해결설계독학맛비's 실전 Verilog HDL Season 1 (Clock부터 Internal Memory까지)
17장 num_cnt 적용 이유
강의 8:30초 부분reg [6:0] num_cnt; 변수를 사용하는이유가사용자가 i_num_cnt 를 쭉 100으로 유지하지 못하는 경우가 있으니 i_run 신호에 맞춰 i_num_cnt를 캡쳐해서 사용하는 경우가 있다. 여기서 쭉 100으로 유지 못하는 경우라는게i_num_cnt 값을 cnt value 만큼의 클럭 사이클을 유지하지 못하는 경우를 말씀하시는건가요?예를 들면 i_num_cnt 가 100이면 100사이클만큼 유지가 되어야 하는데 이를 유지 하지 않더라도 100 사이클동안 카운트 증가가 되도록 하려고요.