안녕하세요 다름이 아니라 이런식으로 4096이 넘어갈때만 4kboundary규칙을 적용하게 코드를 작성했는데 왜 강의에서 case5에서 transfer byte가 10240일때를 보면 4k바운더리 규칙이 적용되는 구간이 여러번 등장하게 되는데 그러면 8192인 값에서도 4k boundary 규칙이 적용된다는 것인데 왜 적용되는 지 모르겠습니다..! wire [12:0] addr_4k = 13'h1000; assign is_4k_boundary_burst = (last_addr_in_burst > addr_4k[12:AXI_DATA_SHIFT]);
안녕하세요. 37장 data bit width 부분에서 DDR memory 와 DMA 의 전송 속도 차이를 설명하실때 DDR3 가 8533Mb/s (bitpersec) 의 전송 속도 즉 1066MB/s (bytepersec) 가지므로 1cycle 당 1byte 의 전송속도 를 가지며 결과적으로 1GB/s 로 DMA 의 전송속도인 800 MB/s 가 이에 살짝 못미친다고 하셨습니다. 물론 표에서는 8533Mb/s 라고 나와있지만 Mb/s(bitpersec) 가 아닌 MB/s(bytepersec) 여야하는것 아닌가요? 데이터 속도도 1066MT/s 이므로 먄약 Mb/s 이면 transfer 한번당 8bit 라는 소리인데... 아무래도 일반적인 data width 인 64bit(8byte) 가 맞는것 같습니다. 결과적으로 DDR의 전송속도도 DMA 의 800 MB/s 보다 훨씬 빠른 8GB/s 고요.
================= 현업자인지라 업무때문에 답변이 늦을 수 있습니다. (길어도 만 3일 안에는 꼭 답변드리려고 노력중입니다 ㅠㅠ) 강의에서 다룬 내용들의 질문들을 부탁드립니다!! (설치과정, 강의내용을 듣고 이해가 안되었던 부분들, 강의의 오류 등등) 이런 질문은 부담스러워요.. (답변거부해도 양해 부탁드려요) 개인 과제, 강의에서 다루지 않은 내용들의 궁금증 해소, 영상과 다른 접근방법 후 디버깅 요청, 고민 상담 등.. 글쓰기 에티튜드를 지켜주세요 (저 포함, 다른 수강생 분들이 함께보는 공간입니다.) 서로 예의를 지키며 존중하는 문화를 만들어가요. 질문글을 보고 내용을 이해할 수 있도록 남겨주시면 답변에 큰 도움이 될 것 같아요. (상세히 작성하면 더 좋아요! ) 먼저 유사한 질문이 있었는지 검색해보세요. 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. ================== 안녕하세요 맛비님 Matbi_rdma.v 모듈의 R FSM 코드 부분을 수정할 필요가 있는 것 같은데 혹시 제가 잘못 알고 있는 것이라면 알려주실 수 있는지 여쭤보기 위해 질문드립니다. 제가 지금 파악한 문제는 c_state_r이 어떠한 경우에도 다시 S_IDLE 상태로 갈 수 없다는 것입니다. always @(*) begin n_state_r = c_state_r; case(c_state_r) S_IDLE : if(ar_fifo_empty_n) n_state_r = S_RUN; S_RUN : if(is_burst_done_r) begin if(ar_fifo_empty_n) begin n_state_r = S_RUN; end else begin n_state_r = S_IDLE; end end endcase 이 부분에서 is_burst_done_r이 1이라면 마지막 Rdata가 들어오고 있는 중이고(아직 capture 전) 이 상황에서 FIFO안의 해당되는 ARLEN이 아직 빠져나가지않아 비어있지 않으므로 ar_fifo_empty_n이 무조건 1입니다. 그래서 n_state_r = S_IDLE; 이 구문이 절대 실행되지 않는다는 것입니다. 파형에서도 모든 데이터를 다 받고나서도 여전히 S_RUN 상태에 머물러있는 것을 확인하였습니다. 물론 무손실 데이터 전송에는 영향이 없겠지만 만약 현업에서 이 정도는 수정해야 필요성이 있다고 보시는지 의견 부탁 드립니다! + 이에 제가 생각한 방식대로 코드를 수정해보았는데 옳은 결과인지 확인부탁드립니다! 코드 수정 전에는 r_hs의 falling edge에서 여전히 state_r이 1이었으나 사진을 보시다시피 수정 후 0으로 제대로 떨어지는 것을 확인하였습니다. 혹시 제가 잘못생각하는 부분이 있다면 지적 부탁드립니다. 긴 글 읽어주셔서 정말 감사드리고 정말 맛비님 덕분에 설계실력이 늘어가는게 체감이 되어 너무 행복합니다. 항상 감사드리며 양질의 강의 앞으로도 부탁드리겠습니다! 코드 수정내용은 이러합니다! if(is_burst_done_r) 조건 부분 제거
================= 현업자인지라 업무때문에 답변이 늦을 수 있습니다. (길어도 만 3일 안에는 꼭 답변드리려고 노력중입니다 ㅠㅠ) 강의에서 다룬 내용들의 질문들을 부탁드립니다!! (설치과정, 강의내용을 듣고 이해가 안되었던 부분들, 강의의 오류 등등) 이런 질문은 부담스러워요.. (답변거부해도 양해 부탁드려요) 개인 과제, 강의에서 다루지 않은 내용들의 궁금증 해소, 영상과 다른 접근방법 후 디버깅 요청, 고민 상담 등.. 글쓰기 에티튜드를 지켜주세요 (저 포함, 다른 수강생 분들이 함께보는 공간입니다.) 서로 예의를 지키며 존중하는 문화를 만들어가요. 질문글을 보고 내용을 이해할 수 있도록 남겨주시면 답변에 큰 도움이 될 것 같아요. (상세히 작성하면 더 좋아요! ) 먼저 유사한 질문이 있었는지 검색해보세요. 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. ================== 안녕하세요, 맛비님. 강의 잘 듣고 있습니다. AXI4-Stream 관련 질문이 있습니다. READY 신호가 optinal 이라고 하셨는데, 그렇다면 valid 신호만 1 로 두면, burst mode 로도 동작 가능한 것인지 궁금합니다. 만약 가능하더라도, 이러한 사용이 문서 상 권장되는 것인지도 궁금합니다! 감사합니다~!
맛비님 우선 저의 설계실력이 매우 많이 상승한 것같아서 감사드립니다. 다름이 아니라 40장 질문이 있어서 글을 쓰게 되었습니다. 40장에서 matbi_axis_adder.v에서 axi4 stream채널을 사용하였다고 하였는데 stream채널을 사용할때 ready valid handshake를 사용해야하는 것이 아닌가요? 왜 코드에 handshake를 사용하는 코드는 작성되지 않았는지 궁금합니다!! 그 이유가 혹시 dma에서 hand shake를 사용하기 때문에 굳이 필요없어서 그런건가?
현재 SPI MASTER 부분을 공부하고 있습니다. 제가 인터넷에 찾아보며 공부한 바로는 SPI 통신은 동기적 통신을 사용한다고 하는데, 해당 코드 전체적으로 always @(posedge clock or negedge reset)을 사용하는 것을 보면 이는 비동기 방식을 사용하여서 이에 대해 궁금해서 여쭤보고 싶습니다!
설계독학맛비's 실전 Verilog HDL Season 1 (Clock부터 Internal Memory까지)
해결했습니다. 해결 과정 아래 썼습니다. 감사합니다. 안녕하세요. 강의명: 필수과정! Xilinx Vivado 2022.2 설치 (Windows 11 의 WSL 기반. 설계엔지니어라면 리눅스환경과 친해져야해요!) 질문: 강의내용에서 mobaxterm상 보여주신 explorer.exe가 존재하지 않는데 리눅스설치를 잘못한 것일까요? 강의시간 7:50/23:13 ================= 현업자인지라 업무때문에 답변이 늦을 수 있습니다. (길어도 만 3일 안에는 꼭 답변드리려고 노력중입니다 ㅠㅠ) 강의에서 다룬 내용들의 질문들을 부탁드립니다!! (설치과정, 강의내용을 듣고 이해가 안되었던 부분들, 강의의 오류 등등) 이런 질문은 부담스러워요.. (답변거부해도 양해 부탁드려요) 개인 과제, 강의에서 다루지 않은 내용들의 궁금증 해소, 영상과 다른 접근방법 후 디버깅 요청, 고민 상담 등.. 글쓰기 에티튜드를 지켜주세요 (저 포함, 다른 수강생 분들이 함께보는 공간입니다.) 서로 예의를 지키며 존중하는 문화를 만들어가요. 질문글을 보고 내용을 이해할 수 있도록 남겨주시면 답변에 큰 도움이 될 것 같아요. (상세히 작성하면 더 좋아요! ) 먼저 유사한 질문이 있었는지 검색해보세요. 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. ==================
================= 현업자인지라 업무때문에 답변이 늦을 수 있습니다. (길어도 만 3일 안에는 꼭 답변드리려고 노력중입니다 ㅠㅠ) 강의에서 다룬 내용들의 질문들을 부탁드립니다!! (설치과정, 강의내용을 듣고 이해가 안되었던 부분들, 강의의 오류 등등) 이런 질문은 부담스러워요.. (답변거부해도 양해 부탁드려요) 개인 과제, 강의에서 다루지 않은 내용들의 궁금증 해소, 영상과 다른 접근방법 후 디버깅 요청, 고민 상담 등.. 글쓰기 에티튜드를 지켜주세요 (저 포함, 다른 수강생 분들이 함께보는 공간입니다.) 서로 예의를 지키며 존중하는 문화를 만들어가요. 질문글을 보고 내용을 이해할 수 있도록 남겨주시면 답변에 큰 도움이 될 것 같아요. (상세히 작성하면 더 좋아요! ) 먼저 유사한 질문이 있었는지 검색해보세요. 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. ================== 안녕하세요 handshake module에서 ~m_valid와 m_ready가 or처리 되어있는데 이부분이 궁금합니다. m_valid가 0이라면 master에서 data를 전송할 준비가 안되었다는것이고 m_ready는 slave side에서 data의 전송준비를 나타내는것으로 알고있는데, m_valid와 m_ready가 or로 묶여있어도 되지 않나요? m_valid가 1이고 m_ready가1일때 s_ready로 1이 전송되도 handshake가 일어날수있고, 기능적으로 문제가 없을듯 한데 왜 or 처리를 하는지 궁금하고, 왜 m_valid에 인버터를 붙인지 궁금합니다. 또한 학습을 하며 이해를 돕기위해 작성하였는데 제가 만든것인데 이처럼 동작하는것이 맞나요??
================= 현업자인지라 업무때문에 답변이 늦을 수 있습니다. (길어도 만 3일 안에는 꼭 답변드리려고 노력중입니다 ㅠㅠ) 강의에서 다룬 내용들의 질문들을 부탁드립니다!! (설치과정, 강의내용을 듣고 이해가 안되었던 부분들, 강의의 오류 등등) 이런 질문은 부담스러워요.. (답변거부해도 양해 부탁드려요) 개인 과제, 강의에서 다루지 않은 내용들의 궁금증 해소, 영상과 다른 접근방법 후 디버깅 요청, 고민 상담 등.. 글쓰기 에티튜드를 지켜주세요 (저 포함, 다른 수강생 분들이 함께보는 공간입니다.) 서로 예의를 지키며 존중하는 문화를 만들어가요. 질문글을 보고 내용을 이해할 수 있도록 남겨주시면 답변에 큰 도움이 될 것 같아요. (상세히 작성하면 더 좋아요! ) 먼저 유사한 질문이 있었는지 검색해보세요. 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. ================== 7분 50초쯤 우 상단의 타이밍도에서 SOF 시점에 첫번째 핸드쉐이크가 일어나는데 이전 강의의 stream design role 2번에 의해 핸드쉐이크가 일어나기 이전에 먼저 1로 뜬 신호(이 경우는 ready가 먼저 뜸)는 핸드쉐이크 전까지 1이 그대로 유지되어야 하는데 0으로 떨어지는 경우가 발생합니다. 이것은 왜이렇게 되는건가요? 그리고 핸드쉐이크 시점 근처에서만 1로 유지되면 되는거 아닌가요? design role 2번에 대해서 조금 더 자세히 설명해주시며 정말 감사하겠습니다!
================= 현업자인지라 업무때문에 답변이 늦을 수 있습니다. (길어도 만 3일 안에는 꼭 답변드리려고 노력중입니다 ㅠㅠ) 강의에서 다룬 내용들의 질문들을 부탁드립니다!! (설치과정, 강의내용을 듣고 이해가 안되었던 부분들, 강의의 오류 등등) 이런 질문은 부담스러워요.. (답변거부해도 양해 부탁드려요) 개인 과제, 강의에서 다루지 않은 내용들의 궁금증 해소, 영상과 다른 접근방법 후 디버깅 요청, 고민 상담 등.. 글쓰기 에티튜드를 지켜주세요 (저 포함, 다른 수강생 분들이 함께보는 공간입니다.) 서로 예의를 지키며 존중하는 문화를 만들어가요. 질문글을 보고 내용을 이해할 수 있도록 남겨주시면 답변에 큰 도움이 될 것 같아요. (상세히 작성하면 더 좋아요! ) 먼저 유사한 질문이 있었는지 검색해보세요. 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. ================== 안녕하세요. 맛비님. 항상 강의 잘 보고 있습니다. 제 PC에 WSL이 설치되지 않아 어쩔 수 없이 윈도우 상에서 실행하고 있는데 이번 FIFO 관련 실습을 진행하다 막히는 부분이 있어서 질문 남깁니다. 맛비님이 작성하신 소스를 불러와서 시뮬레이션을 실행시키면 무슨 이유인진 몰라도 제 환경에선 1000ns 이후에 시뮬레이션이 진행되지 않고 있습니다. TCP Console 메시지를 보면 중간에 시뮬레이션이 중단이라도 된 것 마냥 Start! 메시지는 나와도 Finish! 메시지는 안 나옵니다. 제가 추가적으로 무언가 설정해야 할까요?
================= 현업자인지라 업무때문에 답변이 늦을 수 있습니다. (길어도 만 3일 안에는 꼭 답변드리려고 노력중입니다 ㅠㅠ) 강의에서 다룬 내용들의 질문들을 부탁드립니다!! (설치과정, 강의내용을 듣고 이해가 안되었던 부분들, 강의의 오류 등등) 이런 질문은 부담스러워요.. (답변거부해도 양해 부탁드려요) 개인 과제, 강의에서 다루지 않은 내용들의 궁금증 해소, 영상과 다른 접근방법 후 디버깅 요청, 고민 상담 등.. 글쓰기 에티튜드를 지켜주세요 (저 포함, 다른 수강생 분들이 함께보는 공간입니다.) 서로 예의를 지키며 존중하는 문화를 만들어가요. 질문글을 보고 내용을 이해할 수 있도록 남겨주시면 답변에 큰 도움이 될 것 같아요. (상세히 작성하면 더 좋아요! ) 먼저 유사한 질문이 있었는지 검색해보세요. 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. ==================\ 안녕하세요 !! 우선 강의 너무 잘듣고 있습니다 1.제가 궁금한질문이 강의 초반 46초 강의자료에서는 A가 master로 valid신호를 output으로 내보내고, B가 slave로 ready신호를 내보내는데, 이 반대가 되어야 하는거 아닌가요?? Master에서 ready신호를 내보내, slave에서 data받을 준비가 되었다고 알고, handshake가 일어나도록 해야하는것으로 알고 있었는데 제가 알고있던것과 정 반대가 되어서 질문입니다. 두번째로 실습자료보면 i_hs와 o_hs로 input side와 output side에서 handshake가 일어난다고 보셨는데 이는 inputside에서 slave와 master가 있는것이고 outputside에서 slave와 master가 있어, 각 2개의 master와 slave가 존재하는 것인가요??
================= 현업자인지라 업무때문에 답변이 늦을 수 있습니다. (길어도 만 3일 안에는 꼭 답변드리려고 노력중입니다 ㅠㅠ) 강의에서 다룬 내용들의 질문들을 부탁드립니다!! (설치과정, 강의내용을 듣고 이해가 안되었던 부분들, 강의의 오류 등등) 이런 질문은 부담스러워요.. (답변거부해도 양해 부탁드려요) 개인 과제, 강의에서 다루지 않은 내용들의 궁금증 해소, 영상과 다른 접근방법 후 디버깅 요청, 고민 상담 등.. 글쓰기 에티튜드를 지켜주세요 (저 포함, 다른 수강생 분들이 함께보는 공간입니다.) 서로 예의를 지키며 존중하는 문화를 만들어가요. 질문글을 보고 내용을 이해할 수 있도록 남겨주시면 답변에 큰 도움이 될 것 같아요. (상세히 작성하면 더 좋아요! ) 먼저 유사한 질문이 있었는지 검색해보세요. 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. ================== 안녕하세요, 맛비님. 강의 잘 듣고 있습니다. 강의를 듣다가 현업 관련하여 궁금한 점이 있어 문의글 남깁니다. RDMA 와 WDMA 의 경우, HLS 를 통해 코드 생성을 하셨는데, 현업에서도 HLS 를 자주 쓰는지 궁금합니다. 제가 알기론 ASIC 설계 시에는 HLS 를 통해 생성된 코드가 timing 적인 부분에서는 이득이 있지만, area 나 power 측면에서는 optimization 이 잘 되지 않아 잘 쓰이지 않는 것으로 알고 있는데, 현업에서는 HLS에 대한 시선이 어떤지 궁금하여 여쭤봅니다. 감사합니다!
================= 현업자인지라 업무때문에 답변이 늦을 수 있습니다. (길어도 만 3일 안에는 꼭 답변드리려고 노력중입니다 ㅠㅠ) 강의에서 다룬 내용들의 질문들을 부탁드립니다!! (설치과정, 강의내용을 듣고 이해가 안되었던 부분들, 강의의 오류 등등) 이런 질문은 부담스러워요.. (답변거부해도 양해 부탁드려요) 개인 과제, 강의에서 다루지 않은 내용들의 궁금증 해소, 영상과 다른 접근방법 후 디버깅 요청, 고민 상담 등.. 글쓰기 에티튜드를 지켜주세요 (저 포함, 다른 수강생 분들이 함께보는 공간입니다.) 서로 예의를 지키며 존중하는 문화를 만들어가요. 질문글을 보고 내용을 이해할 수 있도록 남겨주시면 답변에 큰 도움이 될 것 같아요. (상세히 작성하면 더 좋아요! ) 먼저 유사한 질문이 있었는지 검색해보세요. 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. ================== 안녕하세요. 맛비님. 강의 잘 보고 있습니다. 궁금한 것이 있는데요. 전 강의에서 다룬 Valid / Ready I/F에서 Ready signal이 Combinational logic이어서 여러 개를 cascade하였을 때 클럭 타이밍을 맞추기 어려울 수 있어 이를 방지하기 위해 Skid buffer를 사용한다...로 이해하고 있습니다. Q. 이번 강의에서 왜 5개의 F/F을 사용했는지 이해가 잘 되지 않습니다. Valid side와 Data side F/F없이 Ready side에서만 F/F을 사용하여 Ready 신호를 PIPE/SKID 처리하면 되지 않나요?
================= 현업자인지라 업무때문에 답변이 늦을 수 있습니다. (길어도 만 3일 안에는 꼭 답변드리려고 노력중입니다 ㅠㅠ) 강의에서 다룬 내용들의 질문들을 부탁드립니다!! (설치과정, 강의내용을 듣고 이해가 안되었던 부분들, 강의의 오류 등등) 이런 질문은 부담스러워요.. (답변거부해도 양해 부탁드려요) 개인 과제, 강의에서 다루지 않은 내용들의 궁금증 해소, 영상과 다른 접근방법 후 디버깅 요청, 고민 상담 등.. 글쓰기 에티튜드를 지켜주세요 (저 포함, 다른 수강생 분들이 함께보는 공간입니다.) 서로 예의를 지키며 존중하는 문화를 만들어가요. 질문글을 보고 내용을 이해할 수 있도록 남겨주시면 답변에 큰 도움이 될 것 같아요. (상세히 작성하면 더 좋아요! ) 먼저 유사한 질문이 있었는지 검색해보세요. 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. ================== 맛비님. 안녕하세요. 강의 잘 보고 있습니다. 하나 궁금한 점이 있어서 질문 드립니다. Valid / Ready I/F는 마스터와 슬레이브 간 데이터 전송에 있어 문제가 없는지 서로 검사하고 데이터를 전송하는 것으로 이해하고 있습니다. Q. 약 6분 48초에 나오는 3 stage Handshake 모듈 m_ready와 ~m_valid가 왜 OR로 묶여있는지 이해가 되지 않습니다. m_ready가 만약 0이라면 마스터가 데이터 받을 준비가 되어있지 않다는 것으로 이해가 되는데, 이 때 m_valid가 만약 0이라면 마스터가 데이터 받을 준비가 되어있지 않아도 데이터 전송이 될 것이라고 생각이 들어서요. 왜 OR 처리가 되어있나요?
설계독학맛비's 실전 Verilog HDL Season 1 (Clock부터 Internal Memory까지)
코드 복사관련 질문드립니다. 여기서 :vs로 윈도우를 하나 더 만들고 ctrl+w w로 커서를 우측으로 바꾼후 :E로 선택페이지로간뒤 해당파일로와서 shift v로 드래그까진했는데 여기서 복사는 어떻게 하나요? 현상황에서 마우스로 드래그하면 왼쪽코드도 같이 잡혀서 마우스론 안되고 드래그만하면 보통 클립보드에 다 저장되는건줄알았는데 안되네요 ================= 현업자인지라 업무때문에 답변이 늦을 수 있습니다. (길어도 만 3일 안에는 꼭 답변드리려고 노력중입니다 ㅠㅠ) 강의에서 다룬 내용들의 질문들을 부탁드립니다!! (설치과정, 강의내용을 듣고 이해가 안되었던 부분들, 강의의 오류 등등) 이런 질문은 부담스러워요.. (답변거부해도 양해 부탁드려요) 개인 과제, 강의에서 다루지 않은 내용들의 궁금증 해소, 영상과 다른 접근방법 후 디버깅 요청, 고민 상담 등.. 글쓰기 에티튜드를 지켜주세요 (저 포함, 다른 수강생 분들이 함께보는 공간입니다.) 서로 예의를 지키며 존중하는 문화를 만들어가요. 질문글을 보고 내용을 이해할 수 있도록 남겨주시면 답변에 큰 도움이 될 것 같아요. (상세히 작성하면 더 좋아요! ) 먼저 유사한 질문이 있었는지 검색해보세요. 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. ==================