Community
cancel
Showing results for 
Search instead for 
Did you mean: 
Lambert
New Contributor I
260 Views

How to implement Emulated LVDS OUTPUT buffers? Who can provide me one example?

Hello everyone,

 Recently, I want to use the Emulated LVDS output on Arria V device. But I have no idea how to implement it ? Just to use Altera_tx IP + ALTIOBUF IP + Output Resistor Network? I have try once using the method, but It has error. Who can provide me one example about Emulated LVDS output buffer ?

 

Best regards,

Lambert

0 Kudos
5 Replies
Rahul_S_Intel1
Employee
45 Views

Hi Lambert,

Kindly find the transcript from the user guide to perform Emulated LVDS OUTPUT buffers .

Emulated LVDS Buffers in Arria V Devices The Arria V device family supports emulated LVDS: • You can use unutilized true LVDS input channels as emulated LVDS output buffers (eTX) for serializa‐ tion factors of 1 and 2. • The emulated differential output buffers support tri-state capability

Lambert
New Contributor I
45 Views

Hi RSree,

I have read that you said "Emulated LVDS Buffers In Arria V Device Handbook " previously. And I tried to use ALTLVDS_TX IP + ALTIOBUF + External resistor network to implement eTX.

Code likes this (one) :

altlvds_tx altlvds_tx_u(.tx_in(a), .tx_inclk(clk), .tx_enalbe(load_en), .tx_out(tx_out));

altiobuf altiobuf_u(.data_in(tx_out), .oe(1'b1), .data_out(tx_out_o));

altiobuf altiobuf_u1(.data_in(tx_out),.oe(1'b1),.data_out(tx_out_n));

assign tx_out_n_o = ~tx_out_n;

SDC like this:

set_instance_assignment -name IO_STANDARD  LVDS_E_3R -to tx_out_o

set_instance_assignment -name IO_STANDARN LVDS_E_3R -to tx_out_n_o

set_location_assignment PIN_A23 -to "tx_out_o"

set_location_assignment PIN_A24 -to "tx_out_n_o" (assuming A23 and A24 for DIFFIO_RX)

this method has error when I compile code.

the code (two):

altlvds_tx altlvds_tx_u(.tx_in(a), .tx_inclk(clk), .tx_enalbe(load_en), .tx_out(tx_out));

altiobuf altiobuf_u(.data_in(tx_out), .oe(1'b1), .data_out(tx_out_o), .data_out_b(tx_out_n_o));

​SDC like this:

set_instance_assignment -name IO_STANDARD  LVDS_E_3R -to tx_out_o

set_location_assignment PIN_A23 -to "tx_out_o"

# set_location_assignment PIN_A24 -to "tx_out_n_o" (assuming A23 and A24 for DIFFIO_RX)

this method has error when I compile code.

the code (three)

altlvds_tx altlvds_tx_u(.tx_in(a), .tx_inclk(clk), .tx_enalbe(load_en), .tx_out(tx_out));

altiobuf altiobuf_u(.data_in(tx_out), .oe(1'b1), .data_out(tx_out_o));

altiobuf altiobuf_u1(.data_in(tx_out),.oe(1'b1),.data_out(tx_out_n));

assign tx_out_n_o = ~tx_out_n;

SDC like this:

# set_instance_assignment -name IO_STANDARD  LVDS_E_3R -to tx_out_o

#set_instance_assignment -name IO_STANDARN LVDS_E_3R -to tx_out_n_o

set_location_assignment PIN_A23 -to "tx_out_o"

set_location_assignment PIN_A24 -to "tx_out_n_o" (assuming A23 and A24 for DIFFIO_RX)

this method has error when I compile code.

So I don't know how to implement it , and I can not find one example and have no idea. I need help to resolve this problem. Can you help me?

 

Thanks,

Lambert

Rahul_S_Intel1
Employee
45 Views

Hi Lambert,

To be frank, I did not done an design with Altera LVDS block and Altiobuff. So I am not in a position to commend on the use case . One more thing I notices is that the file mentioned is SDC file, Can you please assign the above statement in qsf file.

 

 

Lambert
New Contributor I
45 Views

Hi RSree,

I think the problem does not depend on the file of pins assignments, and I think I face some special thing which needs to do when implement Emulated output buffer, if you have one simple case which you implementa the Emulated output buffer, it may give me a hand and let me find the error. Because I have no example to do this thing though I have serched for many files and website. There is less tips in Handbook.

Best regards,

Lambert​

Rahul_S_Intel1
Employee
45 Views

Hi Lambert,

From my side, I do not have any reference design

Reply