묻고 답해요
160만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
- 
      
        
    해결됨ARM Cortex-M 프로세서 프로그래밍
AAPCS 관련 질문 드립니다.
안녕하세요. 강사님.강의 잘 보고있습니다.실습 진행 중 궁금한게 있어서 질문 남깁니다.아래 그림은 result = max(b, a); 를 실행하기 전 레지스터입니다.아래 그림은 max 어셈블리 함수 내용입니다.bx lr가 실행되기 전까지 레지스터 상태를 보면 별 문제 없어보이는데요.문제는 저 라인이 실행한 후입니다.레지스터 셋을 보시면 갑자기 r3값이 변하는 것을 확인할 수 있습니다. AAPCS를 보면 result값은 r0 또는 r1인데 말이죠.제 함수에 문제가 있어보이지는 않는데 무엇이 문제인지 혹시 알 수 있을까요?
 - 
      
        
    해결됨ARM Cortex-M 프로세서 프로그래밍
pipeline stall 현상 방지에 관한 질문
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.안녕하세요. 강사님.강의 잘 보고 있습니다.질문이 있습니다.blanch 코드의 경우 pipeline stall이 발생할 수 있다하셨습니다.아래는 예제입니다. cmp r0, r1 bge 1f 만약 이 명령어가 실행된다 가정하면blt 2f1:bx lr2:mov r0,r1...3-stage pipeline일 때 각 단계를 보면 아래처럼 될 것으로 생각이 듭니다.E bge 1fD blt 2fF bx lrExecute 에서 갑자기 분기를 했으니 그 전에 있던 Fetch Decode 값이 의미가 없다?라고 생각하고 버리겠죠. 이게 pipeline stall로 이해하고 있는데it 명령어는 왜 pipeline stall이 없는 명령어인지 이해가 되지 않습니다.다음에 실행될 명령어를 미리 안다? 생각해도 Decode 단계에서 해석을 해야 가능할 것 같은데, 그렇다면 pipeline stall이 발생할 것 같아서요.제가 잘못 이해하고 있는건가요?
 - 
      
        
    미해결설계독학맛비's 실전 FPGA를 이용한 HW 가속기 설계 (LED 제어부터 Fully Connected Layer 가속기 설계까지)
[FPGA 13장] 16regster = Address width는 왜 6인가요?
안녕하세요.Register 16개를 사용한다고 했는데,왜 Address width가 6 인지 모르겠습니다.Address Map에서 Base Address는 4씩 증가하는데,Address width가 6인게 이해가 안됩니다 ㅠ
 - 
      
        
    미해결설계독학맛비's 실전 Verilog HDL Season 1 (Clock부터 Internal Memory까지)
chapter 20. BRAM 1 cycle latency 질문 드립니다.
Chapter 20/simple_bram_ctrl.v 파일 line 138에서 궁금한 점이 있어서 질문 드립니다! // 1 cycle latency to sync mem output always @(posedge clk or negedge reset_n) begin if(!reset_n) begin r_valid <= 0; end else begin r_valid <= o_read; // read data end end 위 코드에서 1 cycle(10ns) delay가 발생하는 이유가 TestBench 코드에서 True DPBRAM 모델에 데이터를 Write하도록 wiring했고, DPBRAM 모델에서 Read나 Write를 하려면 1cycle이 걸리니깐, 파형이 1 cycle 뒤로 밀린 waveform이 나오는 것이라고 이해했습니다.Q1. 제가 맞게 이해한 것인가요??Q2. 그렇다면, Write를 하는 과정에서도 1 cycle이 delay 되는 것이 맞나요??
 - 
      
        
    미해결설계독학맛비's 실전 Verilog HDL Season 1 (Clock부터 Internal Memory까지)
