RVfpga: RISC-V 아키텍처의 이해 및 FPGA에의 구현

웨비나 등록:

등록

웨비나 녹화:

제공 예정

요약

디지키에 가입하여 RISC-V 프로세서 코어의 내부 동작과 대상 (Xilinx) FPGA 소자에 소프트 RISC-V 프로세서 코어를 구현하는 방법을 보다 자세히 알아보십시오. RVfpga 웨비나는 차세대 프로그래머와 엔지니어가 RISC-V의 잠재력을 활용하기 위해 필요한 기본 지식을 다룹니다. 디지키는 Imagination Technologies와 협력하여 Sarah Harris(UNLV) 교수가 출연하는 이 웨비나를 후원하게 되어 영광입니다. 웨비나 참석자는 다음에 대해 배우게 될 것입니다:

  • 상용 RISC-V 코어 및 시스템 온 칩(SoC)에서 FPGA까지 대상
  • RISC-V SoC 프로그램
  • RISC-V SoC에 더 많은 기능 추가
  • RISC-V 코어 및 메모리 계층 분석 및 수정

RVfpga 웨비나를 완료하면, 참석자들은 상용 RISC-V 프로세서와 SoC 그리고 그들의 생태계에 대한 견고한 이해를 얻게 될 것입니다. 웨비나를 실시간으로 참석하지 못하시더라도, 나중에 녹화된 영상을 보내드릴 테니 꼭 등록해 두십시오! 이 웨비나는 영어로만 진행될 예정입니다.

발표자

Sarah L. Harris
네바다 대학교 라스베이거스 캠퍼스 전기 및 컴퓨터 공학과 부교수

Sarah L. Harris는 네바다 대학교 라스베이거스 캠퍼스의 전기 및 컴퓨터 공학과에서 부교수로 재직 중입니다. 그녀는 스탠포드 대학교에서 석사 및 박사 학위를 받았습니다. 2014년 UNLV에 합류하기 전, 그녀는 2004년부터 2014년까지 하비 머드 칼리지에서 교수로 재직했습니다. 그녀는 휴렛 팩커드, 엔비디아, 다름슈타트 공과대학교에서도 근무한 경험이 있으며 Southwest Research Institute, 인텔, Imagination Technologies를 비롯한 여러 기업과 협력한 적이 있습니다. 그녀는 세 권의 인기 교재인 Digital Design and Computer Architecture, 2nd Edition (2007)과 ARM Edition (2015) 그리고 RISC-V Edition (2021)의 공동 저자이기도 합니다. Harris 박사는 현재 NSF에서 자금을 지원하는 STEM 교육에 가족 지원 통합과 스마트 시티에 대한 두 개의 연구를 주도하거나 공동 주도하고 있습니다. 그녀의 연구 관심사는 컴퓨터 아키텍처와 임베디드 시스템의 응용 그리고 기계 학습에서 의공학 및 로봇공학에 이릅니다.

소프트웨어

Vivado 다운로드

Vivado 다운로드 - 윈도우

Vivado 다운로드 - 리눅스

Vivado 설정

  • Vivado HL WebPACK

vivado_defaults

  • Nexys A7 보드 드라이버 (옵션)

Digilent 보드 파일 Vivado 설치

Vivado → Tools → Settings:

하드웨어

Nexys A7-100T Artix-7 시리즈 FPGA 평가 기판

가이드

가이드: Training and Teaching Resources - Imagination University Programme
포럼: Imagination University Programme Forum – Imagination University Programme

웨비나 Q&A

PlatformIO는 설계를 합성 및 구현하지 않고 어떻게 NEXYS A-7에 직접 비트스트림을 구축하나요?

  • 여러분이 사용할 수 있는 기준 SoC에 대한 비트스트림을 제공합니다. Lab 5에서 자세히 설명하였듯이 Vivado에서 구축할 수 있도록 SoC 소스도 제공하고 있습니다.

네, 그런데 PlatformIO를 사용하여 기준 SoC에 어떻게 새로운 명령어 메모리 내용을 업데이트하나요?

  • PlatformIO 위에 Chips Alliance에서 제공하는 툴체인, OpenOCD가 포함된 플랫폼을 설치합니다.

