Forum Discussion
Differential DQS MAX10 assignment using DIY altddio_bidir.
Hello, I'm trying to custom drive the DQS pins on a MAX10 FPGA setting their IO standard to all the possible compatible differential IO standards, driving the IO using the altddio_bidir.
Here is the error I get:
Error (176202): The differential I/O standard Differential 1.5-V SSTL cannot be used on the pin DDR3_DQS_p[0], because the specified pin uses a tri-stated output buffer.
Same if I use LVDS_E_3R.
I had no problem with the 'DDR3_CK' differential since it is an output only, but, the DQS needs to be bidirectional.
I can fake it by feeding the altddio_bidir an N&P signal and run the pins in single ended mode, however, when receiving data, the DQS will loose the precision gained by having a differential input buffer.
How can I work around this?
Altera's ALTDQS does a few things behind a hidden door, not to mention some weird timing setup and phase delay not under my strict .sdc control. I have yet to try it as I want the entire DDR bus to appear common where I control the my own PLL's read/write/dqs clocks.
Also, wouldn't specifying the DQS pins into differential still generate the same fitter error?
I'm using a MAX10 and using the official DQS & DQS(n) IO pins.
7 Replies
- BrianHG
Occasional Contributor
I've attempted the 'dummy' software cross feeding a 1 and 0 to the data in H & L of the altddio_bidir to generate 2 outputs, a p&n IO pad. I now get this new error instead:Error (169008): Can't turn on open-drain option for differential I/O pin DDR3_DQS_n[0]I am not sure if this is any closer, but at least the DDR3_DQS_p[0] pins are still labeled as differential and they made it through.Oops, the IO wasn't assigned. I still get the same tri-state error.
- BrianHG
Occasional Contributor
Ok, I tried using 'altiobuf_bidir' which has both differential and bidirectional capability, yet Quartus says:
Error (176202): The differential I/O standard Differential 1.5-V SSTL cannot be used on the pin DDR3_DQS_p[0], because the specified pin uses a tri-stated output buffer.
Even worse, I cannot simulate in ModelSim when using the 'altiobuf_bidir'. It is not a recognized function.
It would seem Altera's Mem-phy seems to access the DQS pins as bidirectional differential I/O standard Differential 1.5-V SSTL fine, but I am at a loss as how to do so directly.
Now I know I can use something like altdq_dqs2, however, it is not compatible with Cyclone IV/III, or others. Their older altdqs doesn't support differential and wont work on newer cyclones and max 10 fpgas.
- yoichiK_altera
Contributor
Hi
Which version of Quartus software are you using to implement altddio_bidir with MAX10 device ?
As far as I see I do not find the altddio_bidir in IP Catalog when I set the device as MAX10.