Verilog HDL의 특징 및 규약


베릴로그는 전체적으로 C 문법과 유사한 편이다.

문자는 대문자와 소문자를 구별(case sensitive)하며, 키워드는 반드시 소문자로 사용해야한다.
한 문장은 반드시 세미콜론(;) 으로 끝난다. (begin, end 등은 예외)

 

 

 

 키워드 (keyword)

 

언어 구조를 정의하기 위해 사전에 예약된 식별자를 말한다. 
키워드는 변수(variable)나 식별자(identifier)로 사용하지 않도록 한다.
키워드들은 아래와 같으며, 일반적으로 컴파일러가 예약어들을 파란색으로 표시해줄 것이다.

 

      always          and             assign            begin            buf                bufif0               bufif1           case
      casex           casez          cmos              deassign       default          defparam          disable        else
      end              endcase       endfunction     endmodule     endprimitive
      endtable       endtask        event              for                 force            forever              fork
      function        highz0          highz1            if                   initial           inout                 input          integer
      join              large            medium           module          nand            negedge           nmos          nor
      not               notif0            notif1              or                 output          parameter          pmos
      posedge       primitive        pulldown        pullup           pull0             pull1                 rcmos         reg
      release        repeat           rnmos             rpmos           rtran             rtranif0              rtranin1       scalared
      small           strong0          strong1          supply0          supply1        table
      task             time              tran                tranif0           tranif1           tri                     triand
      trior             trireg             tri0                 tri1               vectored       wait                  wand          weak0
      weak1         while            wire               wor               xnor             xor

 

 

 

 

 식별자 (identifier)


일반 변수들을 말하며, 객체를 참조할 수 있게 사용자가 부여하는 이름이다.
영문자 알파벳이나 숫자를 사용해야하며, 특수문자는 언더스코어(_), 달러($) 기호만 사용할 수 있다. 
단, 식별자는 반드시 알파벳이나 언더스코어로만 시작해야 한다.
예를 들면 다음과 같다.

 

rebAs

O

 

Rebas

O

 

always

X 

키워드를 식별자로 사용할 수 없음

_Rebas

O

 

9rebas

X

숫자로 시작할 수 없음

rebas7

O

 

$rebas

X

달러 기호로 시작할 수 없음

rebas$

O

 

re-bas

X

언더바, 달러 기호 외의 특수문자 사용 불가

 

 

 

 

 숫자 표현

 

기본적으로 <비트 수> <진수> <숫자> 로 표현한다.
<비트 수>에는 10진수 숫자로만 써야하며, 숫자의 크기를 말한다.
<진수>에는 b,B 로 2진수를, d, D로 10진수를, h, H로 16진수를 표현한다.
예를 들면 다음과 같다.

 

7'b1111001 

7비트 2진수 1111001

11'd2047

11비트 10진수 2047

17'h12a1

17비트 16진수 12a1

 

<비트 수>를 표현하지 않을 수 있다.
기본적으로 10진수로 표현되며, 시뮬레이터마다 다를 수 있지만 일반적으로 32비트 숫자가 된다. 

예를들면 다음과 같다.

 

2011147

32비트 10진수 2011147

'h113a

32비트 16진수 113a

 

신고

+ Recent posts