묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결설계독학맛비's 실전 Verilog HDL Season 1 (Clock부터 Internal Memory까지)
개인공부하다 질문이 생겨 질문합니다!!
VIVADO 사용해서 개인 공부하고 있는데 질문이 생겨 질문합니다!! Behavioral Simulation과 Post Synthesis Functional Simulation의 경우 결과물이 이상적으로 나오는데 Post Syntehsis Timing Simulation을 하는 경우, 입력값에 따라 에러가 발생하는 것 같습니다.. 에러가 처음 발생하는 시점은 찾았는데 이런 경우 어떤식으로 디버깅을 해야할지 조언해주실 수 있나요? Synthesis 하고나면 block구조도 조금씩 바뀌어 있고 wire,port name 도 바뀌어 있어서 Simulation 할 때 뭐가 뭔지 어려운것같습니다.,,, ( Setip/Hold time 은 만족하는것 확인했습니다.)
-
미해결설계독학맛비's 실전 Verilog HDL Season 1 (Clock부터 Internal Memory까지)
회로설계 직무 취업 관련 질문입니다.
안녕하세요. 인프런 강의 수강 중인 전자공학과 학생입니다. 삼성전자 LSI사업부 같은 대기업의 회로 설계 직무로 취업하는데 있어 석사 이상의 과정이 필수라고 보시나요? 저는 학부만 하고 취업하려고 생각하고 있었는데 유튜브 찾아보니 회로 설계 쪽은 최소 석사는 하고 들어가야 좀 더 나은 성과를 낼 수 있으니 석사 하고 지원하는 게 좋다는 의견이 많은 것 같아요.(어떻게 보면 당연한거지만요..!) 그래서 학부생으로 취업하게 되면 아무래도 할 수 있는 일이 많이 제한적인지 현업에 계시는 맛비님 의견을 듣고 싶습니다^^
-
미해결설계독학맛비's 실전 Verilog HDL Season 1 (Clock부터 Internal Memory까지)
r_valid 신호의 역활
항상 FPGA가 어떻게 하드웨어 가속에 도움이 될까 궁금 했는데 정말 피가 되고 살이 되는 귀중한 강의 였습니다. 코드작성에 r_valid 신호는 왜 쓰인 건가요? 그냥 인풋에 같이 동기화 되서 작동하는 그냥 잉여의 FF 체인 처럼 보이는데, 이름이 valid 인것 보면 중요한 검증 로직인 것 같기고 하구요. 현업에서도 이런식으로 많이 쓰이나요? 좋은 강의 항상 감사합니다.
-
미해결설계독학맛비's 실전 Verilog HDL Season 1 (Clock부터 Internal Memory까지)
Latch 방지를 위한 n_state 의 default 값 정의
안녕하세요 좋은 강의 감사드립니다. 강의 7분 40초경에 n_state 값이 assign 되어 있지 않기 때문에 2bit 11 신호가 들어오면 latch 가 발생하기 때문에 꼭 default 값을 assign 해 줘야 한다고 말씀 하셨는데요. 왜 그런지 설명 좀 더 부연 설명 가능 하실까요? latch 가 안 좋은것은 알겠는데 왜 latch가 발생 되는지 궁금합니다. case 에 없는 상황이니 그냥 머신이 작동하지 않을 것 같은데요.. 그리고 한 가지더요, always block 2번째 3번째는 always block 한개로 같이 기술 될 수 있나요? 같은 combinational logic 이고 stimulus도 같으니 가능할 것도 같아서요. 만약 가능하다면 어쩐식으로 기술이 될 수 있을 까요? 그리고 always block 두개로 코드를 만드신 이유가 있을까요? 질문이 너무 많았네요^^ 그럼 시간 되실때 답변 부탁 드리겠습니다.
-
미해결설계독학맛비's 실전 Verilog HDL Season 1 (Clock부터 Internal Memory까지)
파이프라인설계관련질문있습니다(8승파이프라인)
네 안녕하십니까 파이프라인관련해서 질문이있는데요,,! AI가속기를 위해 FPGA로 파이프라인을 이용해 가속연산을 한다고 들었는데 8승자체를 2승-2승-2승 모듈을 연결하여 OUTPUT이 8승이 되도록 2승모듈을 연결하고 각각의 모듈들이 2승씩 클락에 따라 병렬로 계속 연산이 되는것은 이해하였습니다. 그런데 이 파이프라인이 가속을 위함이라고 들었는데, 각 모듈들에 클락이 들어갈때마다 2승씩 각 모듈의 입력에 따른 계산을 동시에 해주는건 이해가 되는데, 만약 머신러닝에서 학습시 가속에 이용된다면 이 원리가 계산을 할때 어떤식으로 적용이 되는지 음.. 조금 와닿게 추가 설명을 해주실 수있나요?? 제가 이해하고있는것은 목표한 계산(y)을 나누어 병렬적으로 수행할 수 있다..! 이렇게 이해하고있는데 제 생각도 맞는건지 궁금합니다.
-
해결됨설계독학맛비's 실전 Verilog HDL Season 1 (Clock부터 Internal Memory까지)
수체계와 반올림
아으니.. 질문을 지우시고 유튭에다 적으셨군요. 업로드 하려고 눌렀더니 안되서 봤더니.. ㅎ 되도록이면 인프런을 활용해주세요. 유튭 글쓰기 불편해요 ㅜ ============== 질문 ================= 개인공부를 하다 궁금증이 생겨 질문드립니다 !! fixed point 수 체계에서 반올림은 어떤식으로 구현되는지 궁금합니다. 검색 해보니까 Rounding down, Rounding up, Rounding away from zero, Rounding towards zero 이런 식으로 종류가 많던데 혹시 HW에서 특별이 선호되는 방법이 있나요?. ============== 답변 =================반올림을 결정하는건 알고리즘 엔지니어의 역할 같아요 :) 왜냐하면, 반올림 여부에 따라 결과 값이 달라지기 때문에, 이를 보장하는 거는 HW 설계 엔지니어의 역할이라 생각되진 않습니다. HW 엔지니어는 정답지와 동일하게 답을 내는 설계를 해야한다고 생각해요. 만약 반올림을 HW 엔지니어가 정할 수 있으면, 제가 굳이 하나 고른다면, 구현이 가장 쉽고 logic size 가 작은 "버림" 을 취하지 않을까 싶습니다.
-
미해결설계독학맛비's 실전 Verilog HDL Season 1 (Clock부터 Internal Memory까지)
새로운 사용자 만들기?
안녕하세요 맛비님 혹시 austin은 home에서 디렉토리를 추가한게 맞나요? 디렉토리를 추가하는줄 알고 mkdir austin을 했더니 권한오류라고해서 home 권한을 chmod -R 777 home로 쓰기권한도 추가할려했는데 무한루프를 돌아서 바로 껐습니다. 혹시 강의랑 똑같이 할려면 어떻게 해야하나요? 그리고 WSL왼쪽에 User session에서 XXXX(austin)이라고 나와있는것도 뭔지 궁금합니다! 리눅스가 처음이라서 아직 익숙하지 않습니다. 열심히 해서 질문을 줄여보도록 하겠습니다...ㅎㅎ;;
-
미해결설계독학맛비's 실전 Verilog HDL Season 1 (Clock부터 Internal Memory까지)
build 파일 실행 문제
build 파일을 다른 폴더로 복사해서 옮기고 안에 있는 tb_clock_generator.v 같은 이름 부분을 제가 원하는 파일명으로 바꿨습니다. 그렇게 해서 실행을 해봤는데 오류가 뜨네요. 혹시 어떤 부분이 문제인 걸까요? <build 파일 안의 내용> <latch.v> <tb_latch.v> <실행결과>
-
미해결설계독학맛비's 실전 Verilog HDL Season 1 (Clock부터 Internal Memory까지)
메모리반도체 관련 verilog 프로젝트
현재 수강완료를 앞둔 학생입니다. verilog 설계가 메모리반도체에서는 어떻게 쓰이는지 알기 위해서 간단한 프로젝트를 해보고 싶습니다. 물론 맛비님께서 시스템반도체 전공이시지만, 혹시나 메모리반도체 역량을 키울 수 있는 프로젝트를 소개해주실 수 있을까요? 사이트의 URL주소라던지 책이라던지 다른 강의라던지 알려주신다면 정말 감사하겠습니다! 아니면 혹시 현재 진행 중이신 FPGA 강의를 따라해도, 그 내용이 메모리반도체 관련 직무에 지원할 때도 도움이 될까요?
-
해결됨설계독학맛비's 실전 Verilog HDL Season 1 (Clock부터 Internal Memory까지)
스크립트 질문
안녕하세요, 스크립트 에 대해 질문 있습니다. 1. 현업에서, Makefile을 작성해서 컴파일을 진행하나요? 2. 설계/검증 과정에서, 스크립트 파일의 용도가 궁금합니다. (빌드, 컴파일, 클린 이외 어떤 목적으로 작성하는지 궁금합니다.)
-
미해결설계독학맛비's 실전 Verilog HDL Season 1 (Clock부터 Internal Memory까지)
./build 실행
다운 마치고 다음단계 진행하려고 하는데 또 처음부터 막히네요... D드라이브에 설치해서 그런 걸까요...? 수업자료는 cd~/ 로 옮겼습니다. 그리고 build 실행시키려는데 안 되네요..
-
미해결설계독학맛비's 실전 Verilog HDL Season 1 (Clock부터 Internal Memory까지)
환경 setting
- 처음에 xilinx 버전을 2020.3으로 다운받았더니 edition고르는 거에서 webPACK이 없더라구요. 그래서 다시 2020.2버전 다운 받아서 똑같이 해봤는데 아래 그림처럼 됐습니다. 만약 저처럼 2020.3으로 어느정도 진행하다가 다시 2020.2로 하는 경우에는 해줘야 되는 게 있나요?
-
미해결설계독학맛비's 실전 Verilog HDL Season 1 (Clock부터 Internal Memory까지)
External Editor (Vscode) 적용 방법
안녕하세요 Vivado text editor 대신에 Vscode를 text editor로 사용하고 싶습니다. 인터넷에 검색해보면 윈도우 환경에서는 설정하는 방법이 있는거 같은데 혹시 현재 실습 환경인 리눅스 환경에서도 설정하는 법을 알 수 있을 까요??
-
해결됨설계독학맛비's 실전 Verilog HDL Season 1 (Clock부터 Internal Memory까지)
실습응용편 질문입니다
====== 질문 ====== 질문이 좋았는데, 사라져서 대신 남깁니다. :) 1. Resistering count 부분을 꼭 작성해야 하나요? Resistering count가 없어도 Core 에서 i_num_cnt에 따라서 카운트 되도록 표현 가능하지 않나요? 2. 카운트 변수를 초기화 시킬때 reset_n 으로 하는게 정석 같지만 i_run 신호로 해도 괜찮은건가요?
-
미해결설계독학맛비's 실전 Verilog HDL Season 1 (Clock부터 Internal Memory까지)
D drive 에 설치하기
Tool 설치시 C drive 의 용량이 부족하다면! D drive 에 설치하시면 됩니다. (하지만 D drive 가 없다면..;;;; 죄송합니다.) 방법은 path 만 D drive 로 잡아주시면 됩니다. WSL terminal 에서 cd /mnt/d # "d" drive path 만약에 성공적으로 들어가 지신다면, install path 를 /mnt/d/tools/Xilinx 이렇게 해서 진행하시면 됩니다.
-
해결됨설계독학맛비's 실전 Verilog HDL Season 1 (Clock부터 Internal Memory까지)
FSM 실습편에서 질문
맛비님 강의 FSM 실습편에서 궁금한점이 있어 질문드립니다 #10 @(posedge clk); $display("Start! [%d]", $time); i_run = 1; @(posedge clk); i_run = 0; 테스트벤치에서 initial begin 안에 이런 구문이 등장하는데 @(posedge clk) 뜻이 뭔가요 @를 보니 always @(posedge clk)이 생각나는데 제가 알기로는 initial 구문안에 always를 쓸 수 없다고 알고 있었거근요 @(posedge clk)는 always @(posedge clk)에서 always 만을 없앤 것인가요? 아니면 다른 어떤 의미가 있는 것인가요?
-
해결됨설계독학맛비's 실전 Verilog HDL Season 1 (Clock부터 Internal Memory까지)
베릴로그 문법 관련 책 질문
맛비님 전에 유튜브 영상에서 방학동안 공부하는 베릴로그 문법 공부책으로 한국어판 VERILOG HDL 디지털 설계와 합성의 길잡이 를 추천해주셨습니다. 교보문고에 검색해보니 품절이라는 표시가 나오는데 혹시 다른 책을 추천 받을 수 있을까요? 마치 C언어 문법을 가르쳐 주듯이 베릴로그의 문법만을 다루는 책이 있을까요?
-
미해결설계독학맛비's 실전 Verilog HDL Season 1 (Clock부터 Internal Memory까지)
fsm 실습응용편
혹시 에러나는 부분이 always 첫문장에 nstate=idle때문에 is_done이 0이 될때를 명시하지 않으면 state가 idle로 가기 때문에 문제가 되는거로 이해했는데 혹시 맞나요?