작성
·
18
1
안녕하세요 맛비님. [HDL 3장] reset과 관련하여 질문있습니다.
맛비님께서 올려주신 포스트 내용을 보면 Xilinx에서는 synchronous active-high reset을 권장한다고 되어있습니다.
제가 궁금한 점은 이 synchronous active-high reset 핀을 실제로 FPGA가 있는 PCB 보드의 어떤 신호에서 연결되어야 하는 것인지 입니다.
인터넷에 다른 유저들의 FPGA 프로젝트들을 보면 보통 푸쉬버튼 스위치를 리셋 입력으로 받아오는 경우가 종종 있는 것 같습니다만, 제 생각에는 동기식 reset 입력으로 푸쉬버튼과 같은 비동기적 신호를 연결할 경우 CDC 문제가 발생할 수 있지 않을까 생각이 들었습니다.
특히 Multi-clock 으로 되어 있는 프로젝트의 경우에는 이러한 문제가 더 심각할 것 같습니다.
혹시 synchronous reset을 사용하는 경우 추가적인 2 stage F/F을 이용해서 async reset을 sync reset으로 동기화해주는 모듈을 구현해야 하나요?
맛비님께서는 synchronous reset의 I/O constraint를 어떻게 설정하시는지 궁금합니다.
안녕하세요 🙂
[1. 질문 챕터] : eg) 몇 장, 몇 분 몇 초 쯤. or 수강생 분들이 봤을 때 어디구나?! 할 수 있게 표기 부탁 드려요.
[2. 질문 내용] : eg) 질문 내용을 자유롭게 작성해주시면 되겠습니다 🙂
[3. 시도했던 내용, 그렇게 생각하는 이유] : eg) 설치영상은 이렇게 시도했는데 안되더라 or 본인의 생각을 적어주세요. (실습 내용 중에 이해가 안되거나 잘못된 내용이 있는데, 이러 이러한 근거로 나는 이렇게 생각합니다.)
================ 다음 내용은 읽어보시고 지우시면 됩니다.=================
질문 내용을 작성해주실 때, 위의 3단계로 제가 이해할 수 있게 작성해주시면 정확한 답변을 드릴 수 있을 것 같아요!!
현업자인지라 업무때문에 답변이 늦을 수 있습니다. (길어도 만 3일 안에는 꼭 답변드리려고 노력중입니다 ㅠㅠ)
강의에서 다룬 내용들의 질문들을 부탁드립니다!! (설치과정, 강의내용을 듣고 이해가 안되었던 부분들, 강의의 오류 등등)
이런 질문은 부담스러워요.. (답변거부해도 양해 부탁드려요)
개인 과제, 강의에서 다루지 않은 내용들의 궁금증 해소, 영상과 다른 접근방법 후 디버깅 요청, 고민 상담 등..
글쓰기 에티튜드를 지켜주세요 (저 포함, 다른 수강생 분들이 함께보는 공간입니다.)
서로 예의를 지키며 존중하는 문화를 만들어가요.
질문글을 보고 내용을 이해할 수 있도록 남겨주시면 답변에 큰 도움이 될 것 같아요. (상세히 작성하면 더 좋아요! )
먼저 유사한 질문이 있었는지 검색해보세요.
잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
==================
답변 2
0
안녕하세요 🙂
외부 pin 에 의해서 들어오는 reset 신호의 경우는, 말씀해주신 CDC 이슈랑은 다른 차원의 문제 같아요.
제 생각에는 "false path" 처리가 옳다고 봅니다. (구글링 해보시면 도움이 되실꺼에요)
그리고 실제 동작에서는, 충분히 high 로 유지 시킬 수 있도록 해주는게 좋아보여요.
더 개인적인 생각으로는.. 외부 pin 을 아무런 로직을 거치지 않고 고스란히.. reset 에 물리는 경우는.. 위험해보이네요 ㅎㅎ
즐공하세요.
0
안녕하세요, 인프런 AI 인턴입니다. wise4321님.
동기식 리셋(synchronous reset)과 비동기식 신호를 포함한 리셋 입력의 처리에 대한 질문을 해주셨군요. FPGA 및 PCB 디자인 시, 이러한 리셋 신호의 핸들링은 매우 중요하며 특히 CDC(Cross Domain Crossing) 문제를 고려해야 합니다.
동기식 리셋(Synchronous Reset)은 일반적으로 클락 도메인 내에서 리셋이 수행되도록 설계됩니다. 그래서 푸쉬버튼과 같은 외부의 비동기적인 입력을 직접 이 리셋 핀에 연결하면 CDC 문제가 발생할 수 있습니다. 이런 상황을 해결하기 위해 추가적인 동기화 단계가 필요합니다. 보통 2 stage flip-flop을 사용하여 외부 비동기 신호를 선택된 클록 도메인에 맞춰 안전하게 동기화합니다.
Reset에 대해서 질문드립니다. 질문에서도 동기 식과 비동기 식 리셋에 관련된 논의가 가능합니다. 이 게시물은 리셋과 관련된 일반적인 관행과 개념에 대해 상세하게 설명하고 있습니다.
제가 이 문제에 대해 언급할 수 있는 것은, 설계에서 외부의 비동기 신호를 직접적으로 사용하기 보다는 반드시 클록 도메인에 안전하게 동기화하는 프로세스를 설정하시라는 것입니다. 또한 I/O constraint를 설정할 때도 이러한 동기화 단계를 통해 가능한 소프트웨어 설정 내에서 이를 반영해주는 것이 중요합니다.
이와 같은 답변이 도움이 되셨기를 바랍니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.