Lattice Diamond Workflow in Jenkins Umgebung integrieren

OP #7967384
Lesenswert?

Guten Morgen Zusammen, wir haben die Auflage bekommen, auch die VHDL Sachen in die Jenkins Umgebung zu integrieren, wie die restliche Software unserer Steuergeräte auch. Wir verwenden hier von Lattice die XO3 - ECP3/5 - und Certus FPGAs und die Lattice Diamond Umgebung, hier die 3.12 (automotive Zertifiziert) mit VHDL und ModelSim als Simulation-Test. Das bedeutet für mich, dass man den graphischen Entwicklungs-Workflow nun auf die Konsole bringen muss. Was soweit geht, ist mit Jenkins das Repo auslesen, über die Lattice Diamond TCL Konsole die Synthese, das Place and Route und die Bit-File Generierung zu starten und zu erzeugen. Auch die Erzeugung des *.c - Files aus dem Bit-File geht, damit man den FPGA vom Prozessor aus über SPI laden kann. Was ich nicht hin bekomme ist mit dem Lattice Projekt File ein *.do bzw *.mdo File für die Simulation automatisch zu erzeugen. Wenn man über Diamond den Simulation Wizard aufruft, werden die ganzen notwendigen Files für die Simulation, auch das *.mdo erzeugt. Leider kann ich nirgendwo herausfinden, welche Schritte Diamond mit dem Simulation Wizard durchführt. Was muss man da machen, um über eine Konsole ebenfalls die notwendigen Sachen für die Simulation des VHDL-Projekts zu erzeugen und anschließend das ganze zu starten. Habt ihr mir vielleicht einen Tip, wie man das *.mdo File aus der verkappten Diamond TCL Konsole oder auch über eine Standard Konsole zu erzeugen und dann die Simu zu startet. Vielen Dank im voraus.

#7967575
Lesenswert?

Ich starte Modelsim immer separat (also unabhängig von Diamond, Quartus oder ISE).

Für einfache Sachen reicht:

1
vlib work
2
vcom *.vhd
3
vsim -gui meine_testbench

Für komplexere Simulationen nehme ich (immer noch) vmk: https://sourceforge.net/projects/vmk/

Ansonsten sehe ich auf die Schnelle im Diamond keine TCL-Kommandos für die Simulation:

1
> help 
2

3
For more information on a specific command, type "help <command>":
4
   dtc  Lattice Diamond Tcl Console extended Tcl commands.
5
   prj  Project Manager extended Tcl commands.
6
   sys  System information Tcl commands.
7
   ncd  NCD extended Tcl commands.
8
   ngd  NGD extended Tcl commands.
9
   rvl  Reveal Inserter extended Tcl commands.
10
   sbp  System builder planner extended Tcl commands.
11
   rva  Reveal Analyzer extended Tcl commands.
12
   pwc  Power Calculator extended Tcl commands.
13
   pgr  Programmer extended Tcl commands.
14
   psb Pojo2 extended Tcl commands.
15
   icf Incremental Design Flow Database extended Tcl commands.
16
   cmp Compile Lattice FPGA simulation libraries.
17
   eco  Physical Design extended Tcl commands.
18

19
> help prj
20

21
Project Manager extended Tcl commands
22
For more information on a specific command, type hlp command-name:
23

24
  prj_project  Project commands to manipulate project
25
  prj_src      Project source commands to manipulate project sources
26
  prj_impl     Project implementation commands to manipulate implementation
27
  prj_strgy    Project strategy commands to manipulate strategies
28
  prj_run      Project flow running command to run a flow process
29
  prj_syn      Project synthesis tool commands to list or set synthesis tool
30
  prj_dev      Project device commands to list or set the device used in the
31
               project
32
  prj_incr     Project commands to manipulate incremental design flow
33

34
> prj_run Simulation
35

36
Wrong # arg Simulation
37
Simulation is not a valid milestone name.
38

39
> prj_run -task Simulation
40

41
Wrong # args
42
prj_run - Run a milestone or task
43
  Usage:
44
    prj_run <milestone name> [-impl <implement name>] [-task <task name>]
45
            [-forceAll|forceOne]
OP #7967866
Lesenswert?

Guten Morgen, und Danke für die Antwort.
Soweit bin ich auch gekommen.
Aber mit dem Simulation Wizard führt Diamond doch auch nur Befehle oder ein Script aus. Es wird aus dem Projektfile *.ldf ein Simulationsfile *.mdo generiert. Danach wird ModelSim gestartet und das eben generierte *.mdo ausgeführt.
In der Zwischenzeit haben sogar zwei Lattice FAE die Flügel gestreckt. Die meinen aber auch, dass der komplette Workflow per CLI funktionieren sollte, zumindest mal hat.
Werde mir mal das oben genannte Framework VMK anschauen.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren