Programmable Devices
CPLDs, FPGAs, SoC FPGAs, Configuration, and Transceivers
21179 Discussions

Why do i get this error when I use lvds?

MinzhiWang
Novice
1,452 Views

Hello guys,

 

My device is 10CX220YF780E5G and the Quartus is QPP23.4. I implemented one channel LVDS receiver in my project. External PLL was checked. After full complilation, I found LVDS module was optimaized away. So I constrained LVDS output data to FPGA output pins. Then I got the following error. Can anyone tell me what blocks me to use lvds? 

Warning (15714): Some pins have incomplete I/O assignments. Refer to the I/O Assignment Warnings report for details
Critical Warning (12677): No exact pin location assignment(s) for 38 pins of 45 total pins. For the list of pins please refer to the I/O Assignment Warnings table in the fitter report
Error (14566): The Fitter cannot place 1 periphery component(s) due to conflicts with existing constraints (1 LVDS_CLOCK_TREE(s)). Fix the errors described in the submessages, and then rerun the Fitter. The Intel FPGA Knowledge Database may also contain articles with information on how to resolve this periphery placement failure. Review the errors and then visit the Knowledge Database at https://www.intel.com/content/www/us/en/support/programmable/kdb-filter.html and search for this specific error message number.
	Error (175020): The Fitter cannot place logic LVDS_CLOCK_TREE that is part of LVDS SERDES Intel FPGA IP LVDS_1Ch6B_RX_altera_lvds_2001_3ymtrna in region (38, 32) to (38, 32), to which it is constrained, because there are no valid locations in the region for logic of this type.
		Info (14596): Information about the failing component(s):
			Info (175028): The LVDS_CLOCK_TREE name(s): u_LVDS_RX_Test|LVDS_1Ch6B_RX_inst|lvds_0|core|arch_inst|default_lvds_clock_tree.lvds_clock_tree_inst
		Error (16234): No legal location could be found out of 2 considered location(s).  Reasons why each location could not be used are summarized below:
			Info (175013): The LVDS_CLOCK_TREE is constrained to the region (38, 32) to (38, 32) due to related logic
				Info (175015): The I/O pad clkin is constrained to the location PIN_AA18 due to: User Location Constraints (PIN_AA18) File: E:/won/CSEP/C10GX_AD9633/src/C10GX_AD9633.vhd Line: 19
				Info (14709): The constrained I/O pad drives a IOPLL, which drives this LVDS_CLOCK_TREE
			Error (175006): There is no routing connectivity between the LVDS_CLOCK_TREE and destination LVDS_CHANNEL
				Info (175027): Destination: LVDS_CHANNEL u_LVDS_RX_Test|LVDS_1Ch6B_RX_inst|lvds_0|core|arch_inst|channels[0].rx_non_dpa.serdes_dpa_inst~CHANNEL
					Info (175015): The I/O pad M10_TO_C10_LVDS_RX is constrained to the location PIN_P3 due to: User Location Constraints (PIN_P3) File: E:/won/CSEP/C10GX_AD9633/src/C10GX_AD9633.vhd Line: 29
						Info (14709): The constrained I/O pad is contained within a pin, which is contained within this LVDS_CHANNEL
				Error (175022): The LVDS_CLOCK_TREE could not be placed in any location to satisfy its connectivity requirements
				Info (175021): The destination LVDS_CHANNEL was placed in location LVDS_CHANNEL containing P3
				Info (175029): 2 locations affected
					Info (175029): LVDSCLOCKTREE_X38_Y32_N4
					Info (175029): LVDSCLOCKTREE_X38_Y32_N5
Error (15307): Cannot apply project assignments to the design due to illegal or conflicting assignments. Refer to the other messages for corrective action.
Error (16297): An error has occurred while trying to initialize the plan stage.
Error: Quartus Prime Fitter was unsuccessful. 7 errors, 2 warnings
	Error: Peak virtual memory: 1397 megabytes
	Error: Processing ended: Mon Jul 29 17:45:25 2024
	Error: Elapsed time: 00:00:09
	Error: System process ID: 12428

 

It seems that I violated some limitation of lvds application. However, I don't know what limitation I have violated.
Labels (1)
0 Kudos
1 Solution
AqidAyman_Intel
Employee
679 Views

Hi,


Yes, I found it in Volume 2, pages 4-18, from the link I provided earlier.

Let me know if you can't find it.


Regards,

Aqid


View solution in original post

0 Kudos
20 Replies
AqidAyman_Intel
Employee
1,234 Views

We sincerely apologize for the inconvenience caused by the delay in addressing your Forum queries. Due to an unexpected back-end issue in our system, your Forum cases, along with others, did not get through as intended. As a result, we have a backlog of cases that we are currently working through one by one.

Please be assured that we are doing everything we can to resolve this issue as quickly as possible. However, this process will take some time, and we kindly ask for your patience and understanding during this period. The cases will be attended by AE shortly.

