묻고 답해요
130만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결설계독학맛비's 실전 Verilog HDL Season 2 (AMBA AXI4 완전정복)
SIMULATION 시간 관련 질문 드립니다.
=================현업자인지라 업무때문에 답변이 늦을 수 있습니다. (길어도 만 3일 안에는 꼭 답변드리려고 노력중입니다 ㅠㅠ)강의에서 다룬 내용들의 질문들을 부탁드립니다!! (설치과정, 강의내용을 듣고 이해가 안되었던 부분들, 강의의 오류 등등)이런 질문은 부담스러워요.. (답변거부해도 양해 부탁드려요)개인 과제, 강의에서 다루지 않은 내용들의 궁금증 해소, 영상과 다른 접근방법 후 디버깅 요청, 고민 상담 등..글쓰기 에티튜드를 지켜주세요 (저 포함, 다른 수강생 분들이 함께보는 공간입니다.)서로 예의를 지키며 존중하는 문화를 만들어가요.질문글을 보고 내용을 이해할 수 있도록 남겨주시면 답변에 큰 도움이 될 것 같아요. (상세히 작성하면 더 좋아요! )먼저 유사한 질문이 있었는지 검색해보세요.잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.==================안녕하세요. 맛비님.항상 강의 잘 보고 있습니다.제 PC에 WSL이 설치되지 않아 어쩔 수 없이 윈도우 상에서 실행하고 있는데 이번 FIFO 관련 실습을 진행하다 막히는 부분이 있어서 질문 남깁니다.맛비님이 작성하신 소스를 불러와서 시뮬레이션을 실행시키면 무슨 이유인진 몰라도 제 환경에선 1000ns 이후에 시뮬레이션이 진행되지 않고 있습니다.TCP Console 메시지를 보면 중간에 시뮬레이션이 중단이라도 된 것 마냥 Start! 메시지는 나와도 Finish! 메시지는 안 나옵니다.제가 추가적으로 무언가 설정해야 할까요?
-
미해결설계독학맛비's 실전 Verilog HDL Season 2 (AMBA AXI4 완전정복)
valid/ready handshake에서 질문있습니다
=================현업자인지라 업무때문에 답변이 늦을 수 있습니다. (길어도 만 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가 존재하는 것인가요??
-
미해결설계독학맛비's 실전 FPGA를 이용한 HW 가속기 설계 (LED 제어부터 Fully Connected Layer 가속기 설계까지)
[Board 49-71] 보드가 잡히지않는다고 에러가 뜹니다.
우선 보드를 추가하는 과정에서 동영상과 달리 오른쪽 상단에 추가버튼이 없어 고민하는 중에 refresh 버튼을 눌러보니 사진처럼 생성되어 다운로드하고 넘겼습니다 이것이 문제가 되었는지 Generate Bitstream 을 하는 과정에서 에러가 발생되었습니다. 그리고 제 파일에는 zybo z7파일을 넣을 board_parts가 없고 다른 폴더에 있습니다.
-
미해결설계독학맛비's 실전 Verilog HDL Season 2 (AMBA AXI4 완전정복)
현업에서의 HLS
=================현업자인지라 업무때문에 답변이 늦을 수 있습니다. (길어도 만 3일 안에는 꼭 답변드리려고 노력중입니다 ㅠㅠ)강의에서 다룬 내용들의 질문들을 부탁드립니다!! (설치과정, 강의내용을 듣고 이해가 안되었던 부분들, 강의의 오류 등등)이런 질문은 부담스러워요.. (답변거부해도 양해 부탁드려요)개인 과제, 강의에서 다루지 않은 내용들의 궁금증 해소, 영상과 다른 접근방법 후 디버깅 요청, 고민 상담 등..글쓰기 에티튜드를 지켜주세요 (저 포함, 다른 수강생 분들이 함께보는 공간입니다.)서로 예의를 지키며 존중하는 문화를 만들어가요.질문글을 보고 내용을 이해할 수 있도록 남겨주시면 답변에 큰 도움이 될 것 같아요. (상세히 작성하면 더 좋아요! )먼저 유사한 질문이 있었는지 검색해보세요.잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.================== 안녕하세요, 맛비님. 강의 잘 듣고 있습니다. 강의를 듣다가 현업 관련하여 궁금한 점이 있어 문의글 남깁니다. RDMA 와 WDMA 의 경우, HLS 를 통해 코드 생성을 하셨는데, 현업에서도 HLS 를 자주 쓰는지 궁금합니다. 제가 알기론 ASIC 설계 시에는 HLS 를 통해 생성된 코드가 timing 적인 부분에서는 이득이 있지만, area 나 power 측면에서는 optimization 이 잘 되지 않아 잘 쓰이지 않는 것으로 알고 있는데, 현업에서는 HLS에 대한 시선이 어떤지 궁금하여 여쭤봅니다. 감사합니다!
-
미해결설계독학맛비's 실전 FPGA를 이용한 HW 가속기 설계 (LED 제어부터 Fully Connected Layer 가속기 설계까지)
21강 FC Core TB가 실행되지 않습니다.
맛비님 안녕하세요. 21강 FC Core를 tb_data_mover_bram 파일을 통해서 vivado에 시뮬레이션을 돌려보았습니다. 제가 베릴로그 시즌1 듣지 않아서, WSL 환경이나 Make 파일 빌드가 되지 않아, 따로 Python으로 Text 파일에 4열 4096행으로 숫자를 0~255로 랜덤으로 생성하여서 파일명을 맛비님과 똑같이 해놓았습니다. 그리고 파일 저장 장소를 따로 만들어 놓아서, f_in_node = $fopen("C:/Users/PEL/Desktop/Chapter_21_prj_fc_core_sim/HW/golden_refc/cref_c_rand_input_node.txt", "rb"); f_in_wegt = $fopen("C:/Users/PEL/Desktop/Chapter_21_prj_fc_core_sim/HW/golden_refc/ref_c_rand_input_wegt.txt", "rb"); 이렇게 설정을 해놓았습니다.그런데 이와같이 i_node 값과 i_wegt 값을 인식하지 못하여, 결과가 나오지 않은것 같아 뭐가 문제인지 싶어서 이렇게 질문 남기게 되었습니다. 생각되는 오류로는 fopen시 파일 위치를 잘못 적었다 ...? 맛비님처럼 make file 과 리눅스 환경에서 빌드한것이 아닌, 따로 window에서 vivado tool을 사용하여서 제가 (FC Core / Data_mover_bram / truebram + tb_data_mover_bram) 이렇게 source file을 올려서 빌드했기 때문에 어디서인가 오류가 발생했다.이렇게 두가지로 생각하는데 맛비님이 보시기엔 어디서 오류가 난것일까요 ㅜㅜ..아래는 제가 생성해놓은 텍스트 파일입니다.
-
미해결설계독학맛비's 실전 FPGA를 이용한 HW 가속기 설계 (LED 제어부터 Fully Connected Layer 가속기 설계까지)
AXI4-Lite로 Read가 되지 않습니다.
안녕하세요 맛비님, 좋은 강의 해주셔서 항상 감사드립니다.저는 현재 설계했던 연산기 core를 검증하기 위해 AXI4-lite 인터페이스를 통해 input과 weight를 write하고, output값을 read하는 모듈을 만들고 있습니다. 맛비님 강의에서처럼 bram을 사용하여 메모리를 통해 읽는다면 문제가 되지 않았겠지만, 메모리를 사용하지 않고 이미 설계해논 연산기 core 검증을 위해 무식하게 output값을 read해야 하는 상황입니다. write 할 때, led를 점등하게 하여 write는 잘 되는것은 확인 하였는데, output값이 0으로만 출력되더라고요.core(o_out_c) --> top --> myip_v1_0. --> myip_v_1_0_S00_AXI(i_out_c) 로 값이 이동합니다.다음과 같이 slave register 0~6은 write전용, 7은 read전용으로 선언하였고, 코어 bitwidth가 16비트라 AXI와의 호환을 위해 32비트로 늘려주었습니다.Simulation을 통해 i_out_c에 강제로 값을 넣어주어도 axi_rdata는 읽히지 않더라고요.(Ready, Valid 모두 1 확인 했습니다)0x1c번지에 write한 값을 바로 read할 때는 올바르게 출력되는데,read only로 선언하면 왜 읽히지 않는 걸까요..?혹시 메모리를 통해 저장해논 값만 읽을 수 있는 걸까요? AXI 구조를 제대로 이해하지 못했기 때문일까요..? 양해 부탁드립니다...
-
미해결설계독학맛비's 실전 Verilog HDL Season 2 (AMBA AXI4 완전정복)
Skid buffer에서 Valid side, Data side에 F/F이 존재하는 이유
=================현업자인지라 업무때문에 답변이 늦을 수 있습니다. (길어도 만 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 처리하면 되지 않나요?
-
미해결설계독학맛비's 실전 Verilog HDL Season 2 (AMBA AXI4 완전정복)
m_valid와 m_ready가 OR 처리되어있는 이유가 궁금합니다.
=================현업자인지라 업무때문에 답변이 늦을 수 있습니다. (길어도 만 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 문의하기를 이용해주세요.==================
-
해결됨설계독학맛비's 실전 Verilog HDL Season 1 (Clock부터 Internal Memory까지)
완전 기초?질문
지금 현재 ch1파일에있는데이전파일(Matbi_VerilogHDL_Season1)로 가거나 ch2파일로 가는 코드가 있을까요? +실수로 저창에서 우클릭하면 클립보드에 복사한코드가 다 붙여넣기되는데 이때 딜리트키 꾹누르는거 말고 한번에 삭제하는 방법도 있을까요? =================현업자인지라 업무때문에 답변이 늦을 수 있습니다. (길어도 만 3일 안에는 꼭 답변드리려고 노력중입니다 ㅠㅠ)강의에서 다룬 내용들의 질문들을 부탁드립니다!! (설치과정, 강의내용을 듣고 이해가 안되었던 부분들, 강의의 오류 등등)이런 질문은 부담스러워요.. (답변거부해도 양해 부탁드려요)개인 과제, 강의에서 다루지 않은 내용들의 궁금증 해소, 영상과 다른 접근방법 후 디버깅 요청, 고민 상담 등..글쓰기 에티튜드를 지켜주세요 (저 포함, 다른 수강생 분들이 함께보는 공간입니다.)서로 예의를 지키며 존중하는 문화를 만들어가요.질문글을 보고 내용을 이해할 수 있도록 남겨주시면 답변에 큰 도움이 될 것 같아요. (상세히 작성하면 더 좋아요! )먼저 유사한 질문이 있었는지 검색해보세요.잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.==================
-
미해결설계독학맛비's 실전 Verilog HDL Season 2 (AMBA AXI4 완전정복)
24장 12:34초 부분 시뮬레이션 핸드쉐이크 발생 타이밍 질문입니다!
=================현업자인지라 업무때문에 답변이 늦을 수 있습니다. (길어도 만 3일 안에는 꼭 답변드리려고 노력중입니다 ㅠㅠ)강의에서 다룬 내용들의 질문들을 부탁드립니다!! (설치과정, 강의내용을 듣고 이해가 안되었던 부분들, 강의의 오류 등등)이런 질문은 부담스러워요.. (답변거부해도 양해 부탁드려요)개인 과제, 강의에서 다루지 않은 내용들의 궁금증 해소, 영상과 다른 접근방법 후 디버깅 요청, 고민 상담 등..글쓰기 에티튜드를 지켜주세요 (저 포함, 다른 수강생 분들이 함께보는 공간입니다.)서로 예의를 지키며 존중하는 문화를 만들어가요.질문글을 보고 내용을 이해할 수 있도록 남겨주시면 답변에 큰 도움이 될 것 같아요. (상세히 작성하면 더 좋아요! )먼저 유사한 질문이 있었는지 검색해보세요.잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.================== 안녕하세요 맛비님 24장 12:34초 부분에서 SKID상태로 바뀌기 위해 필요한 2번의 핸드쉐이크 중 첫번째 핸드쉐이크가 발생하는 부분이 185ns가 아닌 195ns가 되어야 하지 않나싶은데 제가 잘못 알고 있는 것인지 여쭤봅니다.근거는1) 핸드쉐이크가 이루어지면 skid 모듈의 valid reg에 1이 저장되어야하는데 그 시점이 185ns가 아닌 195ns이기 때문이고2) 185ns에서 FF에 입력되는 s_valid는 클럭의 엣지와 동시에 들어오게 되는데 이 때는 파형에서의 s_valid 의 value값은 1로 뜨지만 실제로 계산 될 때 쓰이는 값은 이전 상태인 0으로 계산되기에 아직 핸드쉐이크가 일어나지 않아 1번 근거 대로 valid reg가 변화하지 않았다는 것입니다.이상의 근거들에서 잘못된 부분이 있으면 피드백 부탁드리며 현업중이신데도 답변을 매번 빨리 해주시는거 같아 진심으로 감사드립니다 이상입니다!
-
미해결설계독학맛비's 실전 Verilog HDL Season 2 (AMBA AXI4 완전정복)
skid buffer 안의 m_ready 신호와 ready 신호의 차이
=================현업자인지라 업무때문에 답변이 늦을 수 있습니다. (길어도 만 3일 안에는 꼭 답변드리려고 노력중입니다 ㅠㅠ)강의에서 다룬 내용들의 질문들을 부탁드립니다!! (설치과정, 강의내용을 듣고 이해가 안되었던 부분들, 강의의 오류 등등)이런 질문은 부담스러워요.. (답변거부해도 양해 부탁드려요)개인 과제, 강의에서 다루지 않은 내용들의 궁금증 해소, 영상과 다른 접근방법 후 디버깅 요청, 고민 상담 등..글쓰기 에티튜드를 지켜주세요 (저 포함, 다른 수강생 분들이 함께보는 공간입니다.)서로 예의를 지키며 존중하는 문화를 만들어가요.질문글을 보고 내용을 이해할 수 있도록 남겨주시면 답변에 큰 도움이 될 것 같아요. (상세히 작성하면 더 좋아요! )먼저 유사한 질문이 있었는지 검색해보세요.잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.================== 안녕하세요, 좋은 강의 감사합니다. skid buffer 안의 ready 신호에 대해 헷갈리는 부분이 있어 질문을 올립니다. ready 신호는 master side의 모듈이 data를 받을 준비가 되었음을 의미한다고 이해가 되며, 이는 m_ready 신호와 유사한 의미를 가진다고 생각이 됩니다. 하지만, 구현된 코드에서는 m_ready 신호와 동일한 신호로 사용하지 않는데, 두 신호의 차이를 확인할 수 있는 case가 있는지 궁금합니다.감사합니다!
-
미해결설계독학맛비's 실전 FPGA를 이용한 HW 가속기 설계 (LED 제어부터 Fully Connected Layer 가속기 설계까지)
22강 FC에서 BRAM을 추가해보려 하였습니다.
안녕하세요. 22장 수강 후, HW 가속기를 직접 설계 해보는 너무나 좋은 경험을 하였습니다.1) 첫번째 질문강의를 직접 수강 후, 보통의 DNN에서는 Wieght만 있는 것이 아닌 Bias또한 존재하기 때문에 기존에 사용하던 BRAM을 2개에서 3개로 (Bias 값을 담는 BRAM 추가) 하여 다시 설계해보았습니다. https://sturdy-nebula-796.notion.site/AI-H-W-Spec-2ffdd93b8dec4e9d92660514d7b63df4?pvs=25( 연산 FC Core에 Relu 와 Bias를 추가하였습니다.)그 후 Vivado에서 합성한 결과 아래 사진 처럼 BRAM이 합성되지 않은것을 확인하였습니다.코드를 여러번 보면서 어디서 문제가 된건지 확인했지만, 찾을 수 없었습니다.맛비님께서 바쁘시니 감으로라도 이런 부분에서 문제가 있을것 같다 하시면 제가 찾아서 한번 수정을 여러번 진행해보겠습니다.. ㅜㅜ 2) 두번째 질문보통 DNN의 FC Layer의 hidden Layer과 Output Node의 갯수는 256~512개 정도로 설정하여 학습하는것으로 알고있습니다. (CNN이 아님)강의에서는 Output Node를 4개로 설정하였고, 그에 4개의 Output Register를 설정하였습니다.만약, 그렇다면 Output Node나 Hidden layer Node를 n ( n>200) 이라고 한다면, Output 값을 받아줄 Register 갯수와 연산할 Core의 갯수도 n개로 맞춰줘야 하는지 궁금합니다.. (무언가 다른 방법이 있는지도 궁금합니다.) 좋은 강의해주셔서 정말 감사합니다. 맛비님
-
미해결설계독학맛비's 실전 Verilog HDL Season 2 (AMBA AXI4 완전정복)
23장 valid/ready basic module의 timing 관련해 질문드립니다!
=================현업자인지라 업무때문에 답변이 늦을 수 있습니다. (길어도 만 3일 안에는 꼭 답변드리려고 노력중입니다 ㅠㅠ)강의에서 다룬 내용들의 질문들을 부탁드립니다!! (설치과정, 강의내용을 듣고 이해가 안되었던 부분들, 강의의 오류 등등)이런 질문은 부담스러워요.. (답변거부해도 양해 부탁드려요)개인 과제, 강의에서 다루지 않은 내용들의 궁금증 해소, 영상과 다른 접근방법 후 디버깅 요청, 고민 상담 등..글쓰기 에티튜드를 지켜주세요 (저 포함, 다른 수강생 분들이 함께보는 공간입니다.)서로 예의를 지키며 존중하는 문화를 만들어가요.질문글을 보고 내용을 이해할 수 있도록 남겨주시면 답변에 큰 도움이 될 것 같아요. (상세히 작성하면 더 좋아요! )먼저 유사한 질문이 있었는지 검색해보세요.잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.==================안녕하십니까 인터페이스 ip 설계자가 꿈인 만큼 완벽히 이해하고싶어 질문드립니다. 읽어주신 것에 대해 매우 감사드립니다.강의에서 언급하신 미지의 슬레이브 모듈에서 베이직 모듈을 거쳐 미지의 마스터 모듈로 전해지는 ready 신호는 아무리 늦게 도착한다 해도 timing violation 이 일어났을 때 동작 속도는 느려지더라도 데이터 손실은 일어나지 않는다고 생각하는데 저의 개념이 맞을까요?이렇게 생각하는 이유는 미지의 마스터 모듈에서 베이직 모듈로 전해지는 s_valid,s_data는 미지의 슬레이브에서 출발한 ready신호가 도착하기 이전에는 CE핀(미지의 마스터 모듈 안의 CE핀)이 활성화 되지않아 이전 상태를 계속 유지할 수 있기에 아무리 ready신호가 미지의 마스터 모듈로 늦게 도착한다고 해도 즉, 늦은 만큼 클럭 주기를 넘어가더라도 s_valid,s_data를 유지해주어 결국 클럭 주기를 넘어가 timing violation이 일어나도 속도만 느려질 뿐 데이터는 무손실로 전송된다는 것입니다. 강의 내용에 대해 더욱 더 나아간 질문을 드리는 거 같아 죄송하지만 저는 인터페이스 ip 설계 전문가가 되기 위해 스스로 궁금증을 던지는 것이 중요하다고 생각해 이런 질문을 드립니다. 감사합니다!+ 질문드리다가 데이터의 손실이 일어날 수 있는 경우를 생각해보았는데 맞는지 확인해주시면 감사하겠습니다!: ready 신호가 미지의 마스터 모듈로 도착되는 시간이 만약 클럭의 setup과 hold time 사이가 된다면 metastable 상태가 되어 0,1 중 예상할 수 없는 값이 될수도 있기에 동작속도가 느려지는 것 뿐만 아니라 회로의 오동작을 일으킬 수 있을것이다.이것이 제가 추측하는 이유입니다. 글이 길어서 죄송하지만 피드백 부탁드리겠습니다.. 감사합니다!
-
미해결Verilog FPGA Program 1 (HIL-A35T)
Text Editor에 관한 질문입니다.
안녕하세요 FPGA 보드를 구입해 공부를 시작하는 수강생 입니다. 강의 초반 부 vivado tool 설정에서 text editor를 ultra editor로 설정하라고 하셨는데 ultra editor로 설정하고 코드를 작성하려 했지만 uedit32.exe를 찾을 수 없다는 오류 메시지와 함께 작성을 할 수 없더라고요. 그래서 ultra editor 다운해 사용하려 했는데 구매를 해야 하는 editor여서 질문드립니다. 이 editor를 구입한 후 설정해 강의를 진행해야 할까요. 아니면 디폴트 값으로 설정해 진행해도 될까요?
-
미해결설계독학맛비's 실전 Verilog HDL Season 1 (Clock부터 Internal Memory까지)
수업노트 링크 에러
=================현업자인지라 업무때문에 답변이 늦을 수 있습니다. (길어도 만 3일 안에는 꼭 답변드리려고 노력중입니다 ㅠㅠ)강의에서 다룬 내용들의 질문들을 부탁드립니다!! (설치과정, 강의내용을 듣고 이해가 안되었던 부분들, 강의의 오류 등등)이런 질문은 부담스러워요.. (답변거부해도 양해 부탁드려요)개인 과제, 강의에서 다루지 않은 내용들의 궁금증 해소, 영상과 다른 접근방법 후 디버깅 요청, 고민 상담 등..글쓰기 에티튜드를 지켜주세요 (저 포함, 다른 수강생 분들이 함께보는 공간입니다.)서로 예의를 지키며 존중하는 문화를 만들어가요.질문글을 보고 내용을 이해할 수 있도록 남겨주시면 답변에 큰 도움이 될 것 같아요. (상세히 작성하면 더 좋아요! )먼저 유사한 질문이 있었는지 검색해보세요.잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.================== 안녕하세요!좋은 강의 제공해주셔서 감사합니다.Session 2의 "필수과정! Xilinx Vivado 2022.2 설치 (Windows 11 의 WSL 기반. 설계엔지니어라면 리눅스환경과 친해져야해요!)" 에서 수업노트 내 리눅스 초보자를 위한 명령어 모음집 링크를 누르니, 이상한 사이트로 이동됩니다.. 따로 구글에서 자료는 찾을 수 있지만 알려드리려 글 남깁니다!
-
미해결설계독학맛비's 실전 Verilog HDL Season 1 (Clock부터 Internal Memory까지)
vivado를 설치하는대 path설정했고 다음이 안됩니다
=================현업자인지라 업무때문에 답변이 늦을 수 있습니다. (길어도 만 3일 안에는 꼭 답변드리려고 노력중입니다 ㅠㅠ)강의에서 다룬 내용들의 질문들을 부탁드립니다!! (설치과정, 강의내용을 듣고 이해가 안되었던 부분들, 강의의 오류 등등)이런 질문은 부담스러워요.. (답변거부해도 양해 부탁드려요)개인 과제, 강의에서 다루지 않은 내용들의 궁금증 해소, 영상과 다른 접근방법 후 디버깅 요청, 고민 상담 등..글쓰기 에티튜드를 지켜주세요 (저 포함, 다른 수강생 분들이 함께보는 공간입니다.)서로 예의를 지키며 존중하는 문화를 만들어가요.질문글을 보고 내용을 이해할 수 있도록 남겨주시면 답변에 큰 도움이 될 것 같아요. (상세히 작성하면 더 좋아요! )먼저 유사한 질문이 있었는지 검색해보세요.잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.================== 파일이름만 달라서 파일이름만 변경해서했는데 오류만 계속뜹니다
-
해결됨설계독학맛비's 실전 Verilog HDL Season 1 (Clock부터 Internal Memory까지)
스케매틱을 볼 수 있는 방법을 알고 싶어요
안녕하세요 설계독학을 보며 열심히 공부를 하고 있는데요. 원래 비바도를 그냥 사용했을 때는 RTL analysis -> open elaborated design ->schematic이렇게 누르면 만든 회로의 schematic을 볼 수 있는데 여기서는 그런 네비게이션 바가 안보여서 여기서도스케매틱을 확인할 수 있는 방법이 있는지 궁금합니다.
-
미해결Verilog FPGA Program 2 (MicroBlaze, Arty A7-35T)
Block Memory Interface 응용
안녕하세요, 해당 강의 10강 block memory interface 부분을 응용하여 프로젝트를 진행하고 있습니다.제가 목표로 하는 것은 microblaze - axi interconnect - AXI AHBLite Bridge 로 이어지는 Block design 후, microblaze의 내부 메모리에 data를 저장하여 write / read 동작을 시켜 ahb bus를 사용하는 외부 ip에 시스템을 연결하려 합니다.현재 block design 구성 및 address 설정은 다음과 같습니다. 아래 코드는 제가 write 동작을 위해 작성한 vitis에 c code입니다. #include <stdio.h>#include "platform.h"#include "xil_printf.h"#include "xil_io.h"#include "xil_types.h" // added on 20240411 by dykim#include <unistd.h>#define XPAR_M_AHB_0_BASEADDR 0x44A10000 // added by DYKIM on 20240326#define TMC_JXSE_BASE_ADDR (XPAR_M_AHB_0_BASEADDR + 4) // added by DYKIM on 20240326#define TMC_JXSE_ENC_CMD 0x0000 // added by DYKIM on 20240326#define TMC_JXSE_ENC_SRST 0x0004 // added by DYKIM on 20240326#define TMC_JXSE_INT_STAT 0x0010 // added by DYKIM on 20240326#define TMC_JXSE_INT_RAW 0x0014 // added by DYKIM on 20240326#define TMC_JXSE_INT_EN 0x0018 // added by DYKIM on 20240326#define TMC_JXSE_ENC_TGT_SIZE 0x0020 // added by DYKIM on 20240326#define TMC_JXSE_ENC_PIC_SIZE 0x0024 // added by DYKIM on 20240326#define TMC_JXSE_ENC_PIC_FMT 0x0028 // added by DYKIM on 20240326#define TMC_JXSE_ENC_PROF 0x002C // added by DYKIM on 20240326#define TMC_JXSE_ENC_NL 0x0034 // added by DYKIM on 20240326#define TMC_JXSE_ENC_MODE 0x0038 // added by DYKIM on 20240326#define TMC_JXSE_ENC_WGT_SET 0x003C // added by DYKIM on 20240326#define TMC_JXSE_ENC_ERR_INFO0 0x0040 // added by DYKIM on 20240326#define TMC_JXSE_ENC_ERR_MASK0 0x0044 // added by DYKIM on 20240326typedef unsigned short u2;typedef unsigned short u1;void SI5386_init (u32 ID) ; void AHB_Out32 (u32 address, u32 data, u2 trans, u1 write);u32 AHB_In32 (u32 address, u2 trans, u1 write);void AHB_RegWrite (u32 address, u32 value, u2 trans, u1 write);u32 AHB_RegRead (u32 address, u2 trans, u1 write);int main(){ init_platform(); SI5386_init(0); SI5386_init(1); // print("Hello World\n\r"); // print("Successfully ran Hello World application"); cleanup_platform(); return 0;}void AHB_RegWrite (u32 address, u32 value, u2 trans, u1 write){ u32 data; u2 htrans; u1 we; data = 0x00000000; htrans = 2; we = 1; AHB_Out32(TMC_JXSE_BASE_ADDR + TMC_JXSE_ENC_CMD, data, htrans, we); data = 0x00000101; AHB_Out32(TMC_JXSE_BASE_ADDR + TMC_JXSE_INT_STAT, data, htrans, we); // 0x0010 data = 0x00000101; AHB_Out32(TMC_JXSE_BASE_ADDR + TMC_JXSE_INT_EN, data, htrans, we); // 0x0018 data = 0x00093ee0; AHB_Out32(TMC_JXSE_BASE_ADDR + TMC_JXSE_ENC_TGT_SIZE, data, htrans, we); // 0x0020 data = 0x021c0780; AHB_Out32(TMC_JXSE_BASE_ADDR + TMC_JXSE_ENC_PIC_SIZE, data, htrans, we); // 0x0024 data = 0x00000084; AHB_Out32(TMC_JXSE_BASE_ADDR + TMC_JXSE_ENC_PIC_FMT, data, htrans, we); // 0x0028 data = 0x00000000; AHB_Out32(TMC_JXSE_BASE_ADDR + TMC_JXSE_ENC_PROF, data, htrans, we); // 0x002c data = 0x00000205; AHB_Out32(TMC_JXSE_BASE_ADDR + TMC_JXSE_ENC_NL, data, htrans, we); // 0x0034 data = 0x00000001; AHB_Out32(TMC_JXSE_BASE_ADDR + TMC_JXSE_ENC_MODE, data, htrans, we); // 0x0038 data = 0x00000001; AHB_Out32(TMC_JXSE_BASE_ADDR + TMC_JXSE_ENC_CMD, data, htrans, we); // 0x0000 usleep(3000);}void AHB_Out32(u32 address, u32 data, u2 trans, u1 write){ if (trans == 2 && write == 1) Xil_Out32(address, data);}위 코드에서, trans나 write 변수는 axi ahblite bridge의 output 신호로 둔 것인데 이를 어떻게 c code로 컨트롤 해야할 지 감이 잡히지 않습니다.이후 보드에 프로그램을 올려 ILA 결과를 확인해보니 아래와 같이 입력으로 준 Ready 신호만 들어오는 것을 확인했습니다.긴 내용에 죄송스럽습니다.현재 해당 문제에 대해 혼자 해결해야 하는 문제라 정말 막막하고 어렵습니다. 제가 어느 부분에서 잘못되었는지 알려주시면 정말 감사하겠습니다.
-
미해결설계독학맛비's 실전 Verilog HDL Season 1 (Clock부터 Internal Memory까지)
시그널 선택법
시그널을 드래그 해서 여러개를 선택하려고 하는데 ctrl을 눌러도 되질 않습니다. 어떻게 선택해야 합니까?