UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

AR# 12506

EXEMPLAR - How do I implement differential signaling (LVDS, LVPECL, etc) for a Virtex-II?

Description

Keywords: LVDS, LVPECL, Virtex-II, IOSTANDARD

Urgency: Standard

General Description:
How do I implement differential signaling for a Virtex-II device?

NOTE: Leonardo Spectrum's PAD attribute cannot be used to pass the constraint.

Solution

1

Below is some very simple VHDL that demonstrates the instantiation of the OBUFDS component with the IOSTANDARD attribute being passed on to the instantiated OBUFDS:

library IEEE;
use IEEE.STD_LOGIC_1164.ALL;

entity differential_signaling is
Port(d0 : in std_logic; --data in to obufds
d1 : in std_logic; --data in to obufds
d0_out : out std_logic;
d0_out_ob : out std_logic;
d1_out_ob : out std_logic;
d1_out : out std_logic);
end differential_signaling;

architecture differential_signaling_arch of differential_signaling is

component OBUFDS
port(I : in std_logic;
O : out std_logic;
OB : out std_logic);
end component;

attribute IOSTANDARD : string;
attribute IOSTANDARD of U0 : label is "LVDS_25";
attribute IOSTANDARD of U1 : label is "LVDS_25";

begin

U0: OBUFDS
port map (I => d0,
O => d0_out,
OB => d0_out_ob);

U1: OBUFDS
port map (I => d1,
O => d1_out,
OB => d1_out_ob);
end architecture;

For more examples on instantiating other I/O components, please refer to the Synthesis and Verification Design Guide at: http://support.xilinx.com/support/software_manuals.htm

2

Below is some very simple Verilog that demonstrates the instantiation of the OBUFDS component with the IOSTANDARD attribute being passed on to the instantiated OBUFDS:

module differential_signaling (d0, d1, d0_out, d0_out_ob, d1_out, d1_out_ob);

input d0 ; //-data in to LVPECL output
input d1 ; //--data in to LVPECL output
output d0_out ;
output d0_out_ob ;
output d1_out_ob ;
output d1_out ;

OBUFDS U0 (.I ( d0), .O ( d0_out), .OB ( d0_out_ob)); //exemplar attribute U0 IOSTANDARD LVDS_25
OBUFDS U1 (.I ( d1), .O ( d1_out), .OB ( d1_out_ob)); //exemplar attribute U1 IOSTANDARD LVDS_25

endmodule

For more examples on instantiating other I/O components, please refer to the Synthesis and Verification Design Guide at: http://support.xilinx.com/support/software_manuals.htm
AR# 12506
Date Created 09/07/2001
Last Updated 04/20/2007
Status Archive
Type General Article