ubuntu 완전 삭제 후 재설치
c드라이브에 용량이 부족해서 강의 0장에 하단에 커뮤니티 링크를 참조하여 우분투 완전삭제를 진행하고 다시 다운하여 처음 부터 진행하려고 했으나 아래 사진과 같은 문제가 발생하여 진행이 안됩니다. 처음에 할 때는 제대로 install 도 되고 잘되었는데 다시 하려니깐 진행이 안되네요,,10시간 정도 방법도 찾아보고 생각도 해보았지만 검색해도 잘 안나오고 방법을 모르겠습니다...원래는 installing하고나서 ubuntu파일 내에도 들어갈 수있는데 다시 할때는 저런식으로 뜹니다.
 - 
      
        
    미해결설계독학맛비's 실전 Verilog HDL Season 1 (Clock부터 Internal Memory까지)
counter 질문입니다
=================강의에서 다룬 내용들의 질문들을 부탁드립니다!! (설치과정, 강의내용을 듣고 이해가 안되었던 부분들, 강의의 오류 등등)이런 질문은 부담스러워요.. (답변거부해도 양해 부탁드려요)개인 과제, 강의에서 다루지 않은 내용들의 궁금증 해소, 영상과 다른 접근방법 후 디버깅 요청, 고민 상담 등..글쓰기 에티튜드를 지켜주세요 (저 포함, 다른 수강생 분들이 함께보는 공간입니다.)서로 예의를 지키며 존중하는 문화를 만들어가요.질문글을 보고 내용을 이해할 수 있도록 남겨주시면 답변에 큰 도움이 될 것 같아요. (상세히 작성하면 더 좋아요! )먼저 유사한 질문이 있었는지 검색해보세요.잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.==================강의의 코드에서 #100 reset가 되기전 clk이 #5마다 바뀐다면 always문이 돌아가고 그때의 o_cnt나 o_cnt_always는 x값이라고 표시가 됩니다 그렇다면 +1계산은 되고 있으나 X값인건가요 아니면 +1계산 자체를 하지않나요?(애초에 필요가 없으니 하지않을수도 있다는 생각이들어서요)
 - 
      
        
    미해결설계독학맛비's 실전 Verilog HDL Season 1 (Clock부터 Internal Memory까지)
설치 오류 사항
Failed to create the hard link /home/matbi/tools/Xilinx/Vitis_HLS/2022.2/tps/lnx64/binutils-2.37/opcodes/.deps/pj-dis.Plo pointing to /home/matbi/tools/Xilinx/Vivado/2022.2/tps/lnx64/binutils-2.37/ld/.deps/eavrxmega3.Po. /home/matbi/tools/Xilinx/Vitis_HLS/2022.2/tps/lnx64/binutils-2.37/opcodes/.deps/pj-dis.Plo -> /home/matbi/tools/Xilinx/Vivado/2022.2/tps/lnx64/binutils-2.37/ld/.deps/eavrxmega3.Po: Invalid argument 설치 과정 끝에 이런 에러가 나타납니다. 문제가 뭔지 알 수 있을까요
 - 
      
        
    미해결설계독학맛비's 실전 FPGA를 이용한 HW 가속기 설계 (LED 제어부터 Fully Connected Layer 가속기 설계까지)
HW 가속기로 만드는 법
안녕하세요 맛비님.이번 강의에서 8비트 곱셈 Core 모듈은 SW보다 HW의 수행 시간이 더 느리기 때문에 HW 가속기로써 적합하지 않다고 말씀해주셔서 다음과 같이 질문 두 가지 남깁니다.병렬 처리하는 HW가 더 빠를 것이라고 생각되었는데, 왜 SW의 수행 능력이 더 빨랐던 걸까요?제 생각에는 SW가 처리하기에 너무나도 단순한 곱셈밖에 없었기 때문에(복잡하지 않았기 때문에),Data loading하는 양이 적어 연산하는 양 자체가 작았기 때문에,AXI4가 아닌 AXI4-Lite를 사용함으로써 Data를 1byte씩만 보낼 수 있었기 때문에라고 생각되는데 틀린 부분이나 더 이유가 있을까요?8비트 곱셈 Core 모듈이 HW 가속기로써 작동하게 만들어주려면 어떤 조치를 취하실 것인지 궁금합니다. HW의 연산 시간이 SW의 연산 시간보다 빨라야 HW 가속기로써의 역할을 하는 것이 아니라, Data loading 시간 + HW의 연산 시간 + HW의 결과를 넘기는 시간이 SW의 연산시간보다 빨라야 HW가속기로써 적합한 것인데, 이를 한 문장으로 표현할 수 있을까요? (HW의 수행 시간이 SW의 수행 시간보다 빠르다? 와 같이) 항상 감사합니다.
 - 
      
        
    미해결설계독학맛비's 실전 Verilog HDL Season 1 (Clock부터 Internal Memory까지)
