Forum: FPGA, VHDL & Co. VHDL Entwicklung für Anfänger mit GUI


von Mike B. (mike_b97) Benutzerseite


Lesenswert?

Guten Abend!

Bin erst gerade über den Begriff VHDL gestoßen und suche eine GUI, mit 
der man in das Thema einsteigen kann.

habe mir LogiFlash von der UNI Frankfurt angeschaut
http://tiweb.hsu-hh.de/LogiFlash/

dies finde ich auch ganz prickelnd, ist ja relativ trivial zu verwenden

Kennt ihr solch eine IDE mit VHDL als Beschreibungssprache auch als 
opensource?

hier bei Logiflash bekommt man ja "nur" den ausführbaren Code
(nur eine Datei, draufklicken und läuft, wie in DOS damals, eine Datei 
und es geht, nix Setup, nix .DLL, nix .ini, nix .cfg, nix 
Registrierungsdöns, war das HERRLICH!)

von Klakx (Gast)


Lesenswert?

Versuch doch einfach die einfachsten Tutorials in VHDL zu schreiben. Den 
Logiflash hast du dann quasi im Kopf. Wenn du eine Synthese startest, 
kannst du dir auch die Schaltung ansehen. Also geh den Weg doch nicht 
rückwärts.

Über die Zeichnung anzufangen, ist am Ende nur umständlicher und 
unbeherrschbarer. Das macht man vielleicht eher auf abstrakteren Ebenen, 
aber nicht hier.

Beispiel:

c <= x or y;
a <= b and c;

Was kommt raus für eine Schaltung raus? und wie lang würdest du jetzt 
zeichnen :)

von Klakx (Gast)


Lesenswert?

PS: IDE gibt es Xilinx Webpack, oder auch bei Alter/Intel, Lattice

von Vancouver (Gast)


Lesenswert?

Ganz ehrlich, wenn Du VHDL lernen willst, brauchst Du erst mal keine 
IDE. Alles was Du brauchst ist ein Editor mit Syntax-Highlighting und 
ein Simulator, z.B. Geany und GHDL+GtkWave (alles OpenSource). Alles was 
darüber hinausgeht, ist nur hilfreich bei komplizierteren Projekten. Du 
hast Deinen Pkw-Führerschein auch nicht auf einem 35-Tonner gemacht.
Vermutlich weißt Du es, nur zur Sicherheit: für VHDL brauchst Du 
zwingend einen Background in Digitaltechnik. VHDL ist keine 
Programmiersprache.

von Mike (Gast)


Lesenswert?

Ich würde einfach mal den Begriff PSHDL in den Raum werfen. Das war vor 
einiger Zeit eine Arbeit eines Doktoranden aus Hamburg, der eine neue, 
einfachere HDL entwickeln und dazu Hardware im Arduinostil günstig zur 
Verfügung stellen wollte. Hat sich nicht so gut durchgesetzt, aber seine 
Entwicklungsumgebung ist noch online. Soweit ich weiß ist die kostenlos 
im Browser nutzbar und unterstützt Verilog (?), VHDL und PSHDL (das war 
seine eigene Sprache).

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Mike B. schrieb:
> habe mir LogiFlash von der UNI Frankfurt angeschaut
> http://tiweb.hsu-hh.de/LogiFlash/
> dies finde ich auch ganz prickelnd, ist ja relativ trivial zu verwenden
Damit lernst du aber kein VHDL. Bestenfalls lernst du, was der 
Interperter der Uni Frankfurt aus deinem Schaltplan macht...

Klakx schrieb:
> PS: IDE gibt es Xilinx Webpack
Ich würde für den Anfang auch die ISE empfehlen, denn dort kann man dann 
zwischendurch auch mal auf den "Synthesize" Knopf drücken und schauen, 
ob aus der wunderbar simulierbaren(!) VHDL-Beschreibung auch tatsächlich 
Hardware herauskommt. Denn "VHDL" hat mit "FPGA" bestenfalls zu 5% etwas 
zu tun. Oder andersrum: 95% von VHDL lassen sich zwar tadellos 
simulieren, aber nicht auf ein FPGA/CPLD synthetisieren.

Siehe mal das da:
http://www.lothar-miller.de/s9y/archives/80-Hello-World!.html

: Bearbeitet durch Moderator
von Strubi (Gast)


Lesenswert?

Ich werf auch noch was rein:

- MyHDL/GTKWave zum Anfangen (funktionale Simulation lernen)
- GHDL/GTKWave zum Weitermachen für die VHDL-Welt
- Synopsys Synplify zum Anschauen, was aus der HDL synthetisiert wird 
(ist z.B. bei Lattice Diamond mit dabei).

Falls du unbedingt den (nicht für spätere Entwicklung empfohlenen) 
grafischen Ansatz verfolgen willst: Qucs ist auch noch nett, um 74xx 
Logikelemente zusammen mit echter Analog-Elektronik zu simulieren. Da 
kannst du auch einige SPICE-modelle importieren.

von Duke Scarring (Gast)


Angehängte Dateien:

Lesenswert?

Wenn hier alle so gute Vorschläge bringen, da habe ich auch noch einen.
Braucht nur einen Webbrowser und ein Google-Konto:

https://www.edaplayground.com/

von Mike B. (mike_b97) Benutzerseite


Lesenswert?

Duke Scarring schrieb:
> Wenn hier alle so gute Vorschläge bringen, da habe ich auch noch
> einen.
> Braucht nur einen Webbrowser und ein Google-Konto:
>
> https://www.edaplayground.com/

also dies finde ich mal richtig klasse
alles drin alles dran
allerdings: wie hoch ist die Wahrscheinlichkeit, dass darin selbst 
entwickelte Sachen gleich zu Google hochgeladen und an irgendeinen 
Hersteller weiterverkauft werden bzw. irgendeiner sich da die Sachen 
abgreift?

von Duke Scarring (Gast)


Lesenswert?

Mike B. schrieb:
> allerdings: wie hoch ist die Wahrscheinlichkeit, dass darin selbst
> entwickelte Sachen gleich zu Google hochgeladen und an irgendeinen
> Hersteller weiterverkauft werden bzw. irgendeiner sich da die Sachen
> abgreift?
Ich glaube für Designs, die mehr als fünf Entitys haben ist das nicht zu 
gebrauchen.
Und für den Einstieg, wo es um XOR-Adder, Flipflop und eine Blink-LED 
geht, wird es (hoffentlich) nicht um schützenswerte Patente gehen...

Duke

von Required field (Gast)


Lesenswert?

Mike B. schrieb:

> allerdings: wie hoch ist die Wahrscheinlichkeit, dass darin selbst
> entwickelte Sachen gleich zu Google hochgeladen und an irgendeinen
> Hersteller weiterverkauft werden bzw. irgendeiner sich da die Sachen
> abgreift?

Ganz einfach:
Was im eigenen Haus bleiben soll, gibt man nicht der Klaudia.
Wahrscheinlichkeiten hin oder her.

von Mike B. (mike_b97) Benutzerseite


Lesenswert?

Strubi schrieb:
> Ich werf auch noch was rein:
>
> - MyHDL/GTKWave zum Anfangen (funktionale Simulation lernen)
wieso muss man das erst in Python schreiben und dann nach VHDL 
übersetzen lassen, wieso nicht direkt in VHDL schreiben, ist doch 
genauso gut lesbar

> - GHDL/GTKWave zum Weitermachen für die VHDL-Welt
bin zu dämlich ghdl+gtkwave in Linux zu installieren

immer schön nach Install-Anweisungen und du stolperst bei jeder genau 
abgeschriebenen Zeile von fehlermeldung zu Fehlermeldung und weißt nicht 
was sie bedeutet
erst wieder google bemühen
irgendwas zusätzlich installieren
die Zeile klappt dann
nächste Zeile aus der Install-Anleitung
Fehlermeldung

es ist doch ein Krampf mit Linux, maaaaaaaaaaaaan
Wieso muss man ALLLLLEEEESSSSS per Hand machen?
da lädst du gtkwave runter, bekommst ein tar wo ein bz2 drin ist was du 
erst per Install irgendwohin donnern musst und dann gehts weiter mit
./configure
make
su
usw.

und wenn du das erstmal alles beisammen hast darfst du die vhdl-Dateien 
in den editor tippen und dann in der console reihenweise
ghdl -a
ghdl -e
ghdl -r
ghdl -r --vcd...

in der Windows-Welt ist das seit >25 Jahren Geschichte

SO wird sich Linux nieeeeeeeeeee gegen Windows durchsetzen!

: Bearbeitet durch User
von Mike B. (mike_b97) Benutzerseite


Lesenswert?

Duke Scarring schrieb:
> Wenn hier alle so gute Vorschläge bringen, da habe ich auch noch
> einen.
> Braucht nur einen Webbrowser und ein Google-Konto:
>
> https://www.edaplayground.com/

Gibt es sowas einfaches auch für offline, ohne dass ich mich bei Xilinx 
registrieren und 6 GB downloaden muss?

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Mike B. schrieb:
> Gibt es sowas einfaches auch für offline, ohne dass ich mich bei Xilinx
> registrieren und 6 GB downloaden muss?
Du kannst dir von Xilinx auch kostenlos eine DVD zuschicken lassen.

