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!