hi, ich bin dabei folgendes Programm zu erstellen. Ich lese einen Takt "a_in" ein. Zudem lese ich von einem BCD Codierschalter eine BCD codierte Zahl ein. Mein Wunsch: Wenn ich 5 auf dem BCD-Codierer habe, soll jeder 5te Takt ausgegeben werden. Umgesetzt habe ich es wie folgt: Die BCD Zahl lese ich binär ein und erzeuge ein Set "set_bcd_e". Ich erzeuge interne Hilfsausgänge "NODE" und bündel diese zu einem Set "set_ctr". Dieses Set soll bei jedem Takt "a_in" hochzählen. Wenn der Zähler "set_ctr" gleich dem BCD "set_bcd_e" ist, soll er den Takt auf den Ausgang "a_out" ausgeben und den Zähler Set "set_ctr" auf 0 zurück setzten und wieder bei neuem anfangen. CODE: MODULE Spurteiler TITLE 'Spurteiler' DECLARATIONS //Inputs a_in PIN 10; bcd_e_3..bcd_e_0 PIN 32..29; //Interne Hilfsausgänge ctr_3..ctr_0 NODE ISTYPE'BUFFER,REG'; //Sets set_ctr = [ctr_3..ctr_0]; set_bcd_e = [bcd_e_3..bcd_e_0]; //Outputs a_out PIN 6 ISTYPE'BUFFER,COM'; EQUATIONS set_ctr.CLK = a_in; set_ctr.D = set_ctr.Q + 1; WHEN(set_ctr == set_bcd_e) THEN { a_out = a_in; set_ctr.D = 0; } END Leider funktioniert mein Code nicht wie gewünscht! Wo ist der Denkfehler? ispLEVER gibt bei Erzeugung der JEDEC-File folgende Warnung: "43006 WARNING: No chip input pins drive data input and clock input of any register" Über jede Hilfe bin ich dankbar! Mit freundlichen Grüßen Michael K.
Hallo, muss ich mein Device im Code definieren?! Das wäre mir neu?! Oder habe ich mit deiner Aussage etwas falsch verstanden? Ich nutze einen ispLSI 1016E von Lattice Semi. MFG
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.