Altera_Forum
Honored Contributor
15 years agoCPLD acting strangely
Hello.
I designed an interface between an FPGA and a CPLD (MAXII) which is not entirely synchronous. The interface consists of 3 lines: Data, Clock and Enable. Each command transfered is 32 bits long, starting with a '0' on the Enable, followed by 32 clocks and ending with a rising edge on the Enable line (the clock is active only when Enable is low). The logic inside the CPLD shifts in the data bits each Clock cycle (while Enable is low), and the command is registered on the rising edge of Enable. The problem I'm facing is this: Each command is doing what it should, but is also affecting the previous commands sent (as if the data is overwritten). Timing simulation (of the CPLD) in Quartus shows that everything is working properly. I probed the inputs with a logic analyzer and everything is looking ok as well. Is it possible that the timing simulation is not showing problems inside the CPLD, although they exist? Since this interface is not entirely synchronous, is it possible that the MAXII series (or Quartus) have problems synthesizing/instantiating this kind of code?