Forum Discussion
MAX10 FPGA Pin Assignments for LVDS signals input and outputs
- 7 years ago
Hi Nanjunda,
I tried to replicate scenario & I observed the below results,please try to implement same at your end & if you have any different issue,let me know,
please find the below link & attachments,
https://www.intel.com/content/www/us/en/programmable/documentation/sam1394433606063.html#sam1394435423058
Regards,
Vikas
Hi,
The issue is due to the limited number of pins for each bank in the E144 package of Max10 device you're using, each bank can be assigned only a single IO Voltage standard as well as IO Standard.
Since you've assigned Bank2 as 3.3V LVCMOS and LVDS IO Standard, the IO Buffers in the device for Bank2 are configured as LVDS IO buffers. These can accept single-ended signals as inputs but cannot output single-ended signals.
The error message says whats wrong:
Error (169027): Pin Extr1 is incompatible with I/O bank 2. Pin uses I/O standard 3.3-V LVCMOS, which has a VCCIO requirement incompatible with that bank's VCCIO setting or other pins that use I/O standard LVDS.
If you look at your pin-outs, the other single-ended signal in the same bank (Bank2) is an input, along with two LVDS input clocks. So this is okay. But when you assign output signal which is single-ended to the same LVDS bank, the IO buffer cannot drive the same as single-ended.
What you need to do is to assign any single-ended output signals in your design to other banks that are configured as 3.3V LVCMOS and non-differential. Assigning the same EXTR1 output to IO Bank 1B just above Bank2 solves the issue and the compile goes through.
These are the limitations when working with different IO voltages and standards on FPGA devices that you have to keep in mind when assigning pins. Please read the IO documentation before making any pin assignments.
- NM87 years ago
New Contributor
Hi Abe,
"Since you've assigned Bank2 as 3.3V LVCMOS and LVDS IO Standard, the IO Buffers in the device for Bank2 are configured as LVDS IO buffers. These can accept single-ended signals as inputs but cannot output single-ended signals."
- Does it mean that I do not have to give a 2.5V supply for the LVDS signals (i.e. to VCCIO).
Am I correct to understand that I can implement any LVDS signals in 3.3V bank but with limitation as no 3.3V single ended output signals are allowed in that bank.
If above statement is right, what would be the common mode voltage of the LVDS signals(from 3.3V bank voltage)?
As per the datasheet, the LVDS signals are defined only with VCCIO=2.5V in the table.
Thanks & Regards,
Nanjunda M
- NM87 years ago
New Contributor
Hi
Does anyone tell me whether my above statement is correct or wrong?
Thanks & Regards,
Nanjunda M
- Abe7 years ago
Frequent Contributor
Well, I wouldn't suggest you use 3.3V for LVDS . When using LVDS you will have to check the operating voltage / current of the device on the other side (Tx/ Rx) and match the IO standard to that on the FPGA. Ideally, LVDS would be 2.5V and lower as its a Low-Voltage Signalling standard and 3.3V is not considered low-voltage.
My suggestion is to go with 2.5V for LVDS as most LVDS based devices would be operating at this voltage level. But as mentioned above, always check the data sheet of the other LVDS components and then set your IO standard, Slew Rate, etc.
- NM87 years ago
New Contributor
Well, I understand your point.
But If I use the VCCO as 3.3V and connect the LVDS signals and assign them as LVDS 2.5V in Quartus, what exactly the output voltage would be (on LVDS signal) ?
Has anyone tried this ? How exactly the FPGA is going to behave with this?
Thanks & Regards,
Nanjunda M