라벨이 Xilinx인 게시물 표시

UltraScale, UltraScale+ Device의 경우 어떠한 Type의 DDR3/4 memory를 사용하는지에 따른 Max Interface Speed를 확인하는 방법

이미지
DDR3/4 memory의 Type에 따른 Max Interface Speed UltraScale, UltraScale+ Device의 경우 어떠한 Type의 DDR3/4 memory를 사용하는지에 따른 Max Interface Speed를 확인하는 방법 UltraScale, UltraScale+ Device의 Speed Grade, Temperature rating 별로 어떠한 Type( Ranks, Slots )의 DDR3/4 memory 를 사용하는지에 따라 Max Interface Speed는 달라집니다. 개발자들은 이 부분을 확인하기 위하여 Vivado에서 Xilinx MIG(Memory Interface Generater) IP에서 해당 Type의 memory를 선택하여 검증하는 작업을 거치게 되며 그에 따른 시간이 소요됩니다. 이러한 부분을 쉽게 확인하는 방법에 대하여 살펴보겠습니다. 아래의 링크를 클릭하면 Xilinx가 제공하는 Excel Sheet를 download 받을 수 있습니다. Memory Performance Utility determines the maximum rate for your configuration( Excel File ) 위 Excel 파일을 다운로드 후, Open하면 아래의 그림과 같이 각 Device의 Speed Grade, Temperature rating 별로 어떠한 Type( Ranks, Slots )의 DDR3/4 memory 를 연결하는냐에 따른 Max Interface Speed를 확인할 수 있습니다. 여러분의 FPGA 설계에 도움이 ...

UltraScale, UltraScale+, Zynq UltraScale+ device의 Package 별로 연결 가능한 DDR3/4 memory 갯수를 확인하는 방법

이미지
연결 가능한 DDR3/4 memory 갯수 UltraScale, UltraScale+, Zynq UltraScale+ device의 Package 별로 연결 가능한 DDR3/4 memory 갯수를 확인하는 방법 몇 개의 External DDR3/4 memory를 Interface할 수 있는지는 사용하는 FPGA Package에 따라 달라집니다. 사용하는 FPGA Package가 가지고 있는 IO Bank의 갯수에 따라 연결 가능한 memory의 갯수가 한정될 수 밖에 없기 때문입니다. 개발자들은 이 부분을 확인하기 위하여 Vivado에서 Xilinx MIG(Memory Interface Generater) IP를 여러 개 구성하여 검증하는 작업을 거치게 되며 그에 따른 시간이 소요됩니다. 이러한 부분을 쉽게 확인하는 방법에 대하여 살펴보겠습니다. 아래의 링크를 클릭하면 Xilinx가 제공하는 Excel Sheet를 download 받을 수 있습니다. UltraScale_Memory_Interface_Capacities_v1p1.xlsm 위 Excel 파일을 다운로드 후, Open하면 아래의 그림과 같이 각 Device Package 별로 어떠한 External DDR3/4 memory를 연결하는냐에 따라 연결 가능한 최대 갯수를 확인할 수 있습니다. 여러분의 FPGA 설계에 도움이 되었길 바랍니다. 오늘도 좋은 하루 되세요. Posted by: Willy Kim April 09, 2020

Xilinx BIT file 생성 위치를 변경하는 방법

이미지
Location for BIT File Xilinx BIT file의 생성 위치를 변경하는 방법 Xilinx Vivado Tool에서 BIT file이 생성되는 위치는 특정 폴더에 생성되도록 정하여져 있습니다. 개발자들 중에서는 이러한 특정 폴더에 생성되는 BIT file을 다른 경로의 폴더에 생성되어지도록 하고 싶어하는 경우가 있습니다. 이러한 특정 폴더의 위치를 개발자가 원하는 위치로 변경을 할 수 있는 option이 Xilinx Vivado tool은 제공하고 있지 않습니다. 그러나 특정 폴더에 생성된 BIT file을 복사하여 개발자가 원하는 폴더 위치로 붙여넣기하는 작업이 자동으로 이루어지도록 하는 방법이 있습니다. 지금부터 위에서 언급한 작업이 자동으로 이루어지도록 하는 방법에 대하여 살펴보겠습니다. Xilinx BIT file이 생성되는 특정 폴더의 위치는 다음과 같습니다. D:/[Project Name]/[Project Name].runs/impl_1/[Top file name].bit Exmple : 아래와 같이 항상 정해진 경로의 폴더 위치에 생성됩니다. 생성된 BIT file을 복사하여 원하는 폴더에 붙여넣기하는 TCL file을 작성하여야 합니다. file copy [Top file name].bit [directory where you want it to go] Examle : 아래의 내용이 있는 aaa.tcl (TCL file)을 만듭니다. 위에서 만든 TCL file을 Vivado Tool의 Option에 적용하는 방법을 설명하겠습니다. 아래의 캡처화면처럼 Vivado의 ①Settings 창에서 ②Bitstre...