passwd: Authentication token manipulation error
처음 ubuntu를 키고 id를 정하고 엔터를 누르고 password쓰라고 해서 쓰려고 했더니만 아예 글이 써지질 않습니다.그래서 아예 ubuntu를 새로 다시 깔았는데 제목과 같은 오류 메시지만 떠서 검색해본 결과 $ sudo reboot를 쳐봤더니만 그대로 password가 설정되지 않은채로 install 되어 모바엑스텀에서 파일을 깔려고 할때마다 password를 치라고 창이 나오면 그대로 멈춰서 자판이 쳐지질 않아서 도무지 다음 단계로 갈 수가 없습니다. 어떻게 해야 좋을까요?ㅠㅠ
 - 
      
        
    미해결설계독학맛비's 실전 FPGA를 이용한 HW 가속기 설계 (LED 제어부터 Fully Connected Layer 가속기 설계까지)
Vivado, Vitis 설계 내용 수정 후 프로그램 실행
Vivado, Vitis 설계 내용을 수정한 후 보드에 프로그램을 바로 올려서 확인하는 방법이 있는지 궁금합니다. 현재는 Block design을 수정하게 되면 아래 과정을 진행하여 보드에서 동작을 확인합니다. Synthesis, implementation, Generate Bitstream -> xsa file을 추출하여 Vitis에서 다시 Application project를 생성 -> Build Project, Run as hardware 이러한 과정을 모두 거치는 것이 시간이 너무 오래 걸립니다. 혹시 위 과정에서 설계 내용을 수정했을 때 하지 않아도 되는 과정이 있을까요?? 또는 추출한 xsa file을 Application Project를 생성하지 않고 바로 적용시키는 방법이 있을까요??
 - 
      
        
    해결됨설계독학맛비's 실전 FPGA를 이용한 HW 가속기 설계 (LED 제어부터 Fully Connected Layer 가속기 설계까지)
FPGA 9장 Integrated logic analyzer(ILA) / include .h 라이브러리 관련 문의
FPGA 9장 Integrated logic analyzer(ILA) 관련 문의이전 8장 강의에서는 HW IP Core 디버깅을 위해서 ILA를 사용 했었습니다.9장에서는 S00_AXI - M_AXi_GP0 에 대해 따로 ILA ip를 만들지 않고 Wrapper 처리 하였는데,1) AXI interface-PS 디버깅 검증을 위해 항상 필요한것이 아닌가요?2) 함수 include .h라이브러리에서"xil_io.h" 라이브러리에서 Write/Read 기능을 이용하여"xparameters.h"에 있는 라이브러리 Base Address을 이용한 것을 확인하였습니다. include 폴더에는 수많은 라이브러리 .h 파일이 존재하는데, "xil_io.h"에 write/read를 할 수 있는 함수가 있다. / "xparameters.h"에 Base Address에 대한 정보를 사용자가 쓸 수 있다. 각 라이브러리안에 기능들을 확인할 수 있는 문서가 따로 있을까요? 없다면 SW를 구현할때 저 파일을 일일이 다 보면서 사용자가 어떤 함수를 구현할지 결정해야 할까요?
 - 
      
        
    미해결설계독학맛비's 실전 Verilog HDL Season 1 (Clock부터 Internal Memory까지)
