Hi Leute mache grade meine ersten Versuche mit HDL Abel und wollte grad mal mit dem XC9572XL nen 4-Bit Counter entwerfen. Die Zustände der einzelnen FF sollen mir zur Kontrolle noch über 4LEDs angezeigt werden. Ganz einfach also. Takteingang: Pin 5 LEDs: Pin 35-38 hier der Code: MODULE test CLK pin 5; ![L0..L3] pin 35, 36, 37, 38; [Q3..Q0] node istype 'reg'; Counter = [Q3..Q0]; EQUATIONS Counter.CLK = CLK; Counter := Counter + 1; [L0..L3] = [Q3..Q0]; END Ergebnis ist: nach dem übertragen macht der XC9572XL zwar irgendwas d.h die LEDs wechseln und blinken wie wild im Takt, aber eben nicht schön (dez)1->2->3->4->5 usw, sondern völlig durcheinander und das auch noch bei steigender und mal bei fallender Flanke (3xso und 1xso dann 2xso usw).....also völliger murx!!! Zudem gibt mir der Compiler folgende freundliche Warnung(!) aus: Synthesizing Unit <Counter>. Related source file is "E:/Xilinx/Projekte/Counter/Counter.vhf". WARNING:Xst:1780 - Signal <Q0_xcQ> is never used or assigned. WARNING:Xst:1780 - Signal <Q1_xcQ> is never used or assigned. WARNING:Xst:1780 - Signal <Q2_xcQ> is never used or assigned. WARNING:Xst:1780 - Signal <Q3_xcQ> is never used or assigned. Unit <Counter> synthesized kann mir jemand erklären was ich falsch mache, oder wo der Fehler liegt... ??? Gruß
Wo kommt dein Taktsignal her? Die CPLD sind exterm empfindlich wenn die Flanken nicht sehr steil sind oder du da eine Reflexion drauf hast. Olaf
hab mir den nächst besten Tiny2313 (Atmel) geschnappt, und einfach nen pin jede Sekunde toggeln lassen. Könnte da etwa schon n Draht von 10cm Länge ohne Abblockkondensator dran schuld sein? Wie könnt ich denn sonst die Flankensteilheit noch erhöhen...???
....neeee oder????? hab grad den besagten Draht gekürzt + 100nF Kondi und siehe da, jetzt läuft alles wie gewollt... Ist die Warnung nun eigentlich von Bedeutung? WARNING:Xst:1780 - Signal <Q0_xcQ> is never used or assigned. Besten Dank... Uwe
Hallo Uwe, wo hast Du den besagten 100nF jetzt angeschlossen ? Ich hoffe an der Betriebsspannung. Wie kann man eigentlich auf die Idee kommen, so ein CPLD ohne Abblock-C zu betreiben ? ;-) Gruß
Ja war etwas unglücklich formuliert, die 100nF zwischen VCC und GND direkt am CPLD. An clk wäre er nicht wirklich dienlich, zwecks Flankensteilheit...:) Hab da noch ne Frage: wie kann ich jetzt eigentlich den Zähler reseten? Uwe
> An clk wäre er nicht wirklich dienlich, zwecks > Flankensteilheit...:) Da waer aber 100R+100pF und besser noch nen Schmitt-Trigger ganz gut wenn dein Clock etwas lahm ist. Ich hab hier gerade nen I2C-Slave in einem XC9636 laufen und kann dir sagen die Dinger sind verdammt schnell. 15cm Kabel munter ueber die Platine und du hast bereits Probleme mit der Flanke wenn man da keinen Aufwand treibt. Olaf
>>Hab da noch ne Frage: wie kann ich jetzt eigentlich den Zähler reseten?
z.B. so:
angenommen ein High an Pin 33 soll den Zähler resetten:
MODULE test
my_reset pin 33;
bei EQUATIONS kannst dann den counter zurücksetzen
counter.ar=my_reset; // .ar steht für asynchrones Reset
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.