Und sagen wir es mal so: zum Glück bekommt man die Toolchain inzwischen 
für lau. Vor knapp 15 Jahren hast du da noch herzlich an deinen 
Geldbeutel gedacht...

von berndl (Gast)


Lesenswert?

Mike B. schrieb:
> ...
> bin zu dämlich ghdl+gtkwave in Linux zu installieren
> ...

kann je nach Distri sehr einfach sein: 
https://sourceforge.net/p/ghdl-updates/wiki/Home/
Und GTKWave kommt bei meiner Distri sowieso mit (apt-get ...)

Und dann benutzen:
1
mkdir work
2
ghdl -i --workdir=work *.vhd
3
ghdl -m --workdir=work --ieee=synopsys -fexplicit tb_hugo
4
ghdl -r tb_hugo --vcd=tb_hugo.vcd
5
gtkwave tb_hugo.vcd &
Was ist daran so schmerzvoll?

von Strubi (Gast)


Lesenswert?

Moin,

>> - MyHDL/GTKWave zum Anfangen (funktionale Simulation lernen)
> wieso muss man das erst in Python schreiben und dann nach VHDL
> übersetzen lassen, wieso nicht direkt in VHDL schreiben, ist doch
> genauso gut lesbar
>

Für den Anfang stimmt das vielleicht. Ist nur ein Ansatz aus "einem 
Guss", da Simulator eingebaut. Musst du selber wissen.

>> - GHDL/GTKWave zum Weitermachen für die VHDL-Welt
> bin zu dämlich ghdl+gtkwave in Linux zu installieren
>

Mit einer nutzerfreundlichen Disti wie Ubuntu, Mint, usw. ist das im 
synaptic Paketmanager ein Klick, oder eine apt-get Zeile. Ev. die 
Quellen eintragen. Ist auch alles dokumentiert, s.o.

>
> in der Windows-Welt ist das seit >25 Jahren Geschichte
>

Was hat das mit Windows/Linux zu tun?

> SO wird sich Linux nieeeeeeeeeee gegen Windows durchsetzen!

Hat es bereits, aber dieses Thema wollen wir hier nicht WIEDER 
anreissen.
Du kannst GHDL/GTKwave auch unter Windows installieren. Mit der 
Mingw-Umgebung sieht's dann aber gleich aus wie unter Linux.

Ansonsten kannst Du auch mit Modelsim aus einer alten Xilinx 
Webpack-Disti spielen. Da hast du dann eine IDE mit grottigem 
TCL-Interface.

von Mike B. (mike_b97) Benutzerseite


Lesenswert?

das hier ist angepasster code vom original code, wo ich einfach alle 
"and" durch "or" ersetzt hab
1
---------------------------------------------------------
2
-- Author : http://www.teahlab.com/
3
-- 
4
-- Circuit: or Gate
5
-- 
6
-- Note   : This VHDL program is a structural description
7
--         of the interactive or Gate on teahlab.com.
8
-- 
9
--         If you are new to VHDL, then notice how the
10
--         program is designed: 1] first we declare the
11
--         ENTITY, which is where we define the inputs
12
--         and the outputs of the circuit. 2] Second
13
--         we present the ARCHITECTURE, which is where
14
--         we describe the behavior and function of
15
--         the circuit.
16
---------------------------------------------------------
17
18
--import std_logic from the IEEE library
19
library ieee;
20
use ieee.std_logic_1164.all;
21
22
--ENTITY DECLARATION: name, inputs, outputs
23
entity orGate is                                        
24
   port( A, B : in std_logic;
25
            F : out std_logic);
26
end orGate;
27
28
--FUNCTIONAL DESCRIPTION: how the or Gate works
29
architecture func of orGate is
30
begin
31
  F <= A or B;                
32
end func;
33
------------------------------------------------------END
34
------------------------------------------------------END

das Gleiche in der Testbench:
1
------------------------------------------------------------
2
-- Author  : http://www.teahlab.com/
3
-- 
4
-- Program : OR Gate Testbench
5
-- 
6
-- Note    : A testbench is a program that defines a set
7
--         of input signals to verity the operation of
8
--         a circuit: in this case, the or Gate.
9
--        
10
--         1] The testbench takes no inputs or returns
11
--         no outputs. As such the ENTITY declaration
12
--         is empty.
13
-- 
14
--         2] The circuit under verification, here the
15
--         or Gate, is imported into the testbench
16
--         ARCHITECTURE as a component.
17
------------------------------------------------------------
18
19
--import std_logic from the IEEE library
20
library ieee;
21
use ieee.std_logic_1164.all;
22
23
--ENTITY DECLARATION: no inputs, no outputs
24
entity orGate_tb is
25
end orGate_tb;
26
27
-- Describe how to test the or Gate
28
architecture tb1 of orGate_tb is
29
   --pass orGate entity to the testbench as component
30
   component orGate is        
31
   port( A, B : in std_logic;
32
            F : out std_logic);
33
   end component;
34
        
35
   signal  inA, inB, outF : std_logic;
36
begin
37
   --map the testbench signals to the ports of the orGate
38
   mapping: orGate port map(inA, inB, outF);
39
40
   process
41
      --variable to track errors
42
      variable errCnt : integer := 0;
43
   begin
44
      --TEST 1
45
      inA <= '0';
46
      inB <= '0';
47
      wait for 15 ns;
48
      assert(outF = '0')  report "Error 1"  severity error;
49
      if(outF /= '0') then
50
         errCnt := errCnt + 1;
51
      end if;
52
53
      --TEST 2
54
      inA <= '0';
55
      inB <= '1';
56
      wait for 15 ns;
57
      assert(outF = '0')  report "Error 2<---"  severity error;
58
      if(outF /= '0') then
59
         errCnt := errCnt + 1;
60
      end if;
61
62
      --TEST 3
63
      inA <= '1';
64
      inB <= '1';
65
      wait for 15 ns;
66
      assert(outF = '1')  report "Error 3"  severity error;
67
      if(outF /= '1') then
68
         errCnt := errCnt + 1;
69
      end if;
70
71
      -------------- SUMMARY -------------
72
      if(errCnt = 0) then
73
         assert false report "Good!"        severity note;
74
      else
75
         assert true report "Error!"        severity error;
76
      end if;
77
78
   end process;
79
end tb1;
80
--------------------------------------------
81
configuration cfg_tb1 of orGate_tb is
82
   for tb1
83
   end for;
84
end cfg_tb1;
85
---------------------------------------------------------END
86
---------------------------------------------------------END
hier habe ich noch eine "1" an "tb" angefügt

ghdl zeigt kein error in der originalen "and"-Simulation (auch via 
gtkwave)
ghdl zeigt kein error bei ghdl -a or.vhdl
ghdl zeigt kein error bei ghdl -a or_tb.vhdl
ghdl zeigt kein error bei ghdl -e or_tb
but ghdl zeigt dauerhafte error bei ghdl -r or_tb
"...(assertion error): Error 2<---"

das "<---" hab ich an die "Error 2"-mark rangehängt um zu sehen ob es 
DIESER "Error2" is oder einer vom compiler

So, was ist verkehrt "Test 2" von or_tb ?

Mike.

von Mike B. (mike_b97) Benutzerseite


Lesenswert?

Strubi schrieb:
>>> - GHDL/GTKWave zum Weitermachen für die VHDL-Welt
>> bin zu dämlich ghdl+gtkwave in Linux zu installieren
>>
>
> Mit einer nutzerfreundlichen Disti wie Ubuntu, Mint, usw. ist das im
> synaptic Paketmanager ein Klick, oder eine apt-get Zeile. Ev. die
> Quellen eintragen. Ist auch alles dokumentiert, s.o.

meine debian7 (oder 6? hmmm) Installation is es unbekannt, und sämtliche 
Angaben zu apt-get install die ich  finde gehen nur manuell oder gar 
nicht


>> in der Windows-Welt ist das seit >25 Jahren Geschichte
>>
>
> Was hat das mit Windows/Linux zu tun?

dass es in Windows fertige Programme zum Donload gibt die man höchstens 
noch installieren muss und in 95% aller Fälle sowas wie ne Oberfläche 
besitzen, ohne erst compilieren zu müssen etc.

> Du kannst GHDL/GTKwave auch unter Windows installieren. Mit der
> Mingw-Umgebung sieht's dann aber gleich aus wie unter Linux.

hab ich jetzt gemacht
aber das ghdl und das gtkwave laufen scheinbar auch ohne das MinGW, 
zumindest kann ich beide (i.M. noch) über die normale cmd starten

von Md M. (Firma: Potilatormanufaktur) (mdma)


Lesenswert?

Mike B. schrieb:
> So, was ist verkehrt "Test 2" von or_tb ?

Deine Testbench testet auf ein AND, Bekommt aber Ergebnisse eines ORs 
und meldet dir den Fehler. Alles richtig:

>       --TEST 2
>       inA <= '0';
>       inB <= '1';

Hier legt die Testbench an die beiden Eingänge deines Gatters etwas 
an...

>       wait for 15 ns;
>       assert(outF = '0')  report "Error 2<---"  severity error;

...und prüft das Ergebis.

Mach einfach aus

