[FPGA] ARTY S7로 전원을 꺼도 회로를 유지하는 방법

소개



최근 나는 취미의 FPGA 개발용으로, Xilinx사의 FPGA를 평가하는 보드(ARTY S7, DIGILENT사)를 이용하고 있습니다만, 개발 환경(Vivado)의 초기 설정에서는 쓴 회로가 전원을 끌 때마다 에 사라지게 되어 있습니다. 쓰기 속도도 빠르고 프로토 타입 용도로 이것도 좋지만 다른 마이크로 컴퓨터처럼 유지하고 싶은 상황도 나옵니다.
그래서, 기입한 회로가 전원을 꺼도 유지되는 설정 방법을 소개합니다.

개발 환경


  • OS : Windows 10 Pro 빌드 17134
  • 소프트웨어 : Vivado 2018.2
  • 개발 보드 : ARTY S7

  • 정책



    초기설정에서는 FPGA에의 기입(구성)을 PC로부터 직접 실시하고 있습니다만, FPGA에 기입된 데이터는 전원을 떨어뜨리거나 FPGA를 리셋하면 사라져 버리기 때문에, 상기의 현상이 발생합니다.
    그래서 보드에 탑재되어 있는 SPI 플래시 메모리에 컨피규레이션용의 데이터를 미리 기입해 두고, 전원 온시나 리셋시에 거기로부터 FPGA에의 컨피그레이션을 실시하도록(듯이) 설정을 실시합니다.

    방법



    여기에서는, 이미 기입하고 싶은 회로의 비트 스트림을 생성할 수 있는 단계를 상정하고 있습니다.
  • [PROGRAM AND DEBUG]->[Generate Bitstream]을 마우스 오른쪽 버튼으로 클릭하고 [Bitstream Settings...]를 클릭하여 설정 화면으로 들어가서 아래 이미지와 같이 [-bin_file*]의 확인란을 선택합니다. (이 .bin 파일이 SPI 플래시 메모리에 쓰는 데이터가 됨).
  • [PROGRAM AND DEBUG]->[Generate Bitstream]을 클릭하여 비트스트림을 생성합니다. 이 근처에서 보드를 PC에 연결해 둡니다.
  • Open Hardware Manager를 클릭하고 관리자를 시작한 다음 Open Target->Auto Connect를 클릭합니다.
  • Add Configuration Memory Device -> [xc7s50_0]을 클릭하여 구성 파일을 쓸 메모리를 선택하는 화면을 엽니 다. 여기서 쓰는 SPI 플래시 메모리는 아래 사진의 빨간색 테두리로 둘러싸인 칩이 되므로, 그 칩의 메이커와 형번을 특정해, 아래 그림과 같이 그 형번을 선택합니다(내 보드에서는 이것을 선택).


    [확인] 클릭 후 팝업이 표시되면 [아니오]를 선택하여 괜찮습니다(재설정 가능).
  • Hardware 탭에 방금 추가한 메모리가 표시되므로 오른쪽 마우스를 클릭하고 Program Configuration Memory Device를 클릭하여 설정 화면을 엽니다.
  • 아래 그림과 같이 설정합니다 (체크 박스는 원하는대로). 빨간색 테두리로 둘러싼 곳에 방금 만든 .bin 파일을 선택하고 확인을 클릭하여 프로그래밍을 시작합니다. 조금 시간이 걸리기 때문에 기장에 기다리자.
  • 프로그램 쓰기가 끝나면 보드 왼쪽 상단의 PROG 버튼을 한 번 누릅니다.

  • 요약



    위의 방법으로 FPGA 보드에 장착된 회로를 전원을 꺼도 유지할 수 있습니다.
    아마 다른 ARTY 시리즈에서도 같은 방법을 사용할 수 있으므로 그쪽을 가지고 계신 분도 시도해보십시오.

    좋은 웹페이지 즐겨찾기