Gerade eben habe ich ein Xilinx CPLD-Board mit dem XC2C256 in meiner Sammlung gefunden, dass ich vergessen hatte: https://store.digilentinc.com/coolrunner-ii-cpld-starter-board-limited-time/ Jetzt frage ich mich gerade, was ich Nützliches damit tun könnte. Wenn ich es richtig sehe, hat es nur 256 Macrozellen mit je einem FF. Im Vergleich zu einem FPGA scheint mir das ziemlich wenig. Das Beispielprogramm kann aber das 7 Segmentdisplay mit Minuten und Sekundenanzeige steuern, sowie parallel einen Text auf einem angesteckten LCD ausgeben, aber dann sind 70% der Blöcke benutzt.
:
Gesperrt durch Moderator
Carl schrieb: > Jetzt frage ich mich gerade, was ich Nützliches damit tun könnte. Wenn du nicht ad hoc selber eine Idee hast, dann kannst du es vermutlich nicht nutzen. Ich wüsste, was ich damit bauen würde.
Warum? Normalerweise hat man 1000 Ideen und nur zu wenig Zeit. Das Sinnvollste scheint mir eine I2C-Messwert-Erfassung mit wechselnder Anzeige und Weitergabe der Werte an einen PC, der damit automatisiert mehrere I2C-Sensoren (oder auch SPIs) auslesen kann. Ich würde sagen 2 I2C-Busse, 1 x SPI und 1x UART. Das kann man immer brauchen.
Wir haben damit einen Geschwindigkeitsmesser mit zwei Lichtschranken realisiert, damals im 2. Semester.
Ich würde den Nibbler drin bauen. Damals habe ich es für den 95144 angepasst, in 256 Macrozellen soll es locker noch ein paar Stack Register mehr haben können.
Früher hat man Geräte mit PALs und GALs gebaut, die sogar funktioniert haben. Und die Dinger waren noch um einiges beschränkter als ein XC2C256.
Als die ersten CPU Boards komplexer wurden, haben CPLD ganze TTL Gräber weg rationalisiert. Heute kann man damit Retro Computer wie den VC-20 mit (für damals) Unmengen von Speicher ausstatten. Zb. den VC20 mit dem Fe-3 VC-20 :: 3,5KB RAM, 20K ROM VC-20 + FE3 :: +512KB RAM +512KB EEprom +2GB SD karte Link: https://de.wikipedia.org/wiki/Final_Expansion
Ale schrieb >Ich würde den Nibbler drin bauen. Damals habe ich es für den 95144 >angepasst, in 256 Macrozellen soll es locker noch ein paar Stack >Register mehr haben können. Einen Prozessor mit dem Board zu machen, wäre ein lustige Idee. Auf dem Board gibt es auch ein 4MBit Serial Flash, welches über SPI angebunden ist. Ob man das auch verwenden könnte?
Carl schrieb: > Jetzt frage ich mich gerade, was ich Nützliches damit tun könnte. Wenn > ich es richtig sehe, hat es nur 256 Macrozellen mit je einem FF. Im > Vergleich zu einem FPGA scheint mir das ziemlich wenig. Aber dafür hat man vor jedem FF einen fetten Block, wo sowas wie 36fach-AND's drinstecken. Bei den LUT's im FPGA hast du traditionell nur 4 Eingänge. CPLD's sind eben durch die großen AND's geradezu prädestiniert für große und schnelle Synchronzähler. Die kleineren Coolrunner können damit bis in den Bereich über 700 MHz kommen, was für ein FPGA illusorisch ist - es sei denn, man macht darinnen nur Ripple-Zähler. Ich hab mit CPLD's schon Grafikdisplay-Ansteuerungen, Frequenzzähler (s.o.), DDS-Generatoren und eben auch "Glue"-Logik gebaut. Mit 256 Makrozellen kann man mit sowas erstaunlich viel machen. W.S.
Verzweifelter Hilferuf! Hallo zusammen, ich kapere gerade diesen etwas älteren Thread. Ich habe in recht vermurkstes Projekt mit dem XC2C512 Coolrunner und bin - als kompletter Coolrunner Anfänger - leider komplett am Ende mit meinem Latein. Ich habe ein extrem merkwürdiges Verhalten, was meine Eingänge betrifft und bin leider nicht in der Lage, das irgendwie hinzubiegen. Gibt es vielleicht hier jemanden, der sich sehr gut bzw. extrem gut mit den Coolrunner Chips auskennt, und mir vielleicht helfen kann? Da es eilig ist und nicht als "Hobbyprojekt" läuft, würde ich mich sehr über eine Nachricht - gerne auch mit Nennung eines Stundensatzes - freuen. Im speziellen benötige ich Hilfe bei: Inbetriebnahme der ISE. Organisation von einem bestehenden Projekt. Erstellen von Constraints, im speziellen IOSTANDARD. Kurze Einweisung Debuggen, Syntese und Flashen des ganzen. Weitergehende Details kann ich hier leider nicht öffentlich machen. Ich würde alles entsprechend über Mail oder PM abhandeln. Vielen Dank schon einmal im voraus. Viele Grüße Frank
Frank B. schrieb: > Im speziellen benötige ich Hilfe bei: > Inbetriebnahme der ISE. > Organisation von einem bestehenden Projekt. > Erstellen von Constraints, im speziellen IOSTANDARD. > Kurze Einweisung Debuggen, Syntese und Flashen des ganzen. > > Weitergehende Details kann ich hier leider nicht öffentlich machen. > Ich würde alles entsprechend über Mail oder PM abhandeln. Also kommerziell. Da solltest Du Dich auf 4-stellige Tagessaetze einrichten. wendelsberg
Was mich bei Coolrunnern neulich genervt hat, war, dass defaultmäßig überall Keeper an den Eingängen vorgesehen waren. Hat dazu geführt, dass das Einlesen von ein paar Schaltern nach GND mit programmierten Pullups sich ausgesprochen merkwürdig verhalten hat. Mit externen 1K-PullUps war dann alles in Ordnung. Nein, keine Warnung wie bei 2V5 und 3V3 in einer Bank. Dieses "feature" lässt sich irgendwo ausschalten; nein, nicht im user constraints file. Irgendwo bei den Optionen für den Kompilationsschritt. Die IO-Konfiguration mache ich jetzt komplett im VHDL-File, dann habe ich alles was ich brauche in einer Datei. So viel ist in einem Coolrunner sowieso nicht drinnen. Jetzt geht's auch mit den eingebauten PullUps, ohne die Brutalo-1K. Man kann auch 1000 Signale einem einigen Pin zuweisen, das ist der ISE egal. Aber ansonsten bekommt man dermaßen viele sinnlose ISE-warnings, dass man eigentlich kaum mehr hinsieht. Gruß, Gerhard
:
Bearbeitet durch User
Gerhard H. schrieb: > Dieses "feature" lässt sich irgendwo ausschalten; nein, nicht im user > constraints file. Irgendwo bei den Optionen für den Kompilationsschritt. Zu faul oder zu blöde, die doc für die Software zu lesen ?!?! https://www.xilinx.com/support/documentation/sw_manuals/xilinx14_2/devref.pdf p. 282 cpldfit -terminate [float|keeper|pullup] Aber was will man auch von Einem erwarten, der beim fit von "Kompilieren" labert ...
Gerhard H. schrieb: > Die IO-Konfiguration mache ich jetzt komplett im VHDL-File, dann habe > ich alles was ich brauche in einer Datei. Nein, hast Du nicht. Es gibt immer noch prios beim Verarbeiten der Settings, wenn an den anderen regulären Stelle (bspw .pcf, .ucf, commandline-optionen, etc.) was anderes steht. https://www.xilinx.com/support/documentation/sw_manuals/xilinx11/cgd.pdf p. 29+ >Aber ansonsten bekommt man dermaßen viele sinnlose ISE-warnings, >dass man eigentlich kaum mehr hinsieht. Selber Schuld. Und man sollte nicht wie beim C-Kompilieren auf die compile-warnings starren, sondern sich die Reportfiles wie *.rpt durchlesen. Da steht welches pin-Eigenschafte final configuriert werden.
Gut Gekaut ist halb gekackt schrieb: > Gerhard H. schrieb: >> Die IO-Konfiguration mache ich jetzt komplett im VHDL-File, dann habe >> ich alles was ich brauche in einer Datei. > > Nein, hast Du nicht. Es gibt immer noch prios beim Verarbeiten der > Settings, wenn an den anderen regulären Stelle (bspw .pcf, .ucf, > commandline-optionen, etc.) was anderes steht. > https://www.xilinx.com/support/documentation/sw_manuals/xilinx11/cgd.pdf > p. 29+ > >>Aber ansonsten bekommt man dermaßen viele sinnlose ISE-warnings, >>dass man eigentlich kaum mehr hinsieht. > > Selber Schuld. Und man sollte nicht wie beim C-Kompilieren auf die > compile-warnings starren, sondern sich die Reportfiles wie *.rpt > durchlesen. Da steht welches pin-Eigenschafte final configuriert werden. Was für ein gequirltes Gekautes. Wenn der Compiler mit den gewählten Voreinstellungen das spezifizierte Verhalten nicht implementieren kann, dann hat der das als error zu melden und nicht clamheimlich was anderes zu bauen und als Erfolg zu melden. Ein Geständnis auf dem Grundbuchamt von Alpha Centauri zu hinterlegen zählt nicht. Und Ihr Benutzername ist sehr passend gewählt.
:
Bearbeitet durch User
Gerhard H. schrieb: > Wenn der Compiler mit den gewählten Voreinstellungen das spezifizierte > Verhalten nicht implementieren kann, dann hat der das als error zu > melden und nicht clamheimlich was anderes zu bauen und als Erfolg zu > melden. Aber es ist eben ein kein compiler sondern eine kette verschiedener tools, aka toolchain. Und eben keine direkte Hochsprache -> Mnemonic Translation sondern eine unterspezifizierte Optimierungsaufgabe mit Randbedingungen aka constraints ... und das was hinten rauskommt ist auch kein dummes executables das einach so durch load and run geprüft werden kann ... > Ein Geständnis auf dem Grundbuchamt von Alpha Centauri zu > hinterlegen zählt nicht. Nein der report liegt nicht hinter einer Tür mit dem Schild "Beware of the leopard" sondern im output-verzeichniss wie in der doc beschrieben. Sogar "human readable", aber wenn der Wille fehlt und man statt doc lieber im Hitchhiker Guide blättert .... >Und Ihr Benutzername ist sehr passend gewählt. Na dann fang mal an die docs durchzukauen, dann kannst du deinem "compiler" auch mal was verdauungsgerechtversetzt und musst Dich nicht durch dessen angesäuertem Gekotze quälen ... SCNR
Beitrag #7872565 wurde von einem Moderator gelöscht.
Beitrag #7872687 wurde von einem Moderator gelöscht.
Beitrag #7872883 wurde von einem Moderator gelöscht.
Dieser Beitrag ist gesperrt und kann nicht beantwortet werden.