M
Martin Euredjian
Guest
The following code:
module PROBLEM
(
input wire CLK,
input wire [9:0] A,
input wire [9:0] B,
output reg [9:0] OUT
);
wire [9:0] xor2;
XOR2 XOR2_0 (.O(xor2[0]), .I0(A[0]), .I1(B[0]));
XOR2 XOR2_1 (.O(xor2[1]), .I0(A[1]), .I1(B[1]));
XOR2 XOR2_2 (.O(xor2[2]), .I0(A[2]), .I1(B[2]));
XOR2 XOR2_3 (.O(xor2[3]), .I0(A[3]), .I1(B[3]));
XOR2 XOR2_4 (.O(xor2[4]), .I0(A[4]), .I1(B[4]));
XOR2 XOR2_5 (.O(xor2[5]), .I0(A[5]), .I1(B[5]));
XOR2 XOR2_6 (.O(xor2[6]), .I0(A[6]), .I1(B[6]));
XOR2 XOR2_7 (.O(xor2[7]), .I0(A[7]), .I1(B[7]));
XOR2 XOR2_8 (.O(xor2[8]), .I0(A[8]), .I1(B[8]));
XOR2 XOR2_9 (.O(xor2[9]), .I0(A[9]), .I1(B[9]));
always @(posedge CLK) OUT <= xor2;
endmodule
.... produces interesting results. The tools run without a hitch, no error,
and no reports of logic being optimized out. However, if you look at the
end-product in the Floorplanner the LUTs that are supposed to be there are
nowhere to be found. Then, it gets interesting, go over to FPGA Editor and
every bit of logic is there as you would expect. What gives?
This excercise started out as an attempt to build an RLOC'd parameterized
adder. Logic would not show-up in the Floorplanner so, eventually, I
reduced it to just an XOR clocking out to see what was wrong.
Using ISE6.1i, SP1. Device is XC2V1000-FG456
....this is turning out to be one hell of a frustrating week!
--
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Martin Euredjian
To send private email:
0_0_0_0_@pacbell.net
where
"0_0_0_0_" = "martineu"
module PROBLEM
(
input wire CLK,
input wire [9:0] A,
input wire [9:0] B,
output reg [9:0] OUT
);
wire [9:0] xor2;
XOR2 XOR2_0 (.O(xor2[0]), .I0(A[0]), .I1(B[0]));
XOR2 XOR2_1 (.O(xor2[1]), .I0(A[1]), .I1(B[1]));
XOR2 XOR2_2 (.O(xor2[2]), .I0(A[2]), .I1(B[2]));
XOR2 XOR2_3 (.O(xor2[3]), .I0(A[3]), .I1(B[3]));
XOR2 XOR2_4 (.O(xor2[4]), .I0(A[4]), .I1(B[4]));
XOR2 XOR2_5 (.O(xor2[5]), .I0(A[5]), .I1(B[5]));
XOR2 XOR2_6 (.O(xor2[6]), .I0(A[6]), .I1(B[6]));
XOR2 XOR2_7 (.O(xor2[7]), .I0(A[7]), .I1(B[7]));
XOR2 XOR2_8 (.O(xor2[8]), .I0(A[8]), .I1(B[8]));
XOR2 XOR2_9 (.O(xor2[9]), .I0(A[9]), .I1(B[9]));
always @(posedge CLK) OUT <= xor2;
endmodule
.... produces interesting results. The tools run without a hitch, no error,
and no reports of logic being optimized out. However, if you look at the
end-product in the Floorplanner the LUTs that are supposed to be there are
nowhere to be found. Then, it gets interesting, go over to FPGA Editor and
every bit of logic is there as you would expect. What gives?
This excercise started out as an attempt to build an RLOC'd parameterized
adder. Logic would not show-up in the Floorplanner so, eventually, I
reduced it to just an XOR clocking out to see what was wrong.
Using ISE6.1i, SP1. Device is XC2V1000-FG456
....this is turning out to be one hell of a frustrating week!
--
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Martin Euredjian
To send private email:
0_0_0_0_@pacbell.net
where
"0_0_0_0_" = "martineu"