Register-transfer level

Register-transfer level

디지털 회로 설계에서 Register-Transfer Level(RTL; 레지스터 전송 레벨)은 하드웨어 레지스터 간의 디지털 신호(데이터) 흐름 및 이들 신호에 대해 실행되는 논리 연산의 관점에서 동기 디지털 회로를 모델링하는 설계 추상화입니다.

레지스터 전송 레벨 추상화는 VerilogVHDL 등의 Hardware Description Language(HDL; 하드웨어 기술 언어)에서 사용되며 회선의 높은 수준의 표현을 작성하기 위해 사용됩니다.이러한 표현은 하위 수준의 표현과 최종적으로는 실제 배선을 도출할 수 있습니다.RTL 수준의 설계는 현대 디지털 [1]설계에서 일반적인 관행입니다.

레지스터-전송 레벨이 중간 수준이고 최저 수준인 소프트웨어 컴파일러 설계와는 달리 RTL 레벨은 회로 설계자가 동작하는 일반적인 입력입니다.실제로 회로합성에서는 입력 레지스터 전송레벨 표현과 타깃 넷리스트 사이의 중간언어가 사용되기도 한다.넷리스트와는 달리 셀, 함수, 멀티비트 레지스터 등의 구조를 사용할 수 있습니다.[2]예를 들어 FIRRTL과 RTLIL이 있습니다.

트랜잭션 수준 모델링은 더 높은 수준의 전자 시스템 설계입니다.

RTL 설명

입력의 각 상승 에지에서 출력이 토글되는 단순 회로의 예입니다.인버터가 이 회로에서 조합 로직을 형성하고 레지스터가 상태를 유지합니다.

동기회로는 레지스터(시퀀셜로직)와 조합로직의 2종류의 요소로 구성됩니다.레지스터(일반적으로 D 플립 플랍으로 구현됨)는 회로 동작을 클럭 신호의 에지에 동기화하며 메모리 특성을 가진 유일한 소자입니다.조합 로직은 회로 내의 모든 논리 기능을 수행하며 일반적으로 논리 게이트로 구성됩니다.

예를 들어 매우 단순한 동기회로가 그림에 나타나 있습니다.인버터는 레지스터의 출력 Q에서 레지스터의 입력 D로 연결되어 클럭의 각 상승 에지 clk에서 상태를 변경하는 회로를 생성합니다.이 회로에서는 조합 로직이 인버터로 구성됩니다.

HDL(하드웨어 기술 언어)을 사용하여 디지털 집적회로를 설계할 경우 설계는 보통 트랜지스터 레벨(로직 패밀리) 또는 로직 게이트 레벨보다 높은 추상화 레벨로 설계됩니다.HDL에서 설계자는 레지스터를 선언하고(컴퓨터 프로그래밍 언어의 변수에 대략 대응), if-then-else 및 산술 연산과 같은 프로그래밍 언어에서 익숙한 구조를 사용하여 조합 논리를 기술합니다.이 레벨은 register-transfer 레벨이라고 불립니다.이 용어는 RTL이 레지스터 간의 신호 흐름을 설명하는 데 중점을 두고 있다는 사실을 의미합니다.

예를 들어 위의 회선은 다음과 같이 VHDL로 기술할 수 있습니다.

D <=> 것은 아니다. Q;   과정(째깍째깍 소리를 내다) 시작한다.     한다면 상승 엣지(째깍째깍 소리를 내다) 그리고나서         Q <=> D;     끝. 한다면; 끝. 과정; 

통합에 EDA 도구를 사용하면 일반적으로 이 설명은 ASIC 또는 FPGA용 동등한 하드웨어 구현 파일로 직접 변환할 수 있습니다.합성 도구는 로직 최적화도 수행합니다.

레지스터 전송 레벨에서는, 몇개의 회선을 인식할 수 있습니다.레지스터의 출력에서 입력으로(또는 레지스터의 출력에서 입력으로) 로직의 순환 경로가 있는 경우, 회로를 상태 기계라고 부르거나 순차 로직이라고 할 수 있습니다.레지스터에서 다른 레지스터로의 논리 경로가 사이클 없이 존재하는 경우 이를 파이프라인이라고 합니다.

회로 설계 사이클에서의 RTL

RTL은 집적회로 설계 사이클의 논리 설계 단계에서 사용됩니다.

RTL 기술은 보통 논리합성툴에 의해 회로의 게이트레벨 기술로 변환된다.그런 다음 합성 결과를 배치 및 라우팅 도구로 사용하여 물리적 레이아웃을 만듭니다.

논리 시뮬레이션 도구는 설계의 RTL 설명을 사용하여 설계의 정확성을 검증할 수 있습니다.

RTL의 전력 예측 기술

