본문 바로가기

Programming/Verilog

Verilog HDL 모듈, 포트, 테스트벤치    모듈 (module)   베릴로그의 모듈은 C의 함수(function) 단위와 비슷하며, 베릴로그 설계를 위한 기본적인 블록 단위이다.module <모듈 이름> (포트 목록); 으로 시작하며, endmodule로 끝난다. 또한 하나의 모듈은 하나의 파일로 구성된다. 확장자는 .v 이다.   * 예시   module example(inp1, inp2, inp3..
Verilog HDL 문법 (연산자, 데이터, 넷, 주석)      연산자 (operator) 연산자는 산술 연산자, 관계 연산자, 논리 연산자, 시프트 연산자 등이 있으며 값을 연산하는 것에 사용한다.   구분 연산자 의미 산술 연산자 + 덧셈 - 뺄셈 % 나머지 * 곱셈 / 나눗셈 관계 연산자 == 같다  != 같지 않다 > 크다 >= 크거나 같다 < ..
Verilog HDL 문법 (레지스터, 벡터, 배열, 파라미터, 문자열)    레지스터 (register) 레지스터는 데이터를 저장하는데 사용하는 변수이다.<키워드> <변수 명> 으로 사용한다.  키워드 정의 reg 일반적으로 사용하는 레지스터 real 실수 표현을 하는 레지스터 time 시뮬레이션 시간을 저장하는 레지스터 integer 정수 표현을 하는 레지스터, signed 형태 사용가능 * 예시reg start;..
Verilog HDL 문법 (컴파일러 지시어, 조건문, 다중 분기, 반복문)    컴파일러 지시어   '<키워드> 형식으로 사용한다. `define 과 `include 와 `timescale 이 있다. define은 텍스트 매크로를 정의하는 용도로 사용하며, `include는 다른 verilog 소스 파일을 현재 소스 파일에 추가하는 용도로 사용한다. 일반적으로 헤더파일을 포함시키는데 사용한다. `timescale 은 모듈의 참조 시간 단위를 지정한다. `timesca..
Verilog HDL 문법 (키워드, 식별자, 숫자)    Verilog HDL의 특징 및 규약 베릴로그는 전체적으로 C 문법과 유사한 편이다. 문자는 대문자와 소문자를 구별(case sensitive)하며, 키워드는 반드시 소문자로 사용해야한다.한 문장은 반드시 세미콜론(;) 으로 끝난다. (begin, end 등은 예외)        키워드 (keyword)   언어 구조를 정의하기 위해 사전에 예약된 식별자를 말한..