>       assert(outF = '0')  report "Error 2<---"  severity error;

das hier

>       assert(outF = '1')  report "Error 2<---"  severity error;

: Bearbeitet durch User
von Tetrapack (Gast)


Lesenswert?

Mike B. schrieb:
>>> in der Windows-Welt ist das seit >25 Jahren Geschichte
>>>
>>
>> Was hat das mit Windows/Linux zu tun?
>
> dass es in Windows fertige Programme zum Donload gibt die man höchstens
> noch installieren muss und in 95% aller Fälle sowas wie ne Oberfläche
> besitzen, ohne erst compilieren zu müssen etc.

Falsch, Linux Software wird normalerweise über den Paketmanager aus dem 
Repository installiert. Da muss man nicht einmal mehr den Browser öffnen 
und nach der Internetseite suchen. Bei GtkWave gehe ich auch nicht 
anders vor. GHDL ist mir bei Ubuntu zu alt, also kompilier ich es. Bei 
Linux ist das Problem technisch bedingt, da sich die ABI ändern kann. 
Manche Entwickler stellen auch einfach eine .deb/.rpm Paket zur 
Verfügung, gibts bei GHDL nur leider nicht. Aber lieber so, als sich 
irgendeiner fremden Quelle aus dem Netz vertrauen und dem Setup man auch 
noch Adminrechte geben muss. Windows machts im Endeffekt nicht besser, 
nur anders, aber vor allem sicherheitstechnisch schlechter.

von Mike B. (mike_b97) Benutzerseite


Lesenswert?

0 or 1 = 1
Ich Dübel!

DANKE!

von Mike B. (mike_b97) Benutzerseite


Lesenswert?

Tetrapack schrieb:
> Manche Entwickler stellen auch einfach eine .deb/.rpm Paket zur
> Verfügung, gibts bei GHDL nur leider nicht.

https://github.com/tgingold/ghdl/releases/tag/v0.33
https://sourceforge.net/projects/ghdl-updates/files/Builds/ghdl-0.33/

also ich hab nur so nicht funktionierendes Zeugs gefunden

von berndl (Gast)


Lesenswert?

Tetrapack schrieb:
> GHDL ist mir bei Ubuntu zu alt, also kompilier ich es. Bei
> Linux ist das Problem technisch bedingt, da sich die ABI ändern kann.
> Manche Entwickler stellen auch einfach eine .deb/.rpm Paket zur
> Verfügung, gibts bei GHDL nur leider nicht.

nicht ganz richtig, siehe 
https://sourceforge.net/p/ghdl-updates/wiki/Debian%20Instructions/

Seit 1-2 Jahren hat die Unterstuetzung fuer GHDL heftig zugenommen, 
vorher war das ja eine one-man-show von Tristan. Aber das sieht 
mittlerweile echt gut aus.
Und im Gegensatz zu Modelsim-PE findet GHDL noch einige Schweinereien 
die man in VHDL machen kann mehr. Wenn deine Simulation in GHDL laeuft, 
dann tut sie das definitiv auch in Modelsim+Konsorten...

von berndl (Gast)


Lesenswert?

Mike B. schrieb:
> also ich hab nur so nicht funktionierendes Zeugs gefunden

komisch, warum funktioniert es dann bei mir ohne Probleme? Inklusive 
Vendor-Libraries (z.B. Xilinx, Lattice, Altera)!
OK, ich musste mich in GHDL auch ein bisschen reinfuchsen, aber das ist 
ein sehr standardkonformer Simulator. Und die Performance ist echt 
klasse!

von Wolf-Stefan (Gast)


Lesenswert?

Mike B. schrieb:
> darin selbst
> entwickelte Sachen gleich zu Google hochgeladen
Die Seite heißt ...playground und nicht ...workspace.

Wolf

von Mike B. (mike_b97) Benutzerseite


Lesenswert?

vielleicht kennt es ja wirklich keiner hier

http://zamiacad.sourceforge.net/web/?q=about

editor, compiler, analyzer
alles drin in einem lauffähigen Windows-Program (na gut, ist ein 
Eclipse-Plugin, gibts aber inkl. Eclipse als Gesamtpaket zum 
runterladen)

von HW-Entwickler (Gast)


Lesenswert?

Hatte ich mir vor Zeiten mal geladen. Nicht richig zum Laufen bekommen 
und auch keinen Vorteil gesehen. Was kann das Ding, was man anders nicht 
hinbekommt?

von Strubi (Gast)


Lesenswert?

Moin,

den aktuellen Stand von zamiacad kenne ich nicht, aber möglicherweise 
ist das Ding inzwischen reif genug. Ich habe nur so meine Bedenken zu 
einem Simulator in Java für komplexe Anwendungen...

