본문으로 바로가기

[RISC-V] Chisel Tutorial

category SoC/RISC-V 2018.09.16 06:25


1. 본 글은 개인적으로 RISC-V 프로세서를 스터디 하면서 습득한 내용을 정리한 것입니다.  

2. 정확히 이해를 하고 기술하는 글이 아니기 때문에 잘못된 내용이 전달 될 수도 있습니다. 

3. 수정 사항 및 질문은 언제든지 환영입니다.



Chisel을 이용한 로직 설계 경험도 없고, 열심히 스터디도 하지않은 입장에서 Chisel에 관하여 이런 저런 이야기를 하는 것이 우스웠습니다. 그래서 임시 저장소에서 글을 몇번이나 쓰고 지웠는지 모르겠네요. Chisel Tutorial과 기타 자료를 보면서 개인적으로 정리 및 기억해야 할 부분을 소개하면 적당하지 않을까 라는 생각에 글을 공개해 봅니다.       



1. Chisel Tutorial 

Chisel의 기본 개념을 익히기위해서 Chisel Tutorial을 추천 드립니다. 기본 개념 및 RTL와 함께 설명되어 있기 때문에 이미 로직 설계 경험이 있다면 어럽지 않게 훓어 보실 수 있을 것이라고 생각됩니다.


다만 UInt Operation Bit Inference 부분에서 operation의 width inference 부분은 Chisel3의 내용으로 보시기 바랍니다. 



2. 참고할 내용 

Tutorial 에서 부족한 부분을 개인적으로 찾아본 내용입니다. (계속 수정 및 추가할 예정입니다.)


RTL과 달리 Chisel 에서는 register 기술시 clock 과 reset이 자동으로 매핑이 되어집니다. (현재 파악하기로는 Synch reset, posedge clock 으로 선언되어 집니다.) Tutorial에서는 multiple clock 을 이용하는 방법이 빠져 있어서 추가해 봅니다. 


Chisel 에서는 register 는 Synch reset으로만 기술되기 때문에 Asynch reset을 기술 할 수 있는 방법을 찾아 보다가, Asynch F/F을 black box 형태로 기술하고 RTL 레벨에서 추가 하라는 해결책을 본 후, Chisel에서 black box 를 이용하는 방법을 추가 해 봅니다. 

 

'SoC > RISC-V' 카테고리의 다른 글

[RISC-V] Chisel Tutorial  (0) 2018.09.16
[RISC-V] C Emulator 수행 및 Waveform 생성  (0) 2018.09.07
[RISC-V] spike 다루기  (0) 2018.08.28
[RISC-V] RISC-V 설치 및 Hello RISC-V 실행  (0) 2018.08.19

댓글을 달아 주세요

티스토리 툴바