問題タブ [redpitaya]

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 投票する
1 に答える
962 参照

fpga - ザイリンクスから DDS Compiler IP コアを駆動する方法

Anton Potočniks の赤いピタヤ ボードの入門ガイドを読み終えたところ、SoC 上で実行されている Linux マシンから FPGA ロジックにコマンドを送信できるようになりました。

赤いピタヤの DAC を介して送信される信号の位相を制御できるように、プロジェクトをさらに変更したいと思います。最初の GPIO ポートの一部のピン (7 から 1 まで) はまだ使用されていなかったので、OS 内から設定を開始し、赤いピタヤの LED を使用して、Anton Potočnik の「高帯域幅」の機能に干渉することなく設定されていることを確認しました。平均者」。

次に、DDS_compilers のPhase Offset Programmability を「ストリーミング」モードに設定して、現在赤いピタヤの LED を制御しているビットを使用してオンザフライで構成できるようにします。いくつかのスライスを使用して信号をAXI4-Stream Constant IP コアに接続し、これが DDS コンパイラを駆動します。

私の現在のセットアップ

残念ながら、DAC は 500 mV の一定の出力しか与えていません。

DDS コンパイラのテストベンチを使用して新しいプロジェクトを作成しました。これは、合成に時間がかかり、何が起こっているのかについての洞察があまり得られないためです。

DDS コンパイラを含むテストベンチからのシミュレーション結果

残念ながら、DDS コンパイラの出力信号はすべて未定義です。

私の質問:

何が間違っているのでしょうか? DAC の位相を制御するにはどうすればよいですか?


EDIT1; ここに私のテストベンチがあります

IP コアは次のように構成されているため、提供した制御信号の多くは必要ありません。

IP コア構成


EDIT2; フォームの宣言を に変更m_axis_data_tready => '0'しましたm_axis_phase_tready => m_axis_phase_tready_signal。また、呼び出されたラッパー ファイルを調べたところ、との両方が入力としてdds_compiler_0.vhd扱われていることがわかりました。m_axis_phase_treadym_axis_data_tready

私のシミュレーション結果は変わらなかった...

私の新しいテストベンチはここにあります。


EDIT3: Vivado は古いシミュレーション結果を表示していました。新しいテストベンチを作成し、ファイルを削除して<project_name>.sim/sim_1/behav/xsim/simulate.logvivado を再起動すると、この問題は解決しました。

dds_compiler_0.vhdラッパー ファイル ( ) には 5 つのポートしかないことに気付きました。

  1. aclk(の)
  2. s_axis_phase_tvalid(の)
  3. s_axis_phase_tdata(の)
  4. m_axis_data_tvalid(アウト)
  5. そしてm_axis_data_tdata(アウト)

そのため、不要な制御信号をすべて削除し、新しいシミュレーション結果を取得しましたが、まだ dds_compiler から有用な出力を受け取っていません。 制御信号なし

対応するテストベンチは、ここにあります。

また、制御信号を含めると、有効な出力が得られません。 制御信号付き

対応するテストベンチは、ここにあります。