묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결설계독학맛비's 실전 FPGA를 이용한 HW 가속기 설계 (LED 제어부터 Fully Connected Layer 가속기 설계까지)
[4장] vitis serial terminal에 대한 질문
[1. 질문 챕터] : 4장 마지막 부분[2. 질문 내용] : 안녕하세요 맛비님 강의 시청중에 사소한? 질문을 드리고싶어 작성하게 되었습니다. 터미널에서 10입력 이후에 계속해서 로그가 올라오는데, 어떻게 멈출수 있나요?음 그러니까 while(1)때문에 무한문 인것은 알겠는데, 이걸 정지하는 방법이 어디에 있는지 궁금합니다.없다면 어떤 방식으로 보드와 pc의 연결을 끊는 것이 가장 안전한 방법인지 알려주시면 감사하겠습니다! 일단은 vitis프로그램을 종료하는 것으로 마무리하기는 했습니다ㅎㅎ 좋은 강의해주셔서 감사합니다. [3. 시도했던 내용, 그렇게 생각하는 이유] : 영상에서는 따로 나와있지 않아서 여쭤봅니다! ================ 다음 내용은 읽어보시고 지우시면 됩니다.=================질문 내용을 작성해주실 때, 위의 3단계로 제가 이해할 수 있게 작성해주시면 정확한 답변을 드릴 수 있을 것 같아요!!현업자인지라 업무때문에 답변이 늦을 수 있습니다. (길어도 만 3일 안에는 꼭 답변드리려고 노력중입니다 ㅠㅠ)강의에서 다룬 내용들의 질문들을 부탁드립니다!! (설치과정, 강의내용을 듣고 이해가 안되었던 부분들, 강의의 오류 등등)이런 질문은 부담스러워요.. (답변거부해도 양해 부탁드려요)개인 과제, 강의에서 다루지 않은 내용들의 궁금증 해소, 영상과 다른 접근방법 후 디버깅 요청, 고민 상담 등..글쓰기 에티튜드를 지켜주세요 (저 포함, 다른 수강생 분들이 함께보는 공간입니다.)서로 예의를 지키며 존중하는 문화를 만들어가요.질문글을 보고 내용을 이해할 수 있도록 남겨주시면 답변에 큰 도움이 될 것 같아요. (상세히 작성하면 더 좋아요! )먼저 유사한 질문이 있었는지 검색해보세요.잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.==================
-
해결됨설계독학맛비's 실전 Verilog HDL Season 1 (Clock부터 Internal Memory까지)
./build 시 .v파일이 다른폴더에 있는경우도 실행가능한가요?
안녕하세요 맛비님chapter2 폴더의 build기준으로chapter2 안에 abc라는 폴더를 생성하고chpater2 안에 clock_gating_model.vabc 안에 tb_clock_generator.v 이 있다고 가정할때 build를 어떻게 수정해야 실행 가능할까요? 회사에서 rtl코드와 tb코드를 다른 폴더에 보관하라고 해서 부득이하게 질문드립니다.
-
해결됨설계독학맛비's 실전 FPGA를 이용한 HW 가속기 설계 (LED 제어부터 Fully Connected Layer 가속기 설계까지)
Zybo z7-20 보드 사용 질문
안녕하세요. 수업 잘 듣고 있습니다~너무 감사드립니다~ 한가지 궁금한게 있습니다.Zybo z7-20을 구매해서 FPGA 강의를 듣고 있습니다.Q1 : vivado나 vitis를 통해서 테스트를 완료하고 프로그램상 저장, 종료한 다음에보드의 전원을 그냥 Off 하면 되나요? 딱히 해야할 어떤 과정은 없는게 맞죠??
-
미해결설계독학맛비's 실전 FPGA를 이용한 HW 가속기 설계 (LED 제어부터 Fully Connected Layer 가속기 설계까지)
환경 세팅
안녕하세요 🙂[1. 질문 챕터] : eg) 몇 장, 몇 분 몇 초 쯤. or 수강생 분들이 봤을 때 어디구나?! 할 수 있게 표기 부탁 드려요.[2. 질문 내용] : eg) 질문 내용을 자유롭게 작성해주시면 되겠습니다 🙂[3. 시도했던 내용, 그렇게 생각하는 이유] : eg) 설치영상은 이렇게 시도했는데 안되더라 or 본인의 생각을 적어주세요. (실습 내용 중에 이해가 안되거나 잘못된 내용이 있는데, 이러 이러한 근거로 나는 이렇게 생각합니다.) ================ 다음 내용은 읽어보시고 지우시면 됩니다.=================[1. 질문 챕터] : 9분 5초 [FPGA 5장] LED 깜박이기 (PL 영역을 사용해보자 + Clock Frequency 를 이해하고 계신가요?) - 실습편[2. 질문 내용] : UBUNTU 및 WSL재설치 및 초반 환경세팅 필수인가요?[3. 시도했던 내용, 그렇게 생각하는 이유] : 안녕하세요! Verliog1 강좌 수강 후 용량이 부족하여 새로운 컴퓨터에서 수강 진행하며 FPGA의 경우Widows에서 Vivado와 vitis를 깔아서 진행한다고 하셔서 위와 같이 진행중입니다. 혹시 Ubuntu와 WSL파일을 또 새로 깔아서 verilog1때 했던 세팅을 똑같이 진행해야지만 실습 진행이 가능한가요? 용량을 너무 많이 잡아먹어서 이거 역시 깔면 다른 프로그램 나중에 필요할 때 이용못할까봐 피하고 싶어서 그렇습니다.
-
해결됨디지털 회로설계 실무 : Computer Architecture 와 SoC 프로토콜 Digital IP 설계하기
TPSRAM 구조 관련하여 질문 있습니다!
8T TPSRAM 구조를 설명하는 부분에서, BL와 BLB 방향 관련하여 질문이 있습니다.RWL = 1 RBL = 1이 되어 BL값을 볼 수 있는 상태에서, 해당 구조에서는 BL = 1이 되면 M5가 켜져서 0을 읽는 부분이 제가 생각하는 동작과 반대로 된다고 생각했습니다.만약 BL = 1인 상황에서 1의 값을 읽으려면 반대 방향의 인버터(M3, M1) 출력값인 BLB을 M5와 연결돼야 한다고 생각했는데, 이것이 맞는 생각인지 궁금합니다. 질문 읽어주셔서 감사합니다!
-
미해결설계독학맛비's 실전 Verilog HDL Season 1 (Clock부터 Internal Memory까지)
재설치 과정에서의 문의
안녕하세요 🙂[1. 질문 챕터] : eg) 몇 장, 몇 분 몇 초 쯤. or 수강생 분들이 봤을 때 어디구나?! 할 수 있게 표기 부탁 드려요.[2. 질문 내용] : eg) 질문 내용을 자유롭게 작성해주시면 되겠습니다 🙂[3. 시도했던 내용, 그렇게 생각하는 이유] : eg) 설치영상은 이렇게 시도했는데 안되더라 or 본인의 생각을 적어주세요. (실습 내용 중에 이해가 안되거나 잘못된 내용이 있는데, 이러 이러한 근거로 나는 이렇게 생각합니다.) ================ 다음 내용은 읽어보시고 지우시면 됩니다.=================질문 내용을 작성해주실 때, 위의 3단계로 제가 이해할 수 있게 작성해주시면 정확한 답변을 드릴 수 있을 것 같아요!!현업자인지라 업무때문에 답변이 늦을 수 있습니다. (길어도 만 3일 안에는 꼭 답변드리려고 노력중입니다 ㅠㅠ)강의에서 다룬 내용들의 질문들을 부탁드립니다!! (설치과정, 강의내용을 듣고 이해가 안되었던 부분들, 강의의 오류 등등)이런 질문은 부담스러워요.. (답변거부해도 양해 부탁드려요)개인 과제, 강의에서 다루지 않은 내용들의 궁금증 해소, 영상과 다른 접근방법 후 디버깅 요청, 고민 상담 등..글쓰기 에티튜드를 지켜주세요 (저 포함, 다른 수강생 분들이 함께보는 공간입니다.)서로 예의를 지키며 존중하는 문화를 만들어가요.질문글을 보고 내용을 이해할 수 있도록 남겨주시면 답변에 큰 도움이 될 것 같아요. (상세히 작성하면 더 좋아요! )먼저 유사한 질문이 있었는지 검색해보세요.잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.==================최신 버전들로 설치과정 따라가다가 막힌 부분이 있어 지우고, 강의와 동일한 버전들로 재설치하여 따라가고 있었습니다.그런데 초기에 설치했을 때와 달리, 우분투를 지우고 이전 버전으로 다시 깔게 되니 UNIX username 설정하는 부분이 나오지 않네요..이 부분은 재설치 이전에 설정한 것이 남아있는 건가 해서 일단 넘어갔습니다.이후 mobaxterm을 열고보니 이전과 달랐습니다.강의 7:08 부분에는 /home/matbi/ 안에 .landscape, .bash_logout, .bashrc, . motd_shown, .profile, .Xauthority 이렇게 확인되는데..제 경우에는 /home/ 파일 안에는 아무것도 없었으며, 프로그램 이전에 설정했었던 UNIX username도 뜨지 않았습니다. 오히려 /root/ 파일 안에는 비슷하게 나열되어있기는 한데 .landscape, .bash_logout이 없고, .bash_history라는 파일이 있습니다.10:18 부근에서 다시 홈으로 돌아가서 루트 계정이 아닌 걸로 넘어가게 되는데 무언가 이전에 했던 작업이 남아있는 것인지.. 홈에서 다시 WSL-Ubuntu-20.04를 눌러도 루트계정으로 뜨더라구요.. 이런 부분은 어떻게 해결하면 될까요?
-
미해결설계독학맛비's 실전 Verilog HDL Season 1 (Clock부터 Internal Memory까지)
1강 ./build시 'timesclae 1ns / 1ps error 문의
안녕하세요 맛비님 맛비님이 작성한 verilog 파일(~.v)의 script 내용을 19행('timescale 1ns / 1ps)에서 부터 끝까지 지우고 다시 작성하여 ./build 시에 아래와 같은 오류가 발생하고 있습니다. (자세한 상황은 밑에 참조한 사진을 통해서 확인하실 수 있습니다.) 오류의 문제로 지목하는 tb_clock_generator의 19행을 확인시에 영상과 달리 'timescale 1ns / 1ps가 변수? 로 인식이 안되는 것 같은데 왜 이런 문제가 발생하는지 알려주실 수 있습니까?맛비님이 작성한 원본의 파일을 다시 받아서 19행('timescale 1ns / 1ps)제외한 나머지를 삭제하고 진행시에는 vivado simulation이 동작하는 것을 확인하였습니다. 만약 현업에서는 verilog 파일을 새롭게 만들시에 timescale 구문을 작성할 때도 문제가 발생하는지, 그리고 다른 사람이 작성한 verilog 파일에서 timescale 구문의 해상도나 시간을 수정할 때는 어떻게 하면 되는지 자세히 알려주시면 감사합니다.
-
미해결설계독학맛비's 실전 FPGA를 이용한 HW 가속기 설계 (LED 제어부터 Fully Connected Layer 가속기 설계까지)
128bit의 width를 가지는 bram에서의 사용방법에 대한 질문
안녕하세요 🙂[1. 질문 챕터] : 22장[2. 질문 내용] : 32bit의 width가 아닌, 128bit width를 갖는 메모리에 대한 질문[3. 시도했던 내용, 그렇게 생각하는 이유] : 제가 연구실에서 사용하는 FPGA의 width가 128bit여서, 그에 맞는 fc layer를 설계하고자 하여 코드를 수정중입니다. rtl code의 경우 수정과 bitstream까지 gen하였는데, 제가 c언어에 익숙하지 않아 맛비님이 사용하신 main을 수정하려다 보니 사진과 같은 에러가 발생합니다. 아무래도 pointer의 자료형이 32bit이다 보니 발생하는 것 같은데, c언어 특성상 pointer를 128bit로 바꿀 수도 없어 어떻게 해결해야 할 지 모르겠습니다. main을 처음부터 다시 짜는 방법밖에는 없을까요? ================ 다음 내용은 읽어보시고 지우시면 됩니다.=================질문 내용을 작성해주실 때, 위의 3단계로 제가 이해할 수 있게 작성해주시면 정확한 답변을 드릴 수 있을 것 같아요!!현업자인지라 업무때문에 답변이 늦을 수 있습니다. (길어도 만 3일 안에는 꼭 답변드리려고 노력중입니다 ㅠㅠ)강의에서 다룬 내용들의 질문들을 부탁드립니다!! (설치과정, 강의내용을 듣고 이해가 안되었던 부분들, 강의의 오류 등등)이런 질문은 부담스러워요.. (답변거부해도 양해 부탁드려요)개인 과제, 강의에서 다루지 않은 내용들의 궁금증 해소, 영상과 다른 접근방법 후 디버깅 요청, 고민 상담 등..글쓰기 에티튜드를 지켜주세요 (저 포함, 다른 수강생 분들이 함께보는 공간입니다.)서로 예의를 지키며 존중하는 문화를 만들어가요.질문글을 보고 내용을 이해할 수 있도록 남겨주시면 답변에 큰 도움이 될 것 같아요. (상세히 작성하면 더 좋아요! )먼저 유사한 질문이 있었는지 검색해보세요.잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.==================
-
미해결설계독학맛비's 실전 Verilog HDL Season 1 (Clock부터 Internal Memory까지)
HDL 4장 질문
안녕하세요 🙂강의영상을 보고 latch를 쓰지않는 이유를 알고 싶어 latch와 glitch에 대해 찾아보았지만 원하는 만큼의 내용을 찾지 못하여 글을 쓰게 되었습니다. =>clock gating시 조합회로, Flip-Flop을 사용하면 glitch nosie가 발생할수 있어 latch를 사용하여 Clock을 만들지만 일반적으로 latch를 사용할 경우 edge 상태가 아닌 level상태에서 데이터가 전달되어 많은 시간이 소요되고 glitch 발생시 timing이 어긋나기 때문에 사용하지 않으며 입력, 출력 등에 대해 기술하지 않는 조건이 있을 경우 이전 값을 유지하기 위해 latch가 만들어지므로 이점도 유의 하여야한다.위 내용이 검색하여 알게 된 내용입니다. 그 외에도 디지털 회로 설계시 latch를 쓰지않는 이유가 있을까요?
-
미해결설계독학맛비's 실전 Verilog HDL Season 1 (Clock부터 Internal Memory까지)
HDL 2장 수업내용
안녕하세요 🙂HDL 2장 내용 확인차 질문을 하게 되었습니다.-Testbench는 디자인(module)에 대한 시뮬레이션을 실행하기 위한 환경으로 어떤방식, 어느 주기로 확인하는 과정을 어떻게 꾸밀지 정하며 크게 stimulus -> module -> checker로 구성되어 있다.-DUT는 설계한 logic으로 testbench에서 module에 들어가며 verilog, VHDL로 작성된 하드웨어 설계이다.-stimulus는 DUT의 input역할 -checker는 DUT의 output이 원하는 결과에 맞는지 check하는 모듈이다. 위와 같이 정리를 하였는데 시뮬레이션과 테스트벤치의 개념이 확실히 이해가되지 않아 작성하게 되었습니다.예를 들어 DUT가 단순히 and logic이라고 했을떄 시뮬레이션은 입력에 따라 and의 결과가 잘나오는지 확인하는 것이고 테스트벤치는 clock주기와 시뮬레이션을 모두 포함하는것이라고 생각하면 될까요?시뮬레이션은 단순히 and를 돌려보는 것이고 그것에 필요한 input,clk주기등은 테스트벤치에서 정하는것이라고 생각하면되나요?
-
미해결설계독학맛비's 실전 FPGA를 이용한 HW 가속기 설계 (LED 제어부터 Fully Connected Layer 가속기 설계까지)
cs_server mismatch
1. 질문 챕터] :[FPGA 1장] 어렵다고 겁내지말고, 따라해보자 (FPGA 전체 Flow 경험). 13분 45초[2. 질문 내용] : cs_server mismatch오류로인한 auto connect 에러[3. 시도했던 내용, 그렇게 생각하는 이유] : 아마 Vivado 프로그램은 2024.1.1 버전이고 cs_server은 2024.2.0 버전이여서 버전 오류가 발생했다고 하는 것 같습니다. 이에 AMD사이트에서 검색한 결과set_param labtools.override_cs_server_version_check 1 코드를 Vivado_init.tcl 파일 안에 넣으라는데C:\Users\Gavin\AppData\Roaming\Xilinx\Vivado위와같은 경로에 있다는 해당 파일을C:\Users\user\AppData\Roaming\Xilinx\Vivado이렇게 경로를 다 따라 갔는데 못찾고있다는게 첫번째 문제입니다! 여기에서 Vivado_init.tcl파일을 어떻게 찾을지가 첫번째 질문입니다.두번째로 이 방법은 cs_server의 버전 확인을 무시하도록 설정하는 방식으로, 엄밀히 말하면 근본적인 해결책은 아니기에 cs_server와 Vivado 간의 완전한 호환성을 보장하지 않으며, 다른 문제가 발생할 수 있다는 경고를 봤는데 문제가없을지와 혹시 더 좋은 해결책이 있을 지 여쭤보고싶습니다.
-
미해결설계독학맛비's 실전 AI HW 설계를 위한 바이블, CNN 연산 완전정복 (Verilog HDL + FPGA 를 이용한 가속기 실습)
cnn_kernel.v 코드질문입니다.
안녕하세요 맛비님 강의 잘 보고있습니다.🙂[1. 질문 챕터] : lab2 cnn설계 rtl 중 cnn_kernel 부분에 궁금한 점이 있어서 질문드리게됐습니다. [2. 질문 내용] : eg) 질문 내용을 자유롭게 작성해주시면 되겠습니다 🙂맛비님 솔루션 코드 부분인데,acc_idx가 +1 되는건 1cycle이 지나고 아닌가요?always @(*) begin으로 시작해서 acc_kernel을 0으로 초기화 해주셨고그 아래줄에 r_mul의 인덱스에 해당하는 부분을 for문으로 loop를 돌면서 acc_kernel의 각 인덱스에 값을 할당하는 걸로 보이는데 clk edge 마다 acc_kernel을 0으로 초기화해주는데 아래 for문이 무슨 의미가 있나 싶어 질문하게되었습니다. [3. 시도했던 내용, 그렇게 생각하는 이유] : eg) 설치영상은 이렇게 시도했는데 안되더라 or 본인의 생각을 적어주세요. (실습 내용 중에 이해가 안되거나 잘못된 내용이 있는데, 이러 이러한 근거로 나는 이렇게 생각합니다.) ================ 다음 내용은 읽어보시고 지우시면 됩니다.=================질문 내용을 작성해주실 때, 위의 3단계로 제가 이해할 수 있게 작성해주시면 정확한 답변을 드릴 수 있을 것 같아요!!현업자인지라 업무때문에 답변이 늦을 수 있습니다. (길어도 만 3일 안에는 꼭 답변드리려고 노력중입니다 ㅠㅠ)강의에서 다룬 내용들의 질문들을 부탁드립니다!! (설치과정, 강의내용을 듣고 이해가 안되었던 부분들, 강의의 오류 등등)이런 질문은 부담스러워요.. (답변거부해도 양해 부탁드려요)개인 과제, 강의에서 다루지 않은 내용들의 궁금증 해소, 영상과 다른 접근방법 후 디버깅 요청, 고민 상담 등..글쓰기 에티튜드를 지켜주세요 (저 포함, 다른 수강생 분들이 함께보는 공간입니다.)서로 예의를 지키며 존중하는 문화를 만들어가요.질문글을 보고 내용을 이해할 수 있도록 남겨주시면 답변에 큰 도움이 될 것 같아요. (상세히 작성하면 더 좋아요! )먼저 유사한 질문이 있었는지 검색해보세요.잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.==================
-
미해결설계독학맛비's 실전 FPGA를 이용한 HW 가속기 설계 (LED 제어부터 Fully Connected Layer 가속기 설계까지)
VIVADO 프로그램 실행 안됨
안녕하세요 🙂[1. 질문 챕터] : eg) 몇 장, 몇 분 몇 초 쯤. or 수강생 분들이 봤을 때 어디구나?! 할 수 있게 표기 부탁 드려요.[2. 질문 내용] : eg) 질문 내용을 자유롭게 작성해주시면 되겠습니다 🙂[3. 시도했던 내용, 그렇게 생각하는 이유] : eg) 설치영상은 이렇게 시도했는데 안되더라 or 본인의 생각을 적어주세요. (실습 내용 중에 이해가 안되거나 잘못된 내용이 있는데, 이러 이러한 근거로 나는 이렇게 생각합니다.) 안녕하세요 🙂[1. 질문 챕터] : 제공하는 실습파일 및 실행 환경에 대해 알아보아요. (수강자분들에게만 공유드려요~)[2. 질문 내용] : 2024.1버전 UI가 달라서 똑같이 진행이 안됩니다. [3. 시도했던 내용, 그렇게 생각하는 이유] : 영상에서는 vitis2020.2 사용해서 경로 지정해주고 launch누르면 바로 vivado 프로그렘이 실행이 되는데 2024.1버전을 사용하면 그냥 프로그램 실행만 되고 open workspace 해서 같은 경로 지정해줬는데 vivado 프로그램이 실행되지 않고 큰 변화가 안보입니다. 이 상태에서 잘 설치됐는지 확인 및 앞으로의 진행을 어찌 해야하는지 궁금합니다.
-
해결됨디지털 회로설계 실무 : Computer Architecture 와 SoC 프로토콜 Digital IP 설계하기
dram 질문
마지막 그림으로 질문하겠습니다Mat이 모여서 Bank을 구성하고Bank Group을 Chip으로 보며저렇게 Chip이 4개 앞, 뒤로 있으면 DIMM구조 인것으로 이해했습니다.여기서 row, col은 Bank Group 하나에 대해서 선택하는 것이고, Bank address는 Chip을 선택하는게 맞나요 ??(그런데 cell와 chip은 주소가 없다고 하셔서 잘 이해가 되지않습니다) 질문2) active, row access에서 CAS도 떠야 이제 Activate가 됐다고 하셨는데, 이때 CAS = Low인거죠? 그리고 여기서 we도 떠야한다고 하셨는데 그럼 we가 1이면 write 0이면 read동작을 수행하나요?
-
해결됨디지털 회로설계 실무 : Computer Architecture 와 SoC 프로토콜 Digital IP 설계하기
PCB HW 설계직무에서 디지털 설계 경험 어필하기
안녕하세요. 항상 좋은 강의 잘 듣고있습니다.다름이 아니라, PCB HW 설계 직무에 대한 관심이 있는 상태로 강의를 듣다보니 질문이 생겼는데요,PCB HW 설계는 PCB위에 IC, 능동소자, 통신 인터페이스등 다양한 소자를 배치해서 회로가 원하는 구동을 할 수 있게 설계하는 직무라고 알고 있습니다.질문) 그럼 FPGA를 직접 설계한다는 것은 IC를 직접 설계하는 것이고, FPGA를 검증용으로 쓴다는 것은 필요한 IC Chip을 구매하기 전에 미리 검증 한다는 의미로 이해해도 될까요?바쁘시겠지만 회신주시면 많은 도움이 될 것 같습니다. 감사합니다.
-
미해결설계독학맛비's 실전 FPGA를 이용한 HW 가속기 설계 (LED 제어부터 Fully Connected Layer 가속기 설계까지)
block design 업데이트 관련
안녕하세요,lab13에서 fsm counter를 조금 변형해보려고 하던 중 겪었습니다.block design에서 사용자 정의 ip를 사용하고 있고, 그 ip를 수정하면 block design에서 해당 ip를 업데이트 할 수 있습니다.업데이트 후 create wrapper hdl, synthesis를 하면 에러 메세지로 parameter override가 뜨거나 그전에 수정전 rtl code가 업데이트 되지 않은 경우가 있습니다. 그럴 때마다 wrapper.v와 block design을 삭제 후에 다시 처음부터 만들어서 synthesis를 하는데, update를 확실하게 하는 방법이 있을까요?
-
해결됨디지털 회로설계 실무 : Computer Architecture 와 SoC 프로토콜 Digital IP 설계하기
[Ch.5] SRAM의 장점 관련 질문
안녕하세요! SRAM의 장점 중 Mux, Demux의 딜레이를 줄일 수 있다는 부분에 대해 질문 드립니다. (1) 제가 이해한 내용으로는, 데이터를 Read할 때 BL와 BLB을 모두 합친 16개의 signal을 보기 위해 MUX 16:1이 필요한 걸로 볼 수 있지만, Sense amp로 인해 1-stage를 줄일 수 있기 때문에 딜레이를 감소시킬 수 있는 것으로 이해했습니다. 이렇게 이해하는 것이 맞는지 궁금합니다.(2) Sense amp 없이도 BL 8개만 확인하여 출력을 얻어내는 방식을 사용할 수 있다고 생각했는데, 이러한 방식은 왜 사용하지 않는지 궁금합니다.항상 좋은 강의와 함께 질문글 읽어주셔서 감사합니다!
-
해결됨디지털 회로설계 실무 : Computer Architecture 와 SoC 프로토콜 Digital IP 설계하기
과제3 질문
제가 포트에 대한 개념이 부족했었는데 아래에 정리한 글이 맞을까요?1. 칩 관점칩 포트: 칩 전체의 입출력을 위한 포트로, 외부와의 통신을 담당합니다.모듈 핀: 칩 내부의 특정 모듈에서 사용하는 개별적인 접점으로, 각 모듈의 기능을 수행하기 위한 신호를 전달합니다.2. 핀 묶음 관점포트: 여러 개의 핀을 묶어서 하나의 단위로 다루는 개념으로, 데이터 전송이나 제어 신호를 처리하는 역할을 합니다.핀: 포트의 구성 요소로, 개별적인 전기적 접점입니다.--> 싱글포트 sram : read, write중 하나를 할 수 있는 포트 1개가 존재(WE)--> 투포트 sram : read포트 1개, write포트 1개(we, wa, wd/ re, ra, rd)--> 듀얼포트 sram : read, write를 할 수 있는 포트가 2개씩(cs_a, addr_a, we_a, wd_a, rd_a / cs_b, addr_b, we_b, wd_b, rd_b)
-
미해결ARM Cortex-M 프로세서 프로그래밍
CORTEX_02_ASSEMBLY 빌드시 에러
CORTEX_02_ASSEMBLY 빌드시 에러가 발생하여찾아보고 있는데 도무지 모르겠네요...ㅠㅠ도와주셔요.... 콘솔 에러 표시c:\st\stm32cubeide_1.9.0\stm32cubeide\plugins\com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.10.3-2021.10.win32_1.0.0.202111181127\tools\arm-none-eabi\bin\ld.exe: ./Core/Src/sysmem.o: in function `_sbrk':C:/Users/gons/Desktop/CubeIDE_Workspace/00_CORTEX_02_ASSEMBLY_f429/Debug/../Core/Src/sysmem.c:54: multiple definition of `_sbrk'; ./Core/Src/syscalls.o:C:/Users/gons/Desktop/CubeIDE_Workspace/00_CORTEX_02_ASSEMBLY_f429/Debug/../Core/Src/syscalls.c:118: first defined herec:\st\stm32cubeide_1.9.0\stm32cubeide\plugins\com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.10.3-2021.10.win32_1.0.0.202111181127\tools\arm-none-eabi\bin\ld.exe: ./startup/startup_stm32f429xx.o:(.isr_vector+0x0): multiple definition of `g_pfnVectors'; ./Core/Startup/startup_stm32f429zitx.o:(.isr_vector+0x0): first defined herec:\st\stm32cubeide_1.9.0\stm32cubeide\plugins\com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.10.3-2021.10.win32_1.0.0.202111181127\tools\arm-none-eabi\bin\ld.exe: ./startup/startup_stm32f429xx.o: in function `Default_Handler':C:/Users/gons/Desktop/CubeIDE_Workspace/00_CORTEX_02_ASSEMBLY_f429/Debug/../startup/startup_stm32f429xx.s:114: multiple definition of `Default_Handler'; ./Core/Startup/startup_stm32f429zitx.o:C:/Users/gons/Desktop/CubeIDE_Workspace/00_CORTEX_02_ASSEMBLY_f429/Debug/../Core/Startup/startup_stm32f429zitx.s:114: first defined here
-
미해결설계독학맛비's 실전 FPGA를 이용한 HW 가속기 설계 (LED 제어부터 Fully Connected Layer 가속기 설계까지)
BRAM 메모리 사이즈 질문
////////////////////////////////////////////////////////////////////////////////// // Company: // Engineer: Austin // // Create Date: 2021.04.29 // Design Name: // Module Name: dpbram_from_hls // Project Name: // Target Devices: // Tool Versions: // Description: synthesible true dpbram from vivado hls // Dependencies: // // Revision: // Revision 0.01 - File Created // Additional Comments: // ////////////////////////////////////////////////////////////////////////////////// `timescale 1 ns / 1 ps module true_sync_dpbram ( clk, addr0, ce0, we0, q0, d0, addr1, ce1, we1, q1, d1 ); parameter DWIDTH = 16; parameter AWIDTH = 12; parameter MEM_SIZE = 3840; input clk; input[AWIDTH-1:0] addr0; input ce0; input we0; output reg[DWIDTH-1:0] q0; input[DWIDTH-1:0] d0; input[AWIDTH-1:0] addr1; input ce1; input we1; output reg[DWIDTH-1:0] q1; input[DWIDTH-1:0] d1; (* ram_style = "block" *)reg [DWIDTH-1:0] ram[0:MEM_SIZE-1]; always @(posedge clk) begin if (ce0) begin if (we0) ram[addr0] <= d0; else q0 <= ram[addr0]; end end always @(posedge clk) begin if (ce1) begin if (we1) ram[addr1] <= d1; else q1 <= ram[addr1]; end end endmodule 여기서 왜 MEM_SIZE = 3840으로 선언된건가요..?double port니까 16*12*2 = 384로 선언되어야 맞지 않은건가요.. 설계자가 그냥 여유로 남겨놓은 건가요ㅕ??