We appreciate your patience and understanding, and we are committed to providing you with the best support possible.

Thank you for your understanding.


0 Kudos
AqidAyman_Intel
Employee
1,190 Views

Hello,


Can you try to change the pin assigned for the dedicated clock input to be in the same bank as the LVDS channel pin?

Kindly confirm back if this suggestion is working or not.


Thanks.


0 Kudos
MinzhiWang
Novice
1,186 Views

Hello Aqid,

 

Thanks for you reply this post.

 

This issue happened just as I made one simple project for LVDS test and trying. Now we try internal PLL, instead of external PLL, the LVDS function looks fine.

 

As you mentioned to try clock input, as following images, we already try this to receiver external ADC output.

1.jpg2.jpg

3.jpg

However, here i have another question about LVDS need you help. Which is of LVDS constrain. We know that LVDS needs input termination and with the value of "Differential", as above image. We applied this constrain for ADC output pairs. They run well.

 

So we have another type  LVDS pairs input, which are not from external ADC chips. They come from comparator devices output. FPGA use differential I/O pairs to receiver them. When we apply same constrain as ADC output pairs, they can't run well. The comparator output run as pulse signal, we can use Signaltap to monitor its signal quality. It's very bad under this constrain.

 

But they can run well when On-Chip Termination for Transceiver Rx pin (with 100 ohms value)constrains were applied to them. My question is what's the different between them?

3.jpg

 

 

0 Kudos
AqidAyman_Intel
Employee
1,091 Views

If transceiver termination settings are applied to GPIO pins configured as LVDS, the assignment should be ignored. Check the fitter reports to confirm. There should be an ignored assignments (or I/O assignment warnings) report, and you can look at the input pins report to see which, if any, input termination is used.


Assuming the assignment is ignored and there is no input termination on the LVDS pins used for the comparator, then my guess is the signal has a low voltage swing. When termination is enabled, it will reduce the voltage swing, so if the swing is already low, enabling termination may reduce the VID too much for the receiver to operate properly. 


0 Kudos
MinzhiWang
Novice
1,079 Views

Hi Aqid,

 

Yes, you're right. The tranceiver termination settings are ignored.

 

If this is the case, the differential pairs interconnection have no termination configurations. How to ensure the circuit run well?

 

I check C10GX datasheet, lvds vid only have min requirement as 100mV. So I have the the external input signal swing range. The comparator output doesn't drive to FPGA directly. Compartors otuput drive OR gate firstly, then OR gates outputs drive to FPGA's lvds receivers. The OR gates otuput signals are CML pairs. We use DC coupling, so they connected directly. The OR gate output signal swing is much higher enough than FPGA lvds VID requirement, 100mV, as following imgae:

11.png

The OR gate output signal was measured as following,

12.png

So we think we may apply fpga interanl termination for lvds receiver.

0 Kudos
AqidAyman_Intel
Employee
1,018 Views

What is the significance of the blue trace in the scope shot? 

 

Although we agree the Vid min is satisfied, we can’t tell the common mode voltage of the differential signal. It must also be in the supported common mode range of the Cyclone 10 GX LVDS receiver. There is mention of Voh on the CML datasheet indicating it is near VCC which is either 2.5V or 3.3V, so this is above our common mode range.

 

image003.png

0 Kudos
MinzhiWang
Novice
995 Views

Hi,

 

1. The bottom blue line signal is just of the oscilloscope's reference to trace the object pulse.

 

2. You're right, I check the hardware again. The connection between OR gate's CML output and FPGA lvds receiver input under AC coupling. In this case, we still have above issue. That's we can't enable the on-chip termination.

 

Do we nned other extra outside pull-up and/or pull-down resistors?

 

Thanks

0 Kudos
AqidAyman_Intel
Employee
1,017 Views

I also agree differential termination should be used, but it is up to you to figure out what is stable for your system. If you don’t use on-chip termination and it is working okay on this board, I can understand you may have concern for building a larger volume of boards and it continuing to be stable. It “should” work with on-chip differential termination.

 

Technically, the general purpose I/O pins do not support CML, that is typically a standard used with the transceivers with AC coupling.


0 Kudos
AqidAyman_Intel
Employee
949 Views

Hello,


Okay, if it’s AC coupled, then it will need DC restoration resistors on the board. The GPIO and dedicated clock pins in our devices do not have DC biasing capability and require external circuitry when AC coupling. The transceivers have the required termination and biasing circuits to support AC coupling.


Here is an example from the Cyclone 10 GX Handbook that shows AC coupling with the DC restoration circuit. VICM can be set with a voltage divider or power supply, typical values used by customers is 1.2V or 1.25V. Then the two 50 Ohm resistors serve as the DC bias connection and 100 Ohm differential termination:

https://www.intel.com/content/www/us/en/docs/programmable/683775/current/lvpecl-termination.html


Thanks.


