묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결설계독학맛비'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 실전 Verilog HDL Season 1 (Clock부터 Internal Memory까지)
wsl과 ubuntu 관련 용량 문제
안녕하세요, 맛비님. 수업 정말 잘 듣고 있습니다. 다름이 아니라 수업을 들으며 빌드도 해보고, 파형도 보던 중에 컴퓨터가 아무래도 이상해진 것 같아 보았더니 512기가 SSD 용량 중에서 ubuntu가 400기가를 차지하며, 컴퓨터가 먹통이 되었습니다. 수업은 3분의 1정도만 수강한 상태라 절대 400기가를 차지할 리 없다고 생각합니다. 제가 비정상적인 상황인건지, 아니면 맛비님은 주기적으로 큰 용량의 파일을 지워주는 것인지 궁금합니다.
-
미해결설계독학맛비'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 실전 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 실전 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 사이클동안 카운트 증가가 되도록 하려고요.
-
미해결설계독학맛비's 실전 Verilog HDL Season 1 (Clock부터 Internal Memory까지)
[14장] Question. Latency
=================현업자인지라 업무때문에 답변이 늦을 수 있습니다. (길어도 만 3일 안에는 꼭 답변드리려고 노력중입니다 ㅠㅠ)강의에서 다룬 내용들의 질문들을 부탁드립니다!! (설치과정, 강의내용을 듣고 이해가 안되었던 부분들, 강의의 오류 등등)이런 질문은 부담스러워요.. (답변거부해도 양해 부탁드려요)개인 과제, 강의에서 다루지 않은 내용들의 궁금증 해소, 영상과 다른 접근방법 후 디버깅 요청, 고민 상담 등..글쓰기 에티튜드를 지켜주세요 (저 포함, 다른 수강생 분들이 함께보는 공간입니다.)서로 예의를 지키며 존중하는 문화를 만들어가요.질문글을 보고 내용을 이해할 수 있도록 남겨주시면 답변에 큰 도움이 될 것 같아요. (상세히 작성하면 더 좋아요! )먼저 유사한 질문이 있었는지 검색해보세요.잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.================== 안녕하세요. 좋은 강의 제공해주셔서 감사합니다.질문이 있습니다. 14장에서 설계한 모듈의 testbench 모듈을 확인해보면, DUT에 인가하는 입력 신호가 Clock의 Falling edge일 때 인가되는 것으로 해석을 했는데요. 그렇다면, 해당 모듈의 Latency는 2 Cycle + 0.5 Cycle (Falling edge) 해서 2.5 Cycle로 보아야 하나요? 만일 그렇다면, 저희가 설계한 모듈이 testbench에 따라서, Latency가 달라지는건가요? (이렇게 생각하면, 아닌 것 같아서, 여쭈어 봅니다.) 감사합니다.
-
미해결설계독학맛비's 실전 Verilog HDL Season 1 (Clock부터 Internal Memory까지)
메모리 반도체에서 Verilog 활용 방안에 대해서 궁금합니다.
안녕하세요 맛비님. 강의가 재밌어서 열심히 듣다보니 구매한지 3일만에 season 1 강좌 수강을 80% 마무리했습니다. 감사합니다. 이제 곧 FPGA 설계 강좌를 수강할 예정인데 메모리 반도체 분야에서도 이렇게 HW 가속기 설계 실습을 해본 것이 + 요인이 될지가 궁금합니다. (결국 메모리 반도체 설계에서는Verilog 코딩 경험이 검증에서만 쓰이는 것이 아닌지...?) 삼성전자는 S.LSI 사업부가 있기 때문에 이쪽으로 지원을 할 예정이지만 SK 하이닉스의 경우 메모리 반도체만 진행하고 있기 때문에 나중에 지원할 때 HW 가속기 설계 경험을 어필해도 괜찮은건지, 괜찮다면 어떻게 어필하는 것이 좋을지 조언해주시면 감사드리겠습니다..! 또한, 차량용 반도체 SOC 설계 분야에서도 이러한 HW 가속기 설계 경험을 어필해도 괜찮은 것일까요? 아직 초반이라 감이 잘 안잡혀서 이렇게 질문드립니다. 감사합니다!!
-
미해결Verilog FPGA Program 3 (DDR Controller, HIL-A35T)
FrameBuffer 활용 관련
Frame Buffer 강의 내용의 코드를 활용해서 GigE Vision 카메라를 연동 해보려고 하는데,GigE IP 가 있어야만 가능한지 궁금합니다.사용하려는 보드는 선생님의 다른 강의 들으면서, 구매했던 Zynq mini 7010 보드 입니다.답변 부탁 드립니다. 감사합니다.
-
해결됨설계독학맛비's 실전 Verilog HDL Season 2 (AMBA AXI4 완전정복)
AXI에서 aresetn의 사용에 대한 질문
안녕하세요 맛비님.항상 좋은 강의 잘 듣고 있습니다. 지난 강의에서 주로 ASIC에서 asresetn을, FPGA에서 (synchronous) reset을 사용한다고 말씀하셨던 것 같은데요.AXI 버스에서는 aresetn을 사용하는 특별한 이유가 있을까요?ASIC에서도 사용하는 프로토콜 이기 때문일까요?주로 ASIC에서는 APB를, FPGA에서는 AXI-Lite를 사용한다고 하셔서 더욱 왜인지 궁금증이 드네요:)FPGA에서 APB를 잘 사용하지 않는 이유도 궁금합니다! AXI interconnect와 같은 IP가 잘 되어 있어서 그럴까요? 답변 미리 감사합니다! =================현업자인지라 업무때문에 답변이 늦을 수 있습니다. (길어도 만 3일 안에는 꼭 답변드리려고 노력중입니다 ㅠㅠ)강의에서 다룬 내용들의 질문들을 부탁드립니다!! (설치과정, 강의내용을 듣고 이해가 안되었던 부분들, 강의의 오류 등등)이런 질문은 부담스러워요.. (답변거부해도 양해 부탁드려요)개인 과제, 강의에서 다루지 않은 내용들의 궁금증 해소, 영상과 다른 접근방법 후 디버깅 요청, 고민 상담 등..글쓰기 에티튜드를 지켜주세요 (저 포함, 다른 수강생 분들이 함께보는 공간입니다.)서로 예의를 지키며 존중하는 문화를 만들어가요.질문글을 보고 내용을 이해할 수 있도록 남겨주시면 답변에 큰 도움이 될 것 같아요. (상세히 작성하면 더 좋아요! )먼저 유사한 질문이 있었는지 검색해보세요.잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.==================
-
미해결설계독학맛비's 실전 Verilog HDL Season 1 (Clock부터 Internal Memory까지)
보드 세팅 관련 문의드립니다.
안녕하세요. 원래는 FPGA 보드를 구매하려고 했다가 금전적으로 부담이 되어 학교에 문의를 넣었더니 대여를 해준다고 하여 그 보드를 사용할 계획입니다. 제가 사용할 보드는 PYNQ-Z2 Board입니다. 혹시 이 보드를 사용해서 그대로 FPGA 강의를 따라가면 될까요? 다른 추가적인 설정을 해야한다면 어떤 설정을 해야할까요? 감사합니다.
-
미해결설계독학맛비's 실전 Verilog HDL Season 1 (Clock부터 Internal Memory까지)
verilog 기본 문법 질문드립니다.
모듈을 작성할 때 첫번째와 같이 module~ ; 하고 뒤에 변수 선언들을 ;로 구분하는 경우와두번째와 같이 module~( 하고 변수 선언들을 , 로 구분한 뒤에 );로 닫아주고 이 후 동작을 정의하는 경우가 무슨 차이가 있는지 모르겠습니다. 첫번째 코드를 module tb_clock_generator( reg clk, reg clk_en, wire o_clk); 로 수정을 하면 코드 에러가 뜨는데 무슨 차이인지 설명해주시면 감사하겠습니다ㅜㅜ
-
해결됨Verilog FPGA Program 1 (HIL-A35T)
SPI Master Waveform 질문입니다.
waveform을 보며 분석하고 공부중입니다. 제공해주신 Timing Diagram 상에서는 sck pulse는 s_ready가 r_send 로 변환된 다음 단락에서 positive edge가 발생합니다. 그러나 제가 시뮬레이션해본 waveform에서는 s_send가 enable됨과 동시에 sck pulse에 positive edge가 발생합니다. 이부분이 헷갈려서 질문드립니다.코드를 다시 들여다보면서 답을 찾는게 좋을까요??
-
미해결설계독학맛비's 실전 Verilog HDL Season 2 (AMBA AXI4 완전정복)
RDMA 설계 질문
맛비님 안녕하세요, 항상 바쁘신데 감사드립니다 !! 오늘 질문은 RDMA 관련 코드입니다.RDMA 설계시 맛비님께서는 Byte 단위 처리가 아닌 한 사이클(8Byte)당 처리 방식으로 설계 하셨습니다. 그 예시로r_num_total_stream_hs <= r_transfer_byte >> AXI_DATA_SHIFT; 아래 코드와 같이 3bit 비트 이동 연산은 곧 2^3=8 만큼 나눈것이기 때문에 이해가 어렵지 않았습니다. 하지만 이해가 가지 않는 부분은 아래 코드 입니다.wire [12-AXI_DATA_SHIFT:0] last_addr_in_burst = (w_m_axi_gmem_ARADDR[11:AXI_DATA_SHIFT] + init_burst_len); 위의 hs의 수를 구하는 것은 말 그대로 크기에 대한 나누기 이기 때문에 적용이 문제가 없을 것이라고 생각합니다. 하지만 w_m_axi_gmem_ARADDR은 우리가 실제 AR Channel을 통해 보내줄 Physical address이므로 이것을 임의로 하위 3bit을 자르는 것이 가능한지 이해가 가질 않습니다.ex ) 13'b1111_1111_1111_0000 13'b1111_1111_1111_0011위의 두 개는 다른 값이지만 , 하위 3bit을 자르면 같은 값이 되기 때문입니다. 코드를 다시 들여봐도 이해가 가지 않아 죄송합니다...오늘도 좋은 하루 되세요.=================현업자인지라 업무때문에 답변이 늦을 수 있습니다. (길어도 만 3일 안에는 꼭 답변드리려고 노력중입니다 ㅠㅠ)강의에서 다룬 내용들의 질문들을 부탁드립니다!! (설치과정, 강의내용을 듣고 이해가 안되었던 부분들, 강의의 오류 등등)이런 질문은 부담스러워요.. (답변거부해도 양해 부탁드려요)개인 과제, 강의에서 다루지 않은 내용들의 궁금증 해소, 영상과 다른 접근방법 후 디버깅 요청, 고민 상담 등..글쓰기 에티튜드를 지켜주세요 (저 포함, 다른 수강생 분들이 함께보는 공간입니다.)서로 예의를 지키며 존중하는 문화를 만들어가요.질문글을 보고 내용을 이해할 수 있도록 남겨주시면 답변에 큰 도움이 될 것 같아요. (상세히 작성하면 더 좋아요! )먼저 유사한 질문이 있었는지 검색해보세요.잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.==================
-
미해결설계독학맛비's 실전 Verilog HDL Season 1 (Clock부터 Internal Memory까지)
Matbi watch 초반 문제 질문..
여기서 3번 4번이 헷갈립니다. 애매하게 개념이 잡혀있긴 했었는데 counter 부분을 다시 여러번 들어도 확실하게 개념이 잡히지 않네요..아래는 제가 편의상 2Hz로 바꿔서 생각해본 논리입니다. 혹시 어디가 잘못된 걸까요..? Q31초동안 2사이클이 입력됨, 2사이클 = +2따라서 0+2 =2Q41초가 지난 시점 = 2사이클이 지남. 1사이클당 1씩 증가하기에 2사이클이 지나면 +2가 돼야함.따라서 0+2 = 2.. 이 사진은 제가 대충 그려본 timing diagram입니다.. Q3, Q4번 설명 부탁드려도 될까요??