LVDS Spartan3 VHDL

Discussion in 'VHDL' started by HollandProjects@gmail.com, Apr 18, 2008.

  1. Guest

    Hi,

    I have absolutely no experience using LVDS.
    I am unsure how to go about using LVDS.
    I have seen a few examples on the web, but I keep getting errors.

    All I am looking for is a simple sample.

    I don't know if I have to use components
    U1: OBUFDS
    port map (
    I => data_out,
    O => data_out_P,
    OB => data_out_N
    );


    Do I have to add something to the UCF file?
    NET "data_out_P" LOC = "D1" | IOSTANDARD = LVDSEXT_25;
    #"ybus<51>"
    NET "data_out_N" LOC = "D2" | IOSTANDARD = LVDSEXT_25;
    #"ybus<52>"

    Or just use it?
    process(ti_clk)
    begin
    if(rising_edge(ti_clk)) then
    data_out_P <= data_out;
    data_out_N <= not data_out;
    data_out <= not data_out;
    end if;
    end process;

    TIA,
     
    , Apr 18, 2008
    #1
    1. Advertising

  2. Thomas Rouam Guest

    On Apr 18, 4:16 pm, wrote:
    > Hi,
    >
    > I have absolutely no experience using LVDS.
    > I am unsure how to go about using LVDS.
    > I have seen a few examples on the web, but I keep getting errors.
    >
    > All I am looking for is a simple sample.
    >
    > I don't know if I have to use components
    > U1: OBUFDS
    > port map (
    > I => data_out,
    > O => data_out_P,
    > OB => data_out_N
    > );
    >
    > Do I have to add something to the UCF file?
    > NET "data_out_P"      LOC = "D1"  | IOSTANDARD = LVDSEXT_25;
    > #"ybus<51>"
    > NET "data_out_N"      LOC = "D2" | IOSTANDARD = LVDSEXT_25;
    > #"ybus<52>"
    >
    > Or just use it?
    > process(ti_clk)
    > begin
    >         if(rising_edge(ti_clk)) then
    >                 data_out_P <= data_out;
    >                 data_out_N <= not data_out;
    >                 data_out <= not data_out;
    >         end if;
    > end process;
    >
    > TIA,


    Hi,

    LVDS is an electric standard that carries on two distinct wires the
    data you want and its opposite, to make the story short. You have to
    tell ISE to use that IO Standard. Different ways are possible but the
    ucf example you have put is good.
    You do not have access to both signals (_P and _N). The OBUFDS creates
    the differential pair for you. The OBUFDS you have instantiated is the
    way to go. Therefore you just have to drive that data_out signal that
    is feeding the OBUFDS. Never do what you have written below, you'll
    always get error messages.

    Thomas.
     
    Thomas Rouam, Apr 19, 2008
    #2
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. bhb

    lvds signal in a stratix

    bhb, Jul 1, 2003, in forum: VHDL
    Replies:
    0
    Views:
    1,299
  2. spiderman_astig
    Replies:
    3
    Views:
    9,595
    Ray Andraka
    Feb 6, 2004
  3. Riccardo Fregonese

    Need help implementing a proj on SPARTAN3

    Riccardo Fregonese, Dec 2, 2004, in forum: VHDL
    Replies:
    2
    Views:
    714
    Thomas Gebauer
    Jan 3, 2005
  4. bittor

    Configuration Spartan3 1000

    bittor, Jan 3, 2005, in forum: VHDL
    Replies:
    1
    Views:
    563
    Sylvain Munaut
    Jan 3, 2005
  5. Replies:
    1
    Views:
    1,292
    Marco
    Jan 3, 2006
Loading...

Share This Page