Insert trivial SOPs between OLMCs

This commit is contained in:
annoyatron255 2024-05-04 23:34:07 -05:00
parent abdaf710e6
commit ec69cbde5b
No known key found for this signature in database
GPG key ID: 95283811BE4E93F8
2 changed files with 34 additions and 0 deletions

View file

@ -88,6 +88,9 @@ techmap -max_iter 1 -map techmaps/pla_olmc_int.v */t:GAL_SOP %co1 */w:* %i */t:G
iopadmap -bits -outpad GAL_COMB_OUTPUT_P A:Y */t:GAL_SOP "%x:+\[Y\]" */t:GAL_SOP %d o:* %i
techmap -map techmaps/olmc_comb.v
# Add trivial SOPs between directly connected OLMCs
techmap -max_iter 1 -map techmaps/trivial_sop_olmc.v */t:GAL_OLMC %ci1 */w:* %i */t:GAL_SOP %co1 */w:* %i %i %c %co1 %D */t:GAL_OLMC %D
clean -purge
## Write output files

View file

@ -0,0 +1,31 @@
(* techmap_celltype = "GAL_OLMC" *)
module _80_GAL_OLMC (C, E, A, Y);
parameter REGISTERED = 0;
parameter INVERTED = 0;
input C, E, A;
inout Y;
wire int;
generate
GAL_OLMC #(
.REGISTERED(REGISTERED),
.INVERTED(INVERTED)
) _TECHMAP_REPLACE_ (
.C(C),
.E(E),
.A(int),
.Y(Y)
);
GAL_SOP #(
.WIDTH(1),
.DEPTH(1),
.TABLE(10)
) trivial_sop (
.A(A),
.Y(int),
);
endgenerate
endmodule