20160907

ZedBoard에 Rocket Chip 올리기
Soft core를 FPGA에 올리고자 하는 시도는 예전부터 했었다. 하지만 open source soft core 중에서 사용하기 쉽고, 다양한 보드를 지원하는 것이 찾기 쉽지 않았다. 가장 최근에 보드에 올리는 것에 성공한 LEON3의 경우에도 Xilinx ZedBoard를 사용하면 USB를 제대로 인식하지 못하는 문제가 있었다(DE2 보드에서는 잘 되었던 것 같다). 최근에 많이 보이는 RISC-V 계열 open source soft core인 rocket chip을 ZedBoard에 한 번 올려보았다. Rocket chip은 Berkeley 대학에서 새롭게 만든 open source soft core인데, 잘 관리되고 있는 것 같다. Rocket chip repositoryRocket Chip on Zynq FPGAs repository가 따로 있는데, Rocket Chip on Zynq FPGAs repository를 받아서 올려보았다. 사소하지만 중요한 문제를 하나 해결했다. Rocket Chip on Zynq FPGAs는 공식적으로 Vivado 2016.2를 지원하지만, 간단한 코드 수정으로 Vivado 2015.2를 가지고도 빌드할 수 있도록 할 수 있었다. ./fpga-zynq/zedboard/zedboard_bd.tcl에서 scripts_vivado_version을 바꾸면 된다. Xilinx Vivado license를 donation에 신청했는데, 잘 될지 모르겠다. 한 가지 이해되지 않는 점, 궁금한 점이 있는데, rocket chip의 동작 방식이다. 우선 내가 오늘 한 방식으로는 ARM 코어에서 리눅스를 실행하고, 여기에서 원격으로 rocket chip에 바이너리를 실행하게 된다(rocket chip에 직접 리눅스를 실행하는 것이 아님). 그리고 chisel에 대한 이해, rocket chip debugging 및 시뮬레이션 방법에 대한 이해가 필요하다. Rocket chip은 chisel로 짜여있고, 문서 어딘가에 의하면 chisel은 simulator 코드로도, HDL로도 쉽게 변환되어 바로 사용할 수 있다고 한다. 정말 그런 것인지, 그렇다면 어떻게 해서 사용할 수 있는지 확인해야 한다. 그리고 한 가지 이상한 현상이 있었는데, rocket chip을 ZedBoard에 올리고 리눅스를 올릴 수 있었지만 UART 케이블을 처음에 꽂아두면 잘 되지 않았다.

Advertisements
Tagged with: , , , , , , , ,
Posted in 1) Memo

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

누적 방문자 수
  • 93,420 hits
%d bloggers like this: