Forum: FPGA, VHDL & Co. CPLD I2C Makrozellen


von Dannick M. (nickdann27)


Lesenswert?

Hallo!

Für mein Projekt möchte ich ein 256-macrocell CoolRunner-II CPLD 
(XC2C256-TQ144) von Xilinx einsetzen, was mit einem FPGA-Board durch 
eine I2C schnittstelle verbunden wird.
Ich habe aber noch eine offene Frage und zwar:

- wie genau kann ich wissen wie viel Makrozellen in dem CPLD für eine 
I2C-Schnittstelle benötigt werden?

Zur Info: Auf dem CPLD werde ich 5 Demultiplexer und einige Nand Gatter 
implementieren um 5 FIFO-Puffern parallel mit dem FPGA anzusteuern.

Warum ich das so mache?
Auf dem FPGA von Typ CORA Z7-10, was ich verwende sind nicht genug Pins 
verfügbar.

Danke!
Viele Grüße

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


Lesenswert?

Dannick M. schrieb:
> - wie genau kann ich wissen wie viel Makrozellen in dem CPLD für eine
> I2C-Schnittstelle benötigt werden?
Mach das Design fertig und gib es der Toolchain. Die sagt dann, was 
nötig ist...

> ein 256-macrocell CoolRunner-II CPLD (XC2C256-TQ144) von Xilinx
> einsetzen, was mit einem FPGA-Board durch eine I2C schnittstelle
> verbunden wird.
Mein Tipp an dieser Stelle: nimm SPI. Dessen gekoppelte Schieberegister 
sind wesentlich weniger komplex. Da kannst du mit ein wenig Geschick 
sogar sagen: 1 Makrozelle pro 1 Bit Wortbreite.

> Zur Info: Auf dem CPLD werde ich 5 Demultiplexer und einige Nand Gatter
> implementieren um 5 FIFO-Puffern parallel mit dem FPGA anzusteuern.
Diese Beschreibung macht die eigentliche Aufgabenstellung nicht 
wesentlich klarer... ;-)

> Warum ich das so mache?
> Auf dem FPGA von Typ CORA Z7-10, was ich verwende sind nicht genug Pins
> verfügbar.
Warum nimmst du dann nicht einfach ein FPGA, das genügend Pins hat? Denn 
ein CPLD unterschiedet sich von jedem FPGA strukturell wesentlich mehr 
als ein anderes FPGA (eines x-beliebigen Herstellers) von deinem FPGA.

von Dannick M. (nickdann27)


Lesenswert?

Danke für die schnelle Antwort!

Also ich möchte eine Platine bauen, die aus 5 Bildsensoren (OV7670)+ 5 
FIFO-Puffer (Al422b) bestehen wird. Die kommen später auf dem FPGA-Board 
in Form eines Schields. Der Cora z7-10 eignet sich gut dafür, weil er 
eine Arduino-Struktur hat und damit lässt sich einfacher eine Platine 
bauen, die genau die Gleiche Deimensionen hat.

> Warum nimmst du dann nicht einfach ein FPGA, das genügend Pins hat?

Mit einem anderen FPGA (ZB: ZYBO z7) hätte das mit den Pins nicht mehr 
gut gepasst.

Ich werde mich dann mit dem Thema SPI CPLD und FPGA auseinandersetzen.

Danke!

von Klakx (Gast)


Lesenswert?

Dannick M. schrieb:
> Mit einem anderen FPGA (ZB: ZYBO z7) hätte das mit den Pins nicht mehr
> gut gepasst.

Ein ZYBO z7 ist kein FPGA. Sondern ein Evalboard mit einem hochkomplexen 
FPGA/SoC.

Schau mal nach sowas: LCMXO2-640HC-4TG100C oder irgendein anderer 
MachXO2 oder MachXO3

von FPGA zum Spass (Gast)


Lesenswert?

Tja, ein weit verbreitetes Problem heutzutage.
Versuch mal ein vernünftiges, aktuelles Board zu bekommen im 
Einstiegsbereich das NICHT gleich einen SOC hat.

Dannick M. schrieb:
> Zur Info: Auf dem CPLD werde ich 5 Demultiplexer und einige Nand Gatter
> implementieren um 5 FIFO-Puffern parallel mit dem FPGA anzusteuern.

Sorry da komme ich nicht mit. Bekommen alle 5 das gleiche Signal?

Egal wie, deine Framebuffer Fifos brauchen 8Bit bei bis zu 50Mhz. Das 
ist doch nichts mehr mit I2C und allgemein schon sehr sportlich ganz 
ohne LVDS usw.
Das musst du ja schon parallel übertragen, am besten mit synchronem 
Takt.

Von der Größe sollte der 256er CPLD reichen. Bei der Datenrate hätte ich 
mit diesem Konstrukt aber keinen Spaß.

von Tobias B. (Firma: www.elpra.de) (ttobsen) Benutzerseite


Lesenswert?

FPGA zum Spass schrieb im Beitrag #5937267:
> Tja, ein weit verbreitetes Problem heutzutage.
> Versuch mal ein vernünftiges, aktuelles Board zu bekommen im
> Einstiegsbereich das NICHT gleich einen SOC hat.

Also da gibt es doch massig, wahrscheinlich sogar mehr als mit SoC. Mein 
Favorit fuer Einsteiger:

http://www.latticesemi.com/en/Products/DevelopmentBoardsAndKits/MachXO2BreakoutBoard

Kostet fast nichts, hat kein Geschnoergel drauf (ausser einen FTDI damit 
man keinen extra Programmer braucht) und jeder Pin ist einfach 
zugaenglich.

von FPGA zum Spass (Gast)


Lesenswert?

Genau sowas halte ich für völlig unbrauchbar für FPGA-Anfänger.
Warum: eben KEIN "Geschnörgel" drauf.

Ein FPGA benutzt aber gerne mal Interfaces im zwei bis dreistelligen MHz 
Bereich. Was will ich da mit NUR Pins?

Das heißt außerdem, dann man alles selbst dran basteln muss.
Sehr hilfreich, wenn man dann gleich 2 Fehlerquellen hat: das eigene 
FPGA Design was man gerade erst lernt UND den Drahtverhau.


Warum gerade bei diesem beim Hobby immer alle auf den letzten Euro 
kucken habe ich eh nie verstanden. Scheint hier aber üblich zu sein. Da 
quält man sich mit 30€ FPGA Boards oder 1€ µC rum.

Nicht falsch verstehen, alles kann seinen Reiz haben, nur gemacht wird 
es ja meist nicht weil man Spaß hat mit den beschränkten Möglichkeiten 
auszukommen.


Hier in dem Fall will sich Dannick aber sogar mit einem 100€+ Board 
quälen, was dann nichtmal die Anforderungen erfüllt...

von Christophz (Gast)


Lesenswert?

Ich würde ja generell kein Design mehr mit einem CoolRunner-II mehr 
beginnen. Obwohl Xilinx mir wiedersprechen möchte ;-)

"Xilinx has extended the life span commitment for these devices, now 
offering supply beyond 2024 for customers starting new designs."
https://www.xilinx.com/products/silicon-devices/cpld/coolrunner-ii.html

Die externen FIFO Chips stören mich auch ein wenig, einfach weil ich das 
lieber in den FPGA/externes DRAM am FPGA/SoC packe, wenn die Performance 
das zulässt :-)
Jedes FIFO hat 3 Mbit. 1:1 passt das also nicht in den Zynq 7010 wenn 
das FIFO wirklich so tief sein muss.

Die Anzahl Pins am FPGA wären wohl auch weniger ein Problem wenn 
modernere Kameras mit seriellem MIPI Interface angeschlossen werden (so 
wie z. B. beim RasPi). Leider ist die Interface Spezifikation nicht 
gratis und Xilinx will auch Geld für den IP Core sehen:
https://www.xilinx.com/products/intellectual-property/ef-di-mipi-csi-rx.html

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.