회로 수준에 가장 정확한 전력 분석 도구를 사용할 수 있지만, 불행히도 장치 수준 모델링이 아닌 스위치 수준에서도 회로 수준의 도구는 속도가 너무 느리거나 메모리가 너무 많이 필요하기 때문에 큰 칩 처리를 방해할 수 있다는 단점이 있습니다.이들 대부분은 SPICE와 같은 시뮬레이터로 설계자가 오랫동안 성능 분석 도구로 사용해 왔습니다.이러한 단점으로 인해 게이트 수준의 전력 추정 도구는 보다 빠르고 확률적인 기법이 발판을 마련하기 시작한 곳에서 어느 정도 수용되기 시작했다.그러나 특히 상관 신호가 존재하는 경우 정확성 비용으로 속도를 높일 수 있기 때문에 단점도 있습니다.수년간 저전력 설계에서는 회로 및 게이트 레벨의 최적화에서 최대의 이점을 얻을 수 없는 반면 아키텍처, 시스템 및 알고리즘 최적화는 전력 소비에 가장 큰 영향을 미치는 경향이 있습니다.따라서 툴 개발자의 경향은 파워를 위한 높은 수준의 분석 및 최적화 툴로 변화하고 있습니다.

동기

그것은 잘 한 관념의지만 알고리즘 구조적 수준처럼[3]이 필요한 동기에 대해 개발자들은 새로운 구조 고도 출력 분석 도구 개발에 주력할 수 있는 것 또는은 게이트 레벨 더 높은 단계에 만들어진다 좀 더 중요한 전력 감축 가능한 것으로 알려져 있다.s.이는 하위 수준의 도구가 중요하지 않다는 것을 의미하지는 않습니다.대신, 각 도구 계층은 다음 단계를 구축할 수 있는 기반을 제공합니다.낮은 수준의 추정 기법의 추상화는 약간 수정하여 높은 수준에서 사용할 수 있다.

RTL 또는 아키텍처 수준에서 전력 견적을 수행하는 이점

  • 설계자는 설계에 대한 Register-Transfer Level(RTL; 등록 전송 수준) 설명을 사용하여 설계 흐름의 매우 초기에 최적화 및 트레이드오프를 수행합니다.
  • RTL 설명에 기능 블록이 존재하면 RTL은 게이트 레벨 또는 회로 레벨 설명보다 충분히 입도가 크기 때문에 대형 칩에서도 아키텍처 설계의 복잡성을 훨씬 쉽게 관리할 수 있습니다.

게이트[4] 등가물

게이트 등가 개념에 기초한 기술입니다.칩 아키텍처의 복잡성은 게이트 등가 카운트가 특정 기능을 구현하기 위해 필요한 평균 참조 게이트 수를 지정하는 경우 게이트 등가 카운트로 대략 설명할 수 있습니다.특정 기능에 필요한 총 전력은 게이트 당 소비되는 평균 전력과 대략적인 게이트 등가 수를 곱하여 추정됩니다.기준 게이트는 모든 게이트(예: 2 입력 NAND 게이트)가 될 수 있습니다.

게이트 등가 기술의 예

  • 클래스 독립형 전력 모델링:게이트 등가 측면에서 설계의 복잡성에 대한 정보를 바탕으로 칩 면적, 속도, 전력 소산을 추정하는 기술이다.기능은 다른 블록으로 분할되지만 블록의 기능에 대해서는 구별되지 않습니다. 즉, 기본적으로 등급에 의존하지 않습니다.이것은 Chip Estimation System(CES; 칩 예측 시스템)에서 사용되는 기술입니다.
순서:
  1. 카운터, 디코더, 곱셈기, 메모리 등의 기능 블록을 식별합니다.
  2. 게이트 등가의 관점에서 복잡성을 지정합니다.각 장치 유형의 GE 수는 사용자로부터 직접 입력으로 받거나 라이브러리에서 공급됩니다.
여기서typ E는 활성 상태일 때 게이트 등가물에 의해 가정된 평균 산포 에너지입니다.액티비티 팩터 A는int 클럭사이클당 게이트스위칭의 평균 퍼센티지를 나타내며 기능마다 다를 수 있습니다.용량성 부하 C는L 팬아웃 부하와 배선의 조합입니다.배선 캐패시턴스를 계산하기 위해 평균 와이어 길이의 추정치를 사용할 수 있다.이는 사용자에 의해 제공되며 임대규칙의 파생상품을 사용하여 상호 확인됩니다.
전제 조건:
  1. 단일 기준 게이트는 다른 회로 스타일, 크로킹 전략 또는 레이아웃 기법을 고려하지 않은 모든 전력 추정의 기준으로 간주됩니다.
  2. 액티비티 요인에 의해 나타나는 클럭사이클당 게이트 스위칭의 퍼센티지는 입력 패턴에 관계없이 고정되는 것으로 간주됩니다.
  3. 일반적인 게이트 스위칭 에너지는 입력 데이터의 완전 랜덤 균일한 백색 노이즈(UWN) 분포를 특징으로 합니다.즉, 이 UWN 모델은 다양한 입력 분포가 게이트 및 [5]모듈의 소비 전력에 미치는 영향을 무시하기 때문에 회선의 아이돌 상태 또는 최대 부하 상태에 관계없이 전력 추정치가 동일하다는 것을 의미합니다.
  • 클래스 의존형 전력 모델링:이 접근법은 다양한 유형의 기능 블록에 대한 맞춤형 추정 기술을 고려하므로 이전 접근법보다 약간 더 낫습니다. 따라서 로직, 메모리, 상호 연결 및 클럭과 같은 이전 기술에서는 그렇지 않았던 모델링 정확도를 높이려고 합니다.전력 추정은 독립된 경우와 매우 유사한 방법으로 이루어집니다.기본 스위칭 에너지는 3입력 AND 게이트를 기반으로 하며 사용자가 제공한 게이트 폭, 독성 및 금속 폭과 같은 기술 파라미터에서 계산됩니다.
