IT/ASIC | FPGA 2024. 2. 22.
Xilinx – PROM mcs 설정 – spi buswidth clock 조정
부팅 후 Done 시그널이 뜨는데 너무 늦게 뜬다. 그럼 bit 만들때 .xdc 파일에 설정을 해 줘야 한다는 것이 핵심 QSPI 를 쓸 수 있게끔, 매뉴얼로 세팅이 필요하다. spi x1 모드에 3MHz 클럭으로 잡혀 있어서 bit 크기에 따라 엄청 느릴수도 있다. Vivado 같은 툴에서 Implementation design 이 뜬 상태에서 Device configuration 이 활성화 되면 그쪽에서 수정할 수도 있고 아래 레퍼런스 처럼 그냥 .xdc 파일에 들어가서 수정을 직접 해줘도 된다. https://aifpga.tistory.com/entry/Vivado-mcs-%ED%8C%8C%EC%9D%BC-%EB%A7%8C%EB%93%A4%EA%B8%B0-Memory-Configuration-Fil..

IT/ASIC | FPGA 2024. 2. 20.
Xilinx Vivado - SPRAM, DPRAM, block RAM 활용
FPGA 는 내부의 램을 필요한 만큼 만들어 쓸수 있는 장점이 있다. 기본적인 1 포트 램을 만들어서 써보자. 일단 데이터시트에서 동작도를 확인할 필요가 있다. Xilinx Parameterized Macros 페이지에 가면 기본적인 RAM에 대한 정보가 있다. https://docs.xilinx.com/r/en-US/ug953-vivado-7series-libraries/XPM_MEMORY_SPRAM XPM_MEMORY_SPRAM - 2023.2 English Specify the reset value of the port A final output register stage in response to rsta input port is assertion. Since this parameter is a ..

IT/ASIC | FPGA 2024. 2. 15.
Xilinx - Vivado RAM 초기화 값 입력 - coe 파일
Vivado 에서 RAM을 만들때 초기값을 넣어 줄 수 있다. 파일 포맷은 coe 파일인데 Vivado 에서 바로 에디팅 할 수 있다. COE 파일 생성 그냥 그림으로 남겨둔다. 아래처럼 쓰면 된다. radix = 16; pattern = 3 0 3 1 0 1 1 3 0 2 2 2 3 0 1 1 3 0 3; 다른 예제 파일도 아래 링크에서 찾아볼 수 있다. https://docs.xilinx.com/r/2021.2-English/ug896-vivado-ip/COE-File-Examples ****************************************************************** ************* Example of Virtex Bit Correlator.COE ****..

IT/ASIC | FPGA 2024. 2. 13.
Xilinx Vivado - 다운로드 및 설치
FPGA 에 프로그래밍 할 수 있는 툴인 Vivado를 다운로드 하고 설치해 보자. 사용자 계정 생성 우선 툴 제공 업체인 AMD 사이트에서 계정을 먼자 만들고 로그인 해야 한다. 계정 생성하는 방법은 AMD 사이트에서 로그인 버튼은 누르면, 아래와 같이 생성할 수 있는 "계정 만들기" 버튼을 볼 수 있다. 클릭해서 생성작업을 해보자. 정보를 입력하고 생성이 완료되면, 꼭 로그인을 하도록 한다. Vivado Download 이제 Vivado 툴을 다운로드 하면 된다. 해당 툴을 다운로드 하는 경로는 아래와 같다. 다운로드 주소https://www.xilinx.com/support/download/index.html/content/xilinx/en/downloadNav/vivado-design-tool..