Für den produktiven Einsatz ist GHDL richtig gut und spielt seine 
Stärken wie schon genannt bei der strikten VHDL-Standard-Interpretation 
aus - und richtig geil (sorry for the outburst) sind die 
Cosimulations-Möglichkeiten. Das kriegt Modelsim mit seinem FLI nicht 
hin, und bei Cadence muss man fast einen Jahreslohn abdrücken.
Trotzdem wäre ein Erfahrungsbericht zu zamiacad aus der Sicht des 
Anfängers zu begrüssen.

Meine offene Frage ist also, ab wann man mit so einem Tool eben richtig 
produktiv werden kann - versus "Wohlfühlen".

von Vancouver (Gast)


Lesenswert?

GHDL ist wirklich ein starkes Stück Software, das beweist, dass 
Opensource den teuren kommerziellen Systemen durchaus gewachsen ist. Es 
gibt aber zwei Nachteile:

1. Es ist langsam, gegenüber Modelsim etwa Faktor 8. Das wundert mich 
etwas, weil es auch ein Compiled Simulator ist.

2. Es scheint ein Problem bei großen Designs zu geben.  Vor einiger Zeit 
habe ich versucht, ein sehr großes und massiv paralleles Design zu 
simulieren, das hat immer wieder zu Abstürzen geführt. Ich konnte aber 
nicht genau reproduzieren unter welchen Bedingungen das passiert. Das 
Design bestand aus vielen parallelen Pipelines, und wenn ich deren 
Anzahl reduziert habe, lief es irgendwann durch. Der Speicherplatz des 
Host war definitiv nicht das Problem.

von Fieses Teufelchen (Gast)


Lesenswert?

Mike B. schrieb:
> bin zu dämlich ghdl+gtkwave in Linux zu installieren

Dann nimm halt FreeBSD.

pkg install ghdl gtkwave

Lern einfach mal, pragmatischer an solche Sachen ran zu gehen
und verbeiß dich nicht ständig auf dein Windows vs. Linux.

von Strubi (Gast)


Lesenswert?

Moin,

>
> 1. Es ist langsam, gegenüber Modelsim etwa Faktor 8. Das wundert mich
> etwas, weil es auch ein Compiled Simulator ist.
>

Welche Version? (ortho/mcode?)
Ab 0.29 hat es einiges an Speed zugelegt. Manche Sachen gehn in der 
mcode-Variante schneller. Das File I/O auf Wavefiles kann auch massiv 
bremsen. Da gibt es aber patches für die Trace-Section.

> 2. Es scheint ein Problem bei großen Designs zu geben.  Vor einiger Zeit
> habe ich versucht, ein sehr großes und massiv paralleles Design zu
> simulieren, das hat immer wieder zu Abstürzen geführt. Ich konnte aber
> nicht genau reproduzieren unter welchen Bedingungen das passiert. Das
> Design bestand aus vielen parallelen Pipelines, und wenn ich deren
> Anzahl reduziert habe, lief es irgendwann durch. Der Speicherplatz des
> Host war definitiv nicht das Problem.

--stack-size? Oder gar gcc 4.8.2?
Aktuelle Versionen bekam ich noch nicht ans Limit (im Gegenzug zu isim), 
aber fragt sich eben, was "gross" jeweils heisst. Mit Modelsim hatte ich 
dafür andere lustige Effekte mit so impliziten Sensitivitäten.
Stress hat man leider immer, egal welches Tool.
Was schlussendlich an der OpenSource-Sache viel Wert ist: Man kann dem 
Kram mit GDB auf den Zahn fühlen, und Tristan fixt die Sachen recht 
schnell.

von Andreas B. (andreas_b77)


Lesenswert?

Mike B. schrieb:
> Strubi schrieb:
>>>> - GHDL/GTKWave zum Weitermachen für die VHDL-Welt
>>> bin zu dämlich ghdl+gtkwave in Linux zu installieren
>>>
>>
>> Mit einer nutzerfreundlichen Disti wie Ubuntu, Mint, usw. ist das im
>> synaptic Paketmanager ein Klick, oder eine apt-get Zeile. Ev. die
>> Quellen eintragen. Ist auch alles dokumentiert, s.o.
>
> meine debian7 (oder 6? hmmm) Installation is es unbekannt, und sämtliche
> Angaben zu apt-get install die ich  finde gehen nur manuell oder gar
> nicht

GtkWave ist in Debian. GHDL aktuell nicht.

Das Problem mit GHDL ist, dass es derzeit die Standard Library Dateien 
der IEEE beilegt und verwendet, die alles andere als freie Software 
sind. Damit kann es nicht Teil von Debian an sich werden, höchstens vom 
angeschlossenen non-free Archiv.

