Forum: FPGA, VHDL & Co. Anfängerfrage: Xilinx ISE


von bernd (Gast)


Lesenswert?

Hi,

habe gerade mal die ISE von Xilinx installiert und begonnen das "ISE
Quick Start Tutorial" durchzuarbeiten.

Zwei Fragen:
1. Man bekommt die Wahl zwischen VHDL und Verilog. Wofür sollte man
sich entscheiden?
2. Im Tutorial wird auf Seite 21 "Adding Expected Results to the Test
Bench Waveform" eine Test Bench Signal erzeugt. Hierzu soll man das
File "testbench.tbw" unter Sources in Project selektiern und dann
"Generate Expected Simulation Results" doubleclicken. Wo finde ich
diesen Eintrag. Auch die Hilfe sagt nichts dazu aus.

Danke,
Bernd

von Achim B (Gast)


Lesenswert?

Hallo

zu 2. ich nehm mal an du hast schon eine testbench.
      Unterhalb von den Sourcesfenster gibt es noch ein kleines
Fenster
      dort musst du auf Process View wechseln.
      Und dann gibst dort unter Modelsim Simulator
      Den Eintrag "Generate Expected Simulation Results"

Gruss

Achim

von bernd (Gast)


Angehängte Dateien:

Lesenswert?

Hi,

irgendwie ist da nichts dergleichen.

Schau mal im Dateianhang.

Grüße,
Bernd

von Achim B (Gast)


Lesenswert?

Hi

Du musst noch den Modelsim Simulator installieren.
Wenn du ihn schon installiert hast musst du das noch bei Optionen
eintragen.

Gruss

Achim

von AxelMeineke (Gast)


Lesenswert?

Hmmm... also zu Frage 1. must du wissen was du lieber lernen willst. In
europa ist VHDL mehr verbreitet. In den USA ist Verilog beliebter. Man
nennt VHDL auch den geschwätzigen Code. Verilog ist etwas knapper
gehalten. Ich denke Verilog geht etwas mehr richtung
Sorfwareprogrammierung. Der Support, besonders hier in diesem Forum ist
besser für Verilog. Ich bin auch eher der Verilog-Noob :-)
Wenn du Tutorials für VHDL suchst sag noch mal bescheid...
Wenn sonst fragen sind... immer man los...

von ejd (Gast)


Lesenswert?

Bei der Entwicklung eines Projekts mit programmierbarer Logik
unterscheidet man zwischen folgenden Ebenen: System-Ebene,
Algorithmus-Ebene, Register-Transfer-Ebene, Gatter-Ebene,
Schalter-Ebene und die Schaltkreisebene.

Erklaerung:

System-Ebene ist die Aufteilung der Aufgabe in Hardware und Software.
Algorithmus-Ebene: c = a + b
                             ________
Register-Transfer-Ebene: c --|addierer|-- a
                             -----|----
                                  |
                                  b

Gatter-Ebene: c = a xor b
Schalter-Ebene: xor = Verknuepfung von Schaltern
Schaltkreisebene: Elektronische Schaltung des XOR-Gatters


So, jetzt zu den Beschreibungssprachen:

Das beruemt-beruechtigte SPICE simuliert das System als Schaltkreis und
beherrscht somit nur die Schaltkreisebene.
Verilog beherrscht von der Schalterebene bis einschliesslich die
Register-Transfer-Ebene.
VHDL ist von der Gatterebene bis einschlisslich Algorithmusebene
angesiedelt.
SystemC kann Information von der Register-Transfer-Ebene bis
einschliesslich System-Ebene verarbeiten.

Jetzt naeheres zu VHDL und Verilog.

Schwierig fuer die zukuenftige Anwendung von Verilog ist dessen
Unfaehigkeit, mit der System-Ebene zu umgehen. VHDL hingegen kann noch
hochgezogen werden. Abhilfe Schafft hier SystemVerilog, das jedoch von
den preisguenstigen Simulatoren kaum unterstuetzt wird.

Zur Eignung fuer kleinere Projekte:
Obgleich VHDL anscheinend die HDL der Zukunft sein wird, wuerde ich
fuer nicht allzu umfangreiche Projekte Verilog nehmen. Der Grund dafuer
ist die Uebersichtlichkeit.

Hierzu das Beispiel der Instalziierung eines Addierers (ohne der
eigentlichen FUnktionalitaet eines Addierers, der Uebersichtlichkeit
wegen):

Verilog:

module adder(a, b, c);
input a;
input b;
output c;

endmodule;


module adder2;
reg a;
reg b;
wire c;

adder a0(.a(a),.b(b),.c(c));
adder a1(.a(a),.b(b),.c(c));
endmodule;

VHDL:

library ieee;
use ieee.std_logic_1164.all;

entity adder is
port(a: in std_logic; b: in std_logic; c: out std_logic);
end adder;

architecture add1 of adder is
begin
end add1;

entity adder2 is
end adder2;

architecture add2 of adder2 is
component adder is
port(a : in std_logic; b : in std_logic; c : out std_logic);
end component;

signal a, b, c : std_logic;
begin
  a0 : adder
  map port(a => a, b => b, c => c);
end adder2;


Fazit: VHDL hat viel mehr an Features, die man in den meisten
Hobby-Projekten nicht braucht. Daher ist es eher empfehlenswert,
Verilog zu nehmen.

mit freundlichen Grooves,

ejd

von bernd (Gast)


Lesenswert?

Ich muss zugeben, dass ich da noch nicht so ganz durchblicke.

Habe bisher schon ein paar mal mit realen Logik-Bausteinen (74xx und
40xx) gebastelt.

Eigentlich war meine Hauptvorstellung, dass man mit programmierbarer
Logik um die ganze, lästige Verdrahtungsarbeit herrumkommt.

Wichtig ist, dass man die Bauteile auch in eigene Schaltungen einbauen
kann. Somit entfallen (µ)BGA Bauteile.
Was sind eigentlich die von der Gatterzahl größten Bauteile, die man
noch mechanisch handlen kann, (T)QPF oder so.

Ich habe auch nicht vor mir ein Starterkit zu kaufen, sondern würde
lieber eine kleine Schaltung aufbauen. Gibt es irgendwo eine Übersicht,
welche Gatterzahl für welche Projektgröße benutzt werden kann. Oder ein
Formel in der Form, 8Bit Schieberegister xx-Gatter, D-Flip-Flop xx
Gatter...?

CPLDs haben internes FLASH? Gibt es irgendwo eine
Programmierspezifikation, damit man sich ein eigenes Programmiergerät
dafür entwerfe kann? Wie Sieht es bei FPGA aus. Müssen beim Starten
booten? Welche externen Speicherchips werden hierfür standardmäßig
verwendet, oder braucht man dafür einen Prozessor?

Habe auch mal gelesen, dass man mit dem FT232BM die Software in die
FPGAs hineinschieben kann. Hat das schon mal einer Probiert?

Danke,
Bernd

von ejd (Gast)


Lesenswert?

Ulrich Radig hat auf seiner Seite (http://www.ulrichradig.de/) einige
nette Projekte unter der Rubrik Xilinx CPLD. Ich glaube, das wäre was
für Dich.

mfG,

ejd

von bernd (Gast)


Lesenswert?

Muss ich mir mal anschauen, aber im Moment brauche ich erst mal eine
ModelSim Lizens für die Testversion. Aber der Xilinx Server will
irgendwie nicht.

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.