Probleme bei der Programmierrung

Moderator (Firma: Titel) Persönliche Seite #2562411
Lesenswert?
• ▲
▼
Jochen schrieb:
> nur der höherwertige BCD-Zähler zählt nicht runter???
Wie stellt ihr das fest?


So werden keine Takte erzeugt!
1
if(clk'Event and clk ='1') then
2
  count <= count - 1;
3
  if(count = 0) then
4
     count <= Takte;
5
     clknew <= not clknew;
6
  end if;
7
end if;

Dieser Prozess ist nur auf reset und clk sensitiv:
1
BCD_LOW: process (clk, ci_int, ze_zl, e, vr, ze, reset)
2
begin
3
  if reset='1' then 
4
    ze<="0000";
5
  elsif rising_edge(clk) then
6
    if ze_zl='1' then 
7
    :

Man geht niemals(!!!) mit asynchronen Eingängen in eine FSM (und ein 
Zähler ist eine FSM):
1
ze_zl <= south;
2
zz_zl <= north;
Zum Hintergrund:
http://www.lothar-miller.de/s9y/categories/35-Einsynchronisieren
Da steht dann auch was zum Thema "Asynchroner Reset" (da ist es wieder, 
das Wort), und warum man den nicht nehmen soll, obwohl er so in jedem 
Buch/Script auftaucht.

Ich habe die weitere Suche auch unterlassen, weil ich mir mit einem 
heruntergeladenen *.doc keine Makroviren einfangen will...

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren