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.