コンテンツにスキップ

RTLとは

RTLとは、回路を図で描く代わりに、レジスタとレジスタの間の動きとして記述する抽象度です。 ハードウェア記述言語でハードウェアを記述する抽象レベルの一つで、論理回路をレジスタ間の動作として表現します1。

RTLとして通るのは論理合成できる書き方だけで、その書き方が、実現できる動作周波数を左右します。

大規模なチップの設計は、回路図より文章を書く作業に近い

Section titled “大規模なチップの設計は、回路図より文章を書く作業に近い”

いまの大規模なチップの設計は、文章を書く作業に近いところから始まります。設計作業の成果物は機能記述プログラムで、RTLというフォーマットで出力できたら、コンピュータによる自動的な論理合成作業で論理回路に変換します2。回路になるのはそのあとです。書く作業はもはやプログラミングに近く、HDL(Hardware Description Language)あるいはVerilogという名前の言語でプログラムしていきます。記述言語には、Verilog HDLまたはVHDLを使うことが多くあります。

RTLは回路がどう動くかを書いたもので、図面というより指示書に近いものです。

RTLは、ゲートレベルより上でESLより下の段

Section titled “RTLは、ゲートレベルより上でESLより下の段”

RTLは、記述の抽象度に並ぶ段の1つです。ICの設計階層の中ではゲートレベルよりも上位の記述レベルにあたり、上にはRTLよりも抽象度が高いビヘイビアレベルが、下には回路情報に近いゲートレベルがあります。

ESL(電子システムレベル)は、RTLよりも抽象度の高いレベルで、C/C++などの高級言語を使って設計します。ネットリストは、ゲート情報およびゲート間のつながりの情報が記述された回路データで、これを用いてASICのマスクパターン設計やFPGAへの回路形成を行います。

段と段の間には、変換する道具がいます。論理合成は、HDLで表現したRTL記述などを入力すると、所望の半導体製造技術(プロセステクノロジ)の下で最適なゲートレベル論理回路(ネットリスト)を自動生成する技術です。

上へ行くほど、書く量が減ります
記述の抽象度ESL(ビヘイビアレベル)C / C++ などの高級言語で書きます高位合成で下ろしますRTLVerilog HDL / VHDL で書きます論理合成で下ろしますゲートレベル(ネットリスト)ゲートと、そのつなぎ方下へ行くほど、実際の回路に近づきますRTLは、階段の踊り場にあります上を見れば ── 回路になる前の、ただの記述下を見れば ── 変換すれば回路になる、確定した記述この両面が、RTLという段の性格を決めていますなぜ、この段で書くのかゲートを1個ずつ書くには、数が多すぎます動きだけ書けば、部品への割り当ては機械がやります人は「何をするか」、機械は「何で作るか」を担います
C/C++で書くESL、Verilog HDL / VHDLで書くRTL、ゲートとゲートのつなぎ方を書いたネットリストという段があります。段と段の間には、下ろすための変換工程が挟まっています。

レジスタ間の演算の配分が、動作周波数の上限を決める

Section titled “レジスタ間の演算の配分が、動作周波数の上限を決める”

RTLという名前の中身は「レジスタ間の動作」です。回路の中には、値を一時的にためておくレジスタ(フリップフロップ、F/F)が並び、その間に足し算や比較といった演算のかたまりが挟まっています。クロックが1回進むたびに、値は前のレジスタから演算を通り抜け、次のレジスタへ移ります。RTLで書くのはこの移り方で、どのレジスタからどのレジスタへ、途中で何をして値が移るかを書きます。

ルネサス エレクトロニクスのCMOSセルベースIC(CB-40 LRタイプ)では、実際に実現できる周波数が、RTLの記述内容とF/F間の組み合わせ回路に依存します3。書き方が、チップの速さを決めます。クロック1回のあいだに演算を通り抜けられる速さまでが、そのチップの動作の上限です。演算を1回に詰め込みすぎれば遅くなり、分ければ速くなるかわりに段数が増えます。RTLを書くとは、この配分を選ぶ作業でもあります。

クロック1回で、通り抜けられるか
RTLが書いているもの ── レジスタとレジスタの間F/F演算のかたまりF/Fクロックが1回進むあいだに、値がここを移ります間が短ければ余裕をもって間に合うので、クロックを上げられます間が長ければ間に合う速さまで、クロックを遅くしますだから、書き方が速さを決めます1回に詰め込みすぎると、通り抜けにクロック1回より長くかかります分ければ間に合いますが、段数が増えますRTLを書くとは、この配分を選ぶことここが後戻りしにくい理由速さの上限は、この段階の書き方で決まります後の工程で埋め合わせられる幅は、限られますメーカーのマニュアルにも、この依存関係が書かれています
レジスタとレジスタの間に挟まる演算を、クロック1回で通り抜けられるかどうかが問われます。この配分をRTLの書き方が左右するため、実現できる周波数がRTL記述に依存します。

