안녕하세요. 설계독학의 맛비입니다.
현) Global Top5 Fabless기업에서 HW IP 설계하고 있습니다.
세상에 없던 그리고 여러분들의 현업 생활에 도움이 되는, "진짜 반도체 설계 실무 강의"를 만들고 있습니다.
설계독학과 함께할 수 있는 링크입니다. 함께 즐공하고 성장해요!
講義
受講レビュー
- 設計独学のVerilogマスター Season 1 (実戦コーディングTest問題で完成するデジタル設計エンジニアのキャリア飛躍)
- 設計独学味比の実戦 AI HW設計のためのバイブル、CNN演算完全征服
- 設計独学マスビの実戦 Verilog HDL Season 2 (AMBA AXI4 完全制覇)
- 設計独学맛비's 実戦 Verilog HDL Season 1 (クロックから内部メモリまで)
- 設計独学のVerilogマスター Season 1 (実戦コーディングTest問題で完成するデジタル設計エンジニアのキャリア飛躍)
投稿
Q&A
o_done만 reg type으로 선언한 이유
안녕하세요 🙂코딩 스타일의 차이 이고요.여러가지 코딩 스타일을 보여드리려고 했어요. 유사 질문이 있어서 남겨드려요.즐공하세요!(사진)
- 1
- 2
- 28
Q&A
vivado 및 vitis 리눅스 환경 설치 관련 질문드립니다.
안녕하세요 🙂FPGA 를 리눅스에서 사용하시지 않으실꺼라면, vivado 만 있으셔도 됩니다. 그리고 리눅스 용으로 설치하시면 됩니다. 리눅스 상에서는 Vivado sim 을 위주로 사용해요. 다만 Xilinx 에서 설치 파일을 Vitis 를 super set 으로 제공하고 있어서 vitis 를 설치했습니다. (나중에 확장성이 있을 수 있고요) 리눅스 환경에 적응하시는 것을 적극 추천드릴께요. 추가질문의 답은FPGA 강의를 제작할 당시에 WSL 에서 진행하면 좋았으나, 설치시 드라이버 이슈로 인하여 Windows 를 선택하였습니다. 이런 상황에서 WSL 에서 드라이버 이슈를 해결하고 FPGA 강의를 진행하신 분도 계시는데요. 필요하시면 다음링크 확인해보시면 좋을 것 같아요. https://inf.run/zC27f 즐공하세요 🙂
- 1
- 3
- 49
Q&A
21강의 DUT 질문 있습니다.
안녕하세요 🙂그림에서 보시면, (사진)캡쳐해주신 코드는 Combinational Logic 파트입니다. (파란색 부분)코드에서 1 cycle 변경 부분은, 다음 그림에서 빨간색 부분이 되겠습니다.빨간색 박스 내의 코드를 보시면, clk edge 에 맞추서, c_state 이것이 1 cycle delay 를 만들어 냅니다.따라서 "S_DONE일 경우 n_state를 S_IDLE 로 바꾸는데요" 이 반영된 내용은 1 cycle 뒤에 c_state 로 반영됩니다. 따라서 질문주신"wave form에서는 바로 바뀌지 않고, 1cycle 정도 후에 바뀌나요?"이것은 코드에서 의도한 동작입니다.즐공하세요 🙂
- 1
- 1
- 22
Q&A
파일 제거 방법
안녕하세요 🙂AI 가 답변을 잘 달아준 것 같아요. Tool 이 설치되어 있는 폴더를rm -rf 으로 지우시면 되겠습니다.즐공하세요!
- 1
- 2
- 41
Q&A
[AI HW Lab2] CNN Verilog HDL Practice 1 (Simulation) - 문제설명편 ppt
안녕하세요.강의자료에 있는 주어진 변수값을 먼저 확인해보겠습니다.ACI_BW 는 22 bit 이고, bias 는 8bit 입니다. AB_BW = ACI_BW + bias 입니다. 질문은 왜 AB_BW 가 23 bit 이냐였고, 최대값 만을 놓고 23 bit 이면 충분한지 계산해 보겠습니다. "2 의 23 승" 은 "2의 22승 더하기 2의 8승" 값 보다 큽니다.즉, 22 bit + 8 bit 에서 overflow 를 방지하는 bit width 는 23 bit 이면 충분합니다.따라서 AB_BW 를 23 bit 정하였고, overflow 는 발생하지 않을 것으로 예상됩니다.즐공하세요.
- 1
- 2
- 29
Q&A
[AI HW Lab1] CNN Core C 코딩 (Golden Model 만들기)
안녕하세요.차근차근 순서대로 살펴보겠습니다.위 그림, 아래 그림, 이렇게 불러보겠습니다.위 그림의 KX, KY 는 kernel 2-D 의 size 이고, 아래 그림의 S 와 R 에 해당됩니다.위 그림의 CI, CO 는 아래그림의 C 와 M 에 맵핑됩니다.위 그림, 아래그림의 차이라고 한다면,위 그림은 순서가, Input feature map * Weight 순이었다면,아래 그림은 순서가, Weight * Input feature map 순 입니다.제가 생각하기로는 위, 아래 그림의 Input feature map 과 Weight 의 곱하기 순서만 바뀌었을 뿐, 두개의 그림은 같은 연산을 설명하는 것으로 이해됩니다.(사진)
- 1
- 2
- 26
Q&A
14장 실습코드에서 valid 신호에 대해
안녕하세요 🙂의외로, AI 가 답변을 제대로 적어준 것 같은데요.휴먼의 입장에서 적어보겠습니다. 해당 코드는 1bit 의 F/F 3 개가 cascade 로 연결되어 있는 구조로 회로가 완성이 되는 코드입니다. 즉 3 bit shift register 로 합성이 됩니다.그림으로 그려보면 이런 느낌? (사진) (사진) Verilog 문법을 알고계시다면 이 말이 어떤 뜻인줄 아실 것 같으신데요.reg [2:0] r_valid;r_valid r_valid [2:0] 이것은 input i_valid 를 매 사이클 마다 1 bit 씩 shift 하는 내용을 기술한 것입니다.즐공하세요!
- 1
- 2
- 30
Q&A
spartan7 fgga484보드
안녕하세요.Spartan-7 보드는 Zynq처럼 PS(Processing System)이 내장된 구조가 아니기 때문에, IP Integrator에서 Zynq PS 블록을 추가해서 사용하는 방식은 불가능합니다. 대신에 전체를 PL 영역만으로 설계해야 하고, 필요하다면 MicroBlaze 같은 소프트 프로세서를 추가해 활용할 수 있습니다. 따라서 CNN 구현도 순수 RTL 기반 또는 MicroBlaze + PL 구조로 접근하셔야 합니다.결론적으로, Zynq PS 대신 뭔가를 대체하는 개념은 없고, Spartan-7은 순수 FPGA 보드이기 때문에 직접 하드웨어 설계와 필요시 MicroBlaze를 통한 소프트 프로세서 구성을 고려하시면 됩니다.즐공하세요.
- 1
- 1
- 28
Q&A
Design Valid I/F
안녕하세요 🙂Season1 의 14장 강의에서 다루었습니다.(사진)실습코드 캡쳐 드립니다.(사진) 즐공하세요 🙂
- 1
- 2
- 24
Q&A
[9장 led 점등 시간 제어 불가]
안녕하세요 🙂제 질문은 1. led 불은 켜지는가? if 안켜진다. 그러면 PIN map 부터 (master.xdc) 다시확인해야합니다.else 켜진다면버전과, 보드의 차이라기보다는.. 다른 부분에 문제가 있지 않을까 생각이 드는데요.이거는 직접 디버깅을 해보셔야 할 것 같아요.8장에서 ILA 사용법을 알려드렸고요. ILA 를 AXI4-Lite 에 붙여서, 실제로 점등시간 제어값이 제대로 HW IP 에 전달되고 있는지 확인이 필요해보여요.값까지 잘 들어온다면, HW IP 자체에 문제가 있는거고요. 수정하신 부분이 없다면 당연히 동작해야 맞는거라서. 제 생각에는 "AXI4-Lite W/R 동작" 에 문제가 있는게 아닐까 예상해봅니다.사용했던 프로젝트 파일들도 실습파일에서 공유를 드렸으니까, 잘 되는거와 비교해보시는 것도 방법일 것 같아요.즐공하세요 🙂
- 1
- 2
- 29