여기서wire C는 단위 길이당 비트선 배선 캐패시턴스를 나타내고cell C는 비트선으로부터 떨어진 단일 셀에 의한 부하를 나타냅니다.클럭 캐패시턴스는 H 트리 디스트리뷰션네트워크를 전제로 하고 있습니다.활동은 UWN 모델을 사용하여 모델링됩니다.등식에서 알 수 있듯이 각 컴포넌트의 소비전력은 메모리 어레이 내의 열(Ncol)과 행(Nrow)의 수와 관련이 있습니다.
단점:
  1. 회로 활동은 사용자가 제공한 대로 신뢰할 수 없는 전체 칩에 대해 전체 활성 계수를 가정하기 때문에 정확하게 모델링되지 않습니다.실제로 동작 요인은 칩 전체에 걸쳐 다르기 때문에 정확도가 높지 않고 오류가 발생하기 쉽습니다.이로 인해 모델이 칩에 의한 총 소비전력을 정확하게 예측하더라도 모듈의 배전이 상당히 부정확하다는 문제가 발생합니다.
  2. 선택한 활동 계수는 정확한 총 전력을 제공하지만 논리, 클럭, 메모리 등으로의 전력 분해는 정확도가 떨어집니다.따라서 이 툴은 CES와 비교해도 크게 다르지 않거나 개선되지 않았습니다.

사전 특성화된 셀 라이브러리

이 기술은 단일 게이트 등가 모델 대신 곱셈기, 가산기 등의 기능 블록 라이브러리를 개별적으로 특징짓는 역률 근사(PFA) 방식을 제안하는 논리, 메모리 및 상호접속용 별도의 역률 모델을 보유함으로써 다양한 기능 블록의 전력 추정을 더욱 맞춤화한다."논리" 블록의 경우.
칩 전체에 대한 전력은 다음과 같은 식으로 근사됩니다.

여기서i K는 기능요소 })를 특징짓는th PFA 비례상수이며,fi({displaystyle f_i})는 하드웨어의 복잡성을 나타내는 이며, ({})는 활성화 빈도를 나타냅니다.

곱셈기의i 하드웨어 복잡성을 나타내는 G는 입력 워드 길이의 제곱 즉,N2 여기서 N은 단어 길이입니다.활성화 빈도는 나타나는 알고리즘에 의해 곱셈이 실행되는 속도이며, PFA 인 K t{는 과거의 곱셈기 설계에서 경험적으로 추출되어 5V에서 1.2µm 테크놀로지에 대해 약 15fW/bit2-Hz임을 나타냅니다.위의 가정에 기초한 승수의 전력 모델은 다음과 같습니다.

장점:

  • 해당 블록에 적합한 복잡도 매개변수의 관점에서 사용자 정의할 수 있습니다.예: 승수의 경우 단어 길이의 제곱이 적절했다.메모리의 경우 비트 단위의 저장 용량이 사용되며 I/O 드라이버의 경우 워드 길이만으로도 충분합니다.

약점:

  • 입력이 승수 활성에 영향을 미치지 않는다는 암묵적인 가정이 있는데, 이는 K { 승수 연산에 관련된 본질적인 내부 활성을 포착하기 위한 것이라는 사실과 모순된다.

16x16 승수의 추정 오차(스위치 레벨 시뮬레이션에 상대적인 것)가 실험되어 입력의 동적 범위가 승수의 워드 길이를 완전히 차지하지 않으면 UWN 모델이 [6]매우 부정확해지는 것이 관찰됩니다.물론 훌륭한 디자이너는 단어 길이 활용도를 극대화하려고 합니다.그러나 50~100% 범위의 오류는 드물지 않습니다.이 그림은 UWN 모델에 결함이 있음을 명확하게 시사합니다.

「 」를 참조해 주세요.

전력 예측

레퍼런스

  1. ^ Frank Vahid (2010). Digital Design with RTL Design, Verilog and VHDL (2nd ed.). John Wiley and Sons. p. 247. ISBN 978-0-470-53108-2.
  2. ^ Yosys 매뉴얼(RTLIL)
  3. ^ "집적회로의 전력 추정 기술"
  4. ^ "저전력 아키텍처 설계 방법론"
  5. ^ "스위칭 액티비티 및 소비전력을 위한 레지스터 전송 레벨 추정 기술"
  6. ^ "고레벨 전력 예측을 위한 전력 매크로 모델링"