So I've replicated this on two different Arria 10 devices (10AX027 & 10AS066) and if I create a bidirectional pin I cannot get it to output something if set to a 50 Ohm calibrated output.
So: set to 1.8v 50 Ohm uncalibrated, it outputs the expected signal (when the output enable I send to the pin is high, of course).
But: just change uncalibrated to calibrated (with a reference 100 Ohm RZQ pin), and there's no output - just a signal at GND.
Changing the bidirectional ability to just being an output pin, still 50 Ohm calibrated, works fine.
The Handbook appears to show what I'm doing is valid - but it doesn't work...
Apologize that I don’t understand the enquiry. Are you saying that the bidirectional pin in Arria 10, there is no problem in using 50 Ohm uncalibrated On-chip termination (OCT) but there is problem in using 50 Ohm calibrated OCT?
Yes, that's correct.
When set to uncalibrated, the bidirectional pin works correctly.
When set to calibrated, the bidirectional pin does not output anything.
I have checked 4 different pins on a 10AX027H4F35E3SG device, plus 1 pin on the 10AS066 that's on the SoC dev board. All behave in the same way.
Some tests I've done:
- Pin = inout, GPIO IP = Bidirectional, Calibration = On, Result = No output
- Pin = inout, GPIO IP = Bidirectional, Calibration = Off, Result = OK
- Pin = inout, GPIO IP = Output with OE (variable), Calibration = On, Result = No output
- Pin = inout, GPIO IP = Output with OE (fixed to '1'), Calibration = On, Result = No output
- Pin = inout, Simple Verilog code with OE (Variable), Calibration = On, Result = No output
- Pin = inout, Simple Verilog code with OE (Variable), Calibration = Off, Result = OK
- Pin = output, GPIO IP = Output with OE (variable), Calibration = On, Result = OK
Resource Property Viewer shows the correct connections in all cases. It also shows Open Drain = Off.
The "Simple Verilog code with OE" was just this (showing just the appropriate lines of code):
assign m1_c1_dq10 = counter ? counter : 1'bZ;
With the above, calibrated outputs fail, non-calibrated ones work. RPV shows the correct connections (with Open Drain=Off).
My last test was using 18.1. I've not tried since.
This is obviously an issue for us. Will it be fixed in a newer version of Quartus, or is it a hardware issue?
I am assuming that it does not affect Intel's External Memory Interface IP, since that obviously needs calibrated bi-directional pins?