I realize this is an ancient thread, but it's worth resurrecting for this, I think.
I just purchased some of the new (at least to me)
Tang Primer 20k boards, and noticed the lack of any simulator. I pinged Gowin tech support...
I just downloaded the GUI environment for a Tang Primer 20k with a GW2A-LV18PG part on it.
I noticed there's no simulator in the package - what is the recommended simulator, and is there any user-guide for getting simulation to work with the Gowin parts?and they replied with:
-----8< -----8< ----- Cut here -----8< -----8< -----
Metrics is GOWIN’s recommended Simulation Solution.
We’re working with a third-party provider called “Metrics” to add simulation support to our EDA tools.
Metrics offer a cloud-based simulator that is being offered free-of-charge to GOWIN customers for the next few months.
Moving forward you pay by the hour at very reasonable rates (~$2 an hour) for just the server time used.
Metrics - GOWIN’s Premier ODM Simulation Partner
- Full featured, high performance simulation environment
- Supports System Verilog, Verilog and VHDL
- Supports UVM & Vunit
Utilizes scalable cloud computing resources
- No limitations on performance
- No licensing restrictions
- Minimal local hardware requirements
For more details, please see
https://metrics.ca/gowin-customers/ Gowin FPGA also support Third-Party and Open-Source simulation tools
- Modelsim, Aldec Active-HDL, Synopsys VCS, etc.
- Icarus Verilog
When generating IP cores using the GOWIN IP Core Generator simulation may be handled in 2-ways.
- The more complex IP cores will output a gate-level netlist for the IP core.
This can be found in the src/<IP_core> output directory with a *.vg or *.vo extension.
This is essentially a GOWIN Verilog netlist (model) of the complex IP core.
Where this *.vg or *.vo file exists, use this in-place of the src/<IP_core>/*.v (or*.vhd) top-level IP Core module. - Standard IP cores like PLLs or FIFOs output a top-level module *.v or *.vhd file
This can be found in the src/<IP_core> output directory.
In addition, the associated GOWIN std_cell library (*.v or *.vhd) needs to be compiled along with the customer’s design modules.
The std_cell_library contains the behavioral HDL models needed to compile the design when running pre-synth HDL simulation or post-synth gate-level netlist simulation.
These files can be found in the GOWIN EDA install directory
E.g. Path Gowin_V1.9.8.05\IDE\simlib\gw1n or Gowin_V1.9.8.05\IDE\simlib\gw2a
The prim_sim.v or prim_sim.vhd stdcell_library files are used for simulation without timing, the prim_tsim.v file is used for timing simulation with back annotated *.sdf
To simulate the design and testbench the customer will need to compile.
- The testbench and any supporting test components or functional models.
- The testcase(s).
- The HDL design, consisting of the top-level module and any additional sub-modules that have been added to the design using the GOWIN EDA tool.
This includes any generated GOWIN IP which may require the *.vo gate-level simulation models in order to simulate these can be found under the design/src/<ip-name>/ directory in the GOWIN EDA build area e.g. ledtest/src/fifo_sc_top/fifo_sc_top.vo - The GOWIN stdcell simulation library (the primitive library that contain the GOWIN standard logic elements, flops, reset instances, logic functions etc).
- This can be found in the GOWIN EDA tool install area E.g. Gowin_V1.9.3.01Beta\IDE\simlib\<device_family>\prim_sim.v
Find attached example SystemVerilog Modelsim Run Scripts for reference.
(I have attached these to this post, disguising the .do files as .do.txt to get past the attachment-filter).
-----8< -----8< ----- Cut here -----8< -----8< -----
I have to say that, as a first-ever impression of Gowin's tech support, to some nobody on the internet who just asked, this is pretty much an exemplary response

It came from the Senior FAE manager at Gowin EMEA, also copied on the email was the US Director of Sales, and the US senior FAE manager.
Colour me impressed. Now to see how well it works
