using both edges of clocks in a design - effects on synthesis

Sep 23, 2004 3 Replies

Hi,



I am working on a design where there are different components coded by different people. I am integrating all of these into a single top module.



Different components have transitions on different edges of the clock.For eg: a FIFO in the design waits for the negative edge of the clock whereas another component waits for the positive edge of the clock...



My question is...will it lead to synthesis problems if I make the code work keeping the different clock transitions or should I make all of them(including the subcomponents) transition on the same edge of the clock..


I am synthesizing to Virtex XC2V 4000 FPGA and am planning to download the bitstream and show a working proof



Thanks, Hardware Engineer


Followup to: By author: snipped-for-privacy@gmail.com (hardwareengineer) In newsgroup: comp.arch.fpga

Depends on the FPGA you're synthesizing to. Most current FPGAs can clock any particular register either on the positive edge or on the negative edge, but not both.

I have not had any problems having some elements clock on the positive edge and some on the negative edge, however, and the timing tools seem to deal with it fine as well.

-hpa

Sounds like you had some very poor project management. A top down design phase would have spec'd all the interfaces so that this would not be an issue.

The real question is, did they do their designs knowing the clock phasing of the other components? If a pos edge register feeds a neg edge reg (or vice versa), you will only have half a clock cycle for the signals to run through the logic and routing and meet the setup time of the destination register. Otherwise the synthesis software will do exactly what you want and give you logic clocked on what ever edge you spec.

Rick "rickman" Collins rick.collins@XYarius.com Ignore the reply address. To email me use the above address with the XY removed. Arius - A Signal Processing Solutions Company Specializing in DSP and FPGA design URL http://www.arius.com 4 King Ave 301-682-7772 Voice Frederick, MD 21701-3110 301-682-7666 FAX

I recently received such design too, with a FIFO being clocked on the negative edge and the rest on the positive edge. It synthesizes and works fine, but Quartus says it can't achieve the timing goals, whatever speed you enter. But this is a matter of setting up the timing constaints properly I've been told; still have to check that out.

Jeroen

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required