Altera_Forum
Honored Contributor
14 years agoInterface of FPGA to Microcontroler IRQ, pooling or delay
Hi, all
General question especial to experienced developers regarding CPU - FPGA interface. I Would be very glad to receive any comments or thoughts share. Say, there is some measurement that the FPGA has to perform, This measurement takes no more then 1ms which is 1% of Microprocessor usual task duration. The measurement starts by Microprocessor writing to some write only register implemented in FPGA. After FPGA completes the measurement, the result is written to read only register in FPGA. The question rises, how does Microprocessor know that the measurement is over, and result is valid? There are three main possibilities 1. No indication from FPGA is provided, but the spec defines minimum delay that Microprocessor has to wait after triggering the measurement and before fetching results. 2. Pooling: Some sort of indication - say, another register, that has to be read to check for measurement completion. 3. Interrupt request. How are usually things implemented, is there any legitimacy to choose the first possibility (seems as if it introduces unnecessary coupling...), or maybe pooling is usually preferred to Interrupt request? What would you choose? Any Comments are welcome.