Gast
#1955081
Hallo zusammen, hab von Lattice VHDL-Code für ein SPI-Modul genommen und an einigen Stellen für meine Anwendung angepasst. Beim Simulieren entsteht an einer Stelle ein Verhalten, dass ich nicht verstehe. Ich habe nur sehr wenig Erfahrung in VHDL-Programmierung. Vielleicht sieht jemand von euch sofort, was falsch ist und kann mir einen Hinweis geben. Im angehängten Code in der Zeile 457 wird bei der Bedungung elsif((tx_flag1 = '1') and (n_status = ST_TURNAROUND)) then das Signal tx_flag1 zurückgesetzt. In der Simulation tritt das Rücksetzen aber nicht ein, obwohl man an dem Signalverlauf (siehe Bild)klar sieht, dass die Bedingung eintritt. Kurz vor der positiven Taktflanke (wo der rote Cursor steht) ist Signal tx_flag1 = 1 und n_status = 4 (4 entspricht ST_TURNAROUND, wie aus dem Code ersichtlich). Ich würde also erwarten, dass mit der nächsten steig. Flanke nach Cursor das Signal tx_flag1 auf '0' geht, was aber nicht passiert! Wo ist der Grund für so ein Verhalten? Ich simuliere mit Active-HDL 8.2. Wäre für Hinweise dankbar!
