www.mikrocontroller.net

Forum: FPGA, VHDL & Co. PicoBlaze I/O


Autor: Thomas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Liebe Kollegen!

Ich versuche mich gerade (das erste mal) an einem Soft Core Prozessor. 
In Xilinx Platform Studio habe ich die notwendigen Einstellungen gewählt 
aber ich finde nirgends etwas um eine Input/Output Board zu definieren.

Das Ding soll in meinem FPGA nur eine einfache Rechnung übernehmen. Ich 
brauche also keine UART oder PCI oder... aber ein Eingang und Ausgang 
ist notwendig.

HILFE! Wo mache ich das?

LG
Thomas

Autor: Läubi .. (laeubi) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
1) Quengeln hilft dir auch nicht weiter...
2) Der PicoBlaze != MicroBlaze nur zur Sicherheit.
3) der PicoBlaze hat einen 8 bit I/O Port und einen 8 Bit Adressport, 
steht aber so auch in der Doku also wo ist dein Problem?

Autor: Thomas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja, ich kommt mit 8 Ein-/Ausgängen aus. Leider weis ich nicht wo ich die 
dazugeben kann. Wenn ich mit dem BSB fertig bin fehlen mir die I/O´s.

Autor: Läubi .. (laeubi) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die mußt du schon selbst verdrahten, woher soll den der BSB (sicher das 
es ein PicoBlaze ist? Wuste garnicht das der BSB den kann) den wissen wo 
die "Drähte" ran sollen? Ich glaub im Reiter "Ports" kann man die 
Leitungen dann manuell zweisen (jeweil Input zu Output).

Siehe z.B.: 
http://forums.xilinx.com/xlnx/attachments/xlnx/EDK...

Autor: Thomas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Stimmt, dort ist nur ein MicroBlaze. Was?? Wo ist dann der Picoblaze.
Ich kenn mich gar nicht mehr aus.

Autor: Läubi .. (laeubi) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Der PicoBlaze ist einfach eine Komponente welche du manuell einbinden 
mußt da der BSB diese nicht unterstützt.

Autor: Thomas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke!!!

Ich versuche ein Tutorial im Netz zu finden. Vielleicht finde ich dort 
eine Erklärung wie man das manuell macht. Ich hatte mir das einfacher 
vorgestellt.

Naja, was solls. Wenn ich es schaffe habe ich was gelernt.

DANKE nochmals.

LG
Thomas

Autor: Läubi .. (laeubi) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn es nur eine einfache Rechnung sein soll kann das der FPGA ggf. auch 
in HW. Ich weiß ja nicht wie dein Restliches system aussieht, aber der 
PicoBlaze ist im Prinzip nur eine VHDL Componente die du einbindest, 
dafür braucht man normal keinen BSB ;)

Autor: Thomas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das mit HW Rechnungen geht leider nicht weil ich eine Division und eine 
e^ Funktion brauche. Die Division könnte ich noch mit Codic (ich glaube 
der IP Core heisst so) machen aber wenn ich ein e^ anhänge wird mir das 
zu kompliziert und zu langsam. ROM-LUT gefällt mir auch nicht so recht.

Ich habe leider mit Soft Cores gar keine Erfahrung. Deshalb stelle ich 
auch so dumme Fragen. Das soll sich aber mit diesem Projekt ändern. Also 
das mit der Erfahrung, dumme Fragen werde ich immer stellen gg.

Autor: D. I. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Und du hast dir den PicoBlaze sicher schon genau angesehen?
Der kommt auf ein paar Slices daher und du meinst der kann nun Division 
und Gleitkommaarithmetik wo für man sonst hunderte Slice im FPGA 
braucht?

Autor: Thomas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wie gesagt, im Bereich der Soft Cores bin ich Neuling. Wenn der Pico das 
nicht kann muss ich mir einen anderen überlegen. Ich hab auch schon 
nachgesehen ob ich ein Buch dazu finde, leider ohne Erfolg (über Soft 
Cores).

Vielleicht sollte ich ein Xilinx Seminar (Workshop) buchen.

Autor: Läubi .. (laeubi) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Thomas schrieb:
> Vielleicht sollte ich ein Xilinx Seminar (Workshop) buchen.
Überweiss das Geld lieber an den Fond hilfebedürftiger Forenteilnehmer 
;)

Natürlich kann der PicoBlaze auch dividieren... Nur nicht als HW Befehl, 
"schnell" wird es daher wohl eher nicht, ein weiteres Problem ist das 
nur 8 bit Rechnung genutzt wird also bei höheren Bitbreiten wirds dann 
noch trickreicher.
Eine wichtige Einschränkung ist auf jedenfall das du den nur in 
Assembler programmieren kannst, und nur 1024 Befehler zur Verfügung 
hast. Wenn dir das reicht...

Wenn es nicht auf Platz ankommt, du eh eine EDK Lizenz hast und in C 
Programmieren magst würde ich dir den MicroBlaze empfehlen, 32bit, auf 
Wunsch sogar FP unterstützung in HW und der hat auch ein I/O Perperial, 
man kann eigene Komponenten aber auch an die verschiedenen Bussysteme 
anklemmen.

Thomas schrieb:
> ROM-LUT gefällt mir auch nicht so recht
Darüber solltest du denke ich auf jeden fall nochmal nachdenken.

Wenn du dich über einen Core informieren willst ist soweiso das 
Datenblatt des "Herstellers" die erste Anlaufstelle, Bücher sind doch 
schon veraltet in dem Momment wo sie gedruckt werden.

Autor: Thomas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke für die ausführliche Antwort!!!

Leider kommt es auf den Platz an aber ich muss diese Rechnungen 
unbedingt in den FPGA (Virtex 6 LX240T) bekommen.

Vielleicht hast Du mit dem ROM_LUT recht. Ich verwende momentan 2 
ROM-LUT´s für die Berechnung der Korrekturwerte. Das funktioniert super. 
Ich dachte mir nur, dass die Soft Core Variante eleganter ist weil ich 
schnell mal die Formeln ändern kann.

Hilfsbedürftige Forenmitglieder? Aso die, denen Soft Core Neulinge die 
Ohren abkauen.

Nun gut, ich hol mir einen Caffee und lese mir die PDF´s von den Cores 
noch mal durch.

DANKE!!!
Thomas

Autor: Duke Scarring (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Thomas schrieb:
> (Virtex 6 LX240T)
Willst Du uns veralbern? Auf einem LX240T sollte (normalerweise) locker 
Platz für einen Microblaze sein....

Duke

Autor: D. I. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Thomas schrieb:

> Leider kommt es auf den Platz an aber ich muss diese Rechnungen
> unbedingt in den FPGA (Virtex 6 LX240T) bekommen.

Na ein Baby FPGA ist das aber auch nicht, ...

Autor: Thomas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Will Euch nicht veralbern. Da solle Matrizen mit 1000 x 1000 Einträgen 
(integer) rein. Wenn man ein bischen rumrechnet braucht das ne menge 
Platz.

Sagen wir mal so, ein Spartan 3E 1200 ist mit 14x21 Einträgen voll (ohne 
I/O).

Autor: Duke Scarring (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Irgendiwe scheint mir Dein Konzept noch nicht rund zu sein. Außerdem hab 
ich den Eindruck, daß Du noch nicht so recht auf dem Sattel bist (von 
sattelfest ganz zu schweigen), was FPGAs angeht.

Vielleicht verräts Du uns in einer schönen Übersicht:
1. was Du vorhast (wieviele Daten woher, was damit machen, wohin damit),
2. wie Du Dein Problem erschlagen willst,
2. welche Hardware Du zur Verfügung hast und
3. welche Software Du zur Verfügung hast.

Duke

Autor: D. I. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe mehr und mehr den Verdacht eines Trollversuchs

Autor: Thomas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
FPGA´s sind nicht mein Problem aber Soft Cores schon.

Das Konzept steht schon und mein Design läuft auf der Hardware. Die 
Ergebnisse der Rechnungen die ich machen möchte sind momentan hard coded 
drinnen. Jetzt suche ich nach einer Lösung wie ich die Rechnungen 
realisieren kann.

Ein FPGA ist es weil ich einen Großteil der Operationen paralell 
ausführen möchte. Das spart mir bei großen Matrizen sehr viel Zeit.

1) Integer Matrix, Daten hard coded - wird auf PCI oder USB umgestellt. 
Matlab soll die Daten liefern, der FPGA bearbeiten und an Matlab gewisse 
Werte zurücksenden.

2)???

3) Xilinx ML 605

4) Xilinx ISE (hoffentlich bald Embedded Version - sonst wirds nichts 
mit dem MicroBlaze), ModelSim

LG
Thomas

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [vhdl]VHDL-Code[/vhdl]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.