mirror of https://github.com/YosysHQ/yosys.git
opt_lut: leave intact LUTs with cascade feeding module outputs.
This commit is contained in:
parent
9eb03d458d
commit
7ec740b7ad
|
@ -225,6 +225,12 @@ struct OptLutWorker
|
|||
|
||||
log("Found %s.%s (cell A) feeding %s.%s (cell B).\n", log_id(module), log_id(lutA), log_id(module), log_id(lutB));
|
||||
|
||||
if (index.query_is_output(lutA->getPort("\\Y")))
|
||||
{
|
||||
log(" Not combining LUTs (cascade connection feeds module output).\n");
|
||||
continue;
|
||||
}
|
||||
|
||||
pool<SigBit> lutA_inputs;
|
||||
pool<SigBit> lutB_inputs;
|
||||
for (auto &bit : lutA_input)
|
||||
|
|
|
@ -0,0 +1,18 @@
|
|||
module $1
|
||||
wire width 4 input 2 \_0_
|
||||
wire output 4 \_1_
|
||||
wire input 3 \_2_
|
||||
wire output 1 \o
|
||||
cell $lut \_3_
|
||||
parameter \LUT 16'0011000000000011
|
||||
parameter \WIDTH 4
|
||||
connect \A { \_0_ [3] \o 2'00 }
|
||||
connect \Y \_1_
|
||||
end
|
||||
cell $lut \_4_
|
||||
parameter \LUT 4'0001
|
||||
parameter \WIDTH 4
|
||||
connect \A { 3'000 \_2_ }
|
||||
connect \Y \o
|
||||
end
|
||||
end
|
|
@ -0,0 +1,2 @@
|
|||
read_ilang opt_lut_port.il
|
||||
select -assert-count 2 t:$lut
|
Loading…
Reference in New Issue