Xilinx Programming Cable이 어느 날 갑자기 Download가 않되는 문제와 해결방법

Xilinx Programming Cable Xilinx Programming Cable이 어느 날 갑자기 Download가 않되는 문제와 해결방법 지금까지 문제없이 잘 사용하던 Xilinx Programming Cable이 어느 날 갑자기 Download가 않되는 경우가 있습니다. 이러한 경우의 해결방법에 대하여 설명하려 합니다. 다음의 세 가지 테스트를 진행하여 봅니다. 테스트 1) 사용하고 있는 Xilinx Programming Cable이 고장은 아닌지를 의심하여야 합니다. 다른 Xilinx Programming Cable에서도 동일한 문제가 있는지 확인합니다. 테스트 2) Xilinx Programming Cable이 연결된 PC의 USB port가 손상되었지를 의심하여야 합니다. Xilinx Programming Cable이 연결된 PC의 USB port를 변경하여 테스트 합니다. 테스트 3) 다른 PC에서도 동일한 문제가 있는지 확인합니다. 만일 다른 PC에서는 문제없이 동작한다면, 문제가 발생하는 PC의 Xilinx Programming Cable drivers의 손상을 의심하여야 합니다. 위 테스트 3)의 Xilinx Programming Cable drivers가 의심된다면, Xilinx ISE의 경우, 아래의 링크를 참조하여 Xilinx Programming Cable drivers를 manually (re)install을 합니다. AR# 54381 Xilinx Vivado의 경우, 아래의 링크를 참조하여 Xilinx Programming Cable drivers를 manually (re)install을 합니다. AR# 59128 ...

[Error] Failed to start Set console font and keymap on Ubuntu

이미지
Failed to start Set console font and keymap [Error] Failed to start Set console font and keymap on Ubuntu 문제없이 잘 사용하던 Ubuntu 시작 시에 다음과 같은 Error message가 발생하는 경우가 있습니다. 이러한 경우의 해결방법에 대하여 설명하려 합니다. Ubuntu 바탕화면에서 " Ctrl + Alt + T "를 클릭합니다. 다음과 같이 Terminal 창이 띄워집니다. 띄어진 Terminal 창에 " sudo systemctl restart console-setup.service "을 기입한 후에 엔터 키를 누룹니다. 그리고 Ubuntu 재부팅을 합니다. 이후에는 Ubuntu 시작 시에 " Failed to start Set console font and keymap "라는 Error message가 보이지 않게 됩니다. 지금까지 Error message: Failed to start Set console font and keymap을 해결하는 방법에 대하여 설명하였습니다. Posted by: Willy Kim March 17, 2019

How to install the Silicon Labs CP210x USB-to-UART drivers

이미지
Silicon Labs CP210x Device How to install the Silicon Labs CP210x USB-to-UART drivers 요즈음 Xilinx Evaluation Board에는 거의 대부분 2개의 USB port가 있습니다. 아래는 ZCU102 Evaluation Board에 있는 2개의 USB port입니다. 2개의 USB port 중 하나는 JTAG을 이용하여 FPGA Device or SPI/BPI Flash PROM에 Download를 하기 위한 port입니다. 보다 자세한 사항은 아래의 링크를 보세요. JTAG-SMT2: Surface-mount Programming Module 2개의 USB port 중 다른 하나는 Silicon Labs CP210x Device 를 이용하여 USB-to-UART가 구현되어져 있습니다. Xilinx Evaluation Board를 보면 아래의 그림과 같이 구현되어져 있습니다. 이 USB port를 사용하려면 Silicon Labs CP210x Device의 drivers를 install하여야 합니다. 이 부분에 대하여 다음과 같이 Xilinx는 Application Note를 제공합니다. UG1033 (v1.0) February 12, 2014 : Silicon Labs CP210x USB-to-UART Installation Guide 위의 UG1033 문서를 보고서 CP210x Drivers에 대한 install을 하여도 되지만, 아래 Link를 통하여서도 CP210x Drivers에 대한 install파일을 확인할 수 있습니다. 아래 Link의 file을 download한 후, 그냥 Install하면 됩니다.(Windows 10 기준) I...