0 Kudos
MinzhiWang
Novice
942 Views

Hi Aqid,

 

Thanks for you info above. There are two things which need to confirm with you.

 

1.  Your provided example is of external LVPECL drives FPGA LVPECL I/O. You know, our case is of external CML drives FPGA LVDS I/O. Can we use the same structure of the example in our case?

 

2. If item 1's answer is "Yes". According to your comments "Then the two 50 Ohm resistors serve as the DC bias connection and 100 Ohm differential termination", after using this structure, the LVDS receiver's inside differential OCT should not need to be used any more?

 

Thanks

0 Kudos
AqidAyman_Intel
Employee
842 Views

Hi,


  1. Yes, the example for LVPECL is applicable to any AC coupled interface to the GPIO and dedicated clock input pins. This is just one circuit example, there are other ways to do it. Some customers use a 5 resistor solution which has a pull up and pull down on each of the p and n legs, then a 100 Ohm differential termination. You can find that example in the Stratix II handbook. The example from the Cyclone 10 GX handbook is an implied 4 resistor solution where Vicm is created with a voltage divider. If you happen to have a 1.2V or 1.25V supply on the board, you wouldn’t need the voltage divider resistors and then it would just be a 2 resistor solution (the two 50 Ohm resistors).
  2. Correct, when implementing these external biasing schemes, you would not use on-chip differential termination.


Hope this info helps to clarify you. Thanks.


0 Kudos
MinzhiWang
Novice
835 Views

Hello Aqid,

 

Thanks for you information.

 

Can you give me the link for Stratix II? I have Stratix II device datasheet long time ago. I checked this datasheet, however, I couldn't fine the similar information as your above link of Cyclone 10 GX device.

 

Thnaks

 

Best Regard

0 Kudos
MinzhiWang
Novice
811 Views

Hi Aqid,

 

I have this datasheet in my computer, however, I can't find the example as Cyclone 10 GX which you provided previously. As following image:

11.png

 

Are sure  the similar examples can be found in Stratix II datasheet?

 

Thanks 

 

Best Regard

0 Kudos
FvM
Honored Contributor I
794 Views

Hi,

would you mind to specify the actual problem clearly? As far as I understand it's about CML received by Cyclone 10 GX? Do you need DC coupling (input signal is not DC-free, e.g. unencoded data stream) or not? What's the signal source, CML level specifications of devices are slightly different.

 

Whats's the relation to Stratix II?

0 Kudos
MinzhiWang
Novice
740 Views

Hi FvM,

 

Thanks for you follow this post.

 

1. The primary problem of this post is that I can't apply "on-chip differential termination" constrain for my LVDS receiver. Becasue the receiver output signal will be distorted. The input CML signal is received by FPGA's LVDS receiver. It's single bit pulse signal. We need  this pulse signal in our following logic design. This pulse signal will be hided in mass noise when "n-chip differential termination" constrain is used. So we went to use tranceiver Rx pin constrain. And the pulse could be recognized after that. But Aqid told me that this constrain should be ignored by Quartus. He's right, we have check the compilation report carefuly. So in this case, we could recognize this pulse without any on-chip constrain.

 

2. The CML differential signal outputed from OR gate logic chip. So it should be of data stream. This sinlge bit signal just gather random pulse signal. FPGA logic need to receive and reconize it correctly.

 

3. Our hardware engineer have already reserved AC/DC coupling and outside pull up/down resistor options. We can switch to select what option we want.

 

4. If outside AC coupling used, Aqid give me above examples of LVPECL TO LVPECL in Cyclone 10 GX. And also he said if I want to refer similar example of LVDS receiver, i can check and refer from Stratix II datasheet. Unfortunately, i can't fine this kind of example from Stratix II datasheet.

 

That's all of my problem. I hope that i explain clearly.

 

Thanks

 

Best Regard

0 Kudos
AqidAyman_Intel
Employee
680 Views

Hi,


Yes, I found it in Volume 2, pages 4-18, from the link I provided earlier.

Let me know if you can't find it.


Regards,

Aqid


0 Kudos
MinzhiWang
Novice
668 Views

Hi Aqid,

 

Sorry, I mis-understand you, I expected to search the example of LVDS. Now I get the LVPECL AC coupling termination example from Stratix II datasheet.

 

Thanks 

Best Regard

0 Kudos
AqidAyman_Intel
Employee
623 Views

Hello,


No worries. I'm glad you found it.


Regards,

Aqid


0 Kudos
AqidAyman_Intel
Employee
371 Views

I hope the previous response was sufficient to help you proceed. As we do not receive any response from you on the previous question/reply/answer that we have provided. Please login to ‘https://supporttickets.intel.com/s/?language=en_US’, view details of the desire request, and post a feed/response within the next 15 days to allow me to continue to support you. After 15 days, this thread will be transitioned to community support. The community users will be able to help you on your follow-up questions.


0 Kudos
Reply