2016년 10월 18일 화요일

[Scala] Chisel 2.2 Tutorial {01}

본 문서의 레퍼런스: https://chisel.eecs.berkeley.edu/latest/chisel-tutorial.pdf

Rocket chip generator에서 Chisel 언어를 사용한다. Chisel은 Constructing Hardware In a Scala Embedded Language의 약자이다. Rocket chip generator의 소스코드를 보면 .scala 파일인 것을 확인할 수 있다.

본 문서는 Scala 언어를 몰라도 볼 수 있다(고 써있긴 한데, 물론 알면 좋다).

1. Datatypes

Bits - raw collection of bits (1011 이런 것들)
SInt, UInt - signed and unsigned integers
Bool - boolean values
Bundle - struct 같은 것
Vecs - indexable collections of values. 배열같은 것인 듯

* 문서에서 literal value를 lit 이라고 표현한 듯
* Underscore는 string에 쓰일 수 있는데, 가독성을 위해서 쓰일 뿐 무시된다.

val - is used to name variables that have values that won't change (헷갈린다. 찾아보니, the internal state of a val can be changed but the object referred to by a val cannot. A val is not a constant. 즉, val sel = a | b 일 경우 a, b의 값에 따라 sel이 바뀔 수 있지만, sel = a | b 라는 것은 바뀔 수 없다는 뜻 인 듯. 다른 말로 sel = a & b 로 바뀔 수 없다는 뜻인 것 같다.)

2. Builtin Operators

Scala language. === for equality and =/= for inequality


댓글 없음:

댓글 쓰기