PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Informationen GALs



Import-Script
13.03.2004, 21:54
Hallo <BR> <BR>Mich w&uuml;rde interessieren, wo ich im Internet eine vern&uuml;nftige Seite &uuml;ber die Programmierung von GALs finde. <BR>Da ich nicht einmal genau weiß was ein GAL macht, wären auch Basics dar&uuml;ber nicht schlecht, also nicht unbedingt eine Seite auf der nur auf Programmiertricks eingegangen wird, und der Anfänger blöd dasteht. <BR> <BR>Seh ich das richtig, daß man damit eigentlich nur logische Verkn&uuml;pfungen realisiert und dazu auch noch FF zur Verf&uuml;gung hat? Also sozusagen einen ganzen Haufen 74xx Bausteine reinprogrammieren kann? <BR> <BR>mfg <BR>hannes

Import-Script
13.03.2004, 23:42
Na ja, einen ganzen Haufen??? relativ, aber Du hast in der Regel minimum 8 inputs miteinander beliebig ver&#34;OR&#34;ed &#40;aich invers jeden, je nach Laune&#41;, das ganze auf eine Matrix &#40;Kreuzschiene&#41; beliebig ver&#34;AND&#34;ed dann in FlipFlops m&uuml;nden, die die Ausgänge treiben, also entweder Logik = einfach durch gemäss Verkn&uuml;pfung oder registered. <BR>Es ist halt die Flexibilität. Was Dein TTL-Grab angeht, also etwa 24&#42; 7432 &#40;2&#42;4 Oder&#41; &#43; massig Inverter &#40;7404&#41; &#43; 8&#42; 7430 &#40;8fach NAND&#41; &#43; 4 &#42; 7476 &#40;Doppel JK-FF mit allen Schikanen&#41; so ganz grob im kleinsten GAL 16V8; der Preis: Die Dinger fressen Strom; also nix mit C-Mos Ultra-Low-Power; rechne 50mA pro GAL!!! - davon leben ganze CPUs. Nimm es als N-MOS LS-TTL-Technik; das trifft es in etwa, also nicht zu vergleichen mit HC oder sowas. <BR> <BR>Weiter: Die Programmierung ist nicht schwer, dazu gibt es sog. GAL-Assembler &#40;so Tiny-Ausf&uuml;hrungen gibt´s z.B. beim Prommer gratis dazu; meinem GALEPII z.B. lag einer bei; garnicht schlecht &uuml;brigens&#41;. <BR> <BR>Basics: Ein GAL ist bisschen &#34;de-Morgan&#34; Logik. <BR>Es gibt sagen wir 8 Oder-Terme, die Du Verunden kannst, oder andersrum &#40;das unterscheidet PROM vom PAL / GAL&#41; ist aber reine Mathematik; also gehupft wie gesprungen weil man kann es ineinander umrechnen. <BR>Ein ODER ist ein NAND mit inversen Eingängen, bzw. ein UND ist ein NOR mit inversen Eingängen. <BR>Egal wie, das macht idR. der Assembler f&uuml;r Dich. <BR> <BR>Also hast Du zum Verbauen in so einem Baustein 8 verundete und die verodert auf den Ausgang. <BR>Das sieht dann z.B. so aus: <BR> <BR>Q5 = /E1 &amp; E2 &amp; E3 <BR> # E4 &amp; /E5 <BR> # /E1 &amp; E8 <BR> <BR>oder oder und; also pro Ausgang 8 Eingangspins beliebig verundet &#40;&amp;&#41; und invertiert &#40;/&#41; und die verodert &#40;#&#41;, also obiges 8mal mit je einer 8er Zeile und 8 Reihen. Das Ganze wenn´s denn sein soll halt auch noch auf FlipFlops. <BR>Damit geht schon eine ganze Menge &#40;wie gesagt beim kleinsten Baustein, und da hab ich der Einfachheit wieder untertrieben; ein 16V8 hat max 16 Inputs und max 8 Outputs, deshalb heisst der so, also 20V10 20 in und 10 out, wobei da einfach nicht genug Pins am Gehäuse sind, also wenn Du 10 out willst bleiben halt nur noch 10 in &uuml;ber z.B. <BR> <BR>Danach geht es weiter mit CPLDs &#40;hier auch schon mal Vorgeschmack: der Lattice1032 hat 6000 Gatter und 64 I/Os und als Schmankerl noch 192 FlipFlops; die verbau erstmal...; denkste!!! das geht ratz fatz; hier noch ein 8-Bit Counter, dort ein Latch-8-Bittig usw.. und weg sind die. <BR>Macht aber nix: Gibt doch Xilinx &#40;Spartan z.B.&#41; <BR>macht dann 238.000 Gatteräquivalente - da passen ganze CPUs als Download rein. Kleiner Vergleich &#40;stimmt nicht ganz&#41; - aber der MC68000 bestand aus etwa 68000 Gattern, daher der Name - zumindest anhaltsweise um eine Grössenvorstellung zu haben. <BR>Das nur mal so vorab, was Dich erwartet.