IT/ASIC | FPGA 2024. 2. 2.
Xilinx Vivado - FPGA 에 bit 생성해서 올리기 - 보드 테스트
Xilinx Vivado로 만들어지 bit 파일을 이제 실제 FPGA 에 올려서 보드 테스트를 해보자. 이과정도 툴 마다 달라서 일단 정리해 둔다. 먼저 여러 단계를 각각 누르지 말고, "Generate Bitstream" 을 그냥 확 누른다. 즉, 합성, P&R, 구현 다 한꺼번에 수행한다. 코드가 변경되어서 합성부터 구현까지 다시 하겠다는 창이다. 그냥 "Yes" 누르면 진행된다. 얼마나 빨리 하려고 이런걸 묻나 그냥 기본값을 4를 두고 오케이 본격적으로 합성을 수행하고 있음을 알수 있다. "Project Summary" 창에서 보면 현재 진행되는 과정을 볼 수 있다. 에러가 없다는 아래 메시지 창이 등장한다. 이제 다했으니 머할까요? 이런 창이다. FPGA에 bit를 올리기 위해 "Open Hard..

IT/ASIC | FPGA 2024. 2. 2.
Xilinx Vivado - 핀 할당 하기 Constraints 추가
Xilinx Vivado에서 원하는 핀을 할당 하려면 Constraints 파일을 추가해야 한다. 아니면 랜덤으로 막 핀을 Assign 하므로 하드웨어설계도와 맞출 필요가 있다. 참고로, FPGA하드웨어 핀을 선택하기 위해서는 기본적으로 어떤 핀을 뽑아야 할지 처음에는 랜덤으로 돌린 후에 하드웨어 설계를 진행하는 경우가 일반적이다. 아무튼 핀 할당을 해보자. 위의 그림처럼 수정하기를 눌러본다. 새로 만드는 것이므로 과감하게 "Create File"을 누른다. 나타나는 창에 원하는 이름만 딱 쓰고, OK 하면 그럼 다음과 같이 파일이 하나 생성됨을 볼 수 있다. 그럼 왼쪽 트리창에 하나 추가되어 있는데, 아시다시피 빈파일이다. 전구 모양 버튼 "Language Template" 을 누르면 기본 문법 구문을..

IT/ASIC | FPGA 2024. 2. 2.
Xilinx Vivado - FIFO Generator 로 사용자 FIFO 만들기
Xilinx Vivado 툴에서 제공되는 FIFO Generator 로 사용자 FIFO 만들기를 그냥 한번 해보고, 그림을 남겨둔다. FPGA는 참 어찌보면 쉽다. 이렇게 마법사로 FIFO를 원하는 대로 만들어 낼 수 있다니 8비트 UART 송수신용 FIFO가 필요해서 일단 IP 검색에서 FIFO Generator 를 선택하면 더블 클릭하거나 엔터를 치면 아래와 같은 창이 나타난다. 일단, 아무것도 하지 말고 자기가 원하는 이름만 변경하자. 이제 원하는 데이터 비트를 8비트로 변경해 보자. 위의 그림에서 "Native Ports" 라는 부분을 클릭하면, 아래 창이 나타난다. 아무것도 건드리지 말고 Data Port 만 수정하자. Width 를 8 로 변경하고 Tab을 누르면 아래 Read Width도 자..