lab 파일에는 어떻게 접근하나요? 깃허브에 게시되나요?

RVfpga의 소스 코드를 제공하시나요? 아니면 비트스트림만 제공하시나요?

  • 둘 다 제공합니다.

지금부터 1개월 후에는 Basys3 보드 지원이 가능할까요?

  • 정확히 알 수는 없지만, 몇 달 안에 가능할 것입니다. 직접 연락 주시면 자세한 내용을 공유해 드리겠습니다.

RISC-V 아키텍처와 전혀 관련이 없으며, 단순히 개발 기판 사용법을 보여주는 완전히 오해의 소지가 있는 웨비나 제목입니다. 완전 시간 낭비!

  • 내용이 불완전하여 죄송합니다. 사라는 추가 CPU 명령어를 코어에 추가하는 것을 검토하고 Verilator로 작업할 것입니다.

Q&A 섹션의 경우, 프레젠테이션 후에 이 슬라이드를 얻을 수 있을까요?

  • 안녕하세요, 네, 오늘 웨비나가 끝난 후 녹화분과 함께 슬라이드를 제공하겠습니다.

Nexys7 (Arty7)과 유사한 보드를 가지고 있고 Vivado에 대해 잘 알고 있다고 가정한다면, 제가 가진 보드를 지원하도록 개발 환경을 편집하는 것은 얼마나 쉬울까요?

  • 안녕하세요, 보드에 어떤 FPGA가 장착되어 있나요? 해당 설계는 A100T의 약 55%를 차지합니다 (A35T는 너무 작습니다). 문제는 SoC가 FPGA에 맞지 않을 수 있다는 것입니다. 곧 EL2에 기반한 더 작은 RVfpga 버전을 제공할 예정이며, 이들은 Basys 3 또는 Arty A7과 맞을 것입니다.

A100T

  • 저도 그 보드를 가지고 있고, RVfpga도 그 보드에서 동작하는 걸 보고 싶습니다. 무엇이 누락된 것인지 정확한 확신은 없지만, 더 많은 시간을 투자해봐야 할 것 같습니다.

원격으로도 강좌가 제공되나요?

갱신된 슬라이드가 보이지 않아요.

  • 화면이 멈추었다면, 브라우저를 새로고침해주세요.

컴파일러는 제공되는 자료에 있나요?

  • PlatformIO를 통해 제공되는 gcc입니다.

imgtec 링크는 동작하지 않나요?

비트 명령어가 포함되어 있나요?

  • EH1에는 포함되지 않지만 사용자에게 해당 명령어를 포함하도록 하는 연습 문제를 Lab 18에 포함시켰습니다.

VS 코드에서 C++을 사용할 수 있나요?

  • C++은 사용되는 gcc-RISC-V 툴체인을 통해 지원됩니다.

STM32 칩과 함께 사용할 수 있나요?

  • 안타깝게도 안됩니다. 이 버전의 RVfpga를 실행하기 위해서는 FPGA가 필요합니다.

RISC-V 하드웨어 코드는 베릴로그가 아닌 VHDL이라 생각했습니다. 베릴로그는 툴로만 사용하시나요?

  • SweRV EH1과 SweRVolf는 RVfpga를 바탕으로 베릴로그로 작성되어 있습니다.

Gshare BP에 시간을 소비하나요? 아니면 실행(Execution)과 병렬로 처리하나요?

  • BP는 인출(Fetch) 단계의 일부입니다.

비주얼 스튜디오 IDE용 설정 파일이 있는것 같습니다, 맞나요? 저는 항상 이런 설정 문제와 다투느라 많은 시간을 소비합니다.

  • 이 경우 본 설계용 프로젝트 설정의 힘든 부분 처리에 PlatformIO를 활용합니다.

2020 버전에서는 무슨 문제가 발생하나요? 컴파일되지 않는다거나, 아니면 다른 설정 변수가 일치하지 않거나 하는 등?

  • 누군가 약간 변경하여 2020 버전으로 테스트하였으며 동작도 합니다. Imagination Forum에 자세히 설명되어 있습니다.

