2018의 게시물 표시

How to use SHREG_EXTRACT

이미지
How to use SHREG_EXTRACT  일반적으로 Shift Register를 아래와 같이 구현 하였을 경우에,  Vivado Synthesis Design은 아래와 같이 회로를 구현합니다.  위 캡처 화면의 확대된 아래 캡처 화면을 보면, 앞 뒤 FF 사이에 "SRLC32E"로 구현되어져 있음을 확인할 수 있습니다.   "SRLC32E"라는 Xilinx Library Name은 Xilinx Device의 Family에 따라 달라질 수 있습니다.   "SRLC32E"는 FF이 아닌 LUT로 구현된다는 사실 입니다.   LUT로 구현될 경우  Logic Utilization 측면에서는 좋을 수 있으나,  Logic Timing 측면에서는 좋지 않습니다.  Timing Report에서 Not meet하는 paths가 바로 이 부분 때문에 발생하는 경우가 종종 있습니다.  이러한 이유로 LUT가 아닌 FF로 구현되도록 다음과 같은 logic constraint를 적용합니다. VHDL Example attribute shreg_extract : string ; attribute shreg_extract of [signal_name]   : signal is "no"; Verilog Example (* shreg_extract = "no" *) reg [n:0] [reg_name] ;  위와 같이 logic constraint를 적용한 후에 Vivado Symthesis Design에서 보면 아래와 같이 LUT가 아닌 FF로 회로를 구현함을 알 수 있습니다. 아래의 링크...

High Speed SelectIO Wizard IP의 TX에 대한 Simulation에서 High-Z output이 나오지 않는 문제 (Vivado 2018.1)

이미지
UltraScale, UltraScale+ Device를 사용할 경우, High Speed SelectIO Wizard IP의 TX에 대한 Simulation에서 High-Z output이 나오지 않는 문제 (Vivado 2018.1)에 대하여 설명하려고 합니다. Vivado 2018.1에서 아래와 같이 High Speed SelectIO Wizard IP의 TX를 생성합니다. IP 생성 후, Simulation을 진행합니다. 위 IP에 대한 예상되는 Simulation 결과는 다음과 같습니다. tri_tbyte [3:0] = " 0000 "이면 data의 ouput은 High-Z(3-stated) 이고, tri_tbyte [3:0] = " 1111 "이면 data의 ouput은 출력파형 이 나옵니다. 1 .  High Speed SelectIO Wizard IP의 TX 생성 후, Simulation을 합니다. High Speed SelectIO Wizard IP의 TX 생성 후, 아래와 같이 Simualtion 결과를 보면 High-Z output이 나오지 않음을 알 수 있습니다. 위 Simulation 결과에서 u1_tri_tbyte4 [3:0]=" 0000 "이지만, u1_data1 의 output이 High-Z(3-stated) 가 아닌 Low로 출력되는 문제 가 확인됩니다. 아래의 링크는 위 simualtion 결과를 보여주는 Vivado Project file(Vivado 2018.1)입니다. Native_TX.zip 2 . Vivado 2018.1의 High Speed SelectIO Wizard IP의 bug 입니다. 이와 같은 Simualtion 결과는 Vivado 2018.1의 High Seed SelectIO Wizard IP의 tool bug로 발생된 문제입니다. ...

7-Series Device의 Configuration을 위한 PROM과의 Interface guide