IT/ASIC | FPGA 2024. 1. 25.
Xilinx JTAG – HS2, HS3, Platform Cable USB II
Xilinx JTAG 케이블 종류가 많은데 숫자가 보통 높은걸로 선택하는데 이것은 JTAG HS2 가 호환성이 더 좋은듯 Digilent FPGA 보드를 많이 쓰니, 해당 회사에서 만든 제품으로 알아보자!! https://digilent.com/reference/programmers/jtag-hs2/reference-manual?_ga=2.209894997.1913691520.1700123539-2102363698.1698815413#supported_target_devices Is JTAG-HS2 is compatible with Artix 7 series FPGA? @vertika.s, Yes, it is compatible. You can view the full supported Artix 7 시..
IT/ASIC | FPGA 2018. 11. 16.
Xilinx 제품군 선택은 어떻게
Xilinx 제품군 선택은 어떻게?? 너무 많이 있고 고르기 힘들다. 무조건 EVB 많고 레퍼런스 많은 것을 써야 한다. 대새를 따라야지..무튼, Xilinx 홈에 있는 Selection guide 를 저장해 둔다. 7 Series Product Tables and Product Selection Guide Spartan-7, Artix-7, Kintex-7, Virtex-7 등 7 시리즈들의 간단한 특징과 선택가이드가 나와 있다.ㅋㅋ 왼쪽에서 오른쪽으로 갈 수록 가격이 비싼 순서인듯~~비싼게 좋은 거여!! Zynq-7000 AP SoC Family Product Tables and Product Selection Guide 오호 요건 ARM Cortex-A9 이 내부에 떡 박혀있는 FPGA 시리즈PL(..
IT/ASIC | FPGA 2018. 10. 11.
Free Cortex-M processors for Xilinx FPGAs
Free Cortex-M processors for Xilinx FPGAs 블로그 기사 제목은 바로"Arm expands design possibilities with free Cortex-M processors for Xilinx FPGAs"https://www.arm.com/company/news/2018/10/arm-expands-design-possibilities-with-free-cortex-m-processors-for-xilinx-fpgas FPGA 시장이 점점 커질 것을 예상하고, arm에서 선제적으로 FPGA용 CortexM 시리즈를 무료로 배포한다.장점이야 링크 글에 있는 내용을 가져오면 머 당연한 말들이 적혀있다.Cortex-M1 이 원래 FPGA용 코어로 제공되고 있는 것으로 알고..
IT 2014. 7. 17.
Xilinx ISE 에서 ngc 파일 사용하기
쉽다. 특정 IP나 module에 대한 합성된 ngc 파일을 가지고 있다면, ISE project에 간단하게 넣어서 사용할 수 있다. 더 간단할 수 있는데 툴이 약간 신경을 덜 써주는 것 같기도 하다. (그냥 ngc 파일만 add project 하면 되련만 ㅎ) 인터넷을 검색하면 아래의 글이 나온다. 여기가 정답인듯How-do-I-use-a-NGC-file-toanother-ISE-project그래도 간단히 정리해 보면, 그 다음 프로젝트 폴더에 해당 ngc파일을 복사해 둔다. (다른 폴더에 해도 된다. 그럼 아래 그림에서 해당 Path를 지정해 주면 된다.) 1. 일단 ngc 모듈의 이름을 동일하게 가진 빈파일을 하나 만들어야 한다. 여기서는 Black box로 표현하고 있다. 예제를 간단히 만들면 m..
IT 2014. 7. 17.
Xilinx NGC netlist file 변환 - Verilog top 파일 만들기
.ngc 파일에서 vhdl, verilog top 파일 만들기 ISE를 쓰는 경우, ngc파일을 가지고 있어 사용하는 경우 top파일이 필요하기도 하다.간단하게 ngc에서 top 파일 만드는 방법http://www.fpgadeveloper.com/2011/08/how-to-read-an-ngc-netlist-file.html To convert the netlist into VHDL type “netgen -ofmt vhdl filename.ngc“. Netgen will create a filename.vhd file.To convert the netlist into Verilog type “netgen -ofmt verilog filename.ngc“. Netgen will create a filen..
IT 2014. 7. 17.
Xilinx memory 초기화 파일 생성하기
Xilinx ISE를 통해 memory를 만들어 쓰다 보면, 초기화파일을 지정할 수 있도록 되어 있다.(그냥 소스레벨에서 배열로 선언하고, $readmemh 로 불러들여도, FPGA에 구울때 보면 초기값이 간단하게 들어오긴 하던데 ^^ 무튼) 그 파일 확장자가 .coe 파일이다. 생소하다. 구글링을 통해 찾자. http://sourceforge.net/projects/bin2coe/files/This is the Bin2Coe project ("bin2coe")This project was registered on SourceForge.net on Apr 17, 2011, and is described by the project team as follows:Small utility in C to conv..
