Forum: FPGA, VHDL & Co. Gowin-FPGA: Simulationstools für VHDL-Code


von Daniel R. (sparker)


Lesenswert?

Hallo,

ich habe eine Frage an die Experten hier, bevor ich mich verrenne:
Ich habe mir ein kleines Gowin-FPGA-Board bestellt (Sipeed Tang Nano 
9K).

Die freie Entwicklungsumgebung hat keine Simulation an Board.
"unfortunately there's no built-in simulation at the moment, you can use 
GHDL to simulate RTL level (no IP cores) VHDL code and view the 
waveforms with GTKWave"

Wie ich auf reddit vernommen habe, hat es jemand für Verilog geschafft, 
einen "freien" Workflow für die Simulation INKLUSIVE Verwendung etwaiger 
Gowin-IPs zu erstellen (iverilog zum Kompilieren, dann gtkwave).
-> Habe dort auch nachgefragt, ob es einen Workflow für VHDL (mit 
Verwendung etwaiger Gowin-IPs) gibt, aber noch keine Antwort erhalten.

Wie ich vernommen habe, gibt es ja bei iverilog die Möglichkeit, 
VHDL-Code nach Verilog-Code zu konvertieren.
Wie gut funktioniert denn das, weil bisher gelesene Kommentare eher auf 
die experimentelle Natur dieser Option verwiesen haben?

Andere Ideen?

von -gb- (Gast)


Lesenswert?

GHDL + GTKWave

von Daniel R. (sparker)


Lesenswert?

-gb- schrieb:
> GHDL + GTKWave

Ja, ich habe es so verstanden, dass es mit Verwendung von GHDL nicht mit 
den Gowin-IP-cores funktioniert, kann aber auch eine Fehlinterpretation 
sein.

von -gb- (Gast)


Lesenswert?

In welcher Form gibt es die IPs? Gibt es da was für Modelsim von Gowin?

von Daniel R. (sparker)


Lesenswert?

-gb- schrieb:
> In welcher Form gibt es die IPs? Gibt es da was für Modelsim von
> Gowin?

Ich kann bisher nur das sagen, was ich aus reddit vernommen habe, die 
Entwicklungsumgebung habe ich bisher noch nicht installiert (das FPGA 
habe ich noch nicht).

https://www.reddit.com/r/GowinFPGA/comments/yriahi/simulation/

The src/*.v files of your design (+testbench)
The src/<Gowin IP>/*.vo or src/<Gowin IP>/*.v (if not encrypted) files
The simulation library <IDE path>/simlib/<FPGA family>/prim_(t)sim.v

This is what I did to test:
Created a new GW2A project
Instantiated a PicoRV32 IP with default config as a top module
Run iverilog as follows:
Ubu:~/fpga_project/src/gowin_picorv32$ iverilog -g2012 
/opt/Gowin/IDE/simlib/gw2a/prim_sim.v gowin_picorv32.vo -s 
Gowin_PicoRV32_Top

von -gb- (Gast)


Lesenswert?

Wenn das also nur Verilog ist, dann solltest du das mit Modelsim 
simulieren können.
Kannst du mal ein Projekt hochladen?

von Daniel R. (sparker)


Lesenswert?

-gb- schrieb:
> Wenn das also nur Verilog ist, dann solltest du das mit Modelsim
> simulieren können.
> Kannst du mal ein Projekt hochladen?

Ist Modelsim noch kostenlos? (vermutlich eine abgespeckte 
Studentenversion, oder?), ich bin da nicht auf dem aktuellen Stand und 
kenne das nur aus meiner Xilinx-Zeit, da gab es bei der IDE eine Version 
dabei.

Deswegen hatte ich oben für den "freien" Workflow gemeint, ob man mit 
iverilog die VHDL-Files nach Verilog konvertieren kann und dann wie oben 
angegeben alles mit iverilog kompiliert und mit gtkwave darstellt.

Wie gesagt, erst wenn ich das ganze in Betrieb nehme und ein Projekt 
habe, kann ich etwas hochladen.

von -gb- (Gast)


Lesenswert?

Modelsim bekommt man gratis. Iverilog kenne ich nicht und kann nichts 
zur Qualität sagen. Ich kann das mit Modelsim für dich testen.

von Fitzebutze (Gast)


Lesenswert?

Daniel R. schrieb:
> Wie ich vernommen habe, gibt es ja bei iverilog die Möglichkeit,
> VHDL-Code nach Verilog-Code zu konvertieren.

Nein, andersrum: .v -> *.vhdl. Aber nach meinem Stand gehen die 
Parameter dabei verloren und werden hart codiert, das zu aendern hiesse: 
Interna von icarus umkrempeln.

Die andere Moeglichkeit ist, das via yosys zu machen und aus einem 
VHDL-Design *.v auszugeben und damit icarus zu fuettern. Wir machen so 
komplexe Tests mit Python und Co-Simulation via VPI.
Wenn ausschliesslich synthetisierbare Primitiven benutzt werden, kann 
man auch mit CXXRTL viel machen, da geht allerdings Timing-Info 
verloren, sowas wie eine PLL o.ae. kann man da nicht simulieren.

von vancouver (Gast)


Lesenswert?

-gb- schrieb:
> Modelsim bekommt man gratis.

Wirklich? Als Standalone-Tool, also ohne eine FPGA-Toolchain drumherum? 
(Und nicht aus irgendwelchen dubiosen Quellen aus Russland oder China?)

von Christian (grobig80)


Lesenswert?

Ist modelsim nicht mittlerweile questasim?
Also wirklich kostenlos wird das nicht sein. Ich kenne es von Quartus 
(nutze nur die Lite Version) her, da gibt es eine Questa Starter Edition 
für die benötigt man aber auch eine Lizenz welche man über Intel 
kostenlos bekommen kann (1 Jahr gültig und lässt sich ohne weiteres 
erneuern). Schätze die sollte mit allem umgehen können von dem du die 
sources hast, verschlüsselte IPs die nicht zum Quartus Umfang gehören 
aber sicher nicht. Evtl. mal Siemens kontaktieren was die so anbieten 
können.

von -gb- (Gast)


Lesenswert?

https://www.intel.com/content/www/us/en/software-kit/757262/intel-quartus-prime-lite-edition-design-software-version-22-1-for-windows.html?

Da auf individual Files. Dort gibt es Questa.
Wenn du Version 20.1.1 wählst, dann gibt es unter individual Files 
Modelsim.

von FPGA-Experte (Gast)


Lesenswert?

Interessant: Nach der dortigen download Liste gibt es ab der 2021 nur 
noch Questa. Die letzte ModelSIM ist die 20.1.irgendwas.

Ich allerdings habe hier auf der Platte eine 
ModelSimProSetup-20.3.0.158-windows vom 24.11.2020. Das ist die mit den 
2 Parts.

Klickt man auf Eigenschaften, lese ich:

"ModeSIM - Intel FPGA Edition oder Modelsim-Starter Edition Version 
1.0.0.0"

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.