Import-Script
15.03.2004, 08:53
&#34;Die Dinger fressen Strom; also nix mit C-Mos Ultra-Low-Power; rechne 50mA pro GAL!!!&#34; <BR> <BR>Das stimmt so nicht. <BR>Es gibt z.B. von Atmel welche, die sind mit 0,5..2mA zufrieden. <BR> <BR>Dann gibt es noch Zero-Power, die brauchen statisch nur wenige µA <BR> <BR>Und dann gibt es noch die CoolRunner, die sind echt CMOS, d.h. der Stromverbrauch ist proportional der Taktfrequenz. <BR> <BR> <BR>Peter <BR>

Import-Script
15.03.2004, 15:17
Hallo <BR> <BR>Danke f&uuml;r Die Antworten.Jetzt hab ich mal einen groben Überblick. Habe schon versucht in Protel zu programmieren, nur dahab ich noch Syntaxfehler, aber auch das wird noch werden. <BR> <BR>mfg <BR>hannes

Import-Script
15.03.2004, 21:17
@Andreas Seck:
Das ist deine Schuld, dass ich der Programmierbaren Logik verfallen bin!!! Solche wunderschönen Zahlen wirken auf andere anscheinend abschreckend, auf mich eher motivierend. Ergebniss heute: Ich will CPLDs (und später vielleicht mal FPGAs) nicht mehr missen! 2 Bücher habe ich schon gelesen und die ersten kleinen, theoretischen Projekte sind fertiggestellt. Den Mikrokontrollern habe ich z.Z. den Rücken gekehrt, ich will nie mehr ohne VHDL auskommen müssen!
DANKE ANDREAS! ;-)))

Import-Script
16.03.2004, 11:44
Soo sooo, meine Schuld..., nun ja.. <BR>Hast Du denn auch schon &#34;Praktische Projekte&#34; fertiggestellt??? <BR>Ansonsten hätt ich zumindest zur theoretischen Seite noch einen B&uuml;chertausch anzubieten; <BR>Wissen ist Macht! --&#62; Weiss nix; macht nix! <BR><img src="http://progshop.com/elektronik/diskussion/messages/10731/12105.jpg" alt="VHDL-Buch"> <BR> <BR>kannst mir ja eine Mail schicken... <BR> <BR>@all: Ich maile jetzt nicht mehr mit t-online, weil mir das auf den Senkel geht; &#34;t-online-Schleich-Mail&#34; &#40;allerdings kommt beides noch an..&#41; <BR>F&uuml;r alle, die es sich mal notieren möchten: <BR> <BR>alt: <a href="mailto:A.Seck@t-online.de">A.Seck@t-online.de</a> <BR> <BR>neu: <a href="mailto:A.Seck@asd-seck.de">A.Seck@asd-seck.de</a>

Import-Script
16.03.2004, 23:38
@Henrik, <BR> <BR>&#34;Den Mikrokontrollern habe ich z.Z. den R&uuml;cken gekehrt&#34; <BR> <BR>Warum ? <BR> <BR>Am besten ist doch die Kombination aus beiden, die sind einfach zu verschieden. <BR> <BR>Was hast Du denn so in VHDL alles gemacht ? <BR> <BR>Ich sehe da noch nicht so richtig durch. <BR> <BR>Ich habe mit den ATV2500 angefangen und damit z.B. einen I2C-Controller und einen GPIB-Controller programmiert &#40;in Cupl&#41;. <BR> <BR>Dann habe ich die Coolrunner entdeckt. <BR>Damit habe ich z.B. einen I2C-Bootloader f&uuml;r den DS80C320 gemacht. <BR>K&uuml;rzlich muste ich auch wieder den GPIB aus der Mottenkiste kramen, ging völlig problemlos auf den Coolrunner zu portieren &#40;Cupl-&#62;Abel&#41;. <BR> <BR> <BR>Peter <BR>

