설계독학맛비's 실전 AI HW 설계를 위한 바이블, CNN 연산 완전정복 (Verilog HDL + FPGA 를 이용한 가속기 실습)
안녕하세요 맛비님. 항상 질 좋은 강의 감사드립니다!!! <궁금한 부분> [AI HW Lab2] - 설계환경리뷰편의 7:40~ 쯤부분에 cnn_kernel.v파일의 i_soft_reset에 대해 맛비님께서 "register에 1이 저장이 되어 있을 때, 그걸 이용해서 reset을 걸 수 있다~~" 이렇게 설명하셨는데요 이거에 대해서 3가지 질문을 드리고 싶습니다. <질문내용> 1 (제가 이해한 내용이 맞는지) 2 (soft_reset을 쓰는 것의 장점) 2-1 (2에서 파생된 궁금증) 원래 reset은 사람이 물리적으로 reset을 걸었다. 하지만, soft_reset은 SW가 register(1이 저장되어 있음)를 이용해서 내부에서 reset을 건다. 즉, 사람이 외부에서 reset을 걸지 않아도 내부적으로 reset이 가능하다 맞을까요? 그리고 soft_reset의 장점이 궁금해서 gpt한테 물어보고 제가 정리한 장점은 다음과 같은데 하나의 프로그램안에 여러개의 모듈이 있을 수 있다. 만약, 어떤 모듈은 reset하고 싶고, 어떤 모듈은 reset하기 싫어 이때, 구별해서 reset해주기 위해서 soft_reset을 쓴다. (기존의 reset은 모든 모듈을 한번에 reset하기 위한 것으로 남겨둔다) 맞을까요? 만약에 2가 맞다면 2-1. 각각의 모듈을 개별적으로 soft_reset 해주기 위해서는 거기에 할당되는 register가 또 개별적으로 사용 될 거라고 생각하는데 이러면 'HW자원을 많이 잡아먹는다'는 단점이 생긴다. 맞을까요? 감사합니다!!
설계독학맛비's 실전 AI HW 설계를 위한 바이블, CNN 연산 완전정복 (Verilog HDL + FPGA 를 이용한 가속기 실습)
안녕하세요 🙂 [1. 질문 챕터] : eg) 몇 장, 몇 분 몇 초 쯤. or 수강생 분들이 봤을 때 어디구나?! 할 수 있게 표기 부탁 드려요. [2. 질문 내용] : eg) 질문 내용을 자유롭게 작성해주시면 되겠습니다 🙂 [3. 시도했던 내용, 그렇게 생각하는 이유] : eg) 설치영상은 이렇게 시도했는데 안되더라 or 본인의 생각을 적어주세요. (실습 내용 중에 이해가 안되거나 잘못된 내용이 있는데, 이러 이러한 근거로 나는 이렇게 생각합니다.) ================ 다음 내용은 읽어보시고 지우시면 됩니다.================= 질문 내용을 작성해주실 때, 위의 3단계 로 제가 이해할 수 있게 작성해주시면 정확한 답변을 드릴 수 있을 것 같아요!! 현업자인지라 업무때문에 답변이 늦을 수 있습니다. (길어도 만 3일 안에는 꼭 답변드리려고 노력중입니다 ㅠㅠ) 강의에서 다룬 내용들의 질문들을 부탁드립니다!! (설치과정, 강의내용을 듣고 이해가 안되었던 부분들, 강의의 오류 등등) 이런 질문은 부담스러워요.. (답변거부해도 양해 부탁드려요) 개인 과제, 강의에서 다루지 않은 내용들의 궁금증 해소, 영상과 다른 접근방법 후 디버깅 요청, 고민 상담 등.. 글쓰기 에티튜드를 지켜주세요 (저 포함, 다른 수강생 분들이 함께보는 공간입니다.) 서로 예의를 지키며 존중하는 문화를 만들어가요. 질문글을 보고 내용을 이해할 수 있도록 남겨주시면 답변에 큰 도움이 될 것 같아요. (상세히 작성하면 더 좋아요! ) 먼저 유사한 질문이 있었는지 검색해보세요. 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. ================== 예제코드 환경설정에 대한 부분을 따로 공개해둔 영상이 있다고 하셨는데, 그 영상이 어디있는 건지 못찾겠습니다..ㅠㅠ
설계독학맛비's 실전 FPGA를 이용한 HW 가속기 설계 (LED 제어부터 Fully Connected Layer 가속기 설계까지)
안녕하세요 🙂 [1. 질문 챕터] : eg) 몇 장, 몇 분 몇 초 쯤. or 수강생 분들이 봤을 때 어디구나?! 할 수 있게 표기 부탁 드려요. [2. 질문 내용] : eg) 질문 내용을 자유롭게 작성해주시면 되겠습니다 🙂 [3. 시도했던 내용, 그렇게 생각하는 이유] : eg) 설치영상은 이렇게 시도했는데 안되더라 or 본인의 생각을 적어주세요. (실습 내용 중에 이해가 안되거나 잘못된 내용이 있는데, 이러 이러한 근거로 나는 이렇게 생각합니다.) ================ 다음 내용은 읽어보시고 지우시면 됩니다.================= 질문 내용을 작성해주실 때, 위의 3단계 로 제가 이해할 수 있게 작성해주시면 정확한 답변을 드릴 수 있을 것 같아요!! 현업자인지라 업무때문에 답변이 늦을 수 있습니다. (길어도 만 3일 안에는 꼭 답변드리려고 노력중입니다 ㅠㅠ) 강의에서 다룬 내용들의 질문들을 부탁드립니다!! (설치과정, 강의내용을 듣고 이해가 안되었던 부분들, 강의의 오류 등등) 이런 질문은 부담스러워요.. (답변거부해도 양해 부탁드려요) 개인 과제, 강의에서 다루지 않은 내용들의 궁금증 해소, 영상과 다른 접근방법 후 디버깅 요청, 고민 상담 등.. 글쓰기 에티튜드를 지켜주세요 (저 포함, 다른 수강생 분들이 함께보는 공간입니다.) 서로 예의를 지키며 존중하는 문화를 만들어가요. 질문글을 보고 내용을 이해할 수 있도록 남겨주시면 답변에 큰 도움이 될 것 같아요. (상세히 작성하면 더 좋아요! ) 먼저 유사한 질문이 있었는지 검색해보세요. 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. ================== 섹션3-9 vivado를 설치할 때 window용 2025.1 (F drive) 으로 설치하였습니다. 저의 경우에도 WSL을 사용해서 tb를 바로 simulation할 수 있을까요? verilog season1 유튜브 강의를 보며 따라하려다가 문득 wsl과 vivado 환경을 맞춰주어야 할 것 같아 여쭤봅니다!
안녕하세요 🙂 [1. 질문 챕터] : eg) 몇 장, 몇 분 몇 초 쯤. or 수강생 분들이 봤을 때 어디구나?! 할 수 있게 표기 부탁 드려요. [2. 질문 내용] : eg) 질문 내용을 자유롭게 작성해주시면 되겠습니다 🙂 [3. 시도했던 내용, 그렇게 생각하는 이유] : eg) 설치영상은 이렇게 시도했는데 안되더라 or 본인의 생각을 적어주세요. (실습 내용 중에 이해가 안되거나 잘못된 내용이 있는데, 이러 이러한 근거로 나는 이렇게 생각합니다.) handshake는 Master가 VALID신호를 보내고 SLAVE가 READY신호를 보내면 MASTER가 DATA를 SLAVE에게 보내는 것으로 이해하였습니다. HDL 24장 1분 다이어그램 보면 제가 생각한대로 되어 있는데 근데 HDL 24장 1분 24초 로 넘어가면 skid buffer 다이어그램이 제가 설명한 것의 정반대로 되어 있습니다. 저는 skid buffer를 각 Master와 Slave를 연결 해주는 통로로 생각했었는데 skid buffer 자체가 오른쪽 절반은 Master역할을 하고 왼쪽 절반은 Slave역할을 한다고 봐야하나요? 어떻게 이해해야할지 모르겠습니다
설계독학맛비's 실전 Verilog HDL Season 1 (Clock부터 Internal Memory까지)
안녕하세요 🙂 [1. 질문 챕터] : eg) 몇 장, 몇 분 몇 초 쯤. or 수강생 분들이 봤을 때 어디구나?! 할 수 있게 표기 부탁 드려요. [2. 질문 내용] : eg) 질문 내용을 자유롭게 작성해주시면 되겠습니다 🙂 [3. 시도했던 내용, 그렇게 생각하는 이유] : eg) 설치영상은 이렇게 시도했는데 안되더라 or 본인의 생각을 적어주세요. (실습 내용 중에 이해가 안되거나 잘못된 내용이 있는데, 이러 이러한 근거로 나는 이렇게 생각합니다.) ================ 다음 내용은 읽어보시고 지우시면 됩니다.================= 질문 내용을 작성해주실 때, 위의 3단계 로 제가 이해할 수 있게 작성해주시면 정확한 답변을 드릴 수 있을 것 같아요!! 현업자인지라 업무때문에 답변이 늦을 수 있습니다. (길어도 만 3일 안에는 꼭 답변드리려고 노력중입니다 ㅠㅠ) 강의에서 다룬 내용들의 질문들을 부탁드립니다!! (설치과정, 강의내용을 듣고 이해가 안되었던 부분들, 강의의 오류 등등) 이런 질문은 부담스러워요.. (답변거부해도 양해 부탁드려요) 개인 과제, 강의에서 다루지 않은 내용들의 궁금증 해소, 영상과 다른 접근방법 후 디버깅 요청, 고민 상담 등.. 글쓰기 에티튜드를 지켜주세요 (저 포함, 다른 수강생 분들이 함께보는 공간입니다.) 서로 예의를 지키며 존중하는 문화를 만들어가요. 질문글을 보고 내용을 이해할 수 있도록 남겨주시면 답변에 큰 도움이 될 것 같아요. (상세히 작성하면 더 좋아요! ) 먼저 유사한 질문이 있었는지 검색해보세요. 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. ================== d flipflop을 본인 힘으로 안보고 코드를 작성 할 수 있어야 하나요?
안녕하세요, 수업 듣는 중 3상의 전류를 측정하는 부분에서 질문이 있어서 글 남깁니다. ias_Cal=((float)(result - Ias_Offset)*3.3f/4095.0f-1.65f)/0.06f; 이 코드에서 0.06의 의미가 궁금합니다. 연산증폭기에서 22배 증폭을 하였기 때문에 (측정된 전압 /22*0.002옴)을 하여야 하는 것 아닌가요..? 22*0.002는 0.044인데 0.06f 값의 의미는 무엇인지 궁금합니다.(연산증폭기는 제가 잘 몰라서 도움 주시면 감사하겠습니다.) 바쁘시겠지만 설명해 주시면 감사하겠습니다. 감사합니다.
설계독학맛비's 실전 Verilog HDL Season 1 (Clock부터 Internal Memory까지)
안녕하세요 🙂 [1. 질문 챕터] : 1장 Testbench clock 생성의 4분43초 부분에 대한 질문 입니다. [2. 질문 내용] : git_progject는 git.hub에서 다운 받고 실행 하는건가요 아님 그냥 mobaXterm에다가 쓰면 되는 건가요? [3. 시도했던 내용, 그렇게 생각하는 이유] : eg) 설치영상은 이렇게 시도했는데 안되더라 or 본인의 생각을 적어주세요. (실습 내용 중에 이해가 안되거나 잘못된 내용이 있는데, 이러 이러한 근거로 나는 이렇게 생각합니다.) ================ 다음 내용은 읽어보시고 지우시면 됩니다.================= 질문 내용을 작성해주실 때, 위의 3단계 로 제가 이해할 수 있게 작성해주시면 정확한 답변을 드릴 수 있을 것 같아요!! 현업자인지라 업무때문에 답변이 늦을 수 있습니다. (길어도 만 3일 안에는 꼭 답변드리려고 노력중입니다 ㅠㅠ) 강의에서 다룬 내용들의 질문들을 부탁드립니다!! (설치과정, 강의내용을 듣고 이해가 안되었던 부분들, 강의의 오류 등등) 이런 질문은 부담스러워요.. (답변거부해도 양해 부탁드려요) 개인 과제, 강의에서 다루지 않은 내용들의 궁금증 해소, 영상과 다른 접근방법 후 디버깅 요청, 고민 상담 등.. 글쓰기 에티튜드를 지켜주세요 (저 포함, 다른 수강생 분들이 함께보는 공간입니다.) 서로 예의를 지키며 존중하는 문화를 만들어가요. 질문글을 보고 내용을 이해할 수 있도록 남겨주시면 답변에 큰 도움이 될 것 같아요. (상세히 작성하면 더 좋아요! ) 먼저 유사한 질문이 있었는지 검색해보세요. 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. ==================
설계독학맛비's 실전 AI HW 설계를 위한 바이블, CNN 연산 완전정복 (Verilog HDL + FPGA 를 이용한 가속기 실습)
안녕하세요 맛비님 베릴로그 코딩을 하면서 항상 궁금했던 것이 있어 질문드립니다. 제가 HW 언어를 공부하면서 느낀 점은 흔히 코딩을 처음 접하는 SW의 C언어와 같이 구현을 하면 안된다는 것입니다. 이렇게 생각한 이유는 HW는 병렬 처리가 가능하기 때문인데요! 이렇다보니 SW언어에서의 for 구문과 HW의 for 구문이 어떻게 다르게 동작하는지 궁금했습니다. HW 언어의 for문은 시뮬레이션 환경에서 유효한 것인지? 합성이 될수도 안될수도 있다고 하여 질문드립니다. HW 언어에서 for 문이 합성이 된다면 for loop에서의 동작은 병렬로 동시에 처리되는지 아니면 시뮬레이션 처럼 clk에 동기화 시킨다면 실제로 동기화되어 동작하는지 궁금합니다. 또한 HW 언어에서의 for문을 어떤식으로 접근하면 설계하는데 도움이 될지 궁금합니다. 감사합니다.
제목 그대로입니다. 지난 주 월요일에 결제 했는데요 아직까지도 배송을 안 해주고 있어서 문의 드립니다. 물론 " 배송업체에서 보냈다고 하는 데 못 받았다 "는 문자 메시지는 받았습니다만, 도저히 이해가 되지 않아서 질문 남깁니다. 분명 지난 주에 중국에 주문했던 PCB를 받았다며 사진까지 공유 해 주셨고, 그래서 스마트 스토어에서 결제 했던 것인데요. 그렇다면 지난 주에 보여준 그 사진들은 무엇인가요? 언제까지 보내 주실 지 확실히 알려 주시거나, 환불(결제 취소) 방법을 알려 주시길 바랍니다.
설계독학맛비's 실전 FPGA를 이용한 HW 가속기 설계 (LED 제어부터 Fully Connected Layer 가속기 설계까지)
안녕하세요 🙂 [1. 질문 챕터] : eg) 몇 장, 몇 분 몇 초 쯤. or 수강생 분들이 봤을 때 어디구나?! 할 수 있게 표기 부탁 드려요. [2. 질문 내용] : eg) 질문 내용을 자유롭게 작성해주시면 되겠습니다 🙂 [3. 시도했던 내용, 그렇게 생각하는 이유] : eg) 설치영상은 이렇게 시도했는데 안되더라 or 본인의 생각을 적어주세요. (실습 내용 중에 이해가 안되거나 잘못된 내용이 있는데, 이러 이러한 근거로 나는 이렇게 생각합니다.) ================ 다음 내용은 읽어보시고 지우시면 됩니다.================= 질문 내용을 작성해주실 때, 위의 3단계 로 제가 이해할 수 있게 작성해주시면 정확한 답변을 드릴 수 있을 것 같아요!! 현업자인지라 업무때문에 답변이 늦을 수 있습니다. (길어도 만 3일 안에는 꼭 답변드리려고 노력중입니다 ㅠㅠ) 강의에서 다룬 내용들의 질문들을 부탁드립니다!! (설치과정, 강의내용을 듣고 이해가 안되었던 부분들, 강의의 오류 등등) 이런 질문은 부담스러워요.. (답변거부해도 양해 부탁드려요) 개인 과제, 강의에서 다루지 않은 내용들의 궁금증 해소, 영상과 다른 접근방법 후 디버깅 요청, 고민 상담 등.. 글쓰기 에티튜드를 지켜주세요 (저 포함, 다른 수강생 분들이 함께보는 공간입니다.) 서로 예의를 지키며 존중하는 문화를 만들어가요. 질문글을 보고 내용을 이해할 수 있도록 남겨주시면 답변에 큰 도움이 될 것 같아요. (상세히 작성하면 더 좋아요! ) 먼저 유사한 질문이 있었는지 검색해보세요. 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. ================== 섹션 2-5 Design Desource, Constraints, Simulation Source 관련 질문드립니다! intel의 칩으로 fpga를 처음 접해서 vivado 툴이 꽤나 낯선 거 같습니다... Design source에는 verilog 파일을, Constraints에는 top module의 I/O와 보드(led, switch 등)를 mapping하는 파일을, Simulation에는 test bench 파일을 넣는 걸까요? 추가로 Quartus 툴에서는 합성 후 툴 내의 gui를 통해 schematic 파일을 보고 pin을 직접 연결시켜주었는데, vivado에서는 이를 코드로 작성해주어야 하는 건가요?
안녕하세요. SWC간 정보를 호출할 때 Port를 사용한다고 말씀 주셨는데, 혹시 그 Port간 이름 (e.g Port_SeatBeltState)도 일치해야하나요? 아니면 A port와 B port가 정보를 주고 받을 때 connector를 통해서 각 포트의 이름이 다르더라도 명칭 명기만 해놓으면 되나요?
안녕하세요, 펌웨어에 질문이 있어서 글 남깁니다. 강의 내용에서는 Scheduler() 에서는 flag만 세팅하고, 태스크 실행 함수는 main()의 while()문에서 flag를 확인하여 해당 함수를 실행하는 것으로 확인하였는데, 펌웨어를 받고 보니 Slcheduler()함수에서 flag도 set하면서 task함수도 실행시키고 있는 것으로 보입니다. 이게 맞는건가요?
디지털 회로설계 실무 : Computer Architecture 와 SoC 프로토콜 Digital IP 설계하기
26강 4:30에서 Ds가 0 또는 1로 간다고 하셨는데, 메타스태빌리티에서 캡처했기 때문에 값의 상태를 보장할 수 없다 로 이해했습니다. 클럭 도메인을 건널 때마다 동기화기를 써서 안정 상태로 보낼 수는 있겠지만, 그 값이 어떻게 변할지 알 수 없다면 어떻게 제어를 할 수 있는지 이해가 잘 안갑니다.
안녕하세요 맛비님 🙂 정말 하나부터 열까지 많이 배우고 있습니다 ! 맛비님께서 공사가 다망하시고 강의 방향성과 좀 다른 것 같아 답변을 바란다기보단 bug의심 report라고 봐주시면 감사하겠습니다. 늘 많이 배우고 있습니다 *^^* [1. 질문 챕터] : HDL 39장(WMDA) [2. 질문 내용] : 맛비님 코드를 이용하며 이것 저것 바꿔보고 실험도 해보고 있는데요. 실험 중 write_timeout error가 report 되었습니다. 해당 Test case를 dump해보니 다음과 같은 issue가 있었는데요. (아래 그림 참고 부탁 드립니다.) 문제 상황: r_burst_len_aw가 1인 경우 아직 fifo를 거치지 않아 AWLEN_w의 값이 업데이트 되지 않았는데 그 기간 동안 w_hs가 발생하여 is_burst_done_w가 1'b1로 toggle되지 않고 이에 last b chanel transaction이 일어나지 않음.
안녕하세요 질문이 있어 글 남깁니다. 플레시메모리 읽기 작업은 한번에 128비트를 읽을 수 있다로 이해했는데 왜 순차코드의 경우 명령줄을 실행하려면 적어도 4개의 CPU사이클이 필요한지 잘 모르겠습니다. 첫번째 클럭에 128비트를 한번에 다 읽을 수 있는건가요? 아니면 128비트를 읽는데 4사이클로 나눠서 읽는다는 건가요?(1사이클에 32비트씩) 이 128비트를 읽는게 ' FETCH' 랑은 다른건가요? CPU4개의 사이클 동안 플레시메모리 버퍼가 채워진다고 하셨는데, 한번에 128비트를 읽을 수 있다고 했는데 이 한번이 한 사이클이 아닌건가요? 앞서 하버드 구조로 순차적으로 한 클럭에 동시에 F, D, E가 수행될 수 있음은 이해했습니다.