폐쇄 자막(closed caption)을 넣어줄 수 있나요?

  • 오늘은 폐쇄 자막을 넣지 않았습니다.

모두가 연결에 문제가 있나요?

  • 안녕하세요, 다른 시스템에서 정상적으로 재생되고 있습니다. 브라우저를 새로 고침해서 해결이 되는지 확인해 보시겠습니까?

Nexys A7 외에 다른 FPGA를 사용할 수 있나요?

  • 사용 가능한 FPGA가 있지만, Q/A 섹션에서 Sarah가 여기에 대해 부연할 수 있도록 하겠습니다!

Nexys와 비슷한 보드인 Digilent Basys3 보드는 동작할까요?

  • 현재 이 코어는 A100T의 50% 이상을 차지하고 있어서, 35T로는 어려울 것입니다.

C 컴파일러는 무엇인가요? gcc? 또는 LLVM 백엔드인가요?

  • 현재 PlatformIO는 gcc를 사용했습니다.

랩 파일들을 다운로드할 수 있나요? 랩에 사용된 도구는 사용 가능해 보이지만 랩 파일은 보이지 않습니다.

RISC-V의 기본 버스는 무엇인가요?

  • SweRV EH1은 AXI4 버스와 AHB 버스를 모두 포함합니다. RVfpga에는 AXI4를 사용하며 주변 장치용으로 Wishbone을 사용합니다.

졸업 논문에서 RISC-V를 사용하여 학사 수준에서 할 수 있는 일을 제안 부탁드립니다.

  • 터치스크린, 다른 장치와의 인터페이스 그리고 시스템 모니터링과 같은 프로세서가 백그라운드 작업을 처리하는 것을 제안 드립니다. 병렬 연산 작업용으로는 FPGA가 가장 적합합니다.

터치스크린 프로세서 프로젝트를 어떻게 따라가야 할지 간략한 로드맵을 제시해 줄 수 있나요?

  • 이미 온라인에 많은 프로세서 종류에 대한 그런 프로젝트가 많습니다. 검색 엔진을 통해 쉽게 찾을 수 있을 것입니다.

보드가 지정되어 있나요? 이 구현을 Nexys 200T와 같은 다른 보드로 변환할 수 없나요?

  • 전적으로 대상 소자에서 사용 가능한 자원에 달려 있습니다. 해당 FPAG와 Nexys A7의 FPGA를 비교해 보십시오. 200T에 장착된 소자가 더 크면 이식이 가능할 것입니다.

사용 중인 권장 보드의 경우, 프로세서 전체를 구현하는 데 리소스 비율을 어느 정도 차지하나요?

  • 현재 구현은 Nexys A7 Artix-7 FPGA의 최대 50%를 차지합니다. 기능을 추가하면 더 많은 리소스를 차지할 것입니다.

죄송하지만, AXI 버스가 아닌 Wishbone 버스 사용에 대해 뭐라고 말씀하셨죠?

  • 저희 코어는 AXI4 버스를 사용하며 주변 장치들은 Wishbone 버스를 사용합니다.

헷갈려서 몇 가지 질문을 드리겠습니다. 정말 기본적인 임베디드 RISC C/ASM 프로그래밍처럼 보입니다. 그렇다면 FPGA는 어디에서 개입하고 VHDL은 언제 사용되나요?

  • Lab 1-4는 C/ASM 프로그래밍에 관한 것입니다. Lab 6-10은 주변 장치의 사용 및 추가에 관한 것으로, 이를 위해 베릴로그 코드에 접근할 필요가 있습니다. Lab 11-20은 프로세서를 분석 및 수정하며, 이 또한 베릴로그 코드에 대한 접근이 필요합니다.

가상 디버깅을 논의할 때 VMWare가 사용된다고 언급되었는데, VMWare가 필수인가요, 아니면 VirtualBox를 사용해 VM을 호스팅할 수 있나요?

RVfpga를 다운받아 실행하려면 학술 기관에 소속되어 있어야만 하나요, 아니면 개인이 직접 가입할 수도 있나요?

  • 아니요, 그냥 최종 사용자라고 하십시오. 제출된 모두를 두 명의 imgtec 개발자가 검토합니다. 주로 교육에 중점을 두고 있어서 질문도 그렇지만, 그들은 충분히 이해하고 있습니다.

