Read in EN

not, negative

Scode에는 ~와 - operator가 있다. ~는 not operator이고, -는 negative expression을 만든다.

~는 bit not과 logical not 모두에 사용할 수 있다.

a <= b
a <= (b, ~(c==1), d)

두 번째 경우는 c!=1이라는 표현이 더 가독성이 좋으므로 ~는 주로 bit not에 이용한다.

Scode는 expression이 필요할 때 logic만 주어지면 active high로 간주하는 기능이 있다.

a <= (b, c, d)

위의 code는 c가 1인 경우 a에 b를 할당하고, 1이 아닌 경우 a에 d를 할당하는 내용이다. 만일 c가 0인 경우 a에 b를 할당하고, 0이 아닌 경우 a에 d를 할당하려면 아래와 같이 작성한다.

a <= (b, c==0, d)

이 경우 - operator를 사용하면 좀 더 간략하게 표현할 수 있다.

a <= (b, -c, d)

Scode에는 and, or 역할을 하는 &, | operator가 있는데, 이 operator의 연산 순위가 == 보다 높기 때문에 다음과 같은 경우에 괄호가 필요하다.

a <= (b, (c1==0) & (c2==0), d)

-를 사용하면 괄호가 - operator의 연산 순위가 &보다 높기 때문에 필요없다.

a <= (b, -c1 & -c2, d)

-를 사용하면 조건문을 훨씬 간략하게 표현함을 알 수 있다.

← All posts