Import-Script
17.03.2004, 10:25
Da kann ich dem Peter nur zustimmen: BEIDES!!! <BR>Schliesslich sind GALs CPLDs FPGAs, selbst ein einzelner BC548-Transistor nur Bausteine und Mittel zum Zweck. Frag mal Kinder &#40;bzw. Du warst auch mal jung&#41;: &#62;&#62; Lego spielen mit &#34;nur&#34; Dachsteinen macht keinen Spass &#60;&#60; <BR> <BR>Zu Cupl&#40;Abel&#41;==&#62;PALASM... eben &#34;PAL - Assembler&#34; <BR>@Johann: das sind diese Logikgleichungen <BR>Q5 = /E1 &amp; E2 &amp; E3 <BR># E4 &amp; /E5 <BR># /E1 &amp; E8 <BR> <BR>Das alleine..??.. auch nicht; nicht bei 200tausend Gattern -- und alles in allem @Henrik &#40;s&uuml;chtig&#41;: macht´s der Mix. Schliesslich will man ja was ganz anderes, eine Heizungssteuerung z.B. oder halt eben &#34;ein Gerät&#34; - und nicht eine Handvoll Blätter mit C&#43;&#43;, Abel, VHDL und PDFs der Bauteile. <BR>Verilog ist f&uuml;r mich == BASIC eben hardwarenah optimiert, oder Pascal <BR>Es macht wirklich keinen Unterschied, ob: <BR>Repeat until I=5; <BR>oder <BR>Repeat until PosEdge&#40;Pin5&#41;; <BR> <BR>Das ist eben das &#34;Abstrakte&#34; an der Sache, den Rest erledigen die jeweiligen Compiler in enger Verbundenheit mit der Hardware f&uuml;r die sie designed wurden. <BR> <BR>Wenn sich nur die Firmen nicht so anstellen w&uuml;rden und den Kram so unerschwinglich bzw. so unverständlich f&uuml;r Newcomer machen w&uuml;rden. <BR>Synario ist ein schönes Beispiel daf&uuml;r - da wurde dann Design-Expert draus; völlig erschlagend, &uuml;berzogen, jenseits dem was &#34;der kleine Mann&#34; wirklich braucht - aber was hilft´s: Synario kann den XYZ-Chip nicht --&#62; also &#34;volle Packung&#34; &#40;leider&#41;... - vgl. Word6.0 f&uuml;r Windows bekommt eine DOS-Word5.0 Datei nicht geöffnet --&#62; KÄSE!!! hoch drei. <BR> <BR> <BR>

Import-Script
17.03.2004, 11:23
Nachfolgend mal ein kleiner Auszug aus meinem GPIB-Controller &#40;insgesamt 336 Zeilen&#41;. <BR> <BR>Wie w&uuml;rde denn sowas in VHDL aussehen ? <BR> <BR><font face="courier new"> <BR>&#34;&#42;&#42;&#42;&#42;&#42;&#42;&#42;&#42;&#42;&#42;&#42;&#42;&#42;&#42;&#42;&#42;&#42;&#42;&#42;&#42;&#42; CPU-Interface &#42;&#42;&#42;&#42;&#42;&#42;&#42;&#42;&#42;&#42;&#42;&#42;&#42;&#42;&#42;&#42;&#42;&#42;&#42;&#42;&#42;&#42;&#42;&#42;&#42;&#42;&#42;&#42;&#42;&#42;&#42;&#42;&#42; <BR> <BR> AGLITCH = ALE; &#34;anti glitch &#40;5ns&#41; <BR> <BR> ADDR.d = [AD7..AD0]; <BR> ADDR.lh = ALE &amp; AGLITCH &amp; !RD &amp; !WR; <BR> <BR> IEEEDATRW = &#40;ADDR == DATA_ADDR&#41; &amp; IOEN; <BR> IEEESTATRW = &#40;ADDR == STAT_ADDR&#41; &amp; IOEN; <BR> VFDRW = &#40;ADDR == VFD_ADDR&#41; &amp; IOEN; <BR> REVRD = &#40;ADDR == REV_ADDR&#41; &amp; IOEN; <BR> <BR> REV = REVISION; <BR> <BR> DATA = REVRD &amp; REV &#34;Revision <BR> # IEEESTATRW &amp; [STAT7..STAT0] &#34;Status <BR> # IEEEDATRW &amp; [DI7..DI0] &#34;Data <BR> # VFDRW &#34;VFD Busy <BR> &amp; [^b0,^b0,^b0,^b0,^b0,^b0,^b0,VFD_BUSY]; <BR> <BR> DATA.oe = IEEEDATRW &amp; RD <BR> # IEEESTATRW &amp; RD <BR> # VFDRW &amp; RD <BR> # REVRD &amp; RD; &#34;Enable Read-Output <BR></font> <BR> <BR>Peter <BR>

Import-Script
17.03.2004, 12:16
so in etwa... &#40;Auszug aus dem Buch&#41;. <BR><img src="http://progshop.com/elektronik/diskussion/messages/10731/12125.jpg" alt="Verilog"> <BR> <BR>Zu meiner Schande muss ich allerdings gstehen, dass ich auch seit gut 2 Jahren daran herumbastele, um erstmal eine &#34;Boot-Lösung&#34; f&uuml;r diese Megachips zu bauen &#40;die wollen nach Power-on erstmal 2 MBit seriell oder par. irgendwoher sehen&#41;; das Ding ist fertig!!! &#40;mit einem ISP1032&#41; - Ich hab es BOOT-PAC-X getauft, also quasi Ersatz f&uuml;r 2..4 MBit Bitstream via Centronics diesen &#34;Gier-Chips&#34; als Fuse-Matrix-Download anzubieten... &#40;Bootstrap&#41; <BR> <BR><img src="http://progshop.com/elektronik/diskussion/messages/10731/12126.jpg" alt="BootPACX"> <BR> <BR>und dann m&uuml;sste ich das BGA noch verlötet bekommen mit seinen fast 400Pins &#40;Balls&#41; - und dann könnte man sich mal &uuml;ber VERILOG auf 238.000 Gattern unterhalten; macht mit Sicherheit Spass. <BR>Das Ganze mit 200 MHz reine Hardware... <BR> <BR>Gr&uuml;sse von Xilinx... <BR> <BR>ich denke, wir sollten uns mal kurzschliessen; macht Sinn. <BR><a href="mailto:A.Seck@asd-seck.de">A.Seck@asd-seck.de</a> <BR>

