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


von Thomas (Gast)


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

von Läubi .. (laeubi) Benutzerseite


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?

von Thomas (Gast)


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.

von Läubi .. (laeubi) Benutzerseite


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/12420/1/screenshot_001.jpg

von Thomas (Gast)


Lesenswert?

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

von Läubi .. (laeubi) Benutzerseite


Lesenswert?

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

von Thomas (Gast)


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

von Läubi .. (laeubi) Benutzerseite


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 ;)

von Thomas (Gast)


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.

von D. I. (Gast)


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?

von Thomas (Gast)


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.

von Läubi .. (laeubi) Benutzerseite


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.

von Thomas (Gast)


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

von Duke Scarring (Gast)


Lesenswert?

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

Duke

von D. I. (Gast)


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, ...

von Thomas (Gast)


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).

von Duke Scarring (Gast)


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

von D. I. (Gast)


Lesenswert?

Ich habe mehr und mehr den Verdacht eines Trollversuchs

von Thomas (Gast)


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

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.