FPGA Central - World's 1st FPGA / CPLD Portal

FPGA Central

World's 1st FPGA Portal

 

Go Back   FPGA Groups > NewsGroup > FPGA

FPGA comp.arch.fpga newsgroup (usenet)

Reply
 
LinkBack Thread Tools Display Modes
  #1 (permalink)  
Old 08-26-2008, 11:38 PM
Paul Boven
Guest
 
Posts: n/a
Default Side-BUFG, BRAMS and clock routing

Hi everyone,

I've built a small project on the XC3SD1800A kit that receives ethernet
frames and displays their content as a 256x256 4-bit greyscale image via
its VGA port. This uses 16 BRAMS (inferred) as video-ram.

At first the image that got displayed was full of distortions. I also
had hold-time violations of more than 8ns to the address lines of some
of the BRAMs. After much research I learned that the vga_clk on this
particular Xilinx dev-kit is connected to a pin (P26) that goes to a
side-bufg (BUFGMUX_X3Y8) at the right-hand side of the die, which can
only use the global clock resources of the right-hand side of the chip.

So, I've added this constraint to my UCF:

INST "Mram_vram*" LOC=RAMB16_X2Y*,RAMB16_X3Y*;

And then the other shoe dropped: I'm using the video-ram as dual-port
ram: the other clock is the eth_rx_clk which comes from pin P1, which is
a left side clock pin. So I end up with error Place:1018 "A clock
IOB/clock component pair have been found that are not placed at an
optimal clock IOB/clock site pair".
I've used the CLOCK_DEDICATED_ROUTE = FALSE setting to get things to
compile, but I get a big warning about this being not recommended at all.

As this kit comes with a PCB and everything already soldered in place I
can't change these pin assignments. Are there any recommended ways to
improve timing in such a situation?

Regards, Paul Boven.
Reply With Quote
  #2 (permalink)  
Old 08-26-2008, 11:52 PM
Brian Drummond
Guest
 
Posts: n/a
Default Re: Side-BUFG, BRAMS and clock routing

On Tue, 26 Aug 2008 23:38:00 +0200, Paul Boven <[email protected]>
wrote:

>Hi everyone,
>
>I've built a small project on the XC3SD1800A kit that receives ethernet
>frames and displays their content as a 256x256 4-bit greyscale image via
>its VGA port. This uses 16 BRAMS (inferred) as video-ram.
>
>At first the image that got displayed was full of distortions. I also
>had hold-time violations of more than 8ns to the address lines of some
>of the BRAMs. After much research I learned that the vga_clk on this
>particular Xilinx dev-kit is connected to a pin (P26) that goes to a
>side-bufg (BUFGMUX_X3Y8) at the right-hand side of the die, which can
>only use the global clock resources of the right-hand side of the chip.
>
>So, I've added this constraint to my UCF:
>
>INST "Mram_vram*" LOC=RAMB16_X2Y*,RAMB16_X3Y*;
>
>And then the other shoe dropped: I'm using the video-ram as dual-port
>ram: the other clock is the eth_rx_clk which comes from pin P1, which is
>a left side clock pin. So I end up with error Place:1018 "A clock
>IOB/clock component pair have been found that are not placed at an
>optimal clock IOB/clock site pair".
>I've used the CLOCK_DEDICATED_ROUTE = FALSE setting to get things to
>compile, but I get a big warning about this being not recommended at all.
>
>As this kit comes with a PCB and everything already soldered in place I
>can't change these pin assignments. Are there any recommended ways to
>improve timing in such a situation?


Derive a third clock from one of these two, in a DCM, which can use
globally routable resources?

- Brian


Reply With Quote
  #3 (permalink)  
Old 08-27-2008, 07:57 AM
Paul Boven
Guest
 
Posts: n/a
Default Re: Side-BUFG, BRAMS and clock routing

Hi Brian, everyone,

Brian Drummond wrote:
> On Tue, 26 Aug 2008 23:38:00 +0200, Paul Boven <[email protected]>
>> [ clocking a dual-port BRAM from a left and right side bufg ]
>> As this kit comes with a PCB and everything already soldered in place I
>> can't change these pin assignments. Are there any recommended ways to
>> improve timing in such a situation?

>
> Derive a third clock from one of these two, in a DCM, which can use
> globally routable resources?


Ah thanks - that's a very simple solution, and as I have plenty of clock
resources left, should just work. As the vga_clk is only driving the VGA
outputs there's no need for a fixed (or even known) phase offset between
the crystal and the actual pixel clock, so that's the one I'll try to
run through a DCM this evening.

Regards, Paul Boven.
Reply With Quote
Reply

Bookmarks

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
what is the difference between system side XAUI and line side XAUI? [email protected] FPGA 0 12-29-2007 08:11 AM
Xilinx Routing & Clock/Data Skew Brendan Illingworth FPGA 0 01-10-2006 06:24 PM
Clock routing [email protected] FPGA 1 10-10-2005 04:01 PM
regarding clock routing praveen FPGA 5 11-21-2003 02:38 PM


All times are GMT +1. The time now is 02:30 AM.


Powered by vBulletin® Version 3.8.0
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.2.0
Copyright 2008 @ FPGA Central. All rights reserved