Import-Script
17.03.2004, 13:38
Oh Gott, kein Wunder, daß ich da keinen Draht zu VHDL finde. <BR> <BR>Wer soll den in diesem Wust von geschachtelten Schleifen noch den Durchblick behalten ??? <BR> <BR>Das sieht ja fast wie SPS aus, und die sind ja bekanntermaßen sehr um die Ecke zu programmieren. <BR> <BR> <BR>Irgendwie bin ich aber drauf aus, daß in einem CPLD die Sachen alle parallel ablaufen und nicht in Monsterschleifen. <BR>Also mal eine Statemaschine hier, einen Adreßdekoder da, eine Wahrheitstabelle dort, einen Zähler usw. <BR> <BR> <BR> <BR>SRAM-FPGAs sind mir zu umständlich. Ich mag die Coolrunner lieber &#40;JTAG &uuml;ber LPT-Port&#41;. <BR> <BR>Der XCR3128 ist aber oftmals schon am Anschlag aber der XCR3256 ist leider nicht pinkompatibel. <BR>Die original Philips Coolrunner waren da besser. Oder war nur deren Fitter besser ? <BR> <BR>Der Witz war, ich hab mal testweise das Webpack 4 runtergeladen und danach hat er ein Design, was unter Webpack 3 anstandslos lief, nicht mehr gefittet gekriegt. <BR> <BR>Die Xilinx Leute waren auch verbl&uuml;fft, und haben dann mit einem fiesen Trick es doch hingekriegt. Nämlich, indem sie 2 Feedback-NANDs fest definiert haben. <BR> <BR>Aber bei 128 Macrozellen weigere ich mich einfach, manuell zu fitten, d.h. m&uuml;hsam rauszukriegen, welche NANDs ich definieren muß, um ihm auf die Spr&uuml;nge zu helfen. Abgesehen davon sind ja in den Datenblättern gar nicht mehr alle Details aufgelistet. <BR> <BR> <BR>Peter <BR>

Import-Script
17.03.2004, 19:47
@Peter: Beruhige Dich... <BR>Mein Spezi aus der Schweiz, der Neil Franklin hat es auch geschmissen... - kein Bock mehr - und der hat wirklich den Blick gehabt... <BR> <BR>Google mal &#34;Neil Franklin&#34;... gg<IMG SRC="http://progshop.com/elektronik/diskussion/clipart/happy.gif" ALT=":-&#41;" BORDER=0> <BR> <BR>Die Xilinxer haben uns verarscht von hinten bis vorne; wenig Doku, viel Gatter... <BR> <BR>P.S. Lattice ist nicht besser; die gängeln noch an der Festplatten-ID herum von wegen Freischaltung; wehe dem, dem die Platte abraucht und der dann einen &#34;gnädigen PC-Händler&#34; hat, der ihm sofort kostenlos einen Leih-Laptop in die Hand dr&uuml;ckt.. Da läuft nix mehr!!! <BR>Trotz dass der einem auch einen Tape Streamer f&uuml;r den Fall der Fälle verkauft hat. <BR> <BR>Viel Spass bei Lidl und Aldi diesbez&uuml;glich gg<IMG SRC="http://progshop.com/elektronik/diskussion/clipart/happy.gif" ALT=":-&#41;" BORDER=0><img src="http://progshop.com/elektronik/diskussion/clipart/smile.gif" border=0>

Import-Script
17.03.2004, 21:56
Sorry für die späte Antwort, habe erst heute wieder ins Netz geguckt.

Mit "Z.z. den Rücken gekehrt..." meinte ich, dass ich ein MC-Projekt mal auf Eis gelegt habe, um mich in diese neue Materie einzuarbeiten.
Da ich nun eine Ahnung von den Möglichkeiten bekommen habe, spiele ich sehr mit dem Gedanken die Hardware, welche für dieses Projekt vorgesehen war noch einmal umzudesignen, weil das alles mit einem CPLD (und MC) irgendwie eleganter und wesentlich leistungsfähiger wird, als mit einem MC alleine.
Meine kleineren Projekte in VDHL fingen mit einfachen syn. und asyn. Zählern an, weiter mit einfachen Bussystemen, dann bidirektionale Bussyteme, Nutzung der internen Speicher und zuletzt math. "Megafunctions" wie multiplizieren, dividieren, etc. Das habe ich dann simuliert und entsprechernd angepasst, wie ich es haben wollte. Das lief meistens zwar nicht auf Anhieb, aber letzten Endes habe ich es doch, mit ein wenig Hilfe, alles hinbekommen. Viel ist das zwar noch nicht, aber immerhin ein Anfang. Die Praxis ist bisher etwas zu kurz gekommen, das werde ich aber noch ändern.