Digilent JTAG-SMT2 (Surface-mount Programming Module)

이미지
Digilent JTAG-SMT2 Digilent JTAG-SMT2 (Surface-mount Programming Module) 요즈음 Xilinx Evaluation Board에는 거의 대부분 2개의 USB port가 있습니다. 아래는 ZCU102 Evaluation Board에 있는 2 개의 USB port입니다. 2개의 USB port 중 하나는 JTAG을 이용하여 FPGA Device or SPI/BPI Flash PROM에 Download를 하기 위한 port입니다. 일반적으로 Xilinx FPGA Device의 Download를 위하여 아래와 같은 Xilinx Download Cable(Xilinx Flatform Cabe USB II)을 사용합니다. 위 그림에서 빨간 색의 Xilinx Flatform Cabe USB II의 역활을 Digilent라는 회사에서 자그마한(500원 동전 크기 정도...) 모듈 형태로 아래의 그림과 같이 제공하고 있습니다. 이러한 모듈이 대부분의 Xilinx Evaluation Board에 적용되어져 있기 때문에 Xilinx Flatform Cabe USB II없이 일반적인 Type-A to Type-B USB Cable(안드로이드계열 휴대폰 충전 Cable과 동일한 Cable입니다.)만 PC와 Board 사이에 연결하시면 됩니다. Digilent의 JTAG Download module에 대한 보다 자세한 사항은 아래의 링크를 보세요. JTAG-SMT2: Surface-mount Programming Module Digilent의 JTAG Download module(JTAG-SMT2)에 대한 drivers는 Xilinx Vivado Software를 Install할 때에 같이 install됩니다. 따라서 별...

ZCU102 board 구입 후, board에 문제가 없는지 확인하는 방법

이미지
ZCU102 board check ZCU102 board 구입 후, board에 문제가 없는지 확인하는 방법 Board 구입 후, 가장 처음 할 일은 Board에 문제가 있는지 살펴 보아야 합니다. 살펴보기 전에 준비하여야 할 문서와 파일들이 있습니다. 아래 링크의 문서와 압축파일을 다운로드 받습니다. (Xilinx의 log-in ID가 있어야 합니다.) ZCU102 Evaluation Board User Guide : UG1182 (v1.5) January 11, 2019 ZCU102 Board Interface Test : XTP428 (v10.0) rdf0377-zcu102-bit-c-2018-3.zip ZCU102 board 구입 후, board에 문제가 없는지 확인하는 방법 가장 먼저 확인할 부분은 보드의 각 점퍼 핀과 스위치의 설정이 맞는지 보아야 합니다. 각각의 점퍼 핀과 스위치가 default setting으로 되어져 있는지 확인하여야 합니다. 보드의 모든 점퍼 핀과 스위치의 default setting에 대한 정보는 UG1182 (v1.5) January 11, 2019 문서의 16~20 페이지의 내용을 보면 확인할 수 있습니다. 아래의 그림처럼 각 점퍼 핀과 스위치에 넘버링을 하였고 각각에 해당되는 설정 값에 대한 내용이 16~20 페이지에 있습니다. 다음은 아래 링크의 Blog를 통하여 Silicon Labs CP210x USB-to-UART drivers를 Install합니다. How to install the Silicon Labs CP210x USB-to-UART drivers 다음은 ZCU102 Hardware Setup이 필요합니다...

How to use LVDS_25 input to 3.3V HR bank

