FPGA, SoC, And CPLD Boards And Kits
FPGA Evaluation and Development Kits
Announcements
Intel Support hours are Monday-Fridays, 8am-5pm PST, except Holidays. Thanks to our community members who provide support during our down time or before we get to your questions. We appreciate you!

Need Forum Guidance? Click here
Search our FPGA Knowledge Articles here.

LVDS and DE0-Nano

Altera_Forum
Honored Contributor II
2,198 Views

Hi, 

 

I need to use LVDS on the NE0-Nano development kit, and I have a questions with respect to how to go about it. 

From what I understand, I have two options: 

 

  1. LVDS megafunction 

  2. Parallel out into a LVDS transmitter chip 

 

 

The problem I am having, is that I would like to use the megafunction but without any input. I would like to configure it so it generates dummy data. This way I can perform some simulations and measurements at the early stage of my project. Once that is working I can add the input and play with some real data. Also, is there another way of using LVDS but not the megafunction? 

 

Any suggestions?
0 Kudos
11 Replies
Altera_Forum
Honored Contributor II
456 Views

Just a short update. 

 

I have managed to get it to work by using differential output buffers. It works fine, but it can only go as fast as the PLL, which for Cyclone IV E speed grade 6 is 472.5MHz. 

 

Next step is to get this going with the ALTLVDS megafunction.
Altera_Forum
Honored Contributor II
456 Views

Cyclone LVDS Megafunctions is just a software SERDES, using DDR registers. You can write equivalent code in your design. 

 

You don't tell the objectives of your project, by the way.
Altera_Forum
Honored Contributor II
456 Views

I ma trying to sue FPGA to drive a TFT screen with an FPGA, which results in 7:1 serialisation ratio. My LVDS bit clock is as high as the PLL 472.5MHz, which is not enough for the 60Hz refresh rate. 

I was hoping megafunction would allow me to get over that obstacle, but I cannot sense the internal clock that achieves the desired data rate of 583Mbps.
Altera_Forum
Honored Contributor II
456 Views

I have managed to write my own SER VHDL code. However, the limiting factor is the PLL frequency. FvM, how can I use the DDR register to doouble the frequency? I tried triggering on either clock edge but Quartus kept complaining and I couldn't compile my design. I would be very grateful if you could point me in the right direction.

Altera_Forum
Honored Contributor II
456 Views

Here's a LVDS receiver example using altddio_in to implement DDR input registers: 

 

chan: FOR I IN 0 TO N_AD_CHAN - 1 GENERATE lvds_rcv : altddio_in GENERIC MAP ( intended_device_family => "Cyclone III", invert_input_clocks => "ON", lpm_type => "altddio_in", power_up_high => "OFF", width => 1 ) PORT MAP ( datain => AD9222_D(I TO I), inclock => fastclock, dataout_h => dataout_h(I DOWNTO I), dataout_l => dataout_l(I DOWNTO I) ); PROCESS (fastclock) BEGIN IF rising_edge(fastclock) THEN lvds_sr(I) <= lvds_sr(I)(9 downto 0) & dataout_l(I) & dataout_h(I); END IF; END PROCESS; PROCESS (slowclock) BEGIN IF reset = '1' THEN lvds_rx(I) <= (others => '0'); ELSIF rising_edge(slowclock) THEN lvds_rx(I) <= lvds_sr(I); END IF; END PROCESS; END GENERATE;
Altera_Forum
Honored Contributor II
456 Views

many thanks for the example, FvM. 

 

I got it working, however the development kit cannot handle the speed and I get a fair amount of interference, which was expected. Anyway, thanks again.
Altera_Forum
Honored Contributor II
456 Views

LVDS is 2.5v but DE0-Nano VCCIO is 3.3v, is fine?

Altera_Forum
Honored Contributor II
456 Views

In theory it shouldn't work but it worked fine with the TFT panel I was using. I think those input stages on some TFT panels are quite forgiving.

Altera_Forum
Honored Contributor II
456 Views

I think problem is not receiver but output buffer of fpga that can not work safely with 3.3v when configured for 2.5v

Altera_Forum
Honored Contributor II
456 Views

There are in fact no differential I/O standard supported for 3.3V VCCIO. "can not work safely" is a different thing.

Altera_Forum
Honored Contributor II
456 Views

I agree, this was more of a hack to be fair. I'm in the process of developing an expansion board for the Nano which will feature hardware LVDS serialisers and sensible connector for the output so I don't have to hack the original panel cable to pieces. 

I also have another dev kit (SoCKit) which features one of those HSMC connectors, I will take a look and check whether any of those differential output pairs are on 2.5V supply.
Reply