記述言語で書いたうち、合成できるものだけがRTLとして通る

Section titled “記述言語で書いたうち、合成できるものだけがRTLとして通る”

Verilog HDLで書いたもののうち、RTLとして通るのは論理合成できる書き方に限られます。セイコーエプソンは、提出するRTLデータを論理合成可能な記述のみにするよう求め、論理合成にかけられるのはビヘイビア・レベルの記述を除いたRTLデータだけとしています4。同じ言語で書いていても、動きを確かめる用途に留まる書き方があり、それが混ざったRTLデータは論理合成の手前で止まります。

RTLが指すのは、言語の名前より、「合成できる書き方」という条件のついた抽象度です。

RTLとネットリストは、等価性を確かめ合う別の成果物

Section titled “RTLとネットリストは、等価性を確かめ合う別の成果物”

RTLと、そこから生成されるネットリストは別の成果物です。セイコーエプソンは工程として、顧客のRTL記述と論理合成後のネットリストとのフォーマル・ベリフィケーション(等価性チェック)を行います。同じものであれば一致を確かめる工程は不要なので、この工程があること自体が、両者が別物である証拠です。

RTLの段階でも規模の見当はつきます。セイコーエプソンは、顧客から受領した仮RTLデータから概略のゲート規模を見積もれるとしています。まだ回路になっていなくても、どのくらいの大きさになるかは読めます。

RTLを書く主体は、人からツールへ移りつつある

Section titled “RTLを書く主体は、人からツールへ移りつつある”

RTLは長く「人が書くもの」でした。NEDO5は2025年5月30日、シャープと共同で高位合成ツールを開発したと発表しました。このツールは、映像データ向けのAIアルゴリズムをPython(パイソン)で書いたコードを入力として、FPGAなどのハードウェア向けのRTLコードを短時間で自動生成します。

パラメータ数7779でConv2Dが6層のネットワーク構造を持つAI超解像モデルのRTLコード生成という課題では、生成期間が専門技術者による開発で6週間かかるのに対し、このツールでは約5分で完了したとしています。

RTLの上位とされるC/C++の層から、RTLへ自動で下ろす道具が実用の場に出てきています。RTLは設計の受け渡し単位でありつづける一方で、それを書く主体が変わりつつあります。

訳語は「レジスタ伝送レベル」と「レジスタ転送レベル」

Section titled “訳語は「レジスタ伝送レベル」と「レジスタ転送レベル」”

JEITAの半導体用語集はRTLをレジスタ伝送レベルと訳し、「レジスタ転送レベル」という表記も広く使われます。どちらもRegister Transfer Levelのことで、同じ概念を指します。

RTLとは何ですか?

「レジスタ伝送レベル」とも訳され、ハードウェア記述言語でハードウェアを記述する抽象レベルの一つです。論理回路をレジスタ間の動作として表現します。

RTLで書いた時点で回路になっているのですか?

回路になるのは、RTLを書いたあとの論理合成からです。設計作業の成果物は機能記述プログラムで、RTLというフォーマットで出力できたら、コンピュータによる自動的な論理合成作業で論理回路に変換します。

どんな言語で書くのですか?

Verilog HDLまたはVHDLを使うことが多く、作業はもはやプログラミングに近いものです。

抽象度にはどんな段階があるのですか?

RTLはゲートレベルよりも上位の記述レベルです。RTLよりも抽象度が高いビヘイビアレベルと、回路情報に近いゲートレベルがあります。

ハードウェア記述言語で書けば、すべてRTLになるのですか?

論理合成できる書き方に限ります。セイコーエプソンは、提出するRTLデータを論理合成可能な記述のみにするよう求め、論理合成にかけられるのはビヘイビア・レベルの記述を除いたRTLデータだけとしています。

RTLの書き方でチップの性能は左右されますか?

変わります。ルネサス エレクトロニクスのCMOSセルベースICでは、実際に実現できる周波数が、RTLの記述内容とフリップフロップ間の組み合わせ回路に依存します。

RTLは人が書くものですか?

人が書くものでしたが、変わりつつあります。NEDOは2025年5月30日、シャープと共同で、AIアルゴリズムをPythonで書いたコードからRTLコードを短時間で自動生成する高位合成ツールを開発したと発表しました。

5件を表示
  1. 1
  2. 2
  3. 3
  4. 4
  5. 5