問題タブ [intel-fpga]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
3 に答える
33559 参照

vhdl - VHDL リテラルの割り当て

明確に定義されたビット幅を持つ VHDL で符号なし整数を使用しようとしています。VHDL は、次のように定義されたこれらの型にリテラル値を割り当てようとしているのが好きではないようです。

しかし、私の IDE (Quartus) では、「UNSIGNED 型が整数リテラルと一致しません」という苦情が表示されます。このように定義された型に数値を追加することについても苦情を受けます。私が行う必要がある好ましい変更は何ですか?

0 投票する
1 に答える
1645 参照

modelsim - ModelSim Altera Starter で波形を作成する方法

クラスの Verilog プロジェクトに Altera ModelSim 10.1d を使用しています。シミュレーションを正しく実行する方法がわかりません。非常に単純な verilog ファイル (2 対 1 のマルチプレクサのみ) があり、入力の 4 つの異なる組み合わせを試してみたいと思っています。

アルテラのサイトのガイドによると、私は次のことを行いました: 1) [シミュレート] -> [シミュレーションの開始] をクリックし、mux ファイルを選択します。

私が得るのはいくつかの平らな線だけです。入力の波形を変更するにはどうすればよいですか? オブジェクト ペインで入力を右クリックして [変更] に移動すると、[値の変更] オプションが表示されますが、グレー表示されています。

何か案は?

0 投票する
1 に答える
6606 参照

generics - カウントに達すると 1 を返す VHDL タイマー

信号機のコントローラーを設計しようとしていますが、そのためにはさまざまなタイマーが必要です。したがって、VHDL でこの汎用タイマーを設計しました。

ただし、タイマーを実行すると 0 が出力され、変化しないため (アルテラ MAX II EMP240T100C5 の LED にカウントをマッピングしてこれをテストしました)、コントローラーの状態が進行しません。なぜこれが起こるのか分かりませんか?

0 投票する
0 に答える
353 参照

intel-fpga - Altera NIOS II への移植中のファイル操作の問題

私は最近、自分のプロジェクトの C 実装を NIOS II システムに移植し始めましたが、問題が発生したようです。私のオリジナルの実装では、ファイル操作 (fopen、fscanf、fgets など) を使用しています。ただし、大学プログラムの IP コアを使用しているため、アルテラが提供する HAL 関数を使用する必要があります。

問題は、フォーマットされたテキストを読み込んでバイトごとに読み込んでからフォーマットする部分を書き直す必要があるかどうかです。または、現在のコードを保持することは可能ですか?

PS

Quartus II 13.0 と Eclipse Build Tools を使用しており、開発ボードは Altera DE1 です。

私が考えることができる唯一の解決策は、テキスト ファイル全体を配列に保存し、フォーマットされたファイル操作を対応する文字列に変更することですが、これはおそらく多くのスペースを占有します。NIOS II で OS を使用することも、私にとって選択肢ではないと思います。

0 投票する
3 に答える
5412 参照

vhdl - 推論された RAM が ModelSim Altera エディションで初期化されない

アルテラの ALTSYNCRAM ブロックの 1 つに推論されるように記述したアルテラ FPGA ターゲット用のメモリ モジュールがあります。メモリは 1024x16 で、属性で指定されたメモリ初期化ファイルがあります。合成中、合成レポートには、必要なタイプの RAM ブロックが生成されたことが示され、初期化ファイルが指定したものであることが示されます。Altera の ModelSim のエディションでシミュレートしようとすると、データ信号が完全に初期化されていない状態で開始され、その理由がわかりません。フォーラムなどを調べたところ、ModelSim は私が使用していた ".mif" フォーマットをサポートしていないかもしれないが、".hex" をサポートしている可能性があるという意見があったので、初期化ファイルを ".hex" に変更しました。また、相対ファイルパスが問題になる可能性があることも読みました。

メモリが初期化されていない理由とその方法についてのアイデアはありますか?

推論されたメモリを含む大幅にトリムされたモデル:

Modelsim は、CPU.vhd のコンパイル中に警告やエラーを表示せず、初期化ファイルのロードを示すものもありません。

これは、Altera ソフトウェアまたはメモリ初期化ファイルを使用した初めての設計であり、問​​題が本当に基本的なものであったとしても、または根本的に間違った角度からこれに取り組んでいたとしても驚かないでしょう。通常、パッケージ内の定数を使用してメモリを定義しますが、これはクラス用であり、メモリ初期化ファイルが必要です (.mif 形式も必要ですが、シミュレーションと合成の間でわずか 3 文字の変更です)。ファイル)。

0 投票する
1 に答える
871 参照

vhdl - std_logic_vector の値を VHDL のインデックスに追加する方法は?

私は柔軟な MUX を書いています。これには、選択行の数だけでなく、システムへの入力と出力の数も決定するジェネリックがあります。たとえば、サイズ = 3 の場合。システムには、8 つの入力、64 の出力、および 3 つの選択ラインがあります。これにより、2^size の MUX が作成され、選択ビットが変更されるたびにそれらを設定する必要があります (それらはグローバルです)。

これまでのところ、私はこれを持っています:

私がやりたいのは、ループ内の入力 ( 0 から ((2**size)-1) ) を調べて、正しい出力をその場所に格納されている値に調整することです。問題は、これに sel の値を i * 2**size へのオフセットとして使用する必要があることですが、この演習で使用できるライブラリでは、+ 演算子を使用してその値を i に追加することはできません。 * 2** サイズ。助言がありますか?