묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨디지털 회로설계 실무 : Computer Architecture 와 SoC 프로토콜 Digital IP 설계하기
buffer에 관하여 질문드립니다.
안녕하세요 삼코치님. 강의 중 궁금한 점이 있어 질문드립니다. 해당 강의에서 주어졌듯이wire not_in; assign out=~not_in;assign not_in=~in; 의 경우 중간에 인버터가 들어가게 되는데 이를 버퍼라고 할 수 있는건가요? wire not_in; assign out= not_in;assign not_in=in; 으로 했을 때 그림대로 라면 낫 인버터가 아니라 그냥 인버터가 들어간다고 생각되어서 질문드립니다!
-
해결됨디지털 회로설계 실무 : Computer Architecture 와 SoC 프로토콜 Digital IP 설계하기
강의 중 질문 있습니다!
안녕하세요 강의 너무 듣고 있습니다.강의 중에 궁금한 게 생겨서 질문 남깁니다!chapter4 6페이지에 xor gate를 한번에 만들어서 사용하는 tr개수를 8개로 줄일 수 있다고 하셨는데 ~A , ~B 입력을 위해서 inverter가 2개 더 필요해서 총 12개가 필요한 것 아닌지 궁금합니다
-
미해결설계독학맛비's 실전 Verilog HDL Season 2 (AMBA AXI4 완전정복)
protocol instance관련 질문입니다.
안녕하세요 맛비님 오랜만에 질문글을 올립니다.testbench상에서 확인할 때 편의를 위해 protocol instance를 도입해주신 점 감사합니다. 이 부분에서 하나 궁금한 점이 있습니다.protocol instance에서 #1, #2, #3..으로 나오는 부분이 waveform상 1cycle씩 delay되는 것을 확인할 수 있는데, 이 부분이 의미하는 바가 있을까요? 안녕하세요 🙂[1. 질문 챕터] : eg) 몇 장, 몇 분 몇 초 쯤. or 수강생 분들이 봤을 때 어디구나?! 할 수 있게 표기 부탁 드려요.[2. 질문 내용] : eg) 질문 내용을 자유롭게 작성해주시면 되겠습니다 🙂[3. 시도했던 내용, 그렇게 생각하는 이유] : eg) 설치영상은 이렇게 시도했는데 안되더라 or 본인의 생각을 적어주세요. (실습 내용 중에 이해가 안되거나 잘못된 내용이 있는데, 이러 이러한 근거로 나는 이렇게 생각합니다.) ================ 다음 내용은 읽어보시고 지우시면 됩니다.=================질문 내용을 작성해주실 때, 위의 3단계로 제가 이해할 수 있게 작성해주시면 정확한 답변을 드릴 수 있을 것 같아요!!현업자인지라 업무때문에 답변이 늦을 수 있습니다. (길어도 만 3일 안에는 꼭 답변드리려고 노력중입니다 ㅠㅠ)강의에서 다룬 내용들의 질문들을 부탁드립니다!! (설치과정, 강의내용을 듣고 이해가 안되었던 부분들, 강의의 오류 등등)이런 질문은 부담스러워요.. (답변거부해도 양해 부탁드려요)개인 과제, 강의에서 다루지 않은 내용들의 궁금증 해소, 영상과 다른 접근방법 후 디버깅 요청, 고민 상담 등..글쓰기 에티튜드를 지켜주세요 (저 포함, 다른 수강생 분들이 함께보는 공간입니다.)서로 예의를 지키며 존중하는 문화를 만들어가요.질문글을 보고 내용을 이해할 수 있도록 남겨주시면 답변에 큰 도움이 될 것 같아요. (상세히 작성하면 더 좋아요! )먼저 유사한 질문이 있었는지 검색해보세요.잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.==================
-
해결됨디지털 회로설계 실무 : Computer Architecture 와 SoC 프로토콜 Digital IP 설계하기
async fifo 질문있습니다!
async fifo 예제 코드는 bin counter의 값을 comb logic을 통해 gray형태로 바꾸어서 CDC를 수행하는 것으로 이해했습니다. 하지만 강의 내용에서 Comb logic의 출력을 그대로 CDC한다면, Passing short cdc signal 문제가 발생할 수 있다고 하셨습니다. 그래서 gray 형태를 register에 저장하고, 이 register의 출력을 cdc하는 형태로 바꾸려고 하는데, 이것이 올바른 방식인지 알고 싶습니다!예제 코드)
-
미해결설계독학맛비's 실전 Verilog HDL Season 2 (AMBA AXI4 완전정복)
RDMA 코드 질문
안녕하세요 🙂RDMA 코드 중에서, fifo의 출력으로 받아오는 ARLEN_r 이 어디에서 쓰이는건지 모르겠습니다 🤔 38장 2부 34분쯤에 이에대한 설명이 나오는데, "다음 transaction의 ARLEN이 셋팅된다" 하셨는데 어떻게 셋팅 되는건지 관련 코드를 못찾겠습니다..!그 외 r_burst_cnt_r 도 같은 맥락으로 어디에서? 이게 쓰이는건지 코드에서 찾을 수가 없어서 도움 요청드립니다!==================
-
미해결설계독학맛비's 실전 Verilog HDL Season 2 (AMBA AXI4 완전정복)
axi4 bus의 data bit width 관련
안녕하세요 해당 캡쳐 화면에서는 Read data와 Write data가 처음 4cycle을 제외하곤 이후에 동시에 움직이고 있습니다. 그렇다면 읽는거 64b, 쓰는거 64b -> 합쳐서 128b로 AXI4 Bus Data Width를 사용하고 있다고 생각해도 되는 것일까요? 앞서 fpga 시즌1 강의에서 AXI4 lite를 사용할때는 '다 읽고' -> '다 연산' -> '다 쓰기' 이렇게 나누어서 진행했던터라 axi4 lite에 대해서도 궁금한 점이 생겼는데요! 위와 같이 read data channel(R), write data channel(W)이 동시에 일할수도 있는건가요?? 그럼 32b 데이터 2개가 bus를 동시에 쓰는 거니까 64b bus data width 인건가요?? 질의응답 해주시는 노고에 정말 감사드립니다 ㅜㅜ
-
미해결설계독학맛비's 실전 Verilog HDL Season 2 (AMBA AXI4 완전정복)
combinational, sequential 로직을 같은 always 문에 쓰는 경우와 분리하는 경우의 차이
안녕하세요 🙂[1. 질문 챕터] : eg) 몇 장, 몇 분 몇 초 쯤. or 수강생 분들이 봤을 때 어디구나?! 할 수 있게 표기 부탁 드려요.[2. 질문 내용] : eg) 질문 내용을 자유롭게 작성해주시면 되겠습니다 🙂[3. 시도했던 내용, 그렇게 생각하는 이유] : eg) 설치영상은 이렇게 시도했는데 안되더라 or 본인의 생각을 적어주세요. (실습 내용 중에 이해가 안되거나 잘못된 내용이 있는데, 이러 이러한 근거로 나는 이렇게 생각합니다.) 안녕하세요 맛비님,저는 학교와 회사에서(디지털 설계하는 회사는 아닙니다) combinational, sequential 로직을 하나의 always 문 안에 작성하는 것은 지양하라고 배웠습니다예를 들어always @(posedge clk) a <= a+1;이렇게 작성하지 말고always @(*) nxt_a=a+1; always @(posedge clk) a <= nxt_a;이런식으로 나눠서 작성하라는 의미였는데요 대부분의 카운터 예제에서는 오히려 분리된 것보단 첫번째처럼 합쳐진 형태로 작성된 걸 더 많이 봤습니다. 맛비님 예제에서도 그렇구요.반면에 FIFO에서는 wprt, rptr를 두번째 경우 처럼 분리하여 작성하셨더라구요분리하거나 합치는데에 기준이 따로 있는건가요? 이유가 궁금합니다 ================ 다음 내용은 읽어보시고 지우시면 됩니다.=================질문 내용을 작성해주실 때, 위의 3단계로 제가 이해할 수 있게 작성해주시면 정확한 답변을 드릴 수 있을 것 같아요!!현업자인지라 업무때문에 답변이 늦을 수 있습니다. (길어도 만 3일 안에는 꼭 답변드리려고 노력중입니다 ㅠㅠ)강의에서 다룬 내용들의 질문들을 부탁드립니다!! (설치과정, 강의내용을 듣고 이해가 안되었던 부분들, 강의의 오류 등등)이런 질문은 부담스러워요.. (답변거부해도 양해 부탁드려요)개인 과제, 강의에서 다루지 않은 내용들의 궁금증 해소, 영상과 다른 접근방법 후 디버깅 요청, 고민 상담 등..글쓰기 에티튜드를 지켜주세요 (저 포함, 다른 수강생 분들이 함께보는 공간입니다.)서로 예의를 지키며 존중하는 문화를 만들어가요.질문글을 보고 내용을 이해할 수 있도록 남겨주시면 답변에 큰 도움이 될 것 같아요. (상세히 작성하면 더 좋아요! )먼저 유사한 질문이 있었는지 검색해보세요.잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.==================
-
미해결설계독학맛비's 실전 Verilog HDL Season 2 (AMBA AXI4 완전정복)
AXI stream 관련 질문
안녕하세요 🙂RDMA - IP - WDMA 사이에서 데이터 전송할 때 AXI stream을 사용하는 이유는 ready/valid 를 사용함으로써 data의 안정성을 보장하기 위함인가요? 데이터 이동 경로를 설계자 마음대로 바꿔도 되는건지도 궁금합니다. 예를들어 Wire로 연결...AXI lite, standard는 PL영역 밖의 장치 사이에서 사용하였는데요, stream 같은 경우에는 PL영역 내부에서의 데이터 이동에 쓰이지 않습니까 stream은 일반적으로 PL내부에서 많이 사용되나요? 질문이 많았는데.. 항상 좋은 강의와 질의응답에 감사드립니다!
-
미해결설계독학맛비's 실전 Verilog HDL Season 2 (AMBA AXI4 완전정복)
Unbalancing latency can make deadlock부분 질문입니다
안녕하세요 🙂맛비님좋은 강의보면서 저의 개인적인 궁금증을 잘 풀어가고 있습니다. 질문이 하나 있습니다. HDL 25장 10분쯤 나오는 내용입니다.Unbalancing latency can make deadlock부분에서 deadlock이라는 것을 운영체제 과목에서는,"상호배제, 점유와 대기, 비선점, 환형대기와 같은 상황이 모두 충족할 때, 발생할 수 있다" 라고 배웠습니다. 제가 생각하기에는 강의 영상에서 나오는 이런 모든 상황이 충족되지는 않아보이는데, 단순 5cycle stall만 발생하면 channel merge하는 것이 문제가 없어 보입니다... 단순히 stall이 발생하는 것과 system상 deadlock이 발생해서, 다음 step으로 아예 나아가지 못하는 것에는 큰 차이가 있다고 생각합니다. HW상에서 deadlock이 발생할 수 있는 명확한 예시가 있을까요? 감사합니다.
-
미해결설계독학맛비's 실전 Verilog HDL Season 2 (AMBA AXI4 완전정복)
RDMA 안에 input [31:0] mem; 이 나타내는 값
안녕하세요 🙂 강의 잘 보고 있습니다[1. 질문 챕터] : 38장-2부 6분때[2. 질문 내용] : 표나 이전 강의에서는 input [31:0] mem; 이 최종 주소를 나타낸다고 했는데 강의나 주석에서는 base address를 타나낸다고 하네요. 어느쪽이 맞는 것인가요?🙂[3. 시도했던 내용, 그렇게 생각하는 이유] : 어느쪽이 맞는 것인가요? ================ 다음 내용은 읽어보시고 지우시면 됩니다.=================질문 내용을 작성해주실 때, 위의 3단계로 제가 이해할 수 있게 작성해주시면 정확한 답변을 드릴 수 있을 것 같아요!!현업자인지라 업무때문에 답변이 늦을 수 있습니다. (길어도 만 3일 안에는 꼭 답변드리려고 노력중입니다 ㅠㅠ)강의에서 다룬 내용들의 질문들을 부탁드립니다!! (설치과정, 강의내용을 듣고 이해가 안되었던 부분들, 강의의 오류 등등)이런 질문은 부담스러워요.. (답변거부해도 양해 부탁드려요)개인 과제, 강의에서 다루지 않은 내용들의 궁금증 해소, 영상과 다른 접근방법 후 디버깅 요청, 고민 상담 등..글쓰기 에티튜드를 지켜주세요 (저 포함, 다른 수강생 분들이 함께보는 공간입니다.)서로 예의를 지키며 존중하는 문화를 만들어가요.질문글을 보고 내용을 이해할 수 있도록 남겨주시면 답변에 큰 도움이 될 것 같아요. (상세히 작성하면 더 좋아요! )먼저 유사한 질문이 있었는지 검색해보세요.잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.==================
-
미해결설계독학맛비's 실전 Verilog HDL Season 2 (AMBA AXI4 완전정복)
locked access의 잠금 범위
안녕하세요 🙂좋은 강의 감사드립니다[1. 질문 챕터] : 36강 3:33[2. 질문 내용] : locked access 에서 interconnect 전체를 잠그는 것인가요? 아니면 타겟 slave만 잠그는 것인가요?[3. 시도했던 내용, 그렇게 생각하는 이유] : exclusive access는 slave의 특정 region만 잠그는 것으로 명확하게 이해가 되었습니다. 그런데 locked access 부분에서는 둘 중 어떤 것을 의미하는지를 잘 모르겠습니다. ================ 다음 내용은 읽어보시고 지우시면 됩니다.=================질문 내용을 작성해주실 때, 위의 3단계로 제가 이해할 수 있게 작성해주시면 정확한 답변을 드릴 수 있을 것 같아요!!현업자인지라 업무때문에 답변이 늦을 수 있습니다. (길어도 만 3일 안에는 꼭 답변드리려고 노력중입니다 ㅠㅠ)강의에서 다룬 내용들의 질문들을 부탁드립니다!! (설치과정, 강의내용을 듣고 이해가 안되었던 부분들, 강의의 오류 등등)이런 질문은 부담스러워요.. (답변거부해도 양해 부탁드려요)개인 과제, 강의에서 다루지 않은 내용들의 궁금증 해소, 영상과 다른 접근방법 후 디버깅 요청, 고민 상담 등..글쓰기 에티튜드를 지켜주세요 (저 포함, 다른 수강생 분들이 함께보는 공간입니다.)서로 예의를 지키며 존중하는 문화를 만들어가요.질문글을 보고 내용을 이해할 수 있도록 남겨주시면 답변에 큰 도움이 될 것 같아요. (상세히 작성하면 더 좋아요! )먼저 유사한 질문이 있었는지 검색해보세요.잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.==================
-
미해결디지털 회로설계 실무 : Computer Architecture 와 SoC 프로토콜 Digital IP 설계하기
QDR에 대한 질문
DDR2에 대한 설명을 해주실 때 QDR이 적용되었다고 설명해주셨는데,SK하이닉스 뉴스룸에서 GDDR DRAM 관련 자료를 찾아보다 GDDR5부터 QDR이 적용되었다고 하는 게시물를 봤습니다.해당 게시물에서는 시스템 클록(CK)과 이를 두 배로 높인 데이터 클록(WCK)을 모두 사용하여 클록 속도를 4배로 높여준다고 설명하고 있습니다.강의에서 설명해주신 페이즈가 다른 클록 2개를 쓰는 QDR과는 조금 다른데 그렇다면 DDR2부터 적용된 QDR과 GDDR5에 적용된 QDR은 용어는 같지만 다른 개념인가요?게시물 링크:https://news.skhynix.co.kr/post/go-beyond-graphics내용: GDDR6의 놀라운 점은 더 있습니다. 바로 고도화된 ‘DDR’입니다. DDR이 클록 한 번에 두 번의 데이터를 내보낸다고 했는데요. GDDR6는 시스템 클록(CK)과 이를 두 배로 높인 데이터 클록(WCK)을 모두 사용하는데, 이 과정에서 클록을 4배로 높여줍니다. ‘쿼드 데이터 레이트(Quad Data Rate·QDR)’ 기술을 이용하는 것이죠. 참고로 QDR는 그래픽 메모리에서 GDDR5부터 적용되기 시작했습니다. 정리하면 GDDR5와 GDDR6의 CK가 1.75Gbps라고 했을 때, GDDR5는 최종 데이터(DQ) 속도가 7Gbps에 그칩니다. 이와 달리 GDDR6의 경우 14Gbps까지 올릴 수 있습니다.
-
해결됨디지털 회로설계 실무 : Computer Architecture 와 SoC 프로토콜 Digital IP 설계하기
TPSRAM 질문있습니다!
SRAM 에서는 Write할 때 입력 data를 넣고 1클럭 뒤에 memory에 저장이되고, Read할 때는 주소를 불러오자마자 바로 Read가 됐던걸 확인할 수 있었는데,질문1) TPSRAM에서의 동작은 wa에 wd를 넣고 1클럭 후에 memory에 write 값이 저장되는 부분은 동일한건가요? 질문2) SRAM에서와 달리 ra에서 rd가 나오기까지 1클럭이 늦게 나오는 이유는 F/F을 하나 거치기 때문인지도 궁금합니다!
-
미해결설계독학맛비's 실전 Verilog HDL Season 2 (AMBA AXI4 완전정복)
Window 환경에서 시뮬레이션 진행 시 axi_vip_pkg가 선언되지 않았다고 합니다.
회사 사정상 리눅스 설치가 용이하지 않아서 윈도우 환경에서 하려고 합니다.AXI_VIP 시뮬레이션을 하려고 하는데,AXI_VIP_PKG가 선언되지 않았다는 에러 메시지가 뜨는데요.혹시 윈도우 환경에서 시뮬레이션을 하려면 어떤 선행 작업이 필요할 까요?
-
해결됨설계독학맛비's 실전 Verilog HDL Season 2 (AMBA AXI4 완전정복)
테스트 벤치에 질문이 있습니다.
안녕하세요 덕분에 AXI4에 대해 많이 배웠고 또 검증하는데 있어서 많은 경험을 쌓았습니다.40장 영상을 토대로 맛비님께서 알려주신 빌드의 형식이 아닌, block design 형태로 만들어서 좀더 직관성 있게 만들어보고자 시도 중에 있습니다. (차후 다른 커스텀ip를 불러와 파라미터를 block쪽에서 수정 및 재활용)따라서 블럭 디자인은 다음과 같고 최상위 TB의 인스턴스 및 ctrl, m00_axi 경로 수정을 해주었습니다. (사용하지않는 인스턴스 및 wire 삭제)결과적으로 말씀드리면 기존과 동일한 결과값을 보이며 마지막 에러또한 뜨지않아 정상적이라 생각합니다.하지만 Tcl Console 창에서 경고가 대량으로 발생하였는데 아마 Cache Value 문제라 생각됩니다.Warning: [AW_REACTIVE_0] (axi_vip_pkg.\axi_transaction::set_cache ) 1935000 ns : Attempted to send CACHE(0x0000) when SUPPORTS_NARROW is low. According to UG1037,AxCACHE[1] has to be 1 to ensure that any downstream upsizer can fully pack data up to wider widths Time: 1935 us Iteration: 1 Process: /axi_vip_pkg/axi_slv_wr_driver(C_AXI_WDATA_WIDTH=64,C_AXI_RDATA_WIDTH=64,C_AXI_WID_WIDTH=1,C_AXI_RID_WIDTH=1,C_AXI_AWUSER_WIDTH=1,C_AXI_WUSER_WIDTH=1,C_AXI_BUSER_WIDTH=1,C_AXI_ARUSER_WIDTH=1,C_AXI_RUSER_WIDTH=1,C_AXI_SUPPORTS_NARROW=0)::get_and_drive/GET_AND_DRIVE Scope: axi_vip_pkg.\axi_transaction::set_cache File: /tools/Xilinx/Vivado/2023.1/data/xilinx_vip/hdl/axi_vip_pkg.sv Line: 2909올라간 코드에서는 Cache Value는 형식상 있을뿐 사용하지않는걸로 알고있는데혹시 저러한 경고문을 접해본 경험이 있으신가요?터무니없는 질문 봐주셔서 감사합니다..
-
해결됨디지털 회로설계 실무 : Computer Architecture 와 SoC 프로토콜 Digital IP 설계하기
Wrapper 사용하는 이유에 대해 궁금합니다.
모듈을 따로 작성하고 따로 인스턴스화 하는 대신 Wrapper을 사용하는 이유는 합성/검증 과정에서 중간에 있는 인스턴스화 코드 부분을 수정하기보다는 맨 윗줄을 `define 부분만 수정하는 것(parameter와 유사한 이유)이 편리해서인가요?
-
해결됨디지털 회로설계 실무 : Computer Architecture 와 SoC 프로토콜 Digital IP 설계하기
MEM/WB 질문 있습니다
안녕하세요! MEM/WB 레지스터에 대해, data memory에서 나온 값과 ALU에서 나온 값의 타이밍에 대해 궁금한 점 있어서 질문 드립니다. EX/MEM 레지스터에서 나온 ALU 연산 결과는 다음 사이클에 바로 MEM/WB 레지스터로 이동하는 것은 이해했습니다.하지만, Data memory에서 값을 가져오는 경우, EX/MEM에서 Address를 받고 다음 사이클에서 값이 나오고, 그 다음 사이클에 해당 값이 MEM/WB로 이동하여 두 사이클이 걸린다고 생각했습니다.이러면 data load를 하는 경우는 5 cycle이 아닌 6 cycle이 소모된다고 생각했는데, 이렇게 생각하는 것이 맞는지 궁금합니다. 맞다면, Instruction 별로 소모되는 사이클이 차이가 생길 수도 있는지 궁금합니다.질문 읽어주셔서 감사합니다!
-
해결됨디지털 회로설계 실무 : Computer Architecture 와 SoC 프로토콜 Digital IP 설계하기
TPSRAM 구조 관련하여 질문 있습니다!
8T TPSRAM 구조를 설명하는 부분에서, BL와 BLB 방향 관련하여 질문이 있습니다.RWL = 1 RBL = 1이 되어 BL값을 볼 수 있는 상태에서, 해당 구조에서는 BL = 1이 되면 M5가 켜져서 0을 읽는 부분이 제가 생각하는 동작과 반대로 된다고 생각했습니다.만약 BL = 1인 상황에서 1의 값을 읽으려면 반대 방향의 인버터(M3, M1) 출력값인 BLB을 M5와 연결돼야 한다고 생각했는데, 이것이 맞는 생각인지 궁금합니다. 질문 읽어주셔서 감사합니다!
-
해결됨디지털 회로설계 실무 : Computer Architecture 와 SoC 프로토콜 Digital IP 설계하기
dram 질문
마지막 그림으로 질문하겠습니다Mat이 모여서 Bank을 구성하고Bank Group을 Chip으로 보며저렇게 Chip이 4개 앞, 뒤로 있으면 DIMM구조 인것으로 이해했습니다.여기서 row, col은 Bank Group 하나에 대해서 선택하는 것이고, Bank address는 Chip을 선택하는게 맞나요 ??(그런데 cell와 chip은 주소가 없다고 하셔서 잘 이해가 되지않습니다) 질문2) active, row access에서 CAS도 떠야 이제 Activate가 됐다고 하셨는데, 이때 CAS = Low인거죠? 그리고 여기서 we도 떠야한다고 하셨는데 그럼 we가 1이면 write 0이면 read동작을 수행하나요?
-
해결됨디지털 회로설계 실무 : Computer Architecture 와 SoC 프로토콜 Digital IP 설계하기
PCB HW 설계직무에서 디지털 설계 경험 어필하기
안녕하세요. 항상 좋은 강의 잘 듣고있습니다.다름이 아니라, PCB HW 설계 직무에 대한 관심이 있는 상태로 강의를 듣다보니 질문이 생겼는데요,PCB HW 설계는 PCB위에 IC, 능동소자, 통신 인터페이스등 다양한 소자를 배치해서 회로가 원하는 구동을 할 수 있게 설계하는 직무라고 알고 있습니다.질문) 그럼 FPGA를 직접 설계한다는 것은 IC를 직접 설계하는 것이고, FPGA를 검증용으로 쓴다는 것은 필요한 IC Chip을 구매하기 전에 미리 검증 한다는 의미로 이해해도 될까요?바쁘시겠지만 회신주시면 많은 도움이 될 것 같습니다. 감사합니다.