2016-11-10 7 views
0

単純な32ビット2進数の除算演算を含む効率的なFPGAプロジェクト(ASIC設計に向かう)を作る方法を研究していました。ASIC/FPGAデザインで合成可能なルックアップテーブル分割?何か意味がありますか?

私は、それを行う最も迅速な方法は、複雑な分割論理を生成するよりも、LUT(ルックアップテーブル)を使用していることを発見しました。しかし、ASICについて考えてみると、内部にデジタルロジックを備えた物理的なマイクロチップがあると想像しても、テーブル全体を内部に置いて部門を作ることは想像できません。オンチップメモリ​​などを含む多くのリソースを持っているため、最終的なASICではなく、FPGAで理にかなっていると分かります。

私の質問は、LUTは実際にASICデザインで合成可能ですか?これは、分割操作を必要とするチップは、実際に作られていますか?

また、LUTは除算モジュールを作成するよりも少ない領域を消費しますか?

私はこれにかなり戸惑うことがあります。ご指摘いただきありがとうございます。

答えて

1

一般的な整数除算は反復処理を使用して行われます。反復処理では、学校で論文を分割したときと同様に、各反復で減算またはテーブル参照に基づいていくつかの結果ビットが生成されます。特定の整数除算、たとえば数字の桁数が少ない場合はルックアップテーブルを使用したり、除数が2^nの場合は、丸めのための加算と組み合わせて単純なシフトを使用できます。したがって、実際の除算の実装は実際には引数と速度/サイズ要件に依存します。

FPGAからASICへの変換に関して、FPGAのLUTは、汎用の組み合わせ回路を実装するための単なる柔軟な方法です。 4入力LUTは、4入力機能のすべての出力を実装できます。論理式をFPGAに合成すると、結果はLUT表現になります。これはFPGAで使用可能なビルディングブロックなので、論理式をASICに合成すると、結果は通常離散ゲート表現になりますASICで利用できるビルディングブロックです。汎用のLUTオーバーヘッドは回避されますが、FPGAの柔軟性が失われるため、ASICの実装はより小さく、より高速になります(同じテクノロジの場合)。

+0

結論として、LUTはASICで実現可能であり、チップを設計する際には実用的な選択肢でしょうか? – sujeto1

+0

LUTはルックアップテーブルを意味し、特別なプリミティブではありませんが、ASICとFPGAの両方でさまざまな方法で実装できます。 FPGA技術は、通常、任意のn入力機能を実装するために使用される概念LUTを使用して記述されることに注意してください。 LUTの直接的な実装は、RAMまたはROMであってもよく、ROM機能はハードワイヤードゲートを用いて実装することもできる。 –

0

FPGAデザイナで合成が普及しました。 LUTベースのアーキテクチャについて知る必要があるものはすべて、一連のスキルを必要とするトランジスタレベルの設計手法です。

私は個人的には、netgenコマンドでverilogネットリストファイルを使用します。あなたは行くことができますFPGA - LUT Architecture Optmization

関連する問題