Was es also bräuchte, wäre eine freie Implementation der VHDL Standard 
Packages.

So oder so, wenn man nicht die GCC oder LLVM Implementierung von GHDL 
will und mit der Mcode Variante zurecht kommt, ist das Selbstbauen von 
GHDL trivial.

von Mike B. (mike_b97) Benutzerseite


Lesenswert?

Strubi schrieb:
> Trotzdem wäre ein Erfahrungsbericht zu zamiacad aus der Sicht des
> Anfängers zu begrüssen.
.

nun,
ich habe mir beide Versionen (32 und 64bit) gezogen,
da ich festgestellt habe, dass ich mir extra nur für dieses Programm 
mein 64bit Windows mit einem Java RTE verseuchen müsste bin ich auf mein 
altes 32bit System ausgewichen

ZamiaCad läuft zumindestens
Zamia ist ja ein Plugin für Eclipse und wird gleich als Paket geliefert, 
Danke schön dafür!
Eclipse hab ich noch nie genutzt
insofern nutzt mir das knappe Tutorial 
https://sourceforge.net/p/zamiacad/wiki/Getting%20started/ reichlich 
wenig, ich blick nich durch
ich hab zumindest jetzt meine vhdl's aus ghdl mal in dem Projekt drin, 
aber weiter kann ich nix machen,
wie gesagt, das Basic Tutorial ist zu knapp

von Frager (Gast)


Lesenswert?

Was macht denn jetzt das Zamia? Nur ein IDE? Entityverwaltung? Oder 
wieder eine Grafikebene zum VHDL rausparsen?

von Mike B. (mike_b97) Benutzerseite


Lesenswert?

Frager schrieb:
> Was macht denn jetzt das Zamia? Nur ein IDE? Entityverwaltung?
> Oder
> wieder eine Grafikebene zum VHDL rausparsen?

keine Ahnung
ich hab ne sparsame gui wo ich textfiles bearbeiten kann
mehr krieg ich im Moment nich hin...

muss mir erstmal das https://www.youtube.com/watch?v=M96ONTc_04Y 
anschauen

: Bearbeitet durch User
von Mike B. (mike_b97) Benutzerseite


Lesenswert?

das erste Problem ist schon mal, dass meine Eclipse-Oberfläche bis auf 
das Start-Bildchen mit dem blauen Farn-Wedel überhaupt nix in Sachen 
Zamia anzeigt

ein Zamia-Project wie im Video gezeigt anlegen ist nicht möglich
(ich hab das Komplett-Paket geladen)
ein "Persperctive"-Wechsel zu Zamia geht nich weil nich vorhanden
"Help"-"Install Software" geht auch nich weil kein "Install..." 
vorhanden ist

schon wieder so ein Programm zum sofortigen Deinstallieren
sieben Siegel, tausend Fragenzeichen und wertvolle Freizeit ohne Nutzen 
verschwendet

von Vancouver (Gast)


Lesenswert?

Strubi schrieb:

> Welche Version? (ortho/mcode?)
Das war irgendeine 0.3x, damals (Sommer 2015) die aktuellste.
Was bedeutet ortho/mcode?

> --stack-size? Oder gar gcc 4.8.2?

Ja, das wäre möglich. Ich müste das nochmal mit aktuellem gcc/GHDL 
probieren. Danke für den Hinweis.

> aber fragt sich eben, was "gross" jeweils heisst. Mit Modelsim hatte ich

Das Gesamtdesign hat einen Virtex7-2000 zu knapp 80% (LUTs) gefüllt (und 
war nicht mehr ohne Timingfehler routbar). Allerdings haben im 
Simulationsmodell einige Teile gefehlt, Insgesamt also etwas kleiner. 
Lines of Code war es gar nicht so viel, weil der größte Teil des Designs 
durch generate-loops aufgespannt wurde.


> dafür andere lustige Effekte mit so impliziten Sensitivitäten.
> Stress hat man leider immer, egal welches Tool.

Wohl wahr. Und beim GHDL was das mit den Abstürzen bisher das einzige 
knackige Problem, das ich bisher hatte. Modelsim hat da deutlich mehr 
Gimmicks auf Lager.

von Mike B. (mike_b97) Benutzerseite


Lesenswert?

weiter im Thema "Erfahrungen eines Anfängers mit Zamia"

habe nun den zweiten Installationsweg gewählt:
Eclipse installieren und dann darin "neue Software installieren"
so ging das dann auch wie im Video
verfolge ich die Schritte weiter und schreibe das vhdl-Beispiel aus dem 
Video ab erscheinen unzählige Fehlermeldungen im Programm

