FPGA Fragen

07/06/2008 - 15:41 von Olaf Kaluza | Report spam
Moin Leuts,

Ich hab jetzt mal ein bisschen mit meinem FPGA rumgespielt.
Derzeit hab ich ein Programm (50% geklaut, 50% Eigenleistung)
das vier 7Segment-LEDs multiplext. Es gibt einen Teiler von 33Mhz
externer Takt auf 1Hz und daran haengt ein vierstelliger Zaehler fuer
die Anzeige.

Dabei sind mir 1-2 Fragen ins Auge gesprungen:

1. Die Oberflaeche (Webpack8.1 unter Windoof) ist wirklich
GROTTENLAHM.
Es passiert mir regelmaessig das ich eine Synthese anstosse und
denke ich haette danebengeklickt weil es erstmal 1-2s dauert bis
ueberhaubt etwas passiert. (1.8Ghz Athlon/768MB Ram)
Wenn ich das richtig verstehe dann ruft das ganze fette
Grafikgedoens doch Kommandozeilenprogramme auf. Ist es eine
gute Idee das mit einem Makefile selber zu machen?

2. Ich hab mal 8.2 fuer Linux (1.3GB gepackt!) runtergeladen aber noch
nicht installiert. Ist da der Gaehnfaktor identisch? Schlimmer?
Wuerden neuere oder aeltere Versionen schneller laufen?

3. Sehe ich das richtig das ich alle Ein/Ausgaenge beliebig verwenden
kann? Es gibt keine zusammengehoerigen Gruppen wie z.B
Port1/2usw. bei Microcontrollern? Das wuerde Platinenlayouts ja
enorm vereinfachen.

4. Mein Zaehler arbeitet sehr gut. Nach dem reinladen ins FPGA faengt
er an bei 0000 hochzuzaehlen. Ich wollte noch eine Resettaste
einbauen.

always @(posedge CLK_I or posedge Taste4)
begin
if (Taste4 == 1'b1)
begin
count1 <= 4'b0001; // 1
count2 <= 4'b0010; // 2
count3 <= 4'b0011; // 3
count4 <= 4'b0100; // 4
end
end

Obiger Code fuehrt dazu das mein Zaehlregister dauerhaft und immer auf
1234 gesetzt wird. Wieso macht er das selbst wenn ich niemals nie
meine Taste4 druecke. Irgendwas wesentliches muss mir da entgangen sein.
Erst wenn ich die vier Zuweisungen auskommentiere zaehlt er wieder.

5. Ich kann nur jedem empfehlen sich mal ein bisschen mit FPGAs
auseinanderzusetzen. Man denkt ja erst es gibt keinen
grossen Unterschied zu Microcontroller von
Offensichtlichkeiten wie Geschwindigkeit und das man sich
seine eigene Hardware bastelt, mal abgesehen.
Aber das scheint mir eine Fehleinschaetzung. Die echte
Gleichzeitigkeit seiner Programme/Designs ermoeglicht
ganz andere Problemloesungen.

Olaf
 

Lesen sie die antworten

#1 Frank Buss
07/06/2008 - 15:58 | Warnen spam
Olaf Kaluza wrote:

1. Die Oberflaeche (Webpack8.1 unter Windoof) ist wirklich
GROTTENLAHM.
Es passiert mir regelmaessig das ich eine Synthese anstosse und
denke ich haette danebengeklickt weil es erstmal 1-2s dauert bis
ueberhaubt etwas passiert. (1.8Ghz Athlon/768MB Ram)
Wenn ich das richtig verstehe dann ruft das ganze fette
Grafikgedoens doch Kommandozeilenprogramme auf. Ist es eine
gute Idee das mit einem Makefile selber zu machen?



Ich vermute du meinst ISE Webpack. Das ist tatsàchlich so grauenhaft, wie
von dir beschrieben und auch nicht gerade leicht zu verstehen von der
Bedienung her. Hatte mal einer hier geschrieben, wer hàtte sich sein
Makefile selbst gebastelt und würde wunderbar mit allen ISE-Versionen
laufen.

3. Sehe ich das richtig das ich alle Ein/Ausgaenge beliebig verwenden
kann? Es gibt keine zusammengehoerigen Gruppen wie z.B
Port1/2usw. bei Microcontrollern? Das wuerde Platinenlayouts ja
enorm vereinfachen.



Es gibt meist einige Eingànge, die können nur als Clock verwendet werden
oder du musst einige spezielle Eingànge nehmen, wenn du einen Clock
zuführen willst und es gibt meist mehrere Blöcke von IOs, bei denen dann
jeder Block eine andere Spannung haben kann (z.B. 1,8V und 3.3V), aber
ansonsten hast du recht, die kann man beliebig verwenden.

4. Mein Zaehler arbeitet sehr gut. Nach dem reinladen ins FPGA faengt
er an bei 0000 hochzuzaehlen. Ich wollte noch eine Resettaste
einbauen.

always @(posedge CLK_I or posedge Taste4)



Du meinst bestimmt "and" statt "or" :-)

5. Ich kann nur jedem empfehlen sich mal ein bisschen mit FPGAs
auseinanderzusetzen. Man denkt ja erst es gibt keinen
grossen Unterschied zu Microcontroller von
Offensichtlichkeiten wie Geschwindigkeit und das man sich
seine eigene Hardware bastelt, mal abgesehen.
Aber das scheint mir eine Fehleinschaetzung. Die echte
Gleichzeitigkeit seiner Programme/Designs ermoeglicht
ganz andere Problemloesungen.



Dem kann ich nur zustimmen, wenn man es denn braucht. Vieles làsst sich
auch mit Microcontrollern realisieren, aber wenn man dann mal was hat,
wofür man einen FPGA brauchen kann, gibt es meist keine andere Möglichkeit
oder es wàre anders sehr aufwendig und teuer.

Frank Buss,
http://www.frank-buss.de, http://www.it4-systems.de

Ähnliche fragen