묻고 답해요
156만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨설계독학맛비's 실전 Verilog HDL Season 1 (Clock부터 Internal Memory까지)
HLS 설계 시 필요한 C언어 역량
=================현업자인지라 업무때문에 답변이 늦을 수 있습니다. (길어도 만 3일 안에는 꼭 답변드리려고 노력중입니다 ㅠㅠ)강의에서 다룬 내용들의 질문들을 부탁드립니다!! (설치과정, 강의내용을 듣고 이해가 안되었던 부분들, 강의의 오류 등등)이런 질문은 부담스러워요.. (답변거부해도 양해 부탁드려요)개인 과제, 강의에서 다루지 않은 내용들의 궁금증 해소, 영상과 다른 접근방법 후 디버깅 요청, 고민 상담 등..글쓰기 에티튜드를 지켜주세요 (저 포함, 다른 수강생 분들이 함께보는 공간입니다.)서로 예의를 지키며 존중하는 문화를 만들어가요.질문글을 보고 내용을 이해할 수 있도록 남겨주시면 답변에 큰 도움이 될 것 같아요. (상세히 작성하면 더 좋아요! )먼저 유사한 질문이 있었는지 검색해보세요.잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.==================안녕하세요. 맛비님!! 강의 주제와 연관은 있지만 살짝 벗어난 것 같아 질문드리기가 살짝 조심스럽지만 역량을 키우는게 필요하다 판단하여 질문드리게 되었습니다. [질문배경]최근 면접을 다녀왔는데, 강의에서 말할 HLS까진 아니여도 기본 LED 동작코드를 C로 작성해보라는 문제가 출제되었습니다.그 과정에서 동작 및 "함수가 어떤게 필요하겠다"정도는 파악하였지만 실제로 코드를 작성하지 못했고, 그 과정에서 C언어 역량이 많이 부족하다는 것을 깨달았습니다. [찾아본 사항]https://www.inflearn.com/chats/333144/%ED%95%98%EB%93%9C%EC%9B%A8%EC%96%B4-%EC%97%94%EC%A7%80%EB%8B%88%EC%96%B4%EA%B0%80-%EA%B0%96%EC%B6%B0%EC%95%BC-%ED%95%A0-%EC%86%8C%ED%94%84%ED%8A%B8%EC%9B%A8%EC%96%B4-%EC%97%AD%EB%9F%89이전 수강생분이 질문한 부분에 대해서도 확인을 해보았습니다.이 답변에서 맛비님께서 Simulation을 위한 C언어 능력 정도가 필요하다고 말씀하셨고, System HDL을 작성하기 위하선 C++을 공부하면 좋다고 말씀하신것을 확인했습니다. [질문사항]위 답변을 참고하고도 다음과 같은 질문이 생겼습니다.C언어에도 여러 내용이 있는데, 어느 부분을 중점적으로 공부하면 좋을지/ 어디까지 정도만 알면 되는지 가 궁금합니다.C++은 C언어와 비슷하다고 알고있는데, C++역량이 HLS 설계시 왜 필요한지 정말 간단하게라도 설명가능하실지 요정 드립니다. 실무 면접을 통해 많이 부족한 것을 깨달았고, 그만큼 기본기가 중요하다는 것을 배웠습니다. 강의를 통해 많은 것을 배워갈 수 있도록 하겠습니다. :)
-
해결됨설계독학맛비's 실전 Verilog HDL Season 1 (Clock부터 Internal Memory까지)
14장 Pipeline 실습 질문있습니다.
40번째 ~ 46번째 라인인 시프트 레지스터 구현을 Concat syntax 사용해서 구현하셨는데 매 cycle 마다 shift left 된다고 하셨습니다.그런데 구현하신 시프트 레지스터는 Right shift register로 보이는것 같아서요.벡터값이 3 2 1 0 이런식으로 가서 shift left 된다고 표현하신건가요 ??물리적인 배치와 시뮬레이션 값이랑 잘 매칭이 안되고 있습니다 ㅠㅠ해당 사진의 출처는 HDLBits Exams/m2014 q4k 이고 문제의 솔루션도 맛비님이 제공해주신 14강 실습 파일과 동일한 로직을 가지고 있습니다.즉 질문하고 싶은것은 Shift left가 아니라 Shift right가 맞지 않나요 ??레지스터를 어떻게 배치하냐에 따라서 Right left 다르게 할 수 있나요?? 라고 조심스럽게 질문드려봅니다..
-
미해결설계독학맛비's 실전 Verilog HDL Season 1 (Clock부터 Internal Memory까지)
설치오류
재설치 하는데LibXtst.so 다운받으면 될까요? =================현업자인지라 업무때문에 답변이 늦을 수 있습니다. (길어도 만 3일 안에는 꼭 답변드리려고 노력중입니다 ㅠㅠ)강의에서 다룬 내용들의 질문들을 부탁드립니다!! (설치과정, 강의내용을 듣고 이해가 안되었던 부분들, 강의의 오류 등등)이런 질문은 부담스러워요.. (답변거부해도 양해 부탁드려요)개인 과제, 강의에서 다루지 않은 내용들의 궁금증 해소, 영상과 다른 접근방법 후 디버깅 요청, 고민 상담 등..글쓰기 에티튜드를 지켜주세요 (저 포함, 다른 수강생 분들이 함께보는 공간입니다.)서로 예의를 지키며 존중하는 문화를 만들어가요.질문글을 보고 내용을 이해할 수 있도록 남겨주시면 답변에 큰 도움이 될 것 같아요. (상세히 작성하면 더 좋아요! )먼저 유사한 질문이 있었는지 검색해보세요.잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.==================
-
미해결설계독학맛비's 실전 Verilog HDL Season 1 (Clock부터 Internal Memory까지)
.
맛비님의 맛비 시계 강의를 모두 수강하였고, 해당 자료를 보고 아이디어가 떠올라 맛비시계를 응용한 프로젝트를 진행하였습니다.https://www.hackster.io/Yupabal/fpga-watch-with-button-function-on-zybo-z7-14250c맛비님이 hackster.io에 올린 코드를 가지고 "matbi_watch_top", "one_sec_gen"에 대한 코드는 제가 원하는대로 고쳤습니다. 위의 2가지 모듈에는 License를 제 github 주소로 고쳤고, 그 외에 코드들은 matbi님 주소 그대로 두고 저의 github에 올렸는데 혹시 문제가 될까요? (프로젝트를 올린 것도 문제가 될까요?) +추가로 (프로젝트를 진행하면서 생긴 문제였습니다.)하나의 always 구문안에 if~else, if~else 이런식으로 if문을 2개 이상 넣을 수 있나요?이를 시도해보았는데, testbench를 돌려보니 always 구문안에 존재하는 변수 값이 xx로 출력되면서 동작하지 않았습니다.ex)always @( ~~~) beginif(~~)elseif(~~~~)elseend
-
미해결설계독학맛비's 실전 Verilog HDL Season 1 (Clock부터 Internal Memory까지)
Simulation waveform 활성화 안됌
Simulation waveform 활성화가 되지않습니다.=================현업자인지라 업무때문에 답변이 늦을 수 있습니다. (길어도 만 3일 안에는 꼭 답변드리려고 노력중입니다 ㅠㅠ)강의에서 다룬 내용들의 질문들을 부탁드립니다!! (설치과정, 강의내용을 듣고 이해가 안되었던 부분들, 강의의 오류 등등)이런 질문은 부담스러워요.. (답변거부해도 양해 부탁드려요)개인 과제, 강의에서 다루지 않은 내용들의 궁금증 해소, 영상과 다른 접근방법 후 디버깅 요청, 고민 상담 등..글쓰기 에티튜드를 지켜주세요 (저 포함, 다른 수강생 분들이 함께보는 공간입니다.)서로 예의를 지키며 존중하는 문화를 만들어가요.질문글을 보고 내용을 이해할 수 있도록 남겨주시면 답변에 큰 도움이 될 것 같아요. (상세히 작성하면 더 좋아요! )먼저 유사한 질문이 있었는지 검색해보세요.잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.==================
-
미해결설계독학맛비's 실전 Verilog HDL Season 1 (Clock부터 Internal Memory까지)
Begin end 사용
안녕하십니까 수업을 듣던 중 궁금한 점이 생겨서 질문 남깁니다. Always ~~~ begin End Always~~~begin End 는 always 문이 두개라 사용의 이유가 납득이 되는데Always 문안에서 if문이 한번 사용되는데 begin을 쓰신 이유가 궁금합니다.예를들어) Case2.에서 (확실히 나와있는게 case2)Always ~~~ beginIf ~~ beginEnd else beginEndEnd 가 이해가 가지 않습니다. “Always ~~~~beginIf ~~~~~Else ~~~~End“ 하면 똑같지 않나요 ?=================현업자인지라 업무때문에 답변이 늦을 수 있습니다. (길어도 만 3일 안에는 꼭 답변드리려고 노력중입니다 ㅠㅠ)강의에서 다룬 내용들의 질문들을 부탁드립니다!! (설치과정, 강의내용을 듣고 이해가 안되었던 부분들, 강의의 오류 등등)이런 질문은 부담스러워요.. (답변거부해도 양해 부탁드려요)개인 과제, 강의에서 다루지 않은 내용들의 궁금증 해소, 영상과 다른 접근방법 후 디버깅 요청, 고민 상담 등..글쓰기 에티튜드를 지켜주세요 (저 포함, 다른 수강생 분들이 함께보는 공간입니다.)서로 예의를 지키며 존중하는 문화를 만들어가요.질문글을 보고 내용을 이해할 수 있도록 남겨주시면 답변에 큰 도움이 될 것 같아요. (상세히 작성하면 더 좋아요! )먼저 유사한 질문이 있었는지 검색해보세요.잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.==================
-
미해결설계독학맛비's 실전 Verilog HDL Season 1 (Clock부터 Internal Memory까지)
DUT 시퀀셜 로직에서 output을 뽑기 위한 reg 설정 스타일 문의
안녕하세요. 강의 잘 듣고 있습니다.작성하신 예제 코드를 보면 시퀀셜로직의 always 문에서 아웃풋을 뽑기 위해 별도의 reg 타입 변수를 선언하고 always 문 바깥에서 assign 으로 아웃풋에 reg 값을 넣고 있는데,output 선언할때 output reg a_out; 이런식으로 코딩하고 always 문에서 바로 값을 입력하면 문제가 있는 걸까요? 예전에 듣던 강의에서는 바로 이런식으로 입력을 해서 질문드립니다. 합성할 때나 나중에 FPGA에 올릴 때 문제가 될까 해서요. 감사합니다! =================현업자인지라 업무때문에 답변이 늦을 수 있습니다. (길어도 만 3일 안에는 꼭 답변드리려고 노력중입니다 ㅠㅠ)강의에서 다룬 내용들의 질문들을 부탁드립니다!! (설치과정, 강의내용을 듣고 이해가 안되었던 부분들, 강의의 오류 등등)이런 질문은 부담스러워요.. (답변거부해도 양해 부탁드려요)개인 과제, 강의에서 다루지 않은 내용들의 궁금증 해소, 영상과 다른 접근방법 후 디버깅 요청, 고민 상담 등..글쓰기 에티튜드를 지켜주세요 (저 포함, 다른 수강생 분들이 함께보는 공간입니다.)서로 예의를 지키며 존중하는 문화를 만들어가요.질문글을 보고 내용을 이해할 수 있도록 남겨주시면 답변에 큰 도움이 될 것 같아요. (상세히 작성하면 더 좋아요! )먼저 유사한 질문이 있었는지 검색해보세요.잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.==================
-
미해결설계독학맛비's 실전 Verilog HDL Season 1 (Clock부터 Internal Memory까지)
hw unconnect
안녕하세요 맛비님알려주신 방법으로 vivado 를 mobaxterm을 이용해 linux환경에 설치했습니다.교육을 듣고 zybo-z7을 사용해보려고 하는데 장치인식을 못하고 있습니다.auto connect를 눌러도 이런식으로 나와서 다음 진행이안되고있습니다.해결 위한 방법이 궁금합니다.또,윈도우에 다운받은 파일을 mobaxterm이용해 linux로 가져오는 법도 궁금합니다.
-
해결됨설계독학맛비's 실전 Verilog HDL Season 1 (Clock부터 Internal Memory까지)
ERROR - Program group entry, Xilinx Design Tools, already exists for 2022.2. Specify a different program group entry.
=================현업자인지라 업무때문에 답변이 늦을 수 있습니다. (길어도 만 3일 안에는 꼭 답변드리려고 노력중입니다 ㅠㅠ)강의에서 다룬 내용들의 질문들을 부탁드립니다!! (설치과정, 강의내용을 듣고 이해가 안되었던 부분들, 강의의 오류 등등)이런 질문은 부담스러워요.. (답변거부해도 양해 부탁드려요)개인 과제, 강의에서 다루지 않은 내용들의 궁금증 해소, 영상과 다른 접근방법 후 디버깅 요청, 고민 상담 등..글쓰기 에티튜드를 지켜주세요 (저 포함, 다른 수강생 분들이 함께보는 공간입니다.)서로 예의를 지키며 존중하는 문화를 만들어가요.질문글을 보고 내용을 이해할 수 있도록 남겨주시면 답변에 큰 도움이 될 것 같아요. (상세히 작성하면 더 좋아요! )먼저 유사한 질문이 있었는지 검색해보세요.잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.================== 맛비님 안녕하세요!!우선 지난번에 말씀드렸던 계정이슈는 AMD측과 연락하여 수출계정제한조치를 풀어 해결했습니다! [오류 발생 배경]현재 Linux 환경에 Vivado 설치 진행중인데, 제가 영상을 잘못봐서 20.2 영상으로 설치를 진행했습니다. 어찌저찌 최종 설치 후 파일을 확인해보니 bin 파일이 없어 확인하던 차에 (23분 36초)영상버전이 잘못된 것을 확인하고 가이드북과 22.2버전 영상을 참고하여 원활하게 설치 진행중이였습니다. [오류 발생]22.2 버전 세팅을 완료하고 설치를 진행하는 과정(23분 04초)에서 제목과 같은 문제가 발생했습니다. 오류발생원인은 제가 처음에 설치했던 파일 때문에 발생한 문제로 확인이 가능하나, 기존 설치파일 위치 및 삭제를 하는것에 있어 조심스러워 이렇게 문의 드리게 되었습니다. 현재 디렉토리 상황도 공유해드립니다. [요청사항]기존 설치 파일 제거 후 ./Xilinx_Unified_2022.2_1014_8888_Lin64.bin -- -a XilinxEULA,3rdPartyEULA -b Install -c /root/.Xilinx/install_config.txt 명령어를 이용한 Vivado 재설치1번 방법으로 파일 find가 어렵다면 완전히 밀고 재설치 하는 방법 이 중에서 도와주시면 감사하겠습니다.영상을 미리 확인하지 않고 발생한 문제로 인해 바쁘신 와중에 문의드려 죄송합니다. TT
-
미해결Verilog FPGA Program 1 (Arty A7-35T)
SPI MASTER 질문
reg [9:0] ready_cnt; //count 0~1023reg [3:0] done_cnt; //count 0~15reg [9:0] sck_cnt; //count 0~1023reg [5:0] sck_index; //count 0~63위와 같은 각각의 카운터의 의미가 이해가 되질 않습니다구체적으로 카운터의 범위를 왜 저렇게 선언해야 하는지 이해가 되질 않습니다또한 아래와 같은 파라미터로 선언된 부분이 배열처럼 사용되는 부분이 이해되질 않습니다배열로 선언해야 하는게 아닌지 궁금합니다parameter SLAVE_ID_WRITE = 8'h64;parameter SLAVE_ID_READ = 8'h65;-------------------------------------------------------------------(~rw_flag ? SLAVE_ID_WRITE[6] : SLAVE_ID_READ[6]) :(~rw_flag ? SLAVE_ID_WRITE[5] : SLAVE_ID_READ[5]) :(~rw_flag ? SLAVE_ID_WRITE[4] : SLAVE_ID_READ[4]) :(~rw_flag ? SLAVE_ID_WRITE[3] : SLAVE_ID_READ[3]) :(~rw_flag ? SLAVE_ID_WRITE[2] : SLAVE_ID_READ[2]) :(~rw_flag ? SLAVE_ID_WRITE[1] : SLAVE_ID_READ[1]) :(~rw_flag ? SLAVE_ID_WRITE[0] : SLAVE_ID_READ[0]) :
-
미해결설계독학맛비's 실전 Verilog HDL Season 2 (AMBA AXI4 완전정복)
AW channel의 slave에서 ready를 아주 늦게있다 주는 경우
안녕하세요 맛비님!코드 분석중에 궁금한 점이 있어서 연락드립니다. Top의 Sync FIFO 부분에 의문점이 생기는데요m_valid 신호는 WVALID, m_data 는 WDATA로 나가고 m_ready 신호는 WREADY 신호로 리셋이 걸리고 난 이후 1로 박혀있습니다. 그래서 RDMA 는 잘 동작하지만 WDMA의 AW channel에서 특정한 이유로 AWREADY신호를 아주 오랜시간 받지 못하게 된다면 AW channel에서 handshake가 일어나지 않지만 W channel에 handshake는 계속 일어 난다는 가정이 만들어 졌는데요.. 이렇게 되면 오작동하는게 아닌가 싶어서 여쭤봅니다.
-
미해결설계독학맛비's 실전 AI HW 설계를 위한 바이블, CNN 연산 완전정복 (Verilog HDL + FPGA 를 이용한 가속기 실습)
FPGA 강의 관련 문의
안녕하세요 맛비님 CNN 강좌를 다 수강하고 FPGA 보드에 npu 시뮬레이션하라는 업무를 받았습니다. (랩실 업무)맛비님의 FPGA 보드는 Zynq z20 보드로 진행하는데 혹시 vcu118 보드나 zcu104 보드로 진행을 하면서 강의를 수강해도 상관없을까요?? Zynq UltraScale+ MPSoC ZCU104 Evaluation Kit AMD Virtex UltraScale+ FPGA VCU118 Evaluation Kit
-
미해결설계독학맛비's 실전 AI HW 설계를 위한 바이블, CNN 연산 완전정복 (Verilog HDL + FPGA 를 이용한 가속기 실습)
[Lab2] 진행 중 질문드립니다!
안녕하세요 맛비님! 항상 양질의 강의 감사드립니다! 다름이 아니라 Lab2 exam 진행 중 c file 을 작성하고 make clean 후 다시 make 하고 돌렸을 때 위와 같이 문제가 발생했습니다.exam 뿐 아니라 solve 폴더에 있는 파일도 동일한 문제가 발생하는데 해결 방법이 있을까요? Q2) Kernel의 Dimension은 Input Feature Map의 Dimension과 상관이 있나요?Kernel이 3-D라고 한다면 각 Depth마다 Kernel 계수 등이 다를 것이라고 생각하는데 Input Feature Map이 채널이 1인 2-D지만 Kernel은 Depth가 2 이상인 3-D가 가능한지,반대로 Input Feature Map의 Ch이 2이상인 3-D지만 Kernel의 Depth가 1인 2-D가 될 수 있는지 궁금합니다! Q3) Kernel, Input Feature Map이 각각 다중 채널이라면 Convolution 연산을 할 때는 Input Feature Map(CH1) Conv Kernel(CH1)Input Feature Map(CH2) Conv Kernel(CH2)Input Feature Map(CH3) Conv Kernel(CH3) ..... 위와 같이 2D Conv 2D 연산으로 진행되나요?
-
미해결설계독학맛비's 실전 Verilog HDL Season 1 (Clock부터 Internal Memory까지)
Vivado 설치 계정오류
안녕하세요 맛비님!강의를 이제 막 시작하려고 하는 설린이입니다. Xilinx 사의 Vivado Linux 22.2 버전을 다운받을 때 개인정보를 입력한 뒤에 정보를 제대로 입력하지 않았다는 오류가 지속적으로 뜨고 있습니다. Xilinx사에 문의는 하였는데 답장이 오지 않아 일주일 넘게 기다리고 있는 상황입니다.혹시 현업에서 이와 같은 문제가 발생하였을 때 해결방법이 있을까요?
-
미해결설계독학맛비's 실전 AI HW 설계를 위한 바이블, CNN 연산 완전정복 (Verilog HDL + FPGA 를 이용한 가속기 실습)
[Lab3] ps동작 확인 불가 (Serial terminal 무응답)
Lab3 의 끝부분에서 보드를 연결하여 Vitis의 serial terminal로 동작을 확인하는 데 아래의 사진과 같이 나옵니다. 보드와 연결은 되는 것 같습니다.
-
미해결설계독학맛비's 실전 AI HW 설계를 위한 바이블, CNN 연산 완전정복 (Verilog HDL + FPGA 를 이용한 가속기 실습)
[lab3] Package IP warning
IP Package를 하니까 아래의 사진과 같은 warning이 발생하였습니다. 프로젝트를 진행하는 것에 문제가 있을까요?
-
해결됨설계독학맛비's 실전 Verilog HDL Season 2 (AMBA AXI4 완전정복)
설계 Flow에 대한 질문이 있습니다.
안녕하세요 맛비님!너무 좋은 강의 잘 듣고있습니다.. 감사합니다. 강의를 듣다가 코드를 분석해보는 중 궁금한 점이 생겨서요.코드를 짜기 이전까지 어떤 과정이 이루어 지는지가 궁금합니다...예를들어스펙을 확인하고 파라미터 값이나 제약사항을 생각한다.알고리즘을 생각하고 Function을 지정한다.필요한 Register나 module을 생각한다.이에 필요한 Wire를 지정한다.Stage에 맞는 Diagram을 그린다.등등등 ...Verification...이런 과정이 궁금합니다 ㅜㅜ 맛비님 코드를 볼 때 마다 어떤 과정으로 이런 코드가 완성되었을까 너무 궁금해서 여쭤봅니다. 아직은 뉴비지만 플로우를 알게 된다면 설계를 할 때 생각정리에 큰 도움이 될거같아서요 ㅠㅠ
-
미해결설계독학맛비's 실전 Verilog HDL Season 2 (AMBA AXI4 완전정복)
vitis에서 firmware loading 후 main에 진입을 못해요
안녕하세요. 강의 잘 보고 있습니다.Mem copy IP의 연장선으로 dma와 axi lite를 이용한 모듈을 customize 시키고,이 Custom IP를 이용해서 XSA 파일을 만들고 VITIS에서 펌웨어를 만들었습니다.하지만, MAIN함수의 printf 구문이 동작하질 않네요ㅠㅠ (MEM copy IP 예제는 target board-zcu102에서 잘동작합니다 ㅠㅠ).어떤 것을 더 고려해야 할까요?? 구글링해서 tcl파일로 드라이버를 생성하여 xparameters.h , xil_io.h 와 같은 파일은 생성하였습니다.
-
미해결Verilog FPGA Program 1 (Arty A7-35T)
SPI master testbench 질문
안녕하세요! SPI contoller ch.5 소스 코드에서 궁금한 점이 있어 질문 남깁니다.timing 규격상 sck_index 값이 48일 때 send -> done 로 transition이 일어난다고 알고 있는데요49까지 count 되는 경우에 delay 문제가 없는지 궁금합니다.감사합니다.
-
미해결설계독학맛비's 실전 Verilog HDL Season 2 (AMBA AXI4 완전정복)
CDC
안녕하세요 맛비님!설계에 있어서 CDC문제나 metastable문제를 해결하는 것이 중요하다고 알고 있습니다.혹시 이 문제가 디버깅이 오래 걸리는 문제를 초래하기도 하나요? 디버깅 시간과 어떤 연관이 있는지 궁금합니다.디지털 설계에서 신뢰성을 높이기 위해 할 수 있는 방법은 어떤 것이 있을지 궁금합니다!칩설계를 하는 데 있어서, PPA가 중요하다고 알고 있는데 개발하는 제품, 도메인이 어떤 것이든 똑같이 적용되는 것일까요? 예를 들어 드론이나 무기에 들어가는 칩을 만들어도 PPA가 중요한지 궁금합니다. 사실, 질문이 다소 추상적인데... 제가 다니는 학교에 디지털 회로설계를 하시는 교수님이 없어서 맛비님 강의를 듣다가 찾아오게 되었습니다.. ㅠㅠ 답변 주시면 정말 감사하겠습니다.늘 좋은 강의 감사합니다.