GOWIN FPGA Designerには、シミュレータは付属していませんが、代わりにGAOというFPGA内の波形を見るツールがあります。GAOはGowin Analyzer Oscilloscope の略です。
もちろん、FPGAのリソースを使用するので一度にたくさんの信号をみたり、長時間キャプチャさせることは難しいですが、ちょっと確認したい時等には役にたちます。
日本語の説明書は、C:\Gowin\Gowin_V1.9.10.03_x64\IDE\doc\JP の SUG114-3.1J_Gowinアナライザオシロスコープ ユーザーガイド.pdf です。
今回はGAOがとりあえず使える程度の設定について説明します。

File→New… を選ぶと左のダイアログが表示されます。
GAO Config Fileを選択しOKを押します。

GAO Settingは左のように選択します。
For RTL Designは、合成最適化前の
RTL信号をキャプチャします。
For Post-Synthesis Netlistは、合成最適化後のNetlist 信号をキャプチャします。
Modeは、Standardを選択します。
(最初はLiteを選ぶ方が設定が少なく、簡単かもしれません)

適当なファイル名を付けて保存します。
デフォルトでも良いでしょう。
Nextを押して、次のダイアログでOKを押します。

一番下の GAO Config Filesのフォルダに設定ファイルが出来ていますので、ダブルクリックします。
(この例では、fpga_project_verilog_test.rao)

Capture Optionのタグを選んで、Sample Clockを設定します。モニターする信号より早いクロックを選ぶ必要がありますが、あまりに速い信号だと短時間しかキャプチャできません。

Capture Signalsにモニターしたい信号を追加します。Storage SizeとCapture Amountは大きくするほど長く多くの信号をキャプチャできますが、当然FPGAのリソースを消費します。その場合は減らすか、トリガを工夫することになるでしょう。
また、Trigger Positionをセットすることで、取り込み開始位置を変更することができます。オシロスコープと同じですね。
例ではカウンタをトリガにしていますので、0になるときをトリガにして、Trigger Positionを100にすれば、100カウント前の位置からキャプチャします。

次は、トリガの設定です。
まだ何もトリガが設定されていない状態ですね。
Triger Port 0をダブルクリックしトリガ信号を選択します。

緑の+を押して、トリガに使いたい信号を選択します。この例では、24ビットのカウンタを選択しています。
選択したら、OKを押します。

L0のcounter(24ビット)を選択しました。

Match UnitでM0をチェック、選択しダブルクリックします。
Match Unit 0 の On Trigger Portで先ほど設定した、Trigger Port 0をプルダウンから選択します。
カウンタがどの値になったら、トリガを掛けるかをValueで設定します。
(カウンタではなく、ポートを選択した場合は、1か0ですね)
この例では、49900をセットしています。

いつも通り、合成(Synthesize)と配置配線(Place & Route)を行います。

Tools→Gowin Analyzer Oscilloscope を選ぶと、GAOが起動します。
Enable Programmerをチェックして、Fs File(ビットストリームファイル)を選択します。(デフォルトで選択されているはずです)

FsファイルをTang Nano 4K にダウンロードし、Ready to acquire と緑で表示されたら、Startボタンをクリックします。
下の部分で、トリガ値とポジションを変更することもできます。

トリガーを検出してキャプチャーしたら、波形が表示されます。トリガポイント0は、上で設定した、499900になっていますね。

ルーペアイコンで、拡大縮小ができます。
設計通り、500000カウント目でled_oが反転していることが確認できました。
GOWINのツールにはシミュレータが付属していないのが弱点ですが、GAOを使えばある程度はカバーできそうです。
なお、シミュレータとしては、MetricsのDsimが使えるようになったようです。GOWINの日本代理店である丸文のWebにDsimのインストール方法や使い方の資料があります。Dsim Desktopは無料で使えるそうですが、まだ試していません。