Hallo, das ist mein Quellcode (s.u.) und ich habe ein Fehler aus dem ich einfach nicht schlau werde. Mein Zähler beginnt richtig zu zählen. Die Werte von q6 und q5 stimmen, die habe ich nach außen geführt und mit dem Oszi überprüft. leider habe ich immer an zyx_enable ein Low-Signal anstehen, egal welchen Ausgang ich belege (eigentlich sollte es q(23) sein aber bei Versuch auf q(10) verbunden). Das Signal zyx_enable wird nur für die Abfrage im if/else Zweig verwendet. Hat jemand eine Idee? Gruß Dominik -- Synchronzaehler xyz Enable Count5: Mcounter generic map ( lpm_width => 24, lpm_hint => speed ) port map ( clock => Clk, updown => '1', q(10) => zyx_enable, q(6) => q6, q(5) => q5, aclr => xyz_count_clr, cnt_en => xyz_count_en ); process (a, Flag7, zyx_enable) begin if (a = '0' and zyx_enable = '0')then XYZEnable <= '1'; elsif ((a = '1') and (Flag7 = '1') )then XYZEnable <= '1'; else XYZEnable <= '0'; end if; end process;
Dein Zähler wird zu früh gecleared, hat ein lo im enable, oder der Reset kommt.
> aclr => xyz_count_clr
Was macht der? Ein asynchroner Reset, richtig?
Wie wird der erzeugt? Sind da evtl. Glitches drauf?
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.