Zum Programmieren muss ich mir noch einen "ByteBlasterMV" (Altera) bauen und vielleicht noch das Äquivalent von Xilinx. Die Coolrunner wurde ja schon oft empfohlen, ich denke, dass ich damit meine ersten praktischen Gehversuche machen werde.
Ein Problem habe ich im Moment noch für mein Projekt: Ein Rechtecksignal von einem Sensor hat eine Frequenz von ca. 1KHz, welche aber durch Temp. stark schwanken kann. Das Verhältniss zwischen High und Low gibt den Messwert wieder. Es handelt sich um den ADXL202. Der CPLD soll den Messwert ermitteln und als Prozentwert der Periodenlänge ausgeben.
Erster Versuch: Gemessen wird die Zeit zwischen zwei fallenden Flanken (Periode, nur abhängig von der Temp.) und die High-Dauer. Diese wird mit 100 multipliziert und dann durch die gemessene Periodenlänge geteilt. Funktionert zwar, brauch aber bei der geforderten Genauigkeit 319 Makrozellen, definitiv viel zu viel!

Zweite Idee: Man nehme einen (eingebauten) PLL, der die Frequenz des 1KHz-Signals um das 800fache steigert, auf ca 0.8MHz. Nun nehme man dieses Signal und lege es an einen Zähler, der solange zählt, wie das Signal high ist. Die Periodelänge entspräche dem konst. Wert 800, worum sich der PLL kümmert. Eine Änderung um 1g (12.5% der Periodenlänge) hätte also eine Änderung des Wertes um 100 zur Folge. Das liesse sich im MC auch gut verarbeiten. Problem: Bisher habe ich keinen CPLD mit eingebautem PLL gefunden, die gibt es anscheinend nur bei den FPGAs und die brauchen wieder einen externen Speicher. Ich möchte aber auch nicht unbedingt noch einen PLL-Baustein auf die Platine packen, die Schaltung soll möglichst kein bleiben.

Das ist aber nicht die Hauptaufgabe des CPLD, der in erster Linie dazu dienen soll, aus Byte-Werten vom MC Impulse bestimmter Länge zu generieren. Diese Aufgabe konnte ich aber ohne Probleme lösen (zumindest theoretisch).
Es wäre schön, wenn ich die Auswertung der Sensorsignle noch mit integrieren könnte, das würde mir wesentlich mehr Freiheit bei der Gestaltung des MC-Programmes geben (und wäre irgendwie eleganter).

Gruss Henrik

Import-Script
18.03.2004, 00:33
@Henrik: Du machst Dir viel zu viele Gedanken, zuviel Theorie; <BR>319 Makrozellen??? Theoretisch... <BR>Praktisch sag ich Dir; das mal 10 locker, nur u ein &#34;brauchbares Kabel-Interface&#34; erstmal dranzubauen; das sind vielleicht 50 Zeilen Verilog, und damit &#34;futsch-flutsch&#34; 10.000 Gatter weg, 10 I/Os usw.&#41; <BR>und das f&uuml;r 1 kHz??? - da nimm doch einen MC, ggf. einen 683xx, der 68332 hat f&uuml;r sowas eine eigene Unit drin z.B. <BR>FPGAs werden erst interessant, wo andere aufhören; also bei zighundert MHz, wo selbst eine RISC CPU an Grenzen stösst, oder halt eben als &#34;Glue&#34; - so nannte sich das Gattermonster beim Atari zumindest; eben als &#34;ZusammenBAPSCHER&#34; der CPU, Memory usw.. - das ist die Welt der Hardware--&#62;GAL/CPLD/FPGA; nicht selbst CPU zu spielen oder einen DSP zu ersetzen. Klar, geht auch &#40;vgl. Download - CPUs&#41;, aber das ist mehr ein Nebeneffekt; <BR>so zumindest sehe ich das.<img src="http://progshop.com/elektronik/diskussion/clipart/smile.gif" border=0> <BR> <BR>Klar: eine 68.000 CPU hatte etwa 72.000 Gatter &#40;68k&#42;1024&#41; - jo, die packt man mit dazu wenn man &uuml;ber 1/4 MILLION!!! Gatter hat und nach allem Verilogen der Compiler sagt: &#62;&#62;used &#34;35%&#34;&#60;&#60; <BR> <BR>Tu Dir das nur mal rein &#40;still und heimlich&#41; 1/4 Mio TTLs &#40;kleiner Xilinx Spartan 200&#41; <BR>Das ist nicht mehr &#34;spartanisch&#34;!!! <BR> <BR>Wie lange braucht man um bis 1 Million zu zählen? <BR>Stell Dir vor, Du zählst in einer Minute bis 100; eins,zwei,drei usw. - realistisch.. <BR>Das machst Du jeden Tag 8 Stunden lang! <BR>nach 20Tagen paar Stunden bist Du bei einer Million &#34;zählen&#34;!!! - nicht Gatter verbauen!!! - dazu braucht´s auch Ideen; irre!!! - und eine andere Denke!!! <BR>Selbst der kleine 1032 von Lattice &#40;6000 Gatteräquivalente&#41; -- das sind drei Plastikt&uuml;ten voll TTLs -- den hab ich in 1 Woche zugeknallt - RAPID DEVELOPMENT - mal eben so, da 4 Register, ein zwei Latches, paar IOs &#40;bidirektional&#41; - und dann ist das Ding am Ende. <BR>Compiler sagt:&#34;Gl&uuml;ckwunsch zum 1000sten Gatter&#34;; wieder in den Elektronik-Shop gehen, oder gleich bei Reichelt, Conrad, Farnell usw. paar!!! STANGEN!!! ICs nachbestellen...???... <BR>Diese Materie ist schön, geb ich zu, aber &#34;pervers hoch drei&#34;!!!<img src="http://progshop.com/elektronik/diskussion/clipart/uhoh.gif" border=0>

