UltraScale & UltraScale+ Device의 DCI는 어떤 용도인가?
UltraScale & UltraScale+ Device의 DCI에 대하여 설명하려고 합니다.
앞으로 설명하는 모든 자료는
UG571 (v1.8) - UltraScale Architecture SelectIO Resources 에 있는 내용들입니다.
(UG571 문서가 Update되었을 경우 페이지 위치가 달라질 수 있습니다. 하지만 아래 내용에 언급된 "Figure 00-00"으로 검색하시면 캡처한 그림이 위치한 페이지를 찾을 수 있습니다.)
1. Termination Register for SSTL
일반적으로 DDR2, DDR3 memory와 FPGA 사이의 Interface 경우에 Statndard IO로 SSTL을 많이 사용합니다.
이 경우 External termination register를 아래의 그림과 같이 사용하여야 합니다.
UG571 (v1.8) - UltraScale Architecture SelectIO Resources 의 31페이지 Figure 1-10를 보시면 위의 캡처화면을 확인할 수 있습니다.
DDR memory와 FPGA 사이의 모든 IO에 Termination register를 구성하려면 Board size 혹은 PCB 구성 시 어려움이 발생할 수 있습니다.
이러한 이유로 DCI를 사용하게 됩니다.
DCI를 사용하게 되면 아래의 그림과 같이 FPGA 내부에 Termination register가 구성됩니다.
2. VRP pin and VREF pin for DCI
VRP pin, VREF pin은 각 Bank 마다 있습니다.
Staandard IO로 SSTL을 사용할 경우에
DCI를 사용하기 위해서는 VRP pin에 240Ω의 serial register를 거쳐 GND로 연결합니다.
그리고, VREF pin은 bank voltage의 1/2인 VCCO/2을 연결합니다.
위 두가지 회로 구성을 하여야만 DCI 기능을 사용할 수 있습니다.
3. DCI Cascading
3개의 Bank에서 DCI를 사용할 경우에 3개 bank의 VRP pin에 각각 240Ω serial register를 구성할 필요는 없습니다.
XDC file에 아래와 같이 기입합니다.
DCI_CASCADE Constraint:
set_property DCI_CASCADE {slave_banks} [get_iobanks master_bank]
XDC Syntax Example:
Designate Bank 14 as a master DCI Cascade bank and Banks 15 and 16 as its slaves
set_property DCI_CASCADE {15 16} [get_iobanks 14]
아래의 그림과 같이 Master bank의 DCI를 설정하면, 다른 bank에도 DCI가 자동으로 설정(DCI Cascading)됩니다.
UG571 (v1.8) - UltraScale Architecture SelectIO Resources 의 28페이지 Figure 1-8를 보시면 위의 캡처화면을 확인할 수 있습니다.
여러분의 FPGA 설계에 도움이 되었길 바랍니다.
그럼, 오늘도 좋은 하루 되세요.
이 글은 Evernote에서 작성되었습니다. Evernote는 하나의 업무 공간입니다. Evernote를 다운로드하세요. |
댓글