2016-10-12 7 views
-1

私のAPIに含めるエラーなしで正常にビルドするVC++を使用してDLLを構築しています。VC++のデフォルトバインディングエラー?

ファイルは、複数のプロジェクトでロジックを使用するためにFreehdlを使用してC++に変換されたVHDLプロジェクトの結果です。

唯一の問題は、私は問題が大きすぎるの機能により必要なメモリサイズだと思ったので、私は約24に減少...テスト中に、それは次のように示すこと

This is the console output using command line.

ですビットが、示されているような問題がまだ持続し...

enter image description here

私は以前、この問題は発生していません。 何が問題なのか分かっている場合は、私たちを照らしてください。おかげさまで

+1

このエラーメッセージを表示すると、VHDLシミュレータで発生している可能性があります。その場合ですか?はいの場合は、使用しているシミュレータに関する詳細をもう少し詳しく調べる必要があります。また、 "機能が大きすぎる"と "24ビットに減らされました"という意味を明確にしていないのは、VHDLの機能についてです。 –

+0

実際はそうです。良い本能。 VHDLでICをコーディングし、freehdlを使ってC++に変換しました。私はその後、ファイルと依存関係をWindowsに移行し、ロジックが複数のアプリケーションを持つ可能性があるためdllを構築しました。メモリの使用に関しては、申し訳ありません*としか言いようができません。今私はこれを解決する方法が不思議です。 – loumbut5

+0

これはfreehdlの問題であり、C++ではありません。おそらくあなたがここで答えを得ることは考えにくいでしょう。おそらく、フリーメーリングリストがもっと適しているかもしれません。しかし、この質問にvhdlでタグを付けると、チャンスが増える可能性があります。 –

答えて

0

デフォルトのバインディングは、通常のVHDLコンパイルでは、すべてのVHDLコンポーネントが設定ファイルを使用してフックアップを指定せずにエンティティに接続されていることを意味します。これが失敗すると、コンポーネントの宣言とエンティティの間に不一致がある可能性があります。

私はFreeHDLを使用しておらず、ここで正確に起こったことについてはコメントできませんが、「各VHDLエンティティ宣言はC++クラスに変換されています」というのは、元のVHDLが壊れているか不完全である、またはそれが正しく解釈されなかったことを示します。どうやら、実行時にのみこれをチェックします。

VHDLプロジェクトを別のシミュレータで実際にコンパイルするのがいいでしょう。これは、それが間違っているかどうかを教えてくれます。そうしないと、FreeHDLのバグが発生した可能性があります。

+0

代わりにVerilatorを使うことにしました.C++コードにはバグはありません。それは間違いなくFreehdlのバグです。 – loumbut5