デジタル回路設計 において、レジスタ転送レベル(RTL )は、ハードウェアレジスタ間のデジタル信号(データ)の流れと、それらの信号に対して実行される論理演算という観点から同期デジタル回路をモデル化する設計抽象化である。
レジスタ転送レベルの抽象化は、VerilogやVHDLなどのハードウェア記述言語(HDL)で使用され、回路の高レベル表現を作成し、そこから低レベル表現、そして最終的には実際の配線を導き出すことができます。RTLレベルでの設計は、現代のデジタル設計における一般的な手法です。[ 1 ]
ソフトウェアコンパイラ設計ではレジスタ転送レベルが中間表現であり、最も低いレベルであるのに対し、RTLレベルは回路設計者が操作する通常の入力です。回路合成では、入力レジスタ転送レベル表現とターゲットネットリストの間の中間言語が使用されることがあります。ネットリストとは異なり、セル、関数、マルチビットレジスタなどの構成要素が利用可能です。[ 2 ]例としては、FIRRTLとRTLILがあります。
トランザクションレベルのモデリングは、電子システム設計のより高度なレベルである。

同期回路は、レジスタ(順序論理)と組み合わせ論理の2種類の要素で構成されます。レジスタ(通常はDフリップフロップとして実装される)は、回路の動作をクロック信号のエッジに同期させ、回路内で唯一メモリ特性を持つ要素です。組み合わせ論理は、回路内のすべての論理機能を実行し、通常は論理ゲートで構成されます。
例えば、非常にシンプルな同期回路を図に示す。インバータはレジスタの出力Qからレジスタの入力Dに接続され、クロックclkの立ち上がりエッジごとに状態が変化する回路を構成する。この回路において、組み合わせ論理回路はインバータによって構成される。
ハードウェア記述言語(HDL)を用いてデジタル集積回路を設計する場合、通常、トランジスタレベル(ロジックファミリ)やロジックゲートレベルよりも高い抽象度で設計が行われます。HDLでは、設計者はレジスタ(コンピュータプログラミング言語における変数にほぼ相当)を宣言し、if-then-elseや算術演算など、プログラミング言語でおなじみの構成要素を用いて組み合わせ論理を記述します。このレベルはレジスタ転送レベル(RTL)と呼ばれます。この用語は、RTLがレジスタ間の信号の流れを記述することに重点を置いていることに由来します。
例えば、上述の回路はVHDLでは次のように記述できます。
D <= not Q ; process ( clk ) begin if rising_edge ( clk ) then Q <= D ; end if ; end process ;EDAツールを用いた合成では、この記述は通常、 ASICまたはFPGA用の同等のハードウェア実装ファイルに直接変換できます。合成ツールは論理最適化も実行します。
レジスタ転送レベルでは、いくつかの種類の回路を識別できます。レジスタの出力から入力へ(または一連のレジスタの出力から入力へ)論理の循環経路がある場合、その回路はステートマシン、または順序論理回路と呼ばれます。レジスタから別のレジスタへ循環のない論理経路がある場合、それはパイプラインと呼ばれます。
RTLは、集積回路設計サイクルの論理設計段階で使用されます。
RTL記述は通常、論理合成ツールによって回路のゲートレベル記述に変換されます。そして、合成結果は配置配線ツールによって使用され、物理レイアウトが作成されます。
論理シミュレーションツールは、設計のRTL記述を使用して、その正しさを検証する場合があります。
最も正確な電力解析ツールは回路レベルで利用可能ですが、残念ながら、デバイスレベルではなくスイッチレベルのモデリングであっても、回路レベルのツールには、処理速度が遅すぎたり、メモリを大量に必要としたりして、大規模なチップの取り扱いを妨げるなどの欠点があります。これらのツールの大部分は、SPICEのようなシミュレータであり、設計者は長年にわたり性能解析ツールとして使用してきました。これらの欠点のため、ゲートレベルの電力推定ツールが受け入れられ始め、より高速な確率的手法が普及し始めています。しかし、特に相関信号が存在する場合、速度向上は精度の低下と引き換えに実現されるため、トレードオフがあります。長年にわたり、低電力設計における最大の成果は、回路レベルおよびゲートレベルの最適化からは得られず、アーキテクチャ、システム、およびアルゴリズムの最適化が消費電力に最も大きな影響を与えることが認識されてきました。そのため、ツール開発者の関心は、電力に関する高レベルの解析および最適化ツールへとシフトしています。
回路レベルやゲートレベルよりも高い抽象化レベル(アーキテクチャレベルやアルゴリズムレベルなど)で最適化を行うと、より大きな電力削減が可能になることはよく知られています[ 3 ]。これは、開発者が新しいアーキテクチャレベルの電力解析ツールの開発に注力するための必要な動機付けとなります。これは、低レベルのツールが重要でないという意味ではありません。むしろ、各ツール層は、次のレベルを構築するための基盤を提供します。低レベルの推定手法の抽象化は、わずかな修正を加えることで高レベルでも使用できます。
出典:[ 4 ]
これはゲート等価数の概念に基づいた手法です。チップアーキテクチャの複雑さは、ゲート等価数で近似的に表すことができます。ゲート等価数とは、特定の機能を実装するために必要な参照ゲートの平均数を指します。特定の機能に必要な総電力は、近似ゲート等価数にゲートあたりの平均消費電力を乗じることで推定されます。参照ゲートは、例えば2入力NANDゲートなど、任意のゲートを使用できます。
この手法では、ロジック、メモリ、相互接続にそれぞれ個別の電力モデルを用いることで、さまざまな機能ブロックの電力推定をさらにカスタマイズします。これは、「ロジック」ブロックに対して単一のゲート等価モデルを用いるのではなく、乗算器や加算器などの機能ブロックライブラリ全体を個別に特性評価するための電力係数近似(PFA)法を提案するものです。 チップ全体の電力は、次の式で近似されます。
ここで、K iは i番目の機能要素を特徴付ける PFA 比例定数である。はハードウェアの複雑さの尺度であり、活性化周波数を表す。
乗算器のハードウェア複雑度を表すG i は、入力ワード長の二乗、すなわち N 2に関係します。ここで N はワード長です。活性化周波数は、アルゴリズムによって乗算が実行されるレートであり、次のように表されます。そしてPFA定数、は、過去の乗算器設計から経験的に抽出され、5V、1.2μmテクノロジーの場合、約15fW/bit2-Hzであることが示されています 。上記の仮定に基づく乗算器の電力モデルは次のようになります。
利点:
弱点:
16x16乗算器の推定誤差(スイッチレベルシミュレーションに対する相対値)を実験したところ、入力のダイナミックレンジが乗算器のワード長を完全に占めていない場合、UWNモデルが極めて不正確になることがわかった。[ 6 ]確かに、優れた設計者はワード長の利用率を最大化しようと試みる。それでも、50~100%の範囲の誤差は珍しくない。この図は明らかにUWNモデルの欠陥を示唆している。