묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨설계독학맛비's 실전 Verilog HDL Season 1 (Clock부터 Internal Memory까지)
FSM 관련 질문 좀 드리겠습니다!
안녕하세요! 좋은 강의 늘 감사드립니다 !! FSM always @(*) 구문에서 처음에 n_state = S_IDLE; 로 초기화 구문을 넣어주는거랑 default문을 추가해서 n_state = S_IDLE을 넣어주는거랑 완전히 같은 역할을 한다고 생각하면 될까요? 혹시 그렇다면 전자로 코딩 하시는 이유를 알 수 있을까요?? 그리고 Verilog에서 저런식으로 특정 상수로 값을 초기화해도 합성 과정에서 별 문제 없이 잘 합성이 되나요 ?? 조합회로라 상관 없을 것 같다는 생각이 들었는데 순차회로의 경우에는 저런식으로 초기화 구문을 사용하면 합성이 되는지 안되는지도 궁금합니다!!
-
해결됨설계독학맛비's 실전 Verilog HDL Season 1 (Clock부터 Internal Memory까지)
Pipeline 실습 관련 질문드립니다
안녕하세요 양질의 강의 영상 감사합니다! Pipeline 실습에서는 Valid 신호를 3개의 Flip Flop을 죽 늘어선 형태로 사용하셨는데 이게 혹시 실제로도 이렇게 코딩하여 합성하면 Hold Time 위반이 발생하는게 맞나요? Flip Flop 사이에 아무런 조합회로가 안붙고 플립플롭의 출력이 입력으로 바로 들어가면 Hold Time 위반이라고 학교에서 얼핏 배운 기억이 났습니다 만약 Hold Time 위반이 맞다면 실제 합성시에는 사이에 Buffer를 사용하여 해결하면 될까요? 또한 실무에서 그렇게 Buffer를 추가하는 것은 RTL 엔지니어가 Hold Time 위반 나겠다 싶은 곳에다가 Verilog 코드에 추가해주는 식으로 해결하는지 아니면 합성 이후 Back End쪽(??)단계에서 버퍼를 추가시켜서 해결하는지 궁금합니다
-
미해결설계독학맛비's 실전 FPGA를 이용한 HW 가속기 설계 (LED 제어부터 Fully Connected Layer 가속기 설계까지)
build 문의 드립니다.
wsl 에서 build 가 안되서 문의 드립니다. (8:55부분) 아래 링크의 유튜브 내용 보고 wsl / vivado 설치했고, vivado 까지 잘 동작 하는데, build가 되지 않는데요.. 조치사항 알 수 있을까요?? https://www.youtube.com/watch?v=BdtaSQs0RLQ https://www.youtube.com/watch?v=4qwAEJ_3-8o
-
미해결설계독학맛비's 실전 Verilog HDL Season 1 (Clock부터 Internal Memory까지)
실제 fpga상에서 BRAM을 사용했을때
안녕하세요 맛비님. 항상 좋은 강의 감사드립니다. 오늘 배운 BRAM 사용법을 활용하여 어떤 코드를 작성하고, 그 코드를 실제 FPGA상에서 실행시켰을때, FPGA 보드가 제공하는 BRAM의 area중 현재 몇퍼센트를 사용중인지 vivado tool에서 확인해볼수 있는 방법이 따로 있을까요?
-
해결됨설계독학맛비's 실전 Verilog HDL Season 1 (Clock부터 Internal Memory까지)
Counter 설계관련 질문
맛비님 counter 설계를 보고 제가 나름대로 찾아서 설계를 생각해봤습니다. 생각하다보니 질문이 있습니다. 1. D flip flop을 설계할 때 맛비님의 경우에는 output port를 wire 상태로 그냥 두시고 reg 변수를 따로 선언하셨습니다. 찾다보니 output port를 output reg 타입으로 선언해서 d flip flop을 설계하는 경우도 있던데 두 차이 점이 무엇인지 궁금합니다 나중에 합성할때 맛비님 방식이 더 유리한 것인가요? `timescale 1ns/1ps module d_ff(i_D, clk, reset_n, o_Q); input i_D; input clk; input reset_n; output o_Q; always @(posedge clk or negedge reset_n) begin if (!reset_n) begin o_Q <= 0; end else begin o_Q <= i_D; end end endmodule 2. 맛비님은 counter 설계시 한번에 하셨는데 동기식/비동기식 counter를 찾아보면 여러개의 D flip flop으로 설계한 것들을 찾아볼 수 있었습니다. 여기서 질문이 있습니다. 아래 첨부한 사진을 보시면 4bit 동기식 counter를 설계했을 뿐인데도 truth table의 양이 많은 것을 알 수 있습니다. 만약 제가 16bit 동기식 counter를 설계한다고 하면 훨씬 더 많은 truth table이 요구되고 이 truth table을 가지고 카르노맵을 그리는 것이 훨씬 더 복잡해 질텐데 실무에서는 그럼 어떻게 설계를 하는건가요??? 혹시 이런 복잡함을 줄이려고 맛비님이 counter 설계 설명시 내부에 reg를 선언해서 +1씩 해주신건가요??(훨씬 단순하게 설계를 하기 위해 강의하신 내용대로 하는 것인지 궁금합니다)
-
미해결설계독학맛비's 실전 FPGA를 이용한 HW 가속기 설계 (LED 제어부터 Fully Connected Layer 가속기 설계까지)
bram 생성 관련 질문 있습니다.
bram을 통해 데이터 다루는 챕터인데 bram을 vivado hls에서 코드로 변환 시킨건가요? vivado에서 block degine에 bram 생성하는 것도 있긴한데 그건 사용자가 코드를 변환 시킬수가 없네요.designe block말고 vi 에디터로 bram을 관련 코드를 다룬다고 한다면 bram을 어떻게 생성할수있는건가요?
-
미해결설계독학맛비's 실전 Verilog HDL Season 1 (Clock부터 Internal Memory까지)
시뮬레이션에서 클럭 rising edge 순간 판단 대상이 되는 신호도 함께 천이 됩니다. 이런 경우 논리 상태에 대해 궁금합니다.
시뮬레이션 결과를 보시면 클럭 rising edge 순간에 판단 대상이 되는 신호도 함께 천이 됩니다. 이런 경우 시뮬레이션 결과처럼 실제 fpga 구현 되었을 때 문제가 없을까요?
-
미해결설계독학맛비's 실전 Verilog HDL Season 1 (Clock부터 Internal Memory까지)
D ff 질문입니다
8강 10:35에 나오는 d flipflop회로가 어떻게 작동되는지 설명해 주실 수 있나요?̊̈ ?̊̈ ?̊̈
-
미해결설계독학맛비's 실전 Verilog HDL Season 1 (Clock부터 Internal Memory까지)
verilog에서 parameter와 'define 사용이 비슷한 것 같은데 어떤 차이점이 있나요?
코드를 분석하다보니 parameter와 define이 비슷한 생각이 들어서요 어떤 차이점이 있나요? 또 어떤한 경우에 각각을 사용하면 좋을까요?
-
미해결설계독학맛비's 실전 Verilog HDL Season 1 (Clock부터 Internal Memory까지)
BRAM SRAM 공통점 차이점
안녕하세요 맛비님, 강의 다시 복습하면서 궁금한 게 생겼는데, BRAM과 SRAM의 공통점과 차이점이 뭔지 알려주실 수 있나요? 구글에 검색해보면 BRAM 대신 DRAM으로 결과들이 나와서 찾기가 힘드네요
-
해결됨설계독학맛비's 실전 Verilog HDL Season 1 (Clock부터 Internal Memory까지)
Reset 관련 질문입니다.
안녕하세요! 맛비님! 강의 열심히 따라가며 수강하고 있습니다. 강의를 듣다가 보면 항상 Reset에서 막혀 다시 Reset 강의로 돌아가서 확인하고 있습니다..ㅎㅎ 어느정도 이해가 되었다고 생각했는데 궁금해서 질문 드립니다. reset을 이용해서 처음부터 시작하는 신호와 unknown 상태를 방지하기 위해서 사용하는 것으로 알고 있습니다.(맞나요?) 하지만 코드를 따라가다 보면 reset 값만 0에서 1로 바꾸고 나머지 값에는 영향을 주지 않는거 같은데 reset을 통해서 나머지 변수들에게도 영향을 주는 건가요? 아니면 reset의 출발신호만을 알기위해서 사용하는 건가요??
-
미해결설계독학맛비'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 강의를 따라해도, 그 내용이 메모리반도체 관련 직무에 지원할 때도 도움이 될까요?