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

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

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

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
katte

개발새발 우주정복기

EE/Verilog

[Verilog] 게이트 지연

2023. 1. 6. 15:07

이상적인 신호와 다르게 실제 신호는 abrupt하게 변할 수 없다. 

따라서 게이트를 통과하여 신호의 출력이 변화되기까지 약간의 딜레이가 존재한다. 

(이러한 딜레이를 무시한 채 설계한 회로를 제로지연 회로라고 한다.)

 

 

딜레이는 세가지 형태가 있을 수 있는데, 상승 지연(Rise Delays)과, 하강 지연(Fall Delays) 턴-오프 지연(Turn-off Delays)가 있다.

 

  • 상승 지연: 다른 값(0, x, z)에서 1로 출력이 변화하는 과정에서 생기는 딜레이
  • 하강 지연: 다른 값(1, x, z)에서 0로 출력이 변화하는 과정에서 생기는 딜레이
  • 턴-오프 지연: 다른 값에서 하이 임피던스(z)로 출력이 변화하는 과정에서 생기는 딜레이

만약 값이 x로 변화하는 경우 세 지연 중 가장 작은 값을 선택한다. 

 

 

이러한 지연의 값을 명시하는 방법으로는 세가지가 있다. 

 

  • 값 하나만 명시하는 경우

이 경우에는 이 값을 모든 지연에 사용한다. 

and #(5) a1(out, i1, i2) //모든 변화가 5 단위시간 지연

 

  • 값 두 개만 명시하는 경우

이 경우에 두 값은 상승과 하강 지연을 의미하고, 턴-오프 지연의 경우 두 값 중 작은 값이 된다. 

and #(4, 6) a2(out, i1, i2); //상승 4, 하강 6, 턴-오프 min(4, 6)

 

  • 세 가지 값을 명시하는 경우

이 경우에는 세 가지 값이 각각 상승, 하강, 턴-오프 지연을 나타낸다. 

bufif0 #(3,4,5) b1 (out, in, control); //상승 3, 하강 4, 턴-오프 5

 

만약 지연을 지정하지 않는 경우 디폴트는 제로지연이다.

 


 

베릴로그는 또한 지연의 최소 / 최대 / 전형적 값을 지정할 수 있도록 지원한다. 

 

이 값은 런타임시 선택할 수 있다. (따로 선택하지 않으면 전형적 값이다.)

 

and #(2:3:4, 3:4:5) a2(out, i1, i2);
//최소: 상승 2, 하강 3, 턴-오프 min(2, 3)
//최대: 상승 4, 하강 5, 턴-오프 min(4, 5)
//전형적: 상승 3, 하강 4, 턴-오프 min(3, 4)

 


Reference: Samir Palnitkar - Verilog HDL 2판

저작자표시 (새창열림)

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

[Verilog] 연산자 정리  (0) 2023.01.11
[Verilog] 데이터 플로우 모델링, assign 연속 할당문  (0) 2023.01.11
[Verilog] 게이트 수준 모델링  (0) 2023.01.06
[Verilog] 포트(Ports)와 포트 연결 규칙  (0) 2023.01.05
[Verilog] 모듈의 구성 요소  (0) 2023.01.05
    'EE/Verilog' 카테고리의 다른 글
    • [Verilog] 연산자 정리
    • [Verilog] 데이터 플로우 모델링, assign 연속 할당문
    • [Verilog] 게이트 수준 모델링
    • [Verilog] 포트(Ports)와 포트 연결 규칙
    katte
    katte
    개발새발 코딩하는 블로그 / HW 위주

    티스토리툴바