Tool/software:
Hi Experts,
My customer is using CLB to implement QEP function. Where the Z pulse of QEP is used to trigger HLC interrupt.
However, they found the HLC is not working.
The use case is like:
HLC input3: external Z pulse (As CLB input 5)
HLC program for intput3: mov C0 to R0; INTR5
1. As we run the program, we observe counter0, R0 and the CLB interrupt Tag(Flag inside the CLB module, not peripheal interrupt flag) ,
We found C0 is increasing but R0 remains 0. And the interrupt Tag remains 0. The HLC still has no effect.
2. Then, we checked the input signal. We routed the Z pulse (CLB input 5) to another counter (Counter1), we set up the Counter1 properly so that it can count the Z pulse rising edge.
It turns out that the counter1 is increasing as expected as Z pulse comes. However, the HLC still has no effect.
3. Then, we tried the CLB example ex11 which contains HLC functions, and it works normally.
To conclude, every module in CLB is working properly except for the HLC. There should be some initialization problem in CLB.
My question is that what's special about HLC and does it needs extra care in initilization?
If would be very difficult to use ex11 because the customer use coff and a lot of registers structs. We would like to check the CLB status to see if HLC has been initialized properly. Could you share the key registers for HLC to work properly?