0
Καλή χρονιά σε όλους.
Έχω ένα CPLD XC95108 το οποίο χρησιμοποιώ για decoding όταν ο επεξεργαστής κάνει interrupt request IORQ για επικοινωνία με συσκευές.
Το πρόβλημά μου είναι ότι χάνει ένα clock μέσα στο CPLD μέχρι να καταλάβει ότι έχει γίνει interrupt.
Παρακάτω κομμάτι του VHDL κώδικα που αφορά το συγκεκριμένο πρόβλημα.
IORQ2.pngΚώδικας:process (GENCLK,RESETin) begin if RESETin='0' then IOH<='1'; elsif rising_edge(GENCLK) then IOH <= '1'; --Input - Output Requests if sIORQ='0' and BUSACK='1' then -- we have an interrupt IOH <= '0'; end if; end if; end process;
Με μπλε χρώμα το GENCLK (ίδιο για CPLD και CPU)
Με κίτρινο το sIORQ
Με πράσινο το IOH
Αυτό που συμβαίνει είναι ότι χάνει ένα clock στην αρχή.
Κανονικά θα έπρεπε το sIORQ και το IOH να είναι ίδια (ή τουλάχιστον αυτό θέλω εγώ ).
Όταν χρησιμοποιούσα το 74HC138 δεν υπήρχε φυσικά κανένα πρόβλημα.
Επίσης οποιαδήποτε συμβουλή για να ομαλοποιηθούν τα σήματα ευπρόσδεκτη.
Καμιά ιδέα κανείς;
Χρήστος.