시뮬링크 관련 이슈
ERROR: [XSIM 43-3225] Cannot find design unit work.hello_world in library work located at xsim.dir/work.ERROR: Please check the snapshot name which is created during 'xelab',the current snapshot name "xsim.dir/hello_world/xsimk" does not exist 이런 에러가 떠서질문을 검색해보니 gcc가 잘 설치가 안되어 있다길래sudo apt-get updatesudo apt-get install gcc설치했음에도 ./build 가 실행이 안됩니다.
 - 
      
        
    미해결설계독학맛비's 실전 Verilog HDL Season 1 (Clock부터 Internal Memory까지)
노트북에 설치할 용량이 없는데 윈도우 비바도로 그냥 배워도 될까요>
가능할까요?
 - 
      
        
    미해결설계독학맛비's 실전 FPGA를 이용한 HW 가속기 설계 (LED 제어부터 Fully Connected Layer 가속기 설계까지)
Serial 통신이 아예 안되는 것 같습니다,,,
================== 제가 지금 사용하고 있는 보드는 Z7-10 보드입니다.(중고나라에서 구매했습니다. 여담이지만 판매자분도 맛비님 강좌 수강생이더라구요. 현재는 취업 후에 보드가 필요하지 않아 저에게 판매를 한 상태이구요. 문제를 인지 후에 혹여나 판매자분한테 정보를 얻을 수 있을까 싶어서 추가 연락을 취해봤지만, 답장이 없는 상태입니다,,) Vivado 버전은 2022.2와 2020.2 버전 둘 다 사용해봤습니다. 맛비님 블로그에서 보드 마스터 압축 파일을 다운 받고다음 경로에 설치 했습니다. Vivado 프로젝트 경로입니다.Zynq IP 상태입니다. 3. Vitis 프로젝트 경로입니다. 4. Serial port입니다. 5. 바이티스 코드입니다.scanf도 아니고 그냥 바로 출력하도록 만들었는데도터미널에 아무것도 출력되지 않습니다,, 7. 보드 모습입니다.제가 놓친 부분이 있을까요??Z7-10 보드로 강의 듣는 수강생도 꽤 많아 보이지만 저와 같은 문제를 겪은 사람은 없는 것 같아 보입니다,, 중고 보드의 고장 문제일 수도 있을까요?? ㅠㅠ
 - 
      
        
    미해결설계독학맛비's 실전 Verilog HDL Season 1 (Clock부터 Internal Memory까지)
HDL 11장 COUNTER의 관하여 질문이 있습니다.
안녕하세요??output [6:0] o_cnt; 이 부분을 따로 밑에서 assign o_cnt = cnt; 로 선언해주지 않고 output reg[6:0] o_cnt로 선언하여 밑에 적어 놓은 코드와 같이 변경을 해보았습니다. module counter_100(input clk, reset_n,output reg [6:0] o_cnt ); always@(posedge clk or negedge reset_n) beginif(!reset_n) begin o_cnt<= 0;end else if (o_cnt <100 ) begin o_cnt <= o_cnt + 1;endendmodule이런 식으로 설계를 해도 되는 건지 궁금하여 여쭤봅니다.
 - 
      
        
    미해결설계독학맛비's 실전 Verilog HDL Season 1 (Clock부터 Internal Memory까지)
BRAM layency
맛비님 안녕하세요 ! BRAM Ctrl 부분을 복습 도중 질문 사항이 생겨 글남기게 되었습니다. 강의와 다르게 비바도에서 직접 bram ip를 불러와서 테스트 벤치를 작성해보려고 했습니다. 이때 Total Port B Read Latency가 2 clock cycle 이라고 나와있습니다.이 경우에 제가 PORT A에서 DATA를 받아 메모리에 쓰고 B에서 OUTPUT를 통해 출력을 읽는데 2 Clock에 latency가 걸린다고 이해하면 되는지 궁금합니다.(이것의 기준이 PORT A, B 의 clk가 같을때 얘기인지 궁금합니다.)
 - 
      
        
    미해결설계독학맛비's 실전 AI HW 설계를 위한 바이블, CNN 연산 완전정복 (Verilog HDL + FPGA 를 이용한 가속기 실습)
CNN Core 모듈 질문
안녕하세요 맛비님 항상 좋은 강의 잘 듣고 있습니다.질문 두 가지만 드리겠습니다!CNN 연산 모듈의 latency가 4 cycle인데, throughput은 몇인가요? 수업에서 했던 시뮬레이션은 입력 데이터를 여러 번 넣는 과정이 아닌 한 번만 넣고 하나의 결과가 나온 시뮬레이션이지만, 사실 이 모듈은 파이프라인 구조로 되어있는 모듈이기 때문에, 입력데이터를 여러 번 넣는 과정을 진행한다면 throughtput은 1이라고 봐도 무방한가요?기존 CNN 연산 모듈 말고, Winograd convolution 연산을 구현한 모듈로 얼마만큼의 resources(LUT, slices)들이 줄었는지 발전시켜보혀고 하는데 맛비님 생각이 궁금합니다! =================강의에서 다룬 내용들의 질문들을 부탁드립니다!! (설치과정, 강의내용을 듣고 이해가 안되었던 부분들, 강의의 오류 등등)이런 질문은 부담스러워요.. (답변거부해도 양해 부탁드려요)개인 과제, 강의에서 다루지 않은 내용들의 궁금증 해소, 영상과 다른 접근방법 후 디버깅 요청, 고민 상담 등..글쓰기 에티튜드를 지켜주세요 (저 포함, 다른 수강생 분들이 함께보는 공간입니다.)서로 예의를 지키며 존중하는 문화를 만들어가요.질문글을 보고 내용을 이해할 수 있도록 남겨주시면 답변에 큰 도움이 될 것 같아요. (상세히 작성하면 더 좋아요! )먼저 유사한 질문이 있었는지 검색해보세요.잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.==================
 - 
      
        
    해결됨설계독학맛비's 실전 Verilog HDL Season 1 (Clock부터 Internal Memory까지)
Verilog 문법 관련 질문입니다.
안녕하세요! Verilog 문법 관련 질문드립니다.!always @(a, b, sel) begin if (sel) op = a; else op=b;end이런 형태의 Code가 Latch를 유발할 수 있는 Code인가요? if문 혹은 case문에서 조건을 따질 때, x 혹은 z가 condition으로 입력되는 경우 Latch가 생성되지 않도록 합성되는지 궁금합니다. (위 코드에서 op=b가 실행되는지 궁금합니다. )
 - 
      
        
    미해결설계독학맛비's 실전 Verilog HDL Season 1 (Clock부터 Internal Memory까지)
step2에서 설치 오류
vi /root/.Xilinx/install_config.txt 넣으면 강의와 같은 화면이 뜨는게 아니라 저렇게 나옵니다.저 물결이 의미하는게 무엇인가요 ? 그리고 어떻게 하면 해결할수 있을까요...
 - 
      
        
    해결됨설계독학맛비's 실전 FPGA를 이용한 HW 가속기 설계 (LED 제어부터 Fully Connected Layer 가속기 설계까지)
코드 재실행
안녕하세요, 맛비님.Lab 4 Hello world print 진행 중 궁금한 것이 있습니다.Hello world 프린트는 잘 됩니다.그런데 무한루프 while(1) 도는 중에 (terminal에 계속 hello world 출력 중) 소스 코드를 수정하고 다시 re build 를 하여 run하려 할 때 에러가 납니다.혹시 1. 코드가 계속 도는 중에 이렇게 re build를 하면 안되는 것인지 2. 무한루프 도는 중에 중간에 강제로 stop할 방법이 있는지여쭈어봐도 될까요?감사합니다.