Using a global clock as an enable for flip-flops and RAMs?

M

mav1101

Hi all,

I've heard that a good rule of thumb is to not to use a global clock as
an enable for flops. I'm currently working with a Xilinx Virtex FPGA
and I'm trying to solve a crossover circuit to interface an internal
module with a Virtex BlockSelect DPRAM. The crossover is needed to
satisfy the RAM appnote requiring a skew between the porta and portb
clocks. I cannot change the interfacing module nor the the opposite
port clock on the DPRAM. The solution that I have consists of doing a
crossover and using one of the clocks as an enable for both the DPRAM
and some of the flops in the crossover circuit. Even though the
solution seems to work in post place and route simulation, I'm getting
warning messages in Xilinx ISE because I'm connecting clocks to
non-clock inputs. Static timing numbers look ok too. Neverthless, I'm
wondering if this a problem (i.e. adding loading to the clock tree)?

Any advice would be greatly appreciated.

Cheers,
 
D

Dave Dean

I've run into this before in a design where I ran the clock through a mux
before sending it to an output pin. Xilinx AR #22997 makes some mention of
the warning. My understanding is that the non-clock pin connection adds a
lot of skew to the overall clock net, but won't actually effect the skew
when considering only the clock pins. So, if youre static timing numbers
look good for registers that are actually clocked by the clock, I think
you're ok.
Any other opinions?
Dave
 

Ask a Question

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

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,766
Messages
2,569,569
Members
45,043
Latest member
CannalabsCBDReview

Latest Threads

Top