Qsの日記: CによるRTL設計
日記 by
Qs
PDIがANSI Cでパイプライン設計可能な手法を開発したらしい。読んでみると、ううーん、すごく現実的というか苦労するわりにメリットが少ないという気がするな。ここでいう苦労とは、この手法を開発するPDIに対してである。
Cで記述するといっても、どうやら1clkごとの動作を記述しなければいけないらしい。これはとても現実的だ。下手に抽象度を高めてしまうとツールを作るのに苦労しても使いものにならないデータパスを合成してしまう可能性があるから。それでもCからRTLを推定させるには相当コンパイラをいじらなければいけない気がする。
メリットはC言語が使えれば設計が可能とか、シミュレーション速度が速いとからしいが、どうもしっくりこない。データパスの設計なんてMUXやレジスタを並べ、それをどう制御するかだけだ。スケマチックで書いた方が断然わかりやすい。なぜスケマチックエディタの開発に走らないのか。確かにソフト開発者でもハードウェア開発がしやすくなる可能性はあるが、それは言語だけわかって小説の書き方がわからないようなものだ。しかもその言語は小説を書くには不適切なもの。
推測だが、きっとこんな事情があるに違いない。プロセッサのシミュレータとしてISSがあり、当然これはソフトウェアである。パイプラインの記述をHDLではなくCで行えば、ISSにプラグインさせて協調シミュレーションが可能となる。そのために無理矢理CからRTLを推定させるようにした。でも抽象度を高めるとツールの開発が大変だから、1clkごとの動作を記述させるようにした、と。
CによるRTL設計 More ログイン