묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결설계독학맛비'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 실전 FPGA를 이용한 HW 가속기 설계 (LED 제어부터 Fully Connected Layer 가속기 설계까지)
AXI4-Lite 질문
안녕하세요 ! 수강 중에 질문이 있어 글 남깁니다! AXi4-Lite를 처음 접하게 되어서 너무 어렵긴한데..궁금한 점이 코드리뷰 편에서 AXi4-Lite 모듈을 만들 때 register의 개수를 정하잖아요?근데 그 register가 왜 있어야 하는건가요?단순히 write와 read를 handshake에 의해 하는지 보기 위해 넣어둔 것인가요?-> 혹시 이 register가 HW를 제어할 때 쓰는 Register space인가요? 7장의 코드 리뷰 편에서 생성된 템플릿 코드가레지스터 4개를 core로 하고 그걸 slave AXI4-Lite I/F 역할을 하는 모듈로 감싼다.그리고 PS IP에는 master로서 AXI4-Lite I/F역할을 수행하는 부분이 있고 이걸 slave 쪽에 연결한다.합성 후 PS에 4번의 write, read를 하도록 coding한다.그리고 결과를 확인한다. 이렇게 이해하는게 맞나요?? 제일 궁금한 건 저 register가 왜 만들어졌는지 이고 그걸 AXi4-Lite I/F 로 write, read가 되는지 확인하기 위한 core로 사용된 것이 맞는지 입니다.
-
미해결설계독학맛비'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 실전 FPGA를 이용한 HW 가속기 설계 (LED 제어부터 Fully Connected Layer 가속기 설계까지)
Master와 slave / AXI4와 AXI4-lite
안녕하십니까강의 잘 듣고 있습니다.스펙 문서와 이것저것 찾아보면서 든 생각에 의견을 여쭙기 위해 문의드립니다.AXI4/AXI4-Lite와 Master/Slave 관계를 계속 보던 중 Master는 AXI4를 사용하며 Slave는 AXI4-Lite를 사용하는 느낌을 많이 받았습니다. AXI4를 사용할때는 burst 기능을 사용하기 위해 사용된다 할지언정, 정작 Slave는 AXI4-Lite로 구현되어 사용되는 것을 느꼈습니다. 설명이 잘 되었는지 모르겠으나, 요약하면 Master=AXI4, Slave=AXI4-Lite로 이해를 하였습니다. 무조건적이라고 생각하진 않지만 추가적 이해를 도움 받기 위해 연락드립니다. 감사합니다.
-
미해결설계독학맛비'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 실전 FPGA를 이용한 HW 가속기 설계 (LED 제어부터 Fully Connected Layer 가속기 설계까지)
FPGA 회로검증 질문
안녕하세요 맛비님 강의 잘보고있습니다.강의 내용중에 ASIC 회사에서 FPGA를 검증용으로 사용한다고 하셨는데 임베디드 FPGA가 아니라 검증용으로 FPGA를 사용한다?? 는게 어떤느낌인지 잘 모르겠습니다.말로 들었을땐 그럴수도 있겠구나 싶은데 현업에서 어떤식으로 쓰이는지 상상이 안되는것같아요 FPGA에서 합성 및 PnR되는 회로와 디자인컴파일러 등 EDA툴에서 과정을 거친 ASIC회로는 구조나 성능이 다를것같고 툴에서도 slack이나 power등 성능지표를 얻을 수 있는데, FPGA에서 어떤 식으로 검증이 이뤄지는지 궁금합니다. (검증 분야에서 EDA툴에 비교했을때 FPGA만의 장점??)제가 학부생이어서 전체 프로세스에 대해서는 잘 모르고, 각 단계에서 다음 과정을 위해 목표 스펙보다 어느정도의 마진을 확보하고 설계해야한다... 정도만 알고있습니다=================현업자인지라 업무때문에 답변이 늦을 수 있습니다. (길어도 만 3일 안에는 꼭 답변드리려고 노력중입니다 ㅠㅠ)강의에서 다룬 내용들의 질문들을 부탁드립니다!! (설치과정, 강의내용을 듣고 이해가 안되었던 부분들, 강의의 오류 등등)이런 질문은 부담스러워요.. (답변거부해도 양해 부탁드려요)개인 과제, 강의에서 다루지 않은 내용들의 궁금증 해소, 영상과 다른 접근방법 후 디버깅 요청, 고민 상담 등..글쓰기 에티튜드를 지켜주세요 (저 포함, 다른 수강생 분들이 함께보는 공간입니다.)서로 예의를 지키며 존중하는 문화를 만들어가요.질문글을 보고 내용을 이해할 수 있도록 남겨주시면 답변에 큰 도움이 될 것 같아요. (상세히 작성하면 더 좋아요! )먼저 유사한 질문이 있었는지 검색해보세요.잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.==================
-
미해결설계독학맛비'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); 로 수정을 하면 코드 에러가 뜨는데 무슨 차이인지 설명해주시면 감사하겠습니다ㅜㅜ
-
해결됨설계독학맛비's 실전 FPGA를 이용한 HW 가속기 설계 (LED 제어부터 Fully Connected Layer 가속기 설계까지)
Vitis Classic 2023.2 기준 data 값 비정상 출력 해결 방법
data가 위 사진처럼 비정상적으로 출력 되는 경우main_lab8_rev_2022_1.c 에서 MYIP_BASE_ADDR로 정의한 XPAR_PS7_PMU_0_S_AXI_BASEADDR을 xparameters.h에서 찾습니다.그럼 다음과 같은 값으로 정의되어 있는 것을 찾으실 수 있는데, 이 값을 vivado의 Adress Editor의 Master Base Address의 값과 일치시켜 줍니다.그 후에 xparameters.h를 저장하고 Build Project, Launch Hardware를 하시면 data가 정상적으로 출력되는 것을 확인하실 수 있습니다.
-
해결됨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 실전 FPGA를 이용한 HW 가속기 설계 (LED 제어부터 Fully Connected Layer 가속기 설계까지)
[4장]Vitis 부분 질문
xsa파일을 올리고 next를 누르면 이 그림 처럼 안뜨고 빈파일로 보이는데 어떤 문제가 있는걸까요..?1장에서 시계 만들 때는 아무 문제 없었는데..
-
미해결설계독학맛비'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 문의하기를 이용해주세요.==================