私は現在、CをVHDLに変換するフレームワークに取り組んでおり、長い筆算の実装に行き詰まっています。実際、私のフレームワークは32ビット変数でしか機能しないため、Cのlong long変数を解析すると、2つのVHDL変数が生成されます。1つは最上位部分を含み、もう1つは最下位部分を含みます。要約すると、これから:
long long a = 1LL;
生成されるVHDLは次のようになります。
var30 <= 00000000000000000000000000000000;
var31 <= 00000000000000000000000000000001;
今私の問題は:2つの長い長いパラメータ(VHDLで)を2つの変数に分割するので、どうすれば分割できますか?最も(または最も少ない)重要な部分を独立して(伝播するためのキャリーだけで)作業できるので、加算/減算に問題はありませんでしたが、これを使用すると、除算を実行する方法がわかりません。ある種の操作、最も重要でない部分と最も重要な部分は実際に結びついています...誰かがアイデアを持っているなら、それは大いにありがたいです
PS:掛け算についても同じ問題があります
編集:私は両方とも符号付き/符号なし変数で作業し、結果は64ビット変数になるはずです