Hallo, Ich habe gerade eine Logikschaltung entworfen, diese überschreitet aber die 50 Bauteile in Pspice. Ich muss jetzt auf ein ROM oder Ram zurückgreifen. Meine Schaltung hat 4 Eingänge und 5 Ausgänge. Im Anhang ist etwas ähnliches glaub ich. Kann ich es so machen ? Ich komme auf eine extreme Tabelle bei meinem Beispiel. Bevor weiter mache, wollt ich Fragen, ob ich auf dem wichtigen Weg bin oder es leichter oder anders gehen würde ? Zusätzlich ist im Anhang eine Excel Wahrheitstabelle, welche meine 4 Eingänge ( a0..a3) und meine Ausgänge ( b0..b4 ) darstellt. Die Wahrheitstabelle habe ich mit dem KV Diagramm aufgelöst, aber wie oben geschrieben benötig eine Logikschaltung zu viele Bauteile. Mfg
Klar, machen ROM Steuerwerke doch genauso. Dateneingänge auf die Adressleitungen legen und an die entsprechende Position das Datenwort mit den an den Ausgängen gesetzten Bits schreiben: Adresse Daten 0x00 0x1E 0x01 0x09 0x01 0x18 0x03 0x15 0x04 0x0A 0x05 0x0B 0x06 0x0D 0x07 0x0F 0x08 0x12 0x09 0x13 0x0A 0x16 0x0B 0x17 0x0C 0x1A 0x0D 0x1B 0x0E 0x1C 0x0F 0x1D
Excel Tabelle? Lad das bitte als reine Textdatei hoch, kaum einer hat Lust 3 Minuten zu warten, bis er mal kurz in deine kleine Tabelle gucken kann. Und ich hab keine Lust mir extra Excel/freie Pendats dafür zu installieren.
Martin Schwaikert schrieb: > Klar, machen ROM Steuerwerke doch genauso. Dateneingänge auf die > > Adressleitungen legen und an die entsprechende Position das Datenwort > > mit den an den Ausgängen gesetzten Bits schreiben: Sorry aber das verstehe ich nicht wirklich Ich habe noch nicht wirklich mit einem ROM gearbeitet Kann ich so machen wie im Anhang von oben bzw. steht ja oben im Anhang Programm EPROM, die Wert 0,0,4,4 usw- gehören auf die Eingänge oder ? Was ist mit den beiden A,A ?
Philipp Hackl schrieb: > Sorry aber das verstehe ich nicht wirklich > Ich habe noch nicht wirklich mit einem ROM gearbeitet Machs nicht komplizierter, als es ist. Deine Tabelle widerspricht erstmal dem hier: Philipp Hackl schrieb: > Meine Schaltung hat 4 Eingänge und 5 Ausgänge. Was soll also in deiner Tabelle Eingang und was soll Ausgang sein? Dann hat Martin doch schon ein Beispiel gemacht. Links stehen die Adressen, deren Binärwert an die Adressleitungen A0 bis A3 (4 Eingänge) gehen. Rechts stehen die gewünschten Ausgangszustände, die du praktischerweise an den Datenleitungen D0 bis D4 (5 Ausgänge) abgreifst. Alles, was du nun tun musst, ist dir eine übersichtliche Tabelle zu machen, wo rechts die Binärwerte der Adressen stehen (z.B. in der Form 0010) und links der gewünschte Zustand der Ausgänge, z.B. 01010. Das ist dann leicht (und vllt. sogar von Excel selber) in die zum Programmieren nötigen Hex Werte umzurechnen. Beim realen Verkabeln denke nun nur noch daran, die unbenutzten Adressleitungen und sowohl /CE als auch /OE auf GND zu legen.
Ok jetzt ist es mir klar, was ihr meint, danke. Ich werde es mal probieren und ich hoffe es funktioniert! Matthias Sch. schrieb: > Beim realen Verkabeln denke nun nur noch daran, die unbenutzten > > Adressleitungen und sowohl /CE als auch /OE auf GND zu legen. ja werde ich machen danke !
Philipp Hackl schrieb: > Bevor weiter mache, wollt ich Fragen, ob ich auf dem wichtigen Weg bin > oder es leichter oder anders gehen würde ? Naja, Du kannst es schon mittels ROM machen und es wird auch funktionieren, sofern die Wahrheitstabelle richtig ist. Aber "heutzutage" macht man sowas programmiertechnisch mittels einem Mikrocontroller oder CPLD und einigen wenigen Zeilen Code. Natürlich muss dafür erst das entsprechende Know-How relativ langwierig erarbeitet/gelernt werden. Aber wenn Du vorhast noch einige Jahre in der Branche zu bleiben, sicherlich eine lohnenswerte Investition.
Es war einmal vor langer Zeit in einer weit, weit entfernten Galaxie.... da hatten wir beim Studium eine DOS Software, ich glaube die dies LogIC oder so ähnlich. Da konnte man eine Textdatei mit einer Logictabelle, oder mit den Gleichungen eingeben und "kompalieren" lassen. Als Ausgebe konnte man da ein TTL Gatter Grab, die Daten für PALs/GAls oder auch den ROM Code für ein Eprom bekommen. Bei Schaltwerken mit FFs wurden dann Datenbits des Eprom auf Adressleitungen zurückgeführt. Sowas muß wohl mal durchaus üblich gewesen sein. Durch die langsammen Eproms war das ganze aber von der Geschwindigkeit kein vergleich mit den PALs.
Johnny B. schrieb: > Aber "heutzutage" macht man sowas programmiertechnisch mittels einem > Mikrocontroller oder CPLD und einigen wenigen Zeilen Code. Hast Du vor dem Schreiben überhaupt mal den Originalbeitrag gelesen? Dort steht: Philipp Hackl schrieb: > Ich habe gerade eine Logikschaltung entworfen, diese überschreitet aber > die 50 Bauteile in Pspice. Offensichtlich geht es also um eine Simulation einer Digitalschaltung in PSpice, die die Grenzen von PSpice sprengt und daher per ROM nachgebaut werden soll. Kannst Du Mikrocontroller bzw. CPLDs in PSpice simulieren? Eben, also scheidet die Lösung aus.
Gregor B. schrieb: > Offensichtlich geht es also um eine Simulation einer Digitalschaltung in > PSpice, die die Grenzen von PSpice sprengt und daher per ROM nachgebaut > werden soll. Das hört sich extrem unrealistisch an. Mit den Gattern von 50 LSI/MSI-ICs kann man PSpice wohl kaum an seine Grenzen bringen.
c-hater schrieb: > Gregor B. schrieb: > >> Offensichtlich geht es also um eine Simulation einer Digitalschaltung in >> PSpice, die die Grenzen von PSpice sprengt und daher per ROM nachgebaut >> werden soll. > > Das hört sich extrem unrealistisch an. Mit den Gattern von 50 > LSI/MSI-ICs kann man PSpice wohl kaum an seine Grenzen bringen. Das Problem ist die Begrenzung der Demo-Version von PSPICE auf kleine Schaltungen. Die Vollversion würde ein paar Tausender kosten. So viel will man halt selten ausgeben.
Helmut S. schrieb: > Das Problem ist die Begrenzung der Demo-Version von PSPICE auf kleine > > Schaltungen. Die Vollversion würde ein paar Tausender kosten. So viel > > will man halt selten ausgeben. ja so ist es. Ich habe gerade probiert das Rom zu beschreiben jedoch klappt es nicht wirklich, hat jemand sowas schon mal gemacht ?
Darfst du das auch mit LTspice machen? Da hättest du kein Problem mit der Schaltplangröße, weil es dort keine Einschränkungen gibt.
Philipp Hackl schrieb: > Ich habe gerade probiert das Rom zu beschreiben jedoch klappt es nicht > wirklich, hat jemand sowas schon mal gemacht ? Deine Fehlerbeschreibung ist wieder mal von nicht zu überbietender Präzision. Was klappt nicht? Der Entwurf oder das "Brennen" eines Eproms/Flash? Matthias hat das doch beschrieben, eine Wiederholung lohnt sich nicht. Mit einem Eprom 27C1001 oder Flash 29F010 kannst du jede statische Logik mit 10 Eingängen und 8 Ausgängen realisieren, indem du schlicht und einfach die Wahrheitstabelle ins ROM schreibst. Wenn du einen Programmer für solche ROMs hast, ist eine passende Software dabei (ein Hex Editor für den ROM-Inhalt). Gruss Reinhard
Helmut S. schrieb: > Darfst du das auch mit LTspice machen? > Da hättest du kein Problem mit der Schaltplangröße, weil es dort keine > Einschränkungen gibt. Erlaubt ist es schon, jedoch: 1. ist dies nur ein kleiner Teil meines Projektes, welches ich alles auf Pspice gemacht habe 2. Habe ich mit LTSPice keine Erfahrung 3. Habe ich leider keine Zeit mehr auf LTspice umzusteigen
Jetzt benötigt er nur noch das PSPICE Model von dem Programmer. Reinhard, es geht hier nur um simulierte Proms :)
Ja schreib doch bitte noch etwas zum Rahmen der Problemstellung dazu. Das Dokument von Dir sah aus wie eine Übungsaufgabe, bei der Du nicht weiterkommst. Später liest man (von Dir?) etwas über eine reale Umsetzung. ROM Steuerwerke sind ein legitimes Mittel und wurden (werden?) gerade in µProzessoren sehr gerne verwendet. Renommiertes Beispiel (mit dem man das auch am besten verstehen kann) ist der Nerdy. Zwar ein uralter 8-bit Zwerg, aber selbst bei so einem Winzling konnte bzw. wollte man das Steuerwerk nicht mehr in Logik auflösen. Die Idee hinter dem ROM Steuerwerk (darauf will ja die Fragestellung des Angabenblattes auch hinaus) ist, dass man Logik "simuliert". Für die nachgeschaltete Elektronik / Logik ist es vollkommen egal, auf welchem Wege die Bitmuster am Eingang gewonnen wurden. Mal als ganz einfaches Beispiel. Nimm einen 2Bit x 2 Bit Speicher. Das ergibt 4 Speicherzellen. Dieser Speicher hat 2 Adress- und 2 Datenleitungen. In diesem steht jetzt folgendes hineingeschrieben: Adresse Wert 00 00 01 01 10 01 11 00 Jetzt legst Du an die beiden Adressleitungen deine beiden Eingangssignale an. Sind A0 und A1 jeweils 0, so wird an der Speicherzelle der Adresse 00 = 0x00 gelesen. Hier steht 00 = 0x00 drinnen und dieser Wert wird auf den Datenbus gelegt (D0-D1). Liegt jetzt an A0 und A1 eine 0 und eine 1 an, wird auf die Adresse 0x01 zugegriffen. Hier steht der Wert 0x01 drinnen und auf den Datenbus gelegt. Jetzt hast Du an D0 eine logische 1 anliegen. Betrachtet man nun Ausgabe und Eingabe in Form einer Wahrheitstabelle, siehst Du, dass damit ein Exklusiv-Oder implementiert wurde. Alles, was Du jetzt machen musst, ist genau das gleiche nur in groß. Du hast halt mehrere Adressleitungen und mehrere Datenleitungen. Für jeden Wert der Ausgabe musst Du an die entsprechende Adresse (= Eingangskombination) deine logischen Ausgänge als Daten hinterlegen. Alle anderen ungenutzten Adressen kann man mit 00 füllen.
Danke für die ausführliche Antwort, jedoch ist mir das alles schon klar und es ist eher ein PSpice Problem. Es geht nur mehr um die Umsetzung. Im Anhang zeige steht was ich meine und im Link ist ein Youtube Video, wo etwas ähnliches gemacht wird. Ich hab es ausprobiert und es löscht mir immer die Tabelle wieder heraus. http://www.youtube.com/watch?v=XhuRpyPX8Pg
Philipp Hackl schrieb: > Ich hab es ausprobiert und es löscht mir immer die Tabelle wieder > heraus. Vielleicht hat nase ja wirklich recht und du brauchst einen Programmer in PSpice... Was hast du denn erstellt? eine Intel-Hex-Datei? Gruss Reinhard
Reinhard Kern schrieb: > Vielleicht hat nase ja wirklich recht und du brauchst einen Programmer > > in PSpice... ich denke nicht... ich habe die Tabelle eingegeben sowie im Video nur ist der unterschied, das es sich dort um keine Demo Version handelt. Außerdem wurde so etwas schon mal bei uns gemacht, jedoch weiß ich nicht wer es gemacht hat... hat jemand von euch ein Pspice Buch? dort müsst ein bsp beschrieben sein
Philipp Hackl schrieb: > dort müsst ein bsp beschrieben sein Ich habe im Internet gesucht nach dem ROM subckt, dort stand im Beispiel die erwähnte Hex-Datei unter FILE=xxx.hex. Ob das eine Demobeschränkung ist wenn man da nichts angeben kann weiss ich allerdings nicht. Finden muss PSpice die Datei natürlich auch. Gruss Reinhard
Problem ist dass die Ausgänge beim EPROM beim Adresswechsel schön glitchen. Für viele Anwendungen kann man das also vergessen.
Reinhard Kern schrieb: > Ich habe im Internet gesucht nach dem ROM subckt, dort stand im Beispiel > > die erwähnte Hex-Datei unter FILE=xxx.hex. Ob das eine Demobeschränkung > > ist wenn man da nichts angeben kann weiss ich allerdings nicht. Finden > > muss PSpice die Datei natürlich auch. danke fürs suchen. Ich kann ja etwas eingeben, jedoch nimmt er die Werte nicht an, was wahrscheinlich auf Grund eines fehlenden "," oder "$" ist.
Philipp Hackl schrieb: > Ich kann ja etwas eingeben, jedoch nimmt er die Werte nicht an, was > wahrscheinlich auf Grund eines fehlenden "," oder "$" ist. So ein totaler Blödsinn, der Dateiname enthält ebensowenig Komma oder Dollar wie das Hex File. Dir scheinen schon die Grundlagen der Grundlagen zu fehlen, dabei wird dein Problem z.B. hier besprochen: http://se.asee.org/proceedings/ASEE2004/P2004052electDIL.pdf Ich empfehle den Umstieg auf Theologie. Gruss Reinhard
Reinhard Kern schrieb: > So ein totaler Blödsinn, der Dateiname enthält ebensowenig Komma oder > Dollar wie das Hex File Hör' auf Dich aufzuregen. Es gibt mehr als eine Möglichkeit, den Inhalt eines ROMs in PSpice zu definieren. Erste Möglichkeit ist ein HEX-File, zweite Möglichkeit ist die Eingabe eines DATA-Felds in der Modell-Datei des Bausteins, vergleiche hier: http://webpages.eng.wayne.edu/cadence/ECE6570/Pspcref.pdf S. 279ff. Und da braucht man das $-Zeichen.
@ Jürgen D. (poster) Die Software hies Log/ic der Fa. Isdata (Karlsruhe). Später wurde aus Log/ic Logic2 (für Windows!) Die schlechte Nachricht: Leider ging die Fa. später in Konkurs. Die gute Nachricht: Die letzte Version von Logic2 ist FREI und KOSTENLOS verfügbar. Weitere Info hier http://www.fh-sw.de/sw/fachb/et/hauptseite/fakultaet/studisoft/ ab Wort: Logiksynthese Download-Link (indirekt) http://www.fh-sw.de/sw/fachb/et/hauptseite/fakultaet/studisoft/logic2.htm Eine Logik-Tabelle zu erstellen in in ein GAL (als Jedec) oder (F)(EP)ROM (als .HEX) zu erzeugen, das geht mit dieser Software Logic2. Beispiel hier: Beitrag "Log/IC 2 - *FUNCTION-TABLE" Wer was ganz "zu Fuß" machen will, hier zur Übung http://ee.hawaii.edu/~sasaki/EE260/truthtable.html Die Syntax von Logic2 wird etwas "gewöhnungsbedürftig", wenn State-Machine machen will, also das Bild state8.gif bei http://www.aqdi.com/state.htm ca. Mitte der Seite) Aber auch das kann Logic2, egal ob für GAL oder EPROM (z.B. 2716, 27256). Z.B. ein Zähler (nicht nur Decoder) der von "0"-"9" oder "0"-"F", der direkt den Segmentcode für 7-Segment-Anzeige erzeugt. Auch mit Steuereingang "vorwärts" / "rückwärts" und "enable" / "disable". Oder eine Ampelsteuerung mit 6 LEDs die direkt in rot-gelb-grün korrekt weiterschalten. Gruss
Gregor B. schrieb: > Und da braucht man das $-Zeichen. Ok, mag sein, obwohl ich das bei einm grösseren ROM nicht gern so machen würde. Aber hauptsächlich finde ich, 25 Posts ohne jeden Fortschritt sind zuviel für so ein einfaches Problem - ROM-Logik konnten schon unsere primitiven Vorfahren im vorigen Jahrhundert. Gruss Reinhard
Mir ist schon klar, das es 2 Möglichkeiten gibt, jedoch ist es mit einem File viel aufwendiger. Kann ja nicht so schwer sein eine kleine Wahrheitstabelle in Data reinzuschrieben.
@Philipp Hackl (Firma: HTL WELS) (hackl4) >Kann ja nicht so schwer sein eine kleine Wahrheitstabelle >in Data reinzuschrieben. Naja, DEINE Tabelle musste wohl schon SELBST erstellen! Mache das einfach nach dem Schema in Beispiel hier: Beitrag "Log/IC 2 - *FUNCTION-TABLE" Also so: ; EINGÄNGE : AUSGÄNGE 0 0 0 0 0 0 - - - 0 0 0 0 1 : 0 0 1 1 1 1 1 1 ; Zulässig für den Bereich der Eingänge (links vom :) sind die Werte "0" , "1" sowie "-" für don't care (unwichtig, egal). Bei den Ausgänge ist nur "0" und "1" zulässig. Wenn die deine Tabelle (widersprichsfrei!) hier reinstellt (als Dateianhang bitte, .txt Format mit Blanks, keine Tabs) so kann ich dir das mit o.g. Logic2 Programm in eine .HEX Datei für ein Eprom (2716, 27256) bringen. 2716: bis 11 Eingänge , 8 Ausgänge 27256: bis zu 15 Eing. , 8 Ausgänge Bei mehr als 8 Ausgängen müssten 2 Eproms (bzw. eines mit 16-Bit-Daten) eingesetzt werden ; dazu bitte erst Rücksprache halten! Gruss
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.