Xilinx Virtex-2 Pro MUXCY does not drive local FF

Hi Folks

When creating fast MUXes, I use AND/OR logic (sum of products, SOP) with the CYINIT and MUXCY to implement a 9-input OR within a V2Pro slice.

The Problem is, that the output of the MUXCY is not configured by MAP63 to drive the input of the FF within the same slice. As far as I can see, MAP could use the X/Y output of the slice and reenter the slice using the DX/DY input to use the local FF. But the way it is implemented is the the MUXCY output exits the slice, uses routing (some times up to 1.3 ns) and uses a totally different FF.

--> How can I force MAP6.3 to drive the local FF by the MUXCY output.

Thanks in advance! Stefan

Try this to reproduce:

use the following code with a register afterwards

module logic_or9x1 (I, O); // 1 Bit Wide, 9-Input OR Gate input [0:8] I; output O; wire or_term1, or_term2, or_term3, cout; assign #1 or_term1 = ~(I[0] | I[1] | I[2] | I[3]); assign #1 or_term2 = ~(I[4] | I[5] | I[6] | I[7]); assign #1 or_term3 = I[8]; MUXCY muxcy0 (.DI(1'b1), .CI(or_term3), .S(or_term1), .O(cout)); MUXCY muxcy1 (.DI(1'b1), .CI(cout), .S(or_term2), .O(O)); endmodule

-- Stefan Philipp Universität Heidelberg Electronic Vision(s) Kirchhoff-Institut für Physik Im Neuenheimer Feld 227

69120 Heidelberg Tel.: ++49-6221-54-9897 Fax: ++49-6221-54-9839

-- Das gesamte Universum expandiert, aber trotzdem finden wir keinen Parkplatz!

Reply to
Stefan Philipp
Loading thread data ...

Try using the LO output of the MUXCY_D primitive instead of the O output.

Reply to
Brannon

Thanks but does not work.... Also, using the MUXCY_L primitive does not work. I Also did not succeed with RLOCs - MAP exits the slice via local routing and reenters after quite a long path. But i CAN create a net using the Y/DY path with the FPGA-Editor without DRC warnings, so in principle there is no technical problem.

still trying ... "Brannon" schrieb im Newsbeitrag news: snipped-for-privacy@m7g2000cwm.googlegroups.com...

Reply to
Stefan Philipp

I did have an issue the other day where a syn_hier="hard" in SynplifyPro caused some similar problems for a Spartan3E design. If your register is in the module where your MUXCY is used, the nuance may let the register pack. If you do use directives to keep the synthesizer from optimizing across module boundaries, try manipulating those. I think a "firm" was the only difference I needed.

Reply to
John_H

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.