”Tang Primer 25K で PMOD-DVI を使用する5”で SVGA サイズの画像をディスプレイに表示することができた。Gowin FPGA Designer の Gowin Analyzer Osciloscope を使用して、hdmi プロジェクトの信号を確認してみよう。
hdmi プロジェクトの svo_tcard.v で画像を生成し、svo_enc.v で DVI 信号に変換しているようだ。
svo_tcard.v の out_axis_tuser 信号は画像のスタート・ピクセルを示す 1 ビット長(svo_hdmi.v の vdma_tuser)だが、svo_enc.v の out_axis_tuser は 4 ビット長(svo_hdmi.v の video_enc_tuser)だった。
svo_enc.v の tuser の定義を引用する。
svo_hdmi.v の一部を引用する。
さて、Gowin FPGA Designer で Gowin Analyzer Osciloscope の設定を行う。
Gowin FPGA Designer の File メニューから new... を選択した。
New ダイアログが表示された。
Files から GAO Config File を選択して、OK ボタンをクリックした。
New GAO Wizard ダイアログが表示された。
GAO Settings 画面
デフォルトのままで、Next > ボタンをクリックした。
GAO Configure File 画面
Name はデフォルトの hdmi のままとした。
Next > ボタンをクリックした。
Summary 画面
Finish ボタンをクリックした。
src ディレクトリに hdmi.rao ファイルが生成された。
hdmi.rao をダブルクリックして編集した。
Trigger Options -> Trigger Ports -> Trigger Port0 をダブルクリックして編集する。
Trigger Port ダイアログが表示された。
+ボタンをクリックした。
Search Nets ダイアログが表示された。
Name に ”vdma_” と入力して、Search ボタンをクリックした。
svo_hdmi_inst0 の信号のみを選択し、OK ボタンをクリックした。
もう一度、Trigger Port ダイアログの + ボタンをクリックした。
Search Nets ダイアログが表示された。
Name に ”video_enc_” と入力して、Search ボタンをクリックした。
svo_hdmi_inst0 の信号のみを選択し、OK ボタンをクリックした。
Trigger Port ダイアログの様子を示す。
OK ボタンをクリックした。
Trigger Options -> Trigger Ports -> Trigger Port0 に選択した信号が追加された。
Match Units で MO をダブルクリックした。
Match Unit Config ダイアログが表示された。
On Trigger Port をクリックし、Trigger Port 0 を選択した。
Value で HEX を選択した。
Counter にチェックを入れて、Width を 3、Count を 7 に設定した。
Continuous にチェックを入れた。
OK ボタンをクリックした。
Expressions の中で右クリックし、右クリックメニューから Add を選択した。
Expression ダイアログが表示された。
M0 ボタンをクリックして、M0 を選択した。
OK ボタンをクリックした。
Expressions に M0 が追加された。
hdmi プロジェクトの svo_tcard.v で画像を生成し、svo_enc.v で DVI 信号に変換しているようだ。
svo_tcard.v の out_axis_tuser 信号は画像のスタート・ピクセルを示す 1 ビット長(svo_hdmi.v の vdma_tuser)だが、svo_enc.v の out_axis_tuser は 4 ビット長(svo_hdmi.v の video_enc_tuser)だった。
svo_enc.v の tuser の定義を引用する。
// output stream
// tuser[0] ... start of frame
// tuser[1] ... hsync
// tuser[2] ... vsync
// tuser[3] ... blank
svo_hdmi.v の一部を引用する。
さて、Gowin FPGA Designer で Gowin Analyzer Osciloscope の設定を行う。
Gowin FPGA Designer の File メニューから new... を選択した。
New ダイアログが表示された。
Files から GAO Config File を選択して、OK ボタンをクリックした。
New GAO Wizard ダイアログが表示された。
GAO Settings 画面
デフォルトのままで、Next > ボタンをクリックした。
GAO Configure File 画面
Name はデフォルトの hdmi のままとした。
Next > ボタンをクリックした。
Summary 画面
Finish ボタンをクリックした。
src ディレクトリに hdmi.rao ファイルが生成された。
hdmi.rao をダブルクリックして編集した。
Trigger Options -> Trigger Ports -> Trigger Port0 をダブルクリックして編集する。
Trigger Port ダイアログが表示された。
+ボタンをクリックした。
Search Nets ダイアログが表示された。
Name に ”vdma_” と入力して、Search ボタンをクリックした。
svo_hdmi_inst0 の信号のみを選択し、OK ボタンをクリックした。
もう一度、Trigger Port ダイアログの + ボタンをクリックした。
Search Nets ダイアログが表示された。
Name に ”video_enc_” と入力して、Search ボタンをクリックした。
svo_hdmi_inst0 の信号のみを選択し、OK ボタンをクリックした。
Trigger Port ダイアログの様子を示す。
OK ボタンをクリックした。
Trigger Options -> Trigger Ports -> Trigger Port0 に選択した信号が追加された。
Match Units で MO をダブルクリックした。
Match Unit Config ダイアログが表示された。
On Trigger Port をクリックし、Trigger Port 0 を選択した。
Value で HEX を選択した。
Counter にチェックを入れて、Width を 3、Count を 7 に設定した。
Continuous にチェックを入れた。
OK ボタンをクリックした。
Expressions の中で右クリックし、右クリックメニューから Add を選択した。
Expression ダイアログが表示された。
M0 ボタンをクリックして、M0 を選択した。
OK ボタンをクリックした。
Expressions に M0 が追加された。