Forum: FPGA, VHDL & Co. ABEL: Zählerprogrammierung mit Ausgabe


von Michael K. (Gast)


Lesenswert?

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.

von HolgerT (Gast)


Lesenswert?

Kein Device definiert!

von Michael K. (Gast)


Lesenswert?

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
Noch kein Account? Hier anmelden.