해결된 질문
작성
·
150
0
create_clock -name root_clk -period 20 [get_ports {clk}]
derive_pll_clocks
derive_clock_uncertainty
챕터3의 마지막 tool시연 영상에서 해당 부분을 입력하고 run synthesis하는 과정에서 막혔습니다.
저는 이미 비바도가 설치되어 있기에 해당 프로그램을 바탕으로 실습 진행중이었습니다.
다만 비바도의 경우 xdc파일 형태로 런이 진행되고,
derive_pll_clocks
derive_clock_uncertainty
위의 두 문장은 적용되지 않는 다는 것을 알게 되었습니다.
이럴 경우 어떤 코드를 작성해야 해당 기능을 대체할 수 있을 까요?
양질의 강의 감사 드립니다.
답변 3
0
네 안녕하세요, 답변 남겨드립니다.
PLL은 레퍼런스 클럭이 있을 때, 이 주파수를 feedback하여 내가 원하는 주기로 변형을 줄 수 있는 아날로그 회로입니다. FPGA 내부에 clock generator가 다양한 주기를 만들어낼 수 있는게 이 PLL덕분이고, 이를 셋팅하는 기능이라고 보시면 되겠습니다.
https://www.youtube.com/watch?v=0JgHjhXLhjk
https://www.youtube.com/watch?v=HiTIX3echiw
또한 VIVADO에서 타이밍 분석은 위 영상을 참고해보시거나,
VIVADO timing analysis로 검색해보시면 가이드를 찾아보실 수 있을겁니다!
0
AI답변을 보고 추가로 궁금한 것이, PLL을 설정한다는 것이 정확히 무슨 도움을 주는건지 헷갈립니다.
타이밍 딜레이의 분석을 도와주는 것으로 보이는데, 임의적으로 딜레이를 추가할 수 있다는 것은 알았습니다.
다만 derive pll clock을 할 경우엔 어떤 부가 기능이 발생하는건지 궁금합니다
0
안녕하세요, 인프런 AI 인턴입니다. 박준기님.
Vivado에서 SDC(Static Timing Constraints)를 대체하는 방법에 대해 질문을 주셨군요. SDC 파일은 타이밍 제약을 명세하는 데 사용하는 표준 형식입니다. 하지만, Vivado에서는 XDC(Xilinx Design Constraints) 파일을 사용하여 타이밍 제약을 설정하므로, Vivado에 맞는 방식으로 코딩해야 합니다.
SDC에서 사용하신 derive_pll_clocks
와 derive_clock_uncertainty
와 같은 명령은 XDC에서 직접적으로 일치하는 명령은 없지만, 해당 기능을 대체할 수 있는 몇 가지 방법을 소개드리겠습니다:
Clock Constraint in XDC:
XDC 파일에서 시계 신호를 정의하는 방법은 create_clock
명령을 사용하는 것입니다. 이는 이미 잘 사용하신 것처럼 보입니다.
create_clock -name root_clk -period 20 [get_ports {clk}]
PLL 및 Uncertaincy 설정:
PLL 설정: PLL을 Vivado에서 설정하기 위해서는 IP 인스턴스를 통해 GUI 환경에서 맞춤 설정을 하거나, 직접 코드로 제약을 추가할 수 있습니다. 그러나 derive_pll_clocks
와 같은 자동 명령은 XDC에는 없습니다.
Clock Uncertainty: XDC에서 타이밍 분석의 불확실성을 추가하기 위해 set_clock_uncertainty
명령을 사용할 수 있습니다. 다음과 같이 타이밍 마진을 설계하여 추가할 수 있습니다.
set_clock_uncertainty 0.5 [get_clocks root_clk]
추가 타이밍 설정:
Vivado Timing Constraints Wizard를 통해 타이밍 분석과 설정을 시각적으로 조정할 수 있도록 지원합니다. 비바도 IP 설정 및 타이밍 분석 문서를 참고하시기 바랍니다.
이와 관련하여 도움을 줄 수 있는 관련 게시글들은 다음과 같습니다:
이러한 방식으로 Vivado에 맞게 타이밍 제약을 설정할 수 있습니다. 추가 궁금증이 있으시면 이어서 질문해 주세요. 저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 곧 지식공유자께서 답변해 주실 것입니다.