LiteX

FemtoRV는 LiteX와 함께 사용할 수 있습니다.

LiteX는 SoC를 만들기 위한 사용하기 쉬운 프레임워크입니다.

이 파일의 나머지 부분에서는 LiteX와 그 의존성을 설치하는 방법을 설명합니다.

오픈 소스 FPGA 개발 툴체인 설치

시작하기 전에 오픈 소스 FPGA 개발 툴체인(Yosys, NextPNR 등)을 설치해야 합니다. 설치 방법은 여기에 나와 있습니다.

LiteX 설치

LiteX 웹사이트의 설치 안내를 따르십시오

요약

$ mkdir LiteX
$ cd LiteX
$ wget https://raw.githubusercontent.com/enjoy-digital/litex/master/litex_setup.py
$ chmod +x litex_setup.py
$ ./litex_setup.py --init --install --user 
$ pip3 install meson ninja
$ sudo ./litex_setup.py --gcc=riscv

합성

합성 방법은 보유한 보드에 따라 다릅니다.

SoC에 연결하기

터미널 에뮬레이터를 실행하십시오. LiteX에 포함된 터미널 에뮬레이터(lxterm)를 사용할 수 있습니다. 보드가 어느 포트(/dev/ttyUSBnnn 중 하나)에 연결되었는지 확인해야 합니다. 보드를 연결한 직후 $dmesg를 실행하십시오(또는 여러 값을 시도해 보십시오). ttyUSB0이라고 가정하면 다음을 실행하십시오:

  $litex_term /dev/ttyUSB0

그런 다음 <enter>를 누르십시오. litex> 프롬프트가 표시됩니다.

FemtoRV 변형

LiteX는 가장 작은 femtorv-quark(RV32I)부터 FPU를 갖춘 가장 큰 femtorv-petitbateau(RV32IMFC+irq)까지 FemtoRV의 모든 변형을 사용할 수 있습니다.

변형 명령어 집합
quark RV32I
electron RV32IM
intermissum RV32IM+irq
gracilis RV32IMC+irq
petitbateau RV32IMFC+irq
$ python3 -m litex_boards.targets.radiona_ulx3s --cpu-type=femtorv --cpu-variant=petitbateau --build --load --device LFE5U-85F --sdram-module AS4C32M16

소프트웨어

이제 SoC에 소프트웨어를 컴파일하고 설치할 차례입니다.

장치용 RiscV 소프트웨어 컴파일하기

LiteX 데모는 여기를 참고하십시오.

$ cd <LiteX installation directory>
$ litex_bare_metal_demo --build-path build/radiona_ulx3s/

장치로 소프트웨어 보내기

다음과 같이 lxterm을 사용하여 장치로 바이너리를 보낼 수 있습니다.

$lxterm --kernel <software.bin> --speed 115200 /dev/ttyUSB0

참고 - LiteX 치트코드와 파일

LiteX의 동작 방식을 더 알고 싶다면 소스 코드를 읽어 보는 것이 좋습니다! 몇 가지 중요한 링크와 파일은 다음과 같습니다.