Directed Acyclic Graph-Based Datapath Synthesis Using Graph Isomorphism and Gate Reconfiguration
Abstract
:1. Introduction
- Instead of conducting DAG-based datapath synthesis on a standard netlist, we introduce the concept of emerging reconfigurable logic gates to loosen the constraint of specification equivalence. This novel approach enables automatic transformation from common topology into common specification.
- We propose a novel algorithm for identifying common topology while considering the utilization of reconfigurable logic gates. The problems of logic loop and area-efficient inverter/wire removal are investigated.
- A synthesis flow is constructed encompassing high-level synthesis, logic synthesis, and technology mapping. An experimental analysis demonstrates a significant improvement of 23.6% and 26.7% in areas when optimizing the adder–subtractor circuit and parity-or circuit, respectively.
2. Background
2.1. Network Representation
2.2. Specification Equivalence
2.3. Graph Isomophism
2.4. Reconfigurable Gate
3. Proposed Methodology
3.1. Basic Searching Method for Common Specification
3.2. Approximate Pairing Using Gate Reconfiguration
- This scheme does not apply to the specification difference in two-input nodes, which is its major disadvantage. For a netlist mapped with a standard library, the difference probably reflects the two-input logic gates instead of the inverters. For example, the two cones in Figure 4a implement and in the same DAG. The current scheme judges if the pairing fails at the first layer because the gates AND and OR have different operators. Applying the De Morgan law, the implementation can be easily transformed into which can be recognized as the common specification in the current scheme. However, such transformation is not provided in DAG-based synthesis, and the case in Figure 4 widely exists in high-level synthesis-generated networks that have different descriptions.
- The tolerance of the specification difference is realized in a significant overhead. In the example in Figure 4b, the resource sharing is achieved at the cost of inserting three XOR gates, let alone those which are usually much larger than AND or OR gates in the context of conventional CMOS technology. Although some of those XOR gates can be optimized in subsequent logic synthesis, the overhead is not negligible.
- Once the approximate method is applied to the network, i.e., XOR gates are inserted into a logic cone, and the topology of this cone (module) is permanently changed. Since the datapath synthesis is performed multiplexer by multiplexer in order, common logic can only be shared once before its topology changes. For example, when optimizing A+B:A−C:A+D, the topology is changed because of the insertion of XOR gates during the generation of A(B:C). Then, the network of A+(B:C) has a different topology from A+D and cannot pair with it.
4. Implementation
4.1. Priority of Pairing
Algorithm 1 Datapath Optimization |
Input: Preprocessed subcircuit C |
Output: A datapath-optimized netlist with reconfigurable gates |
Datapath_Optimize(C) |
1: B, (R0, R1) = CommonLogicBoundary(PO) |
2: Pinv = invDiffPosition(PO, B) |
3: if evaluateAdjustment(C, B, (R0, R1), Pinv) = 0 then |
4: exit |
5: C ← relocation multiplexer to level B |
6: C ← Replace the pairs (R0, R1) with reconfigurable gates |
7: Pinv = invDiffPosition(PO, B) |
8: C ← handleInvDiff(Pinv) |
9: C ← insert XORs to Pinv |
10: return C |
CommonLogicBoundary(PO) |
1: m ← Layers(PO) − 1; inverter is considered as 0 layer. |
2: while m ≥ 0, perform |
3: L0m, L0m’ ← the gates in (s = 0) logic at layer m |
4: L1m, L1m’ ← the gates in (s = 1) logic at layer m |
5: PI0m, PI1m ← pairPIs(L0m, L1m) |
6: PI0 ← PI0 + PI0m, PI1 ← PI1 + PI0m |
7: L0m ← L0m − PI0m; L1m ← L1m − PI1m |
8: U0m, U1m ← uniqueFanoutPairs(L0m, L1m) |
9: L0m ← L0m − U0m; L1m ← L1m − U1m |
10: E0m, E1m ← exactPairs(L0m, L1m) |
11: L0m ← L0m − E0m; L1m ← L1m − E1m |
12: R0m, R1m ← reconfigurePairs(L0m, L1m) |
13: R0m, R1m ←L0m ← L0m − R0m; L1m ← L1m − R1m |
14: R0, R1 ← (R0, R1) + (R0m, R1m) |
15: L0m+1, L1m+1 ← (U0m, U1m) + (E0m, E1m) + (R0m, R1m) |
16: if (Size(L0m) Size(L0m’)) then |
17: exit |
18: end while |
19: return (layer(PO-1-m), (L0m−1 + PI0, L1m−1 + PI1m), (R0, R1) |
invDiffPosition(PO, boundary) |
1: P0 ← the positions of all inverts up to the boundary layer |
2: P1 ← the positions of all inverts up to the boundary layer |
3: return P0 ∩ P1 |
- All nodes to be paired have paired parent nodes to ensure functional continuity between layers.
- Nodes that are PIs are paired in advance. Note that the identical PIs are put into a pair with priority since they do not need a multiplexer for datapath adjustment. For example, the pairs {F0-F0} in Figure 5.
- The nodes that have the identical operator.
- The nodes that have identical fanins.
- The nodes that have the same number of fanouts [10].
- If several candidates for pairing have equal priority, they are evaluated and sorted according to their potential to maximize the logic sharing. This potential evaluation is a three-layer look-ahead heuristic algorithm adopted from [10].
4.2. Elimination of Logic Loop
4.3. Evaluation Function
4.4. Remove Inverter/Wire
5. Experiment Setup and Results
6. Conclusions
Author Contributions
Funding
Institutional Review Board Statement
Informed Consent Statement
Data Availability Statement
Conflicts of Interest
References
- The EDA Industry Council. EDA Roadmap Taskforce Report—Design of Microprocessors; Silicon Integration Initiative Inc.: Austin, TX, USA, 1999. [Google Scholar]
- Kahng, A.B. Open-source eda: If we build it, who will come? In Proceedings of the 2020 IFIP/IEEE 28th International Conference on Very Large Scale Integration (VLSI-SOC), Salt Lake City, UT, USA, 5–7 October 2020; IEEE: New York, NY, USA, 2020; pp. 1–6. [Google Scholar]
- Coward, S.; Constantinides, G.A.; Drane, T. Automatic datapath optimization using e-graphs. In Proceedings of the 2022 IEEE 29th Symposium on Computer Arithmetic (ARITH), Lyon, France, 12–14 September 2022; IEEE: New York, NY, USA, 2022; pp. 43–50. [Google Scholar]
- Stok, L. Data path synthesis. Integration 1994, 18, 1–71. [Google Scholar] [CrossRef]
- De Micheli, G. Synthesis and Optimization of Digital Circuits; McGraw Hill: New York, NY, USA, 1994. [Google Scholar]
- Potkonjak, M.; Rabaey, J. Optimizing resource utilization using transformations. IEEE Trans. Comput.-Aided Des. Integr. Circuits Syst. 1994, 13, 277–292. [Google Scholar] [CrossRef]
- Srivastava, M.B.; Potkonjak, M. Optimum and heuristic transformation techniques for simultaneous optimization of latency and throughput. IEEE Trans. Very Large Scale Integr. (VLSI) Syst. 1995, 3, 2–19. [Google Scholar] [CrossRef]
- Cong, J.; Xu, J. Simultaneous FU and register binding based on network flow method. In Proceedings of the Design, Automation and Test in Europe, Munich, Germany, 10–14 March 2008; ACM: New York, NY, USA, 2008; pp. 1057–1062. [Google Scholar]
- Mohanty, S.P.; Ranganathan, N.; Chappidi, S.K. An ilp-based scheduling scheme for energy efficient high performance datapath synthesis. In Proceedings of the 2003 International Symposium on Circuits and Systems (ISCAS’03), Bangkok, Thailand, 25–28 May 2003; IEEE: New York, NY, USA, 2003. pp. V–V. [Google Scholar]
- Yu, C.; Choudhury, M.; Sullivan, A.; Ciesielski, M. Advanced datapath synthesis using graph isomorphism. In Proceedings of the 2017 IEEE/ACM International Conference on Computer-Aided Design (ICCAD), Irvine, CA, USA, 13–16 November 2017; IEEE: New York, NY, USA, 2017; pp. 424–429. [Google Scholar]
- Yu, C.; Ciesielski, M.; Choudhury, M.; Sullivan, A. Dag-aware logic synthesis of datapaths. In Proceedings of the 53rd Annual Design Automation Conference, Austin, TX, USA, 5–9 June 2016; ACM: New York, NY, USA, 2016; pp. 1–6. [Google Scholar]
- Mishchenko, A.; Chatterjee, S.; Brayton, R. DAG-aware AIG rewriting: A fresh look at combinational logic synthesis. In Proceedings of the 2006 43rd ACM/IEEE Design Automation Conference, San Francisco, CA, USA, 24–28 July 2006; ACM: New York, NY, USA, 2006; pp. 532–535. [Google Scholar]
- Kvatinsky, S.; Belousov, D.; Liman, S.; Satat, G.; Wald, N.; Friedman, E.G.; Kolodny, A.; Weiser, U.C. MAGIC—Memristor-aided logic. IEEE Trans. Circuits Syst. II Express Briefs 2014, 61, 895–899. [Google Scholar] [CrossRef]
- Berrettini, G.; Simi, A.; Malacarne, A.; Bogoni, A.; Poti, L. Ultrafast integrable and reconfigurable XNOR, AND, NOR, and NOT photonic logic gate. IEEE Photonics Technol. Lett. 2006, 18, 917–919. [Google Scholar] [CrossRef]
- Nishimoto, S.; Yamanashi, Y.; Yoshikawa, N. Design method of single-flux-quantum logic circuits using dynamically reconfigurable logic gates. IEEE Trans. Appl. Supercond. 2015, 25, 1301405. [Google Scholar] [CrossRef]
- Zhang, Y.; Yan, B.; Wu, W.; Li, H.; Chen, Y. Giant spin hall effect (GSHE) logic design for low power application. In Proceedings of the 2015 Design, Automation & Test in Europe Conference & Exhibition (DATE), Grenoble, France, 9–13 March 2015; IEEE: New York, NY, USA, 2015; pp. 1000–1005. [Google Scholar]
- Winograd, T.; Salmani, H.; Mahmoodi, H.; Gaj, K.; Homayoun, H. Hybrid STT-CMOS designs for reverse-engineering prevention. In Proceedings of the 53rd Annual Design Automation Conference, Austin, TX, USA, 5–9 June 2016; ACM: New York, NY, USA, 2016; pp. 1–6. [Google Scholar]
- Angizi, S.; He, Z.; Chen, A.; Fan, D. Hybrid spin-CMOS polymorphic logic gate with application in in-memory computing. IEEE Trans. Magn. 2020, 56, 3400215. [Google Scholar] [CrossRef]
- Zhao, R.; Zhao, X.; Liu, H.; Shao, M.; Feng, Q.; Liu, T.; Lu, T.; Wu, X.; Yi, Y.; Ren, T.-L. Reconfigurable logic-memory hybrid device based on ferroelectric Hf0.5Zr0.5O2. IEEE Electron Device Lett. 2021, 42, 1164–1167. [Google Scholar] [CrossRef]
- Lin, Y.-M.; Appenzeller, J.; Knoch, J.; Avouris, P. High-performance carbon nanotube field-effect transistor with tunable polarities. IEEE Trans. Nanotechnol. 2005, 4, 481–489. [Google Scholar] [CrossRef]
- Murapaka, C.; Sethi, P.; Goolaup, S.; Lew, W. Reconfigurable logic via gate controlled domain wall trajectory in magnetic network structure. Sci. Rep. 2016, 6, 20130. [Google Scholar] [CrossRef] [PubMed]
- Rai, S.; Trommer, J.; Raitza, M.; Mikolajick, T.; Weber, W.M.; Kumar, A. Designing efficient circuits based on runtime-reconfigurable field-effect transistors. IEEE Trans. Very Large Scale Integr. (VLSI) Syst. 2018, 27, 560–572. [Google Scholar] [CrossRef]
- Trommer, J.; Heinzig, A.; Baldauf, T.; Slesazeck, S.; Mikolajick, T.; Weber, W.M. Functionality-enhanced logic gate design enabled by symmetrical reconfigurable silicon nanowire transistors. IEEE Trans. Nanotechnol. 2015, 14, 689–698. [Google Scholar] [CrossRef]
- Raitza, M.; Märcker, S.; Trommer, J.; Heinzig, A.; Klüppelholz, S.; Baier, C.; Kumar, A. Quantitative characterization of reconfigurable transistor logic gates. IEEE Access 2020, 8, 112598–112614. [Google Scholar] [CrossRef]
- Galderisi, G.; Mikolajick, T.; Trommer, J. The RGATE: An 8-in-1 Polymorphic Logic Gate Built from Reconfigurable Field Effect Transistors. IEEE Electron Device Lett. 2023, 45, 496–499. [Google Scholar] [CrossRef]
- Wind, L.; Fuchsberger, A.; Demirkiran, Ö.; Vogl, L.; Schweizer, P.; Maeder, X.; Sistani, M.; Weber, W.M. Reconfigurable Si Field-Effect Transistors with Symmetric On-States Enabling Adaptive Complementary and Combinational Logic. IEEE Trans. Electron Devices 2024, 71, 1302–1307. [Google Scholar] [CrossRef]
- Chen, J.; Li, P.; Zhu, J.; Wu, X.-M.; Liu, R.; Wan, J.; Ren, T.-L. Reconfigurable MoTe 2 field-effect transistors and its application in compact CMOS circuits. IEEE Trans. Electron Devices 2021, 68, 4748–4753. [Google Scholar] [CrossRef]
- Rai, S.; Riener, H.; De Micheli, G.; Kumar, A. Preserving Self-Duality During Logic Synthesis for Emerging Reconfigurable Nanotechnologies. In Proceedings of the 2021 Design, Automation & Test in Europe Conference & Exhibition (DATE), Grenoble, France, 1–5 February 2021; IEEE: New York, NY, USA, 2021; pp. 354–359. [Google Scholar]
- Shang, L.; Naeemi, A.; Pan, C. Towards Area Efficient Logic Circuit: Exploring Potential of Reconfigurable Gate by Generic Exact Synthesis. IEEE Open J. Comput. Soc. 2023, 4, 50–61. [Google Scholar] [CrossRef]
- Fiser, P.; Simek, V. Optimum polymorphic circuits synthesis method. In Proceedings of the 2018 13th International Conference on Design & Technology of Integrated Systems In Nanoscale Era (DTIS), Taormina, Italy, 9–12 April 2018; IEEE: New York, NY, USA, 2018; pp. 1–6. [Google Scholar]
- Keutzer, K. DAGON: Technology binding and local optimization by DAG matching. In Proceedings of the 24th ACM/IEEE Design Automation Conference, Miami Beach, FL, USA, 28 June–1 July 1987; ACM: New York, NY, USA, 1987; pp. 341–347. [Google Scholar]
- Goldberg, E.; Novikov, Y. Equivalence checking of dissimilar circuits. In Proceedings of the 12th International Workshop on Logic and Synthesis, Laguna Beach, CA, USA, 28–30 May 2003. [Google Scholar]
- Bryant, R.E. Graph-based algorithms for boolean function manipulation. Comput. IEEE Trans. 1986, 100, 677–691. [Google Scholar] [CrossRef]
- Kuehlmann, A.; Krohm, F. Equivalence checking using cuts and heaps. In Proceedings of the 34th annual Design Automation Conference, Anaheim, CA, USA, 9–13 June 1997; ACM: New York, NY, USA, 1997; pp. 263–268. [Google Scholar]
- Goldberg, E.I.; Prasad, M.R.; Brayton, R.K. Using SAT for combinational equivalence checking. In Proceedings of the Design, Automation and Test in Europe. Conference and Exhibition 2001, Munich, Germany, 13–16 March 2001; IEEE: New York, NY, USA, 2001; pp. 114–121. [Google Scholar]
- ABC: A System for Sequential Synthesis and Verification. 2007, Volume 17. Available online: https://people.eecs.berkeley.edu/~alanmi/abc/ (accessed on 3 May 2020).
- Fortin, S. The Graph Isomorphism Problem (Tech. Rep. No. TR96-20). Available online: https://era.library.ualberta.ca/items/f8153faa-71bf-4b64-9eb4-f0c6d3b529dd (accessed on 11 August 2023).
- Nevoral, J.; Šimek, V.; Ružicka, R. PoLibSi: Path towards intrinsically reconfigurable components. In Proceedings of the 2019 22nd Euromicro Conference on Digital System Design (DSD), Kallithea, Greece, 28–30 August 2019; IEEE: New York, NY, USA, 2019; pp. 328–334. [Google Scholar]
- Tao, L.; Naeemi, A.; Tsymbal, E.Y. Valley-spin logic gates. Phys. Rev. Appl. 2020, 13, 054043. [Google Scholar] [CrossRef]
- Wolf, C. Yosys Open Synthesis Suite. 2016. Available online: https://yosyshq.net/yosys/about.html (accessed on 11 August 2023).
Bit-Width | Baseline | Rec-Library | ABC Flow | Original Datapath | Proposed | Improvement |
---|---|---|---|---|---|---|
8-bit | 109 | 95.5 | 91.5 | 94.5 | 77 | 22.7% |
16-bit | 239 | 209.5 | 202.5 | 202.5 | 171 | 18.4% |
32-bit | 505 | 443.5 | 455.5 | 430.5 | 380 | 13.3% |
64-bit | 1043 | 917.5 | 898.5 | 904.5 | 801.5 | 12.9% |
Bit-Width | Baseline | Rec-Library | ABC Flow | Original Datapath | Proposed |
---|---|---|---|---|---|
8-bit | 12 | 10 | 10 | 11 | 11 |
16-bit | 16 | 14 | 14 | 15 | 15 |
32-bit | 20 | 18 | 18 | 19 | 19 |
64-bit | 24 | 22 | 22 | 23 | 23 |
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content. |
© 2024 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (https://creativecommons.org/licenses/by/4.0/).
Share and Cite
Shang, L.; Lu, S.; Zhang, Y.; Jung, S.; Pan, C. Directed Acyclic Graph-Based Datapath Synthesis Using Graph Isomorphism and Gate Reconfiguration. Chips 2024, 3, 182-195. https://doi.org/10.3390/chips3020008
Shang L, Lu S, Zhang Y, Jung S, Pan C. Directed Acyclic Graph-Based Datapath Synthesis Using Graph Isomorphism and Gate Reconfiguration. Chips. 2024; 3(2):182-195. https://doi.org/10.3390/chips3020008
Chicago/Turabian StyleShang, Liuting, Sheng Lu, Yichen Zhang, Sungyong Jung, and Chenyun Pan. 2024. "Directed Acyclic Graph-Based Datapath Synthesis Using Graph Isomorphism and Gate Reconfiguration" Chips 3, no. 2: 182-195. https://doi.org/10.3390/chips3020008
APA StyleShang, L., Lu, S., Zhang, Y., Jung, S., & Pan, C. (2024). Directed Acyclic Graph-Based Datapath Synthesis Using Graph Isomorphism and Gate Reconfiguration. Chips, 3(2), 182-195. https://doi.org/10.3390/chips3020008