이미지
7-Series Device의 Configuration을 위한 PROM과의 Interface에 대하여 설명하려고 합니다. 보통 일반적으로 아래의 2가지 방법 중 한가지 방법을 주로 선택하여 사용합니다. Master SPI x4 Configuration Interface mode Master BPI Configuration Interface mode Synchronous Read 두 가지 mode 중 BPI mode가 SPI mode 보다 Configuration 완료 시간이 더 빠릅니다. 하지만 BPI mode는 SPI mode보다 더 많은 interface pin이 필요합니다. FPGA와 PROM 사이의 PCB 길이는 가능한한 최단거리로 하여 주세요. 앞으로 설명하는 모든 자료는 UG470 (v1.13) March 21, 2018 - 7 Series FPGAs Configuration User Guide 에 있는 내용들입니다. 아래의 내용은 위 두 가지 mode의 연결에 대한 부분을 설명하고 있습니다. 1. Master SPI x4 Configuration Interface mode의 연결은 다음과 같습니다. UG470 (v1.13) March 21, 2018 - 7 Series FPGAs Configuration User Guide 의 55페이지 Figure 2-14를 보시면 아래의 캡처화면을 확인할 수 있습니다. SPI PROM과 FPGA와의 연결은 아래의 캡처화면과 같이 연결하면 됩니다. 여기서 중요한 부분은 PROM과 FPGA 사이의 IO level (Voltage level)이 반드시 동일하여야 합니다. (FPGA와 PROM 사이의 연결 Net의 Pull-up 전원이 VCCO_0으로 일치하는 것을 보세요) 2. Master BPI Configuration Interface mode의 연결은 다음과 같습니다. UG470 (v...

7 Series FPGAs GTP Transceiver를 사용할 경우에 PCB 진행 시의 주의사항

7  Series FPGAs GTP Transceiver를 사용할 경우에 PCB 진행 시의 주의사항에 대하여 설명하려고 합니다. 앞으로 설명하는 모든 자료는 UG482 (v1.9) December 19, 2016 - 7 Series FPGAs GTP Transceivers User Guide 에 있는 내용들입니다. UG482 문서의 Page 235를 보면 아래와 같이 GTP Transceiver에 대한 PCB Artwork 진행 시 고려하여야할 부분에 대한 설명이 있습니다. GTP Transceiver의 Performance를 위하여 반드시 지켜야 할 사항입니다. 1 . The following guidelines must be followed when routing GTP Transceiver data signals on the PCB Eliminate routing of GTP Transceiver signals and SelectIO signals on adjacent layers. Be aware of the potential of broadside coupling if these signals are routed on adjacent layers. Maintain isolation of the return current paths for both the SelectIO signals and the GTP Transceiver signals including both traces and vias. The power islands for the GTP Transceivers are also a potential source for SelectIO induced noise. SelectIO signals should not be routed over the GTP power islands. 2 . Specific SelectIO Guideli...

How to use IDELAY cascading & How to use IDELAY cascading in the UltraScale & UltraScale+

이미지
How to use IDELAY cascading, How to use ODELAY cascading in the UltraScale and UltraScale+ Device에 대하여 설명하려고 합니다. 앞으로 설명하는 모든 자료는 UG571 (ver1.8) - UltraScale Architecture SelectIO Resources User Guide 에 있는 내용들입니다. (UG571 문서가 Update되었을 경우 페이지 위치가 달라질 수 있습니다. 하지만 아래 내용에 언급된 "Figure 00-00"으로 검색하시면 캡처한 그림이 위치한 페이지를 찾을 수 있습니다.) UltraScale의 경우 Delay value가 1.25 ns 이상 필요할 경우 IDELAY or ODELAY를 cascading하여 사용할 수 있습니다. 하지만 delay value는 fixed value이어야만 합니다. UltraScale+의 경우 Delay value가 1.10 ns 이상 필요할 경우 IDELAY or ODELAY를 cascading하여 사용할 수 있습니다. 하지만 delay value는 fixed value이어야만 합니다. 1. How to use IDELAY Cascading UG571 (ver1.8) - UltraScale Architecture SelectIO Resources User Guide 의 173페이지 Figure 2-18를 보면 아래의 캡처화면을 확인할 수 있습니다. 아래의 링크를 클릭(크롬 브라우저를 사용하세요)하면 위 Figure 2-18과 같이 구현된 Vivado 2018.1 project file을 확인할 수 있습니다. Example Design for IDELAY Cascading 2. How to use ODELAY Cascading UG571 (ver1.8) - UltraScale Architecture S...

Clock Mux (BUFGMUX) library의 사용방법과 Timing constraints 적용방법은 ???

이미지
Clock Mux (BUFGMUX) library의 사용방법과 Timing constraints 적용방법에 대하여 설명하려고 합니다. 앞으로 설명하는 모든 자료는 UG572 (v1.7) -  UltraScale Architecture Clocking Resources  와 UG974 (v2018.1) - UltraScale Architecture Libraries Guide  에 있는 내용들입니다. (UG572, UG974 문서가 Update되었을 경우 페이지 위치가 달라질 수 있습니다. 하지만 아래 내용에 언급된 "Figure 00-00"으로 검색하시면 캡처한 그림이 위치한 페이지를 찾을 수 있습니다.) 1. BUFGMUX 두 개의 클럭입력을 받아서 하나의 클럭만을 선택하여 사용할 경우에 아래의 그림과 같이 BUFGMUX를 사용합니다. UG572 (v1.7) -  UltraScale Architecture Clocking Resources  의 21페이지 Figure 2-9를 보면 위의 캡처화면을 확인할 수 있습니다. 위 library는 아래와 같은 timng으로 동작이 됩니다. UG572 (v1.7) -  UltraScale Architecture Clocking Resources  의 22페이지 Figure 2-10를 보면 위의 캡처화면을 확인할 수 있습니다. 위 Library를 사용할 경우에 아래의 HDL code를 사용하면 됩니다. VHDL의 경우는 아래와 같습니다. BUFGMUX_inst : BUFGMUX generic map ( CLK_SEL_TYPE => "SYNC" -- ASYNC, SYNC ) port map ( O => O, -- 1-bit output: Clock output I0 => I0, -- 1...

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의 ...

PROGRAM_B pin의 용도는 무엇인가?

이미지
PROGRAM_B pin의 용도는 무엇인가? PROGRAM_B의 용도로 Xilinx 문서에 언급된 내용은 다음과 같습니다. Active-Low reset to configuration logic. When PROGRAM_B is pulsed Low, the FPGA configuration is cleared and a new configuration sequence is initiated. Configuration reset initiated upon falling edge, and configuration (i.e. programming) sequence begins upon the following rising edge. Connect PROGRAM_B to an external ≤ 4.7 kΩ pull-up resistor to VCCO_0 to ensure a stable High input, and recommend push-button to GND to enable manual configuration reset. 일반적으로 board의 전원을 on하였을 때에 PROM의 mcs file이 FPGA로 download 됩니다. 그리고 Board의 on/off를 이용하지 않고 PROGRAM_B pin을 이용하여 대신할 수 있습니다. 그래서 PROGRAM_B pin에 일반적으로 Push button을 연결하여 구성합니다. 이를 이용하여 전원 on/off가 아닌 Push button을 이용하여 PROM의 mcs file을 FPGA로 download 합니다. Xilinx에서 제공하는 모든 development board는 아래의 그림과 같이 PROGRAM_B pin에 Push button을 연결한 구성을 가집니다. 여러분의 FPGA 설계에 도움이 되었길 바랍니다. 그럼, 오늘도 좋은 하루 되세요. 이 글은 Evernote에서 작성되었습니다. Everno...

UltraScale & UltraScale+ Device의 Configuration을 위한 PROM과의 Interface Guide

이미지
UltraScale and UltraScale+ Device의 Configuration을 위한 PROM과의 Interface에 대하여 설명하려고 합니다. 보통 일반적으로 아래의 2가지 방법 중 한가지 방법을 주로 선택하여 사용합니다. Master SPI Quad(x4) Interface mode Master BPI Synchronous Read Interface mode 두 가지 mode 중 BPI mode가 SPI mode 보다 Configuration 완료 시간이 더 빠릅니다. 하지만 BPI mode는 SPI mode보다 더 많은 IO pin이 필요합니다. 앞으로 설명하는 모든 자료는 UG570 - UltraScale Configuration User Guide 에 있는 내용들입니다. (UG570 문서가 Update되었을 경우 페이지 위치가 달라질 수 있습니다. 하지만 아래 내용에 언급된 "Figure 00-00"으로 검색하시면 그림들이 위치한 페이지를 찾을 수 있습니다.) 아래의 내용은 위 두 가지 mode의 연결에 대한 부분을 설명하고 있습니다. 1 . Master SPI Quad(x4) Interface mode의 연결은 다음과 같습니다. UG570 - UltraScale Configuration User Guide 의 48페이지 Figure 2-4를 보시면 아래의 캡처화면을 확인할 수 있습니다. SPI PROM과 FPGA와의 연결은 아래의 캡처화면과 같이 연결하면 됩니다. 여기서 중요한 부분은 PROM과 FPGA 사이의 IO level (Voltage level)이 반드시 동일하여야 합니다. 2 . Master BPI Synchronous Read Interface mode의 연결은 다음과 같습니다. UG570 - UltraScale Configuration User Guide 의 62 페...

PCB Schematic 을 위한 Xilinx ALL FPGAs 의 Pin-out files 을 어디서 구하나요?

PCB 설계를 위한  Xilinx ALL FPGAs 의 Pin-out files 을 어디서 구하나요? PCB Schematic 을 위한 FPGA 의 Pin-out files 을 Xilinx website 의 어디서 download 받을 수 있는지 문의하는 개발자 분들이 많습니다. 그냥 찾으려면,,,,, 너~~~~무나도 꼭!꼭! 숨어 있어요....^^;; ##1 아래의 링크를 보면 Xilinx All FPGAs 의 Package Pins을 확인할 수 있습니다. Xilinx All FPGAs Package Files Portal ##2 Xilinx 는 모든 FPGAs 의 PCB Symbol Library 를 제공하지 않아요... PCB Symbol Library 가 필요한 경우, 아래 Link 를 보면 도움이 될 것입니다. snapeda.com www.schematicsymbol.com 여러분의 FPGA 설계에 도움이 되었길 바랍니다. 그럼, 오늘도 좋은 하루 되세요.

UltraScale & UltraScale+ 의 GTY 를 사용하지 않을 경우, GTY 관련 Pin 들은 어떻게 처리하여야 하나요?

이미지
UltraScale and UltraScale+ 의 GTY 를 사용하지 않을 경우에 GTY 관련 Pin 들은 어떻게 처리하여야 하나요? "UltraScale and UltraScale+ FPGAs 를 사용할 경우 GTY 를 사용하지 않을 경우에 GTY 관련 Pin 들을 어떻게 하여야 하나요?" 라는 개발자분들이 문의를 많이 받습니다. ##1 먼저 UltraScale and UltraScale+ FPGAs 의 GTY 관련 Guide 문서를 보아야 합니다.. 아래 링크는 UltraScale and UltraScale+ FPGAs GTY User Guide 문서랍니다. UG578 (v1.3) - UltraScale Architecture GTY Transceivers 위 문서의 337 페이지의 Table 5-5: GTY Transceiver PCB Design Checklist 를 자~알 살펴보면 사용하지 않을 경우에 어떻게 하는지에 대한 각 Pin 별 설명이 있어요. Table 5-5: GTY Transceiver PCB Design Checklist ##2 Table 5-9: GTY Transceiver PCB Design Checklist 에서 GTY 를 사용하지 않을 경우에 어떻게 하는지에 대한 설명을 정리하면 다음과 같아요. MGTREFCLK0P If reference pins are not used, leave the associated pin pair unconnected. MGTREFCLK0N If reference pins are not used, leave the associated pin pair unconnected. MGTREFCLK1P If reference pins are not used, leave the associated pin pair unconnected. MGTREFCLK1N If reference pins are not use...

사용하는 User IO 의 internal pull-up resister, internal pull-down resister 의 값을 어떻게 계산할까요?

사용하는 User IO 의 internal pull-up resister, internal pull-down resister 의 값을 어떻게 계산할까요? Xilinx FPGA Device 에서..... 사용하는 User IO 의 내부 pull-up resister 혹은 내부 pull-down resister 를 option 으로 사용하는 경우가 있지요..... 이러한 경우 internal pull-up resister, internal pull-down resister 의 값을 어떻게 계산할까요? 이 경우, 다음과 같은 공식으로 구할 수 있습니다. Value of pull-up resister : Rpu = Vcco / Irpu Value of pull-down resister : Rpd = Vcco / Irpd ##1 공식에 있는 Vcco 는 Bank Voltage 랍니다. User IO 의 Standard IO 가 LVCOMS33 일 경우, Vcco = 3.3V 가 됩니다. User IO 의 Standard IO 가 LVCOMS25 일 경우, Vcco = 2.5V 가 됩니다. User IO 의 Standard IO 가 LVCOMS18 일 경우, Vcco = 1.8V 가 됩니다. ##2 아래는 각 Device 의 DC and AC Switching Characteristics 문서입니다. DS893 - Virtex UltraScale : DC and AC Switching Characteristics DS892 - Kintex UltraScale : DC and AC Switching Characteristics DS183 - Virtex-7 : DC and AC Switching Characteristics DS182 - Kintex-7 : DC and AC Switching Characteristics DS181 - Artix-7 : DC and AC Switching Characteristics ...

UltraScale & UltraScale+ 의 GTH 를 사용하지 않을 경우에 GTH 관련 Pin 들은 어떻게 처리하여야 하나요?

이미지
UltraScale and UltraScale+ 의 GTH 를 사용하지 않을 경우에 GTH 관련 Pin 들은 어떻게 처리하여야 하나요? "UltraScale and UltraScale+ FPGAs 를 사용할 경우 GTH 를 사용하지 않을 경우에 GTH 관련 Pin 들을 어떻게 하여야 하나요?" 라는 개발자분들이 문의를 많이 받습니다. ##1 먼저 UltraScale and UltraScale+ FPGAs 의 GTH 관련 Guide 문서를 보아야 합니다.. 아래 링크는 UltraScale and UltraScale+ FPGAs GTH User Guide 문서랍니다. UG576 (v1.5) - UltraScale Architecture GTH Transceivers 위 문서의 331 페이지의 Table 5-9: GTX/GTH Transceiver PCB Design Checklist 를 자~알 살펴보면 사용하지 않을 경우에 어떻게 하는지에 대한 각 Pin 별 설명이 있어요. Table 5-9: GTH Transceiver PCB Design Checklist ##2 Table 5-9: GTH Transceiver PCB Design Checklist 에서 GTH 를 사용하지 않을 경우에 어떻게 하는지에 대한 설명을 정리하면 다음과 같아요. MGTREFCLK0P If reference pins are not used, leave the associated pin pair unconnected. MGTREFCLK0N If reference pins are not used, leave the associated pin pair unconnected. MGTREFCLK1P If reference pins are not used, leave the associated pin pair unconnected. MGTREFCLK1N If reference pins are not u...

7 Series FPGAs 의 GTX/GTH 를 사용하지 않을 경우, GTX/GTH 관련 Pin 들은 어떻게 처리하여야 하나요?

이미지
7 Series FPGAs 의 GTX/GTH 를 사용하지 않을 경우, GTX/GTH 관련 Pin 들은 어떻게 처리하여야 하나요? "7 Series FPGAs 를 사용할 경우  GTX/GTH  를 사용하지 않을 경우에  GTX/GTH  관련 Pin 들을 어떻게 하여야 하나요?" 라는 개발자분들이 문의를 많이 받습니다. ##1 먼저 7 Series FPGAs 의  GTX/GTH  관련 Guide 문서를 보아야 해요. 아래 링크는 7 Series FPGAs  GTX/GTH  User Guide 문서랍니다. UG476 (v1.12) - 7 Series FPGAs GTX/GTH Transceivers User Guide 위 문서의 316 페이지의 Table 5-7:  GTX/GTH  PCB Design Checklist 를 자~알 살펴보면 사용하지 않을 경우에 어떻게 하는지에 대한 각 Pin 별 설명이 있어요. Table 7-5: GTX/GTH PCB Design Checklist ##2 Table 7-5:  GTH  PCB Design Checklist 에서  GTX/GTH  를 사용하지 않을 경우에 어떻게 하는지에 대한 설명을 정리하면 다음과 같아요. MGTREFCLK0P, MGTREFCLK0N If reference clock input is not used, leave the associated pin pair unconnected. MGTREFCLK1P, MGTREFCLK1N If reference clock input is not used, leave the associated pin pair unconnected. MGTRXP0/MGTRXN0 If a receiver is not used and not biased, connect the associated pin p...

7 Series FPGAs 의 GTP 를 사용하지 않을 경우, GTP 관련 Pin 들은 어떻게 처리하여야 하나요?

이미지
7 Series FPGAs 의 GTP 를 사용하지 않을 경우, GTP 관련 Pin 들은 어떻게 처리하여야 하나요? "7 Series FPGAs 를 사용할 경우 GTP 를 사용하지 않을 경우에 GTP 관련 Pin 들을 어떻게 하여야 하나요?" 라는 개발자분들이 문의를 많이 받아요. ##1 먼저 7 Series FPGAs 의 GTP 관련 Guide 문서를 보아야 해요. 아래 링크는 7 Series FPGAs GTP User Guide 문서랍니다. UG482 (v1.9) - 7 Series FPGAs GTP Transceivers User Guide 위 문서의 235 페이지의 Table 5-14: GTP PCB Design Checklist 를 자~알 살펴보면 사용하지 않을 경우에 어떻게 하는지에 대한 각 Pin 별 설명이 있어요. Table 5-14: GTP PCB Design Checklist ##2 Table 5-14: GTP PCB Design Checklist 에서 GTP 를 사용하지 않을 경우에 어떻게 하는지에 대한 설명을 정리하면 다음과 같아요. MGTREFCLK0P, MGTREFCLK0N If reference clock input is not used, leave the associated pin pair unconnected. MGTREFCLK1P, MGTREFCLK1N If reference clock input is not used, leave the associated pin pair unconnected. MGTRXP0/MGTRXN0 If a receiver is not used, connect the associated pin pair to ground. MGTRXP1/MGTRXN1 If a receiver is not used, connect the associated pin pair to ground. MGTRXP2/MGTRXN2 If a r...