katte
개발새발 우주정복기
katte
전체 방문자
오늘
어제
  • 분류 전체보기 (73)
    • 블로그 소개 (1)
    • Computer (36)
      • 자료구조 (0)
      • 알고리즘&백준 (19)
      • 컴퓨터구조 (0)
      • C++ (17)
      • Kotlin (0)
    • EE (29)
      • Verilog (22)
      • 디지털 시스템 (2)
      • 집적회로설계 (1)
      • 임베디드 시스템 (4)
    • 토이프로젝트 (3)
    • 기타 (4)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • ignore
  • 입력버퍼
  • cctype
  • 스트림
  • for 루프
  • EOF
  • 표준스트림
  • ctime
  • cin
  • C++11
  • 함수포인터
  • c++ 입출력
  • C++ 스트림 개요
  • c++
  • Get
  • C언어
  • 배열포인터
  • C++ 스트림 클래스

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
katte

개발새발 우주정복기

EE/Verilog

[Verilog] System task

2023. 1. 3. 20:31

베릴로그는 표준 시스템 태스크를 제공하며, 모든 시스템 태스크는 $<키워드> 형태로 나타낸다.

 

 

  • 화면 출력 태스크($display)

화면에 출력하기 위한 태스크로, C언어에서의 printf와 유사한 기능을 한다.

 

$display(p1, p2, p3, ... , pn); 이와 같이 작성하며, p1, p2... 는 문자열, 변수 또는 수식이 될 수 있다. 

C에서의 형식 지정자와 같이 문자열 안에 %d, %c, %s 등을 사용하여 작성할 수 있다. 

 

 

  • 모니터링 태스크($monitor)

$monitor를 사용하여 신호의 값이 변할 때마다 그 신호를 출력할 수 있다. 

 

$monitor(p1, p2, p3, ... , pn); 이와 같이 작성하며, p1, p2... 는 변수, 신호 이름, 문자열이 될 수 있다. 

변수 또는 파라미터에 지정된 신호의 값을 계속 모니터링하고, 어느 한 변수나 신호가 변할 때마다 모든 파라미터를 출력한다.

 

$monitor는 단 한 번만 사용해야 한다.

동시에 단 하나의 모니터링 리스트만이 수행되며 여러 문장이 존재하면 마지막 문장만 실행되고 앞의 문장들은 무시된다.

 

모니터링을 on, off하기 위해 $monitoron; $monitoroff 태스크를 사용할 수 있으며, 처음 시뮬레이션을 시작할 때는 기본적으로 on상태이다.

 

 

  • 시뮬레이션 중단과 종료 태스크

시뮬레이션을 중단하기 위해서 $stop 태스크를 사용한다.

$stop은 상호 작용 모드의 시뮬레이션에서 사용된다.

사용자는 상호 작용 모드에서 디버그를 할 수 있으며, 신호의 값을 조사하기 위해 사용될 수 있다.

 

$finish는 시뮬레이션을 종료하기 위해 사용된다.

 

 


reference: Samir Palnitkar - Verilog HDL 2판

저작자표시 (새창열림)

'EE > Verilog' 카테고리의 다른 글

[Verilog] 게이트 수준 모델링  (0) 2023.01.06
[Verilog] 포트(Ports)와 포트 연결 규칙  (0) 2023.01.05
[Verilog] 모듈의 구성 요소  (0) 2023.01.05
[Verilog] 컴파일러 지시어  (0) 2023.01.03
[Verilog] 베릴로그 자료형  (0) 2023.01.03
    'EE/Verilog' 카테고리의 다른 글
    • [Verilog] 포트(Ports)와 포트 연결 규칙
    • [Verilog] 모듈의 구성 요소
    • [Verilog] 컴파일러 지시어
    • [Verilog] 베릴로그 자료형
    katte
    katte
    개발새발 코딩하는 블로그 / HW 위주

    티스토리툴바