Import-Script
18.03.2004, 09:17
@Henrik, <BR> <BR>das ist eigentlich mehr eine Aufgabe f&uuml;r MCs, z.B. der AT89C2051 hat 2 Timer, einen läßt Du durchlaufen und der andere arbeitet im Gate-Modus, d.h. zählt nur, wenn der Input high ist. <BR>Und fertig ist die Tastverhältnismessung. <BR> <BR>F&uuml;r eine höhere Genauigkeit must Du auch &uuml;ber mehrere Perioden mitteln. Alles, was kein Quarzoszillator ist, zappelt zu sehr. Und ich denke mal, der ADXL202 hat nur einen RC-Oszillator. <BR> <BR> <BR>Aber auch, wenn Du es mit einem CPLD machst, sind 319 Macrozellen weit &uuml;bertrieben, ich w&uuml;rde so auf max 56 schätzen &#40;2&#42; 16 Bit Zähler und ein bischen Steuerlogik&#41;. <BR> <BR> <BR> <BR>@Andreas, <BR> <BR>&#34;und dann ist das Ding am Ende.&#34; <BR> <BR>Das nährt bei mir den Verdacht, daß VHDL wesentlich schlechter zu optimieren ist, als Abel und Konsorten. <BR> <BR>Ich habe z.B. einen Frequenzmesser programmiert. <BR>Der Zähler ist 20 Bit, die Zeitbasis ist 1..256ms wählbar und das Ganze ist ein I2C-Slave, d.h. der MC sendet I2C-Kommandos zum Start der Messung bzw. liest das Ergebnis aus, nachdem das Busy-Bit wieder 0 ist. <BR> <BR>Und das Ganze, jetzt halt Dich fest, sitzt in einem ATV2500 mit nur 48 Macrozellen !!! <BR> <BR> <BR>Peter <BR>

Import-Script
18.03.2004, 13:47
@Peter: Hat nichts mit VHDL zu tun. Das ist erstens einmal ein Problem der Chips selbst, ein CPLD ist nun mal anders von der Struktur her als ein FPGA. Bei ersterem spielt sich fast alles in den Ausgangszellen ab, und das legt dem &#34;Fitter&#34; quasi Handschellen an. Schlimm sind in der Tat die Lattice. Baut man damit z.B. einen Zähler a´la &#34;D-FF mit Inverter clockt nächstes&#34; verbrät man pro Stufe 4 FFs, da die an einem gemeinsamen Clock hängen. Der 1032 hat 96 FFs, aber wenn´s um sowas geht werden da ganz schnell 96/4 draus - 24 Bit Counter und sonst nix, dann ist der dicht. <BR>Designed man das um in Abel, also so z.B. <BR> <BR><!--attachment: C_bcd_r-12154.unk*attachment_icon.gif*application/octet-stream*0.6*Counter*C_bcd_r%2eabl --><center><table border=1><tr><td><img src="http://progshop.com/elektronik/diskussion/icons/attachment_icon.gif" align=left alt="application/octet-stream">Counter<br><a href="http://progshop.com/elektronik/diskussion/messages/10731/C_bcd_r-12154.unk" target="_blank"><b>C_bcd_r.abl</b></a> (0.6 k)</td></tr></table></center><!--/attachment--> <BR> <BR>also auf die herkömmliche Variante, dass alle an gemeinsamem Clock hängen und per Verkn&uuml;pfung ihrer Vorgänger zählen-d&uuml;rfen-oder-nicht, dann geht das. Das Problem hat man bei einem FPGA nicht. Nur; das weiss Verilog nicht, respektive der Fitter sollte es wissen, nicht der Programmierer &#40;will sogar mal sagen &#34;Elektroniker&#34;, der eine Zählerkette braucht&#41;. Soweit d&uuml;rfte der garnicht mit so viel so hart &#40;an der Basis-Wissen&#41; beaufschlagt werden. <BR>Da gibt es noch viel zu tun f&uuml;r die Programmierer der EDA-Software&#40;s&#41;. <BR>Ist halt leider so... <img src="http://progshop.com/elektronik/diskussion/clipart/smile.gif" border=0> <BR> <BR>Ich warte ja auch mal drauf, ob und wie gut sich Pascal auf der 8052CPU macht... Deswegen hab ich das Projekt in Angriff genommen. Ein gebrauchter C64 vom Flohmarkt wäre ja auch gegangen - nun gut, dann in Basic; cést la vie - ich will´s halt wissen, ob, ob nicht, und wie gut usw.

