Ich soll auf einem PAL ein Schieberegister machen bei dem man Werte laden und die Schieberichtung wächseln kann. Ich habe bis jetzt: "Inputs Clock pin; Enab pin; Load pin; Reset pin; Left pin; SR0 pin; D8..D1 pin; "Outputs SR1..SR8 pin istype 'reg'; Equations [SR1..SR8].CLK = Clock; [SR1..SR8].AR = Reset; [SR1..SR8].OE = Enab; [SR1..SR8] := !Load & [SR0..SR7] # Load & [D1..D8]; Wie bekomme ich die Schieberichtungsumkehr hin? Ich habs schon damit versucht: [SR1..SR8] := !Load & !Left & [SR0..SR7] # Load& !Left & [D1..D8] #Left & [SR7..SR0]; Aber irgendwie habe ich einen Knopf in meiner Lodik. Weis jemand was ich falsch mache? mfg Alex
hi. kenne mich zwar nicht mit pals aus aber normaler weise ist das so einmal so wie du hast: ====================== [SR1..SR8] := !Load & [SR1..SR7] (glaube die 0 sollte ne 1 sein, da du ja sonst 9bit in 8bit schreiben würdest) und das gegenstück wäre so: =========================== [SR1..SR8] := [SR2..SR8] & !Load hoffe das hilft. mfg
SR0 ist der Pin in die die neuen Daten eingespeist werden. Wie du es beschrieben hast, würde gar nichts funktionieren. Es soll ja ein Schieberegister sein. Solange Left low ist, läuft alles wie es soll. Wenn ich aber Left auf high setze, dann springen die Daten einfach nur Symetrisch um das 4. Bit hin und her. Wenn ich also im Zustand : 01100000b die Richtung mit Left = high = 5V ändere, springt die Anzeige im Clocktakt zwischen 01100000b und 00001100b hin und her. mfg Alex
achso ich hatte gedacht das load zum dateneinspeisen ist. tschuldigung. rechts [SR1 bis SR8] := [SR0 bis SR7] links [SR1 bis SR8] := [SR2 bis SR8] & SR0 so wie du das jetzt hast, drehst du das byte ja nur um, srich du spiegelst es immer. versuch mal das. mfg
Danke für deine Hilfe. Ich werd's gleich mal ausprobieren. Ein kleiner Hinweis. Load wird verwendet um neue Daten parallel über [D1..D8] hereinzuladen. Die normalen seriellen Daten werden über SR0 eingelesen. mfg Alex
Hey, sowas such ich auch gerade als fertiges IC! Sowas in einem PAL zu realisieren bin i noch garned draufgekommen.. Leider kenne ich mich mit programmierbarer Logik so gut wie fast nicht aus (ausser ein paar Und und Oder in einem GAL zu proggen). Funktioniert dein PAL-Proggi?
Tag Ich kann erst am Freitag ausprobieren ob's funktioniert. Wenn du schon nach einem fertigen Baustein suchst, dann schau dir mal die 74LSXXX Familie an. Da müsste es sowas geben. Ich hab das Gleiche aber auch schon mit 2 antiparallel veroderten 74LS164 Schieberegistern gemacht. (Lauflicht) mfg Alex
"Ich habs hinbekommen. "Hier ist das fertige Programm. ´MODULE SR TITLE 'Schieberegister' Declarations "Inputs clk pin ; "Clk 1 res pin ; "S4 load pin ;"S2 sr0 pin ;"S1 d8..d1 pin ;"Mausklavier links pin ;"S3 "Outputs sr1..sr8 pin istype 'reg'; Equations [sr1..sr8].clk = clk; [sr1..sr8].ar = res; [sr1..sr7] := !load & !links & [sr0..sr6] # load & !links & [d1..d7] # links & [sr2..sr8]; sr8 := !load & !links & sr7 # load & !links & d8 # links & sr0; END "mfg Sepp
Danke für deinen Beitrag. Du hast mir sehr weitergeholfen. mfg Alex
@Sepp: Könntest du bitte das JEDEC-File posten und den passenden PAL-Typ angeben?
Ich habs bei nem Kumpel gemacht der ein Übungsboard mit einem Mach4 hat. Mit einem 22V10 dürfte es aber auch gehen. Hast du ein Programiergerät? Wie sieht die benötigte Pinbelegung aus? Dass möchte ich schon wissen. Soviel ich weis hat Lattice Demo-Programierprogramme. mfg Sepp
Hallo Sepp! Programmiergerät habe ich (HiLo Systems ALL-07). Pinbelegung ist mir egal - ich richte mich nach dem PAL. Im Vorraus schonmal danke! :-D
Hi Leider ist mein Kumpel jetzt die nächsten paar Wochen auf Urlaub und ich hab keine Möglichkeit das Jed zu erzeugen. Mal eine andere Frage. Wieso erzeugst du dir das JED nicht selbst? Du kannst dir doch selbst den Code einfach kopieren und das JED selbst erzeugen. So lernst du wenigstens mit dem Programiersystem umgehen. Du kannst ja nicht immer erwarten dass dir irgendwer das passende Jed erstellt. Ich denke da vor allem an veränderte Anforderungen. Ich hab mir mal den 22V10 genauer angeschaut. Der hat ausreichent I/O's und das Programm passt auch drauf. Da hast du sogar noch einen Pin für den Enable frei. mfg Sepp
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.