이미지
How to use LVDS_25 input to 3.3V HR bank How to use LVDS_25 input to 3.3V HR bank Xilinx 7-Series FPGA Device는 3.3V User IO로 동작할 수 있는 HR bank가 있습니다. LVDS_25는 Xilinx Standard IO 중 하나입니다. 그리고 LVDS_25를 사용하기 위해서는 Bank 전원이 반드시 2.5V로 인가되어야 합니다. 이는 User IO를 LVDS_25 output으로 사용할 경우에만 해당됩니다. LVDS_25 input의 경우는 Bank 전원으로 3.3V가 인가되어도 괜잖습니다 . 지금부터 실제로 Vivado v2018.3에서 3.3V가 인가된 bank에 LVDS_25 input design을 구현하여 Compile이 잘 되는지 살펴보겠습니다. 1. LVDS_25 input을 3.3V Bank에 적용하여 보겠습니다. 아래와 같은 schematic의 design을 예제로 사용할 것입니다. 예제에서 사용한 source code, constarints file은 test.vhd , pin_lock.xdc 입니다. Synthesis, Implementation 까지는 문제없이 진행됩니다. 하지만 Generate Bitstream 시에 아래와 같은 Error 가 발생합니다. 하나의 Bank에 3.3V LCMOS33과 2.5V LVDS_25가 함께 사용되어 문제가 된다는 error message 입니다. 그러나 LVDS_25 input의 경우는 문제가 없어야 합니다. [DRC BIVC-1] Bank IO standard Vcc: Conflicting Vcc voltages in bank 15. For example, the followin...

Xilinx Artix-7 FPGA AC701 Evaluation Kit

이미지
Xilinx AC701 Evaluation Kit Xilinx Artix-7 FPGA AC701 Evaluation Kit Xilinx AC701 board를 구매하게 되면 관련된 모든 자료들이 제품 내에 포함되어 있지 않고 Xilinx web-site에서 download 받도록 되어 있습니다. 거의 대부분의 Hardware 개발자는 Xilinx Artix-7 Device를 처음으로 사용할 경우, FPGA 설계 시에 AC701 board의 자료를 참고하기를 원합니다. Xilinx AC701 board 관련 자료는 Xilinx web-site에 log-in 후에 download 받을 수 있도록 되어 있습니다. Xilinx ID는 Google ID, Naver ID를 만드는 경우처럼 간략한 내용(이름,회사,메일주소 등등)만 기입하면 쉽게 생성할 수 있습니다. Xilinx AC701 board 관련 자료에 대하여 정리한 내용입니다. Xilinx AC701 board에 사용된 FPGA는 XC7A200T-2FBG676C 입니다. Xilinx AC701 board에 대한 Youtube 소개 동영상입니다. Xilinx AC701 board의 전체적인 모양을 확인할 수 있습니다. Featuring the Artix-7 FPGA AC701 Evaluation Kit UG952 (v1.3) 문서를 보면 Xilinx AC701 board에 대한 자세한 설명을 확인할 수 있습니다. UG952 - AC701 Evaluation Board for the Artix-7 FPGA User Guide (v1.3) Xilinx AC701 Allegro Board 관련 자료를 다운로드 받을 수 있는 link 입니다. ac701-allegro-board...

Supported Flash Memory Devices for Artix-7 Device Configuration

이미지
Supported Flash Memory Devices for Artix-7 Device Configuration Supported Flash Memory Devices for Artix-7 Device Configuration FPGA는 반드시 SPI or BPI Flash Memory와 함께 사용되어집니다. FPGA는 왜 SPI or BPI Flash Memory가 필요한가? FPGA에 download된 image(.bit file)는 board의 전원이 Off되면 사라집니다. 그러므로 전원 On시에 download할 image(.mcs file)를 SPI or BPI Flash Memory에 저장하여 FPGA로 download하게 됩니다. Artix-7 Configuration을 위하여 어떤 종류의 SPI or BPI Flash Memory를 사용하여도 전혀 문제가 없는가? Artix-7 Configuration을 위하여 사용되는 SPI or BPI Flash Memory은 반드시 Xilinx에서 Recommend하는 SPI or BPI Flash Memory를 사용하여야 합니다. Artix-7 Configuration을 위하여 사용 가능한 SPI or BPI Flash Memory는 무엇이 있는가? UG908 (v2018.3) January 18, 2019 / Vivado Programming and Debugging 문서의 page 328~332를 보면 Xilinx가 Recommend하는 SPI Flash Memory와 BPI Flash Memory에 대한 List를 확인할 수 있습니다.

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