graph TD en-->vdc2[VdC<2>] en-->circle3[Circle<3>] vdc2-->|cosphi|sqrt[cordic_sqrt] sqrt-->|sinphi|mul_x sqrt-->|sinphi|mul_y circle3-->|cosฮธ|cx circle3-->|sinฮธ|cy cx-->mul_x cy-->mul_y mul_x-->x mul_y-->y vdc2-->z style en fill:#e3f2fd,stroke:#1565c0,stroke-width:3px style vdc2 fill:#fff9c4,stroke:#f57f17,stroke-width:3px style circle3 fill:#fff9c4,stroke:#f57f17,stroke-width:3px style sqrt fill:#fff9c4,stroke:#f57f17,stroke-width:3px style mul_x fill:#fff9c4,stroke:#f57f17,stroke-width:3px style mul_y fill:#fff9c4,stroke:#f57f17,stroke-width:3px style cx fill:#fff9c4,stroke:#f57f17,stroke-width:3px style cy fill:#fff9c4,stroke:#f57f17,stroke-width:3px style x fill:#ffccbc,stroke:#bf360c,stroke-width:3px style y fill:#ffccbc,stroke:#bf360c,stroke-width:3px style z fill:#ffccbc,stroke:#bf360c,stroke-width:3px
graph TD en-->vdc7[VdC<7> + F2โปยน LUT] en-->sphere[Sphere<2,3>] vdc7-->cordic[CORDIC] cordic-->|sinxi|mul cordic-->|cosxi|w sphere-->|sx,sy,sz|mul mul-->xyz["x, y, z"] style en fill:#e3f2fd,stroke:#1565c0,stroke-width:3px style vdc7 fill:#fff9c4,stroke:#f57f17,stroke-width:3px style sphere fill:#fff9c4,stroke:#f57f17,stroke-width:3px style cordic fill:#fff9c4,stroke:#f57f17,stroke-width:3px style mul fill:#fff9c4,stroke:#f57f17,stroke-width:3px style w fill:#ffccbc,stroke:#bf360c,stroke-width:3px style xyz fill:#ffccbc,stroke:#bf360c,stroke-width:3px
graph TD subgraph "Hierarchical ABC" RTL1[RTL]-->coarse1[synth -noabc] coarse1-->dff1[dfflibmap] dff1-->abc1["abc (8 modules separately)"] abc1-->out1["153,154 cells"] end style RTL1 fill:#e3f2fd,stroke:#1565c0,stroke-width:3px style coarse1 fill:#fff9c4,stroke:#f57f17,stroke-width:3px style dff1 fill:#fff9c4,stroke:#f57f17,stroke-width:3px style abc1 fill:#fff9c4,stroke:#f57f17,stroke-width:3px style out1 fill:#ffccbc,stroke:#bf360c,stroke-width:3px
graph TD subgraph "Flat ABC" RTL2[RTL]-->coarse2[synth -noabc] coarse2-->flat["flatten"] flat-->dff2[dfflibmap] dff2-->abc2["abc (1 flat module)"] abc2-->out2["159,111 cells"] end style RTL2 fill:#e3f2fd,stroke:#1565c0,stroke-width:3px style coarse2 fill:#fff9c4,stroke:#f57f17,stroke-width:3px style flat fill:#fff9c4,stroke:#f57f17,stroke-width:3px style dff2 fill:#fff9c4,stroke:#f57f17,stroke-width:3px style abc2 fill:#fff9c4,stroke:#f57f17,stroke-width:3px style out2 fill:#ffccbc,stroke:#bf360c,stroke-width:3px
graph LR subgraph "Hierarchical (153K)" M1[Small module\nโ AOI, XNOR, NOR\n= efficient]-->R1 M2[Small module\nโ AOI, XNOR, NOR\n= efficient]-->R1 M3[Small module\nโ AOI, XNOR, NOR\n= efficient]-->R1 end subgraph "Flat (159K)" BIG[One huge module\nโ greedy mapper\nโ AND + NOT + MUX only\n= more cells] end style M1 fill:#fff9c4,stroke:#f57f17,stroke-width:3px style M2 fill:#fff9c4,stroke:#f57f17,stroke-width:3px style M3 fill:#fff9c4,stroke:#f57f17,stroke-width:3px style R1 fill:#ffccbc,stroke:#bf360c,stroke-width:3px style BIG fill:#fff9c4,stroke:#f57f17,stroke-width:3px