Abstract
A typical misunderstanding is that design automation techniques used in FPGA tools are just subsets or extension of those developed for LSI design tools. In reality, a unique FPGA structure requires original design automation techniques, and they are critical to extract enough performance with a limited resource on an FPGA chip. This chapter introduces them from the viewpoint of CAD (Computer Aided Design) developer. Techniques for technology mapping, clustering, and place and routing are introduced. Then, low power design which has become a critical issue is introduced. Although this chapter includes some expert knowledge, even beginners can understand the specialties and challenges of FPGA tools.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
- 1.
A Boolean network is a way of expressing a gate level netlist, represented by a valid graph (DAG). Each node is composed of a logic gate or a combination circuit of logic gates, and the directional branch represents an input/output signal.
- 2.
Their place and route tool uses XML from VPR 5.0, but VTR 6.0 extends it so that it can more describe complex structures with a simple notation. The VPR place and route tool is described in the next section.
- 3.
A NP-hard problem is at least equal to or more difficult than the problem belonging to the Non-Deterministic Polynomial Time (NP) class in computational complexity theory. Quadratic Assignment Problem (QAP) is said to be one of particularly difficult problems among NP-hard combinatorial optimization problems.
- 4.
The Simulated Annealing method is a general-purpose stochastic meta-heuristic algorithm. The feature of SA is to accelerate the convergence by decreasing its acceptance probability due to temperature change when trying to escape local solution using randomness.
- 5.
The switching activity has almost the same meaning as the toggle rate (TR). The toggle rate is the number of transitions from the logic value 0 to the logic value 1 of the target node and the transition from the logic value 1 to the logic value 0 per unit time.
References
J. Cong, Y. Ding, FlowMap: an optimal technology mapping algorithm for delay optimization in lookup-table based FPGA designs. IEEE Trans. CAD 13(1), 1–12 (1994)
J. Cong, Y. Hwang, Simultaneous depth and area minimization in LUT-based FPGA mapping, in Proceedings of FPGA’95 (1995), pp. 68–74
J. Cong, J. Peck, Y. Ding, RASP: a general logic synthesis system for SRAM-based FPGAs, in Proceedings of FPGA’96 (1996), pp. 137–143
D. Chen, J. Cong, DAOmap: a depth-optimal area optimization mapping algorithm for FPGA designs, in Proceedings of ICCAD2004 (2004), pp. 752–759
J. Lamoureux, S.J.E. Wilton, On the interaction between power-aware computer-aided design algorithms for field-programmable gate arrays. J. Low Power Electron. (JOLPE) 1(2), 119–132 (2005)
V. Manohararajah, S.D. Brown, Z.G. Vranesic, Heuristics for area minimization in LUT-based FPGA technology mapping. IEEE Trans. CAD 25(11), 2331–2340 (2006)
J. Cong, S. Xu, Delay-oriented technology mapping for heterogeneous FPGAs with bounded resources, in Proceedings of ICCAD’98 (1998), pp. 40–45
V. Betz, J. Rose, Cluster-based logic blocks for FPGAs: area-efficiency vs. input sharing and size, in Proceedings of CICC’97 (1997), pp. 551–554
A. Marquardt, V. Betz J. Rose, Using cluster-based logic blocks and timing-driven packing to improve FPGA speed and density, in Proceedings of FPGA’99 (1999), pp. 37–46
E. Bozorgzadeh, S.O. Memik, X. Yang, M. Sarrafzadeh, Routability-driven packing: metrics and algorithms for cluster-based FPGAs. J. Circuits Syst. Comput. 13(1), 77–100 (2004)
A. Singh, G. Parthasarathy, M. Marek-Sadowska, Efficient circuit clustering for area and power reduction in FPGAs. ACM Trans. Des. Autom. Electron. Syst. (TODAES), 7(4), 643–663 (2002)
M. Kobata, M. Iida, T. Sueyoshi, Clustering technique to reduce chip area and delay for FPGA (in Japanese). IEICE Trans. Inf. Syst. (Japanese Edition), J89-D(6), 1153–1162 (2006)
J. Rose, J. Luu, C.W. Yu, O. Densmore, J. Goeders, A. Somerville, K.B. Kent, P. Jamieson, J. Anderson, The VTR project: architecture and CAD for FPGAs from verilog to routing, in Proceedings of the ACM/SIGDA International Symposium on Field Programmable Gate Arrays (FPGA’12) (2012), pp. 77–86, https://doi.org/10.1145/2145694.2145708
J. Luu, J.H. Anderson, J. Rose, Architecture description and packing for logic blocks with hierarchy, modes and complex interconnect, in Proceedings of the 19th ACM/SIGDA International Symposium on Field Programmable Gate Arrays (FPGA’11) (2011), pp. 227–236, https://doi.org/10.1145/1950413.1950457
V. Betz, J. Rose, VPR: a new packing, placement and routing tool for FPGA research, in Proceedings of FPL’97 (1997), pp. 213–222
V. Betz, J. Rose, A. Marquardt, Architecture and CAD for deep-submicron FPGAS. The Springer International (1999)
V. Betz, VPR and T-VPack userfs manual (Version 4.30). University of Toronto (2000)
J. Luu, I. Kuon, P. Jamieson, T. Campbell, A. Ye, W.M. Fang, K. Kent, J. Rose, VPR 5.0: FPGA CAD and architecture exploration tools with single-driver routing, heterogeneity and process scaling. ACM Trans. Reconfig. Technol. Syst. 4(4), Article 32, 23 (2011), https://doi.org/10.1145/2068716.2068718
A. Marquardt, V. Betz, J. Rose, Timing-driven placement for FPGAs, in Proceedings of the 2000 ACM/SIGDA Eighth International Symposium on Field Programmable Gate Arrays (FPGA’00) (2000), pp. 203–213, https://doi.org/10.1145/329166.329208
J.S. Swartz, V. Betz, J. Rose, A fast routability-driven router for FPGAs, in Proceedings of the 1998 ACM/SIGDA Sixth International Symposium on Field programmable Gate Arrays (FPGA’98) (1998), pp. 140–149, https://doi.org/10.1145/275107.275134
L. McMurchie, C. Ebeling, PathFinder: a negotiation-based performance-driven router for FPGAs, in Proceedings of FPGA’95 (1995), pp. 111–117
J. Luu, J. Goeders, M. Wainberg, A. Somerville, T. Yu, K. Nasartschuk, M. Nasr, S. Wang, T. Liu, N. Ahmed, K.B. Kent, J. Anderson, J. Rose, V. Betz, VTR 7.0: next generation architecture and CAD system for FPGAs. ACM Trans. Reconfig. Technol. Syst. 7(2), Article 6, 30 (2014), https://doi.org/10.1145/2617593
Verilog to Routing—Open Source CAD Flow for FPGA Research, GitHub, https://github.com/verilog-to-routing/vtr-verilog-to-routing
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2018 Springer Nature Singapore Pte Ltd.
About this chapter
Cite this chapter
Iida, M. (2018). Design Methodology. In: Amano, H. (eds) Principles and Structures of FPGAs. Springer, Singapore. https://doi.org/10.1007/978-981-13-0824-6_5
Download citation
DOI: https://doi.org/10.1007/978-981-13-0824-6_5
Published:
Publisher Name: Springer, Singapore
Print ISBN: 978-981-13-0823-9
Online ISBN: 978-981-13-0824-6
eBook Packages: Computer ScienceComputer Science (R0)