RISC-V의 명령어 세트는 Cortex-M과 같은 프로세서를 위해 32비트 및 16비트 명령어로 구성되어 있나요? 아니면 32비트 명령어만 있나요?

  • 32비트와 16비트 명령어 모두 포함되어 있습니다.

새로운 명령어를 만들거나 기존 명령어를 수정할 수 있나요? 모두 오픈 소스인가요?

  • 네, 모두 오픈 소스입니다. Lab 18에서 새로운 명령어를 포함시키는 방법을 보여줍니다.

방금 언급한 장착 보드의 이름을 알려줄 수 있나요?

실리콘 RISC-V가 아닌 가상 RISC-V를 FPGA에 사용하는 이점은 무엇일까요?

  • SoC를 보고 분석할 수 있습니다. (다른 설정 사용, 마이크로아키텍처 확장, 주변 장치 추가 등) SoC를 변경할 수도 있습니다.

파이프라인이 3단 또는 5단인 보다 단순한 코어 대신 SweRV 코어를 사용하는 동기는 무엇인가요?

  • SweRV EH1은 흥미로운 마이크로아키텍처 기능을 포함하는 매우 강력한 코어입니다. 4단 파이프라인 코어인 EL2에 기반한 더 작은 RVfpga 버전을 추가할 계획입니다.

자료에는 어떻게 접근할 수 있나요? https://university.imgtec.com/teaching-download를 통해 다운받는 교육 자료인가요?

  • 맞습니다. 그곳에서 볼 수 있지만, 가입을 해야만 합니다. imgtec 개발자 두 명이 수동으로 접속을 승인합니다.

imgtec university의 교육 자료는 프로젝트 세부 사항과 참여 인원 등을 포함하는 지원서 등록이 필요한데, 왜 필요한가요?

  • imgtec에는 이 자료로 교과 과정을 만들고 싶어 하는 대학 교수들이 있습니다. 솔직하게 답하자면, 요청을 승인하는 두 명의 imgtec 개발자는 이것이 일반 개발자들에게는 특이할 수 있다는 것을 충분히 이해하고 있습니다.

안녕하세요, 베릴로그 언어로만 되어 있나요?

전체 20개의 lab이 모두 준비되어 있나요 아니면 첫 부분만 준비되어 있나요?

  • 전체 프로젝트가 준비되어 있으며, 20 lab으로 구성됩니다.

Artix7 FPGA에서 RVfpga 코어가 동작하는 클럭 속도는 어떻게 되나요?

  • 50MHz 클럭을 사용하고 있습니다.

Imagination Technologies는 이 코어를 개발함으로써 어떻게 수익을 창출하려는 것으로 예측하시나요? 교육 판매? 어떻게 이런 일이 발생하고 지속 가능한지를 이해하는 데 어려움을 겪고 있습니다.

  • RVfpga는 실제로 “신형” SGX 코어에 사용되는 IP입니다. RISC-V를 지원하면 그들의 IP를 사용할 수 있는 더 많은 기회를 마련할 것으로 예측합니다.

참가 인증서가 있나요?

  • 문의해 주셔서 감사합니다. 저희는 이 웨비나에 대한 인증서를 제공하지는 않습니다.

학생뿐만 아니라 실무 엔지니어들도 RVfpga 과정을 이용할 수 있나요? 그렇다면, 어디서 할 수 있나요?

  • 웹사이트가 대학 지향적이지만 그룹은 누구나 자료를 보고 활융할 수 있도록 열려 있습니다. https://university.imgtec.com/

불행히도 접근할 수가 없습니다. 페이지 전반에 걸쳐 “university” 언급이 있습니다.

  • 그냥 최종 사용자로 작성하면 됩니다. 해당 페이지가 대학용으로 많이 작성되었지만 배후에 imgtec의 개발자 두 명이 문서를 승인하고 있습니다.

대학 수업에 RVfpga 자료를 사용할 수 있도록 라이선스를 제공하나요?



영문 원본: RVfpga: Understanding RISC-V Architecture and Implementation on an FPGA