Import-Script
18.03.2004, 17:53
Kann mit den Atmels oder Coolrunner nicht passieren, da kann jede Macrozelle einen eigenen Takt haben. <BR> <BR>Ich bevorzuge aber Synchronzähler, ist ja bei Macrozellen mit T-Eingang auch nicht aufwendiger: <BR> <BR>QA.t = ^b1; <BR>QB.t = QA; <BR>QC.t = QA &amp; QB; <BR>QD.t = QA &amp; QB &amp; QC; <BR> <BR> <BR>Die Atmels will ich aber f&uuml;r zuk&uuml;nftige Projekte nicht mehr einsetzen, da die nicht &uuml;ber JTAG programmierbar sind. <BR> <BR> <BR>Peter <BR>

Import-Script
18.03.2004, 19:21
@Peter: Eben..., und Xilinxe lassen sich so langsam nicht mehr löten &#40;1mm Pitch &#42; 256Pins im Karree´ usw.&#41; - ich weiss auch nicht wie das weitergeht, aber es geht weiter... da beisst die Maus keinen Faden ab, und solange die EDA-Spezies auf allem noch Kopierschutz draufhaben &#40;Flex-LM z.B.&#41; und die Chips schneller abk&uuml;ndigen als man sich einarbeiten kann usw. <BR>Echter Scheiss Job!!! <img src="http://progshop.com/elektronik/diskussion/clipart/smile.gif" border=0> <BR> <BR>- und die Debatten &#34;um den&#34; Cool-Runner so in den letzten 4 Jahren zu verfolgen war auch spassig hoch drei!!! <BR>Hab fast nicht mehr dran geglaubt, dass die den &uuml;berhaupt bauen.. <BR>

Import-Script
19.03.2004, 12:01
&#34;Hab fast nicht mehr dran geglaubt, dass die den &uuml;berhaupt bauen.&#34; <BR> <BR>Ich kann nicht klagen, ich setze sie schon mehrere Jahre ein und hatte nie Lieferschwierigkeiten. <BR> <BR>Soweit ich die Story richtig kenne, hat Philips die Coolrunner an Xilinx abgegeben, aber nach ein paar Jahren hat die Fab nicht mehr weiter f&uuml;r Xilinx arbeiten wollen. <BR>Und da mußten sie die Technologie komplett f&uuml;r ihre Fabs ändern. <BR> <BR>Herausgekommen ist dabei, daß sie nur noch 3,3V können und daß auch weniger Produktterme drin sind, das ist alles. <BR> <BR>Das die 5V-Typen auslaufen, wurde aber langfristig angek&uuml;ndigt, so daß ich beim nächsten Projekt schon mal vorsorglich den 3,3V-Regler vorgesehen hatte. Und die weniger Produktterme hieß dann, daß ich den XC5064 durch den XCR3128 ersetzen mußte, der ja pinkompatibel ist. <BR> <BR>Nur bei einem Gerät mußten wir dann noch nachträglich den 3,3V-Regler ins Layout mit reinpappen. <BR> <BR>Seitdem nun Xilinx die 3,3V-Typen selber fertigt, läuft alles. Und es ist auch nichts zu hören, daß die nicht f&uuml;r Neuentwicklungen empfohlen sind. <BR> <BR> <BR>Selber löten kommt nat&uuml;rlich nicht in Frage bei TQFP-100 im 0,5mm Raster. <BR>Aber ich hab noch ein paar alte PZ5064 im PLCC-44 rumliegen zum spielen. <BR> <BR> <BR>Peter <BR>

Import-Script
21.03.2004, 15:35
Um das mal aufzuklären:
Ohne die Mult. und Div. Schaltungen kriege ich die Sache mit knapp über 10 Makrozellen hin. Ihr habt recht, dass es wohl um einiges sinvoller ist die Rechenarbeit der CPU zu überlassen. Ich habe diesbezüglich mal ausgerechnet wieviel Rechenzeit das brauchen würde und es fällt nicht übermässig ins Gewicht; aber wie bereits gesagt: Das ist nicht die Hauptaufgabe des CPLD.
Den Core des Coolrunner kann man also nur mit 3.3V betreiben, die Ausgangstreiber aber doch sicher mit 4..6 Volt, oder?