anscheinend ist was Wahres dran an der Meldung des Java-Updaters, dass 
die von Eclipse geforderte Java-1.8 in WinXP Probleme macht

nun dann
mein System (Win8.1 64 Pro), Java 1.8 112 neu drauf und Eclipse drüber, 
aber halt: Eclipse findet das frisch installierte Java nicht

Meine Nerven!!!

: Bearbeitet durch User
von Strubi (Gast)


Lesenswert?

Mike B. schrieb:
> weiter im Thema "Erfahrungen eines Anfängers mit Zamia"


Ja schade drum.
Ich will ja nicht unken, aber "Java läuft auf jeder Plattform" hat sich 
bei mir bis anhin nie ohne Klimmzüge aka Rumgefrickel bewahrheitet, 
Ausnahme netbeans. Ich denke halt doch, wenn du dich ins wesentliche 
Know-How reinhäcken willst, hast du mit den ganz einfachen Tools nach 
Keep-It-Simple-Doktrin mehr Ergebnis.

Vancouver schrieb:
> Strubi schrieb:
>
>> Welche Version? (ortho/mcode?)
> Das war irgendeine 0.3x, damals (Sommer 2015) die aktuellste.
> Was bedeutet ortho/mcode?

ortho: Compiler-Compiler, der ein Simulations-.exe produziert
mcode: eingebaute Simulator-Runtime ('ghdl -r', Windows default)

Die ortho hat bei mir mit gcc-4.8.2 auch schon Mist produziert.

von Vancouver (Gast)


Lesenswert?

Strubi schrieb:
> ortho: Compiler-Compiler, der ein Simulations-.exe produziert
> mcode: eingebaute Simulator-Runtime ('ghdl -r', Windows default)

Ah, ok. Dann war es ortho (auf Linux). Unterscheiden sich die beiden 
Versionen bzgl. Geschwindigkeit?

von Mike B. (mike_b97) Benutzerseite


Lesenswert?

hab heute nochmals probiert das Eclipse-ZanmiaCad zum laufen zu bekommen
immer schön diesem
https://www.youtube.com/watch?v=6RMqUz4eK7Y
Video gefolgt
per hand alle Dateien des Plasma-Projects von github gesaugt

es ist definitiv nicht zum laufen zu bringen
selbst wenn er einen build anwirft kommen oben links die beiden 
work.iwas-Dingers nicht

das Plasma-Beispiel ist bereits sechs Jahre alt und seit dem unverändert

Die ganze Geschichte dürfte damit genauso tot sein wie z.B. 
basegraph-Pascal von Martin Winteregger oder KestrelHPC von den beiden 
Spaniern.

Erst machen sie sich sonwstwas für Arbeit um das ans Laufen zu bekommen 
und Schick und für jeden händelbar aufzusetzen, dann fehlt die Zeit und 
irgendwannd läuft die Software drumrum wieter und der Entwickler müsste 
einiges aktualisieren und schon ist die Lust weg und das Project stirbt 
und fängt als inet-Zombie Dumme die ihre Zeit dran verschwenden

von Strubi (Gast)


Lesenswert?

Moin,

>
> Ah, ok. Dann war es ortho (auf Linux). Unterscheiden sich die beiden
> Versionen bzgl. Geschwindigkeit?

Ich glaube, mcode hatte bei extrem vielem LUTs und nicht getakteter 
Logik ein paar Geschwindigkeitsvorteile. Habe aber immer die 'ortho' 
benutzt.

Mike B. schrieb:
> Erst machen sie sich sonwstwas für Arbeit um das ans Laufen zu bekommen
> und Schick und für jeden händelbar aufzusetzen, dann fehlt die Zeit und
> irgendwannd läuft die Software drumrum wieter und der Entwickler müsste
> einiges aktualisieren und schon ist die Lust weg und das Project stirbt
> und fängt als inet-Zombie Dumme die ihre Zeit dran verschwenden

Das ist leider bei fast jedem akademisch motivierten Projekt so. Da 
gehen oft richtig gute Sachen den Bach runter, weil der spätere 
Arbeitgeber nun mal einen anderen Kurs vorgibt.
Da gibt es für den User eigentlich nur zwei Wege:
1) Für die Power-Softwaresuite Geld hinlegen
2) Selber an der OpenSource mitmachen

Insofern solltest Du Dich vielleicht fragen, ob deine Kritik nicht etwas 
zu vernichtend rüberkommt. Aus meiner Sicht müsstest Du noch etwas mehr 
Biss zeigen, denn VHDL ist definitiv das grössere Adventure als das 
bisschen GUI-Frickelei (zugegeben, Java-Umgebungen sind manchmal mühsam 
zu handeln).

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.