Andreas, du hast ja kürzlich von der Verdrahtung eines BGAs gesprochen, wie macht ihr das??? 5 mil Leiterbahnen kann ich mittlerweile gut herstellen, aber so ein Teil bekomme ich nicht mal auf dem Bildschirm verdrahtet. Ein Wie-viel-Ebenen-Board mit was für Leiterbahn-"dicken" braucht man dafür? (Es interessiert mich nur theoretisch, ich habe nicht vor das nachzumachen)
Das mit dem Kopierschutz ist wirklich krass, vorallem bei Altera, sobald ich meine WLAN-Karte rausnehme läuft Quartus nur noch als Trail-Version und mittlerweile bin ich über die 30 Tage hinaus.

Gruss Henrik

Import-Script
21.03.2004, 18:39
Wie kriegen wir das hin??? <BR>Also ein Layoutprogramm, mit dem ein Platinenhersteller etwas anfangen kann ist da schon ein Muss!. Eagle z.B. &#40;aber da nicht eine Demo-Version mit 100Pins - die reichen nicht f&uuml;rs IC... - &#34;unlimited Pins; Eurokarte max; 4 Layer&#34; das reicht. Und dann dicken Geldbeutel: Multilayer ist privat &#40;fast&#41; nicht machbar. <BR>Gibt wieder Haue aus der Schweiz, weiss ich, aber, &#40;also es geht doch! Durchkontaktieranlage bauen, CNC Bohrmaschine, Presse, ..&#41; - das geht nur ins Geld; da hört Hobby auf. <BR>Hartgesottene machen das auch noch auf Raster; zumindest ansatzweise mit viel Geduld und Spucke, aber dann ist echt Schluss mit Basteln. Ein EDA-Tool zu beherrschen bezeichne auch ich nicht mehr als &#34;Basteln&#34; <BR>Sei froh, dass es Dich nur &#34;theoretisch&#34; interessiert... wobei mich dann Deine &#34;praktischen 5mil&#34; allerdings wundern.

Import-Script
21.03.2004, 19:49
&#34;Den Core des Coolrunner kann man also nur mit 3.3V betreiben, die Ausgangstreiber aber doch sicher mit 4..6 Volt, oder?&#34; <BR> <BR>Die Eingänge vertragen 5V, die Ausgänge liefern 3,3V, das reicht also dicke f&uuml;r alles TTL-kompatible &#40;8051, SJA100, SRAMs, 75160 usw.&#41; <BR>Sieht auf dem Scope schon lustig aus so eine &#34;treestate&#34;-Leitung &#40;0V_3,3V_5V&#41;. <BR> <BR>Den TQFP100 habe ich auf 2 Signallayer &#40;Protel&#41;, wobei ich zuerst die Platine gemacht habe und danach die Pins in den Gleichungen zugewiesen habe. <BR> <BR>BGA habe ich noch nicht verwendet, dazu waren meine Gleichungen noch zu klein, um so große CPLDs zu nehmen. <BR> <BR>Auch habe ich oft weit weniger als 50% Pinbelegung, d.h. ich w&uuml;rde zuerst nur die äußeren belegen. <BR> <BR> <BR>@Andreas, <BR> <BR>weißt Du, wie stark die Best&uuml;ckungskosten steigen, wenn man statt TQFP einen BGA nimmt ? <BR> <BR> <BR>Peter <BR>

Import-Script
21.03.2004, 20:42
@Andreas: Was meinst du wie mich das gewundert hat, als so ein 5 mil Platinchen zum ersten mal aus dem Ätzbad kam! Zuerst habe ich gedacht, das es so geworden ist, wie viele zuvor: Mit Auge HUI, mit Lupe PFUIH, mit Messgerät BÄÄH. Aber nein, es hatte alles hingehauen, wie Herr Bungard es gesagt hat. Und das mit recht einfachen Mitteln. Ihr findet ein Foto hier: http://www.mikrocontroller.net/attachment.php/72383/Cut2.jpg
(Leider ist es spiegelverkehrt, das passiert mir irgendwie immer mal)
Jetzt weiss ich warum die Profis für soetwas Reinräume eingerichtet haben. Ich glaube auch nicht, dass es gut ist eine solch dünne Bahn quer über ein Board zu verlegen, aber wenn man mal zwei Bahnen zwischen zwei SMD-Pads durchziehen muss, um ein doppelseitiges Layout zu verhindern, könnte es sich als nützlich erweisen. Es handelt sich um 35um-Bungard Material.

Gruss Henrik

Import-Script
22.03.2004, 10:08
Na aber Hallo; dann kann´s ja losgehen. <BR>Klar ist Staub ein arger Feind; in der Modellbau-Balsa-Schleif-Werkstatt kommt halt das Platinenmachen nicht so gut... <BR>Aber: Gratulation!!! <img src="http://progshop.com/elektronik/diskussion/clipart/smile.gif" border=0>