Creating an Agile Hardware Design Flow

作者: Rick Bahr , Clark Barrett , Nikhil Bhagdikar , Alex Carsello , Ross Daly

DOI: 10.1109/DAC18072.2020.9218553

关键词: CompilerAgile software developmentComputer hardwareSystem on a chipSoftware designApplication domainPlace and routeComputer scienceDesign flowVerilog

摘要: Although an agile approach is standard for software design, how to properly adapt this method hardware still open question. This work addresses question while building a system on chip (SoC) with specialized accelerators. Rather than using traditional waterfall design flow, which starts by studying the application be accelerated, we begin constructing complete flow from expressed in high-level domain-specific language (DSL), our case Halide, generic coarse-grained reconfigurable array (CGRA). As under-standing of grows, CGRA evolves, and have developed suite tools that tune code, compiler, increase efficiency resulting implementation. To meet continued need update parts maintaining end-to-end created DSL-based generators not only provide Verilog needed implementation CGRA, but also create collateral compiler/mapper/place route needs configure its operation. provides systematic desiging evolving high-performance energy-efficient hardware-software systems any domain.

参考文章(10)
Venkatraman Govindaraju, Chen-Han Ho, Tony Nowatzki, Jatin Chhugani, Nadathur Satish, Karthikeyan Sankaralingam, Changkyu Kim, DySER: Unifying Functionality and Parallelism Specialization for Energy-Efficient Computing IEEE Micro. ,vol. 32, pp. 38- 51 ,(2012) , 10.1109/MM.2012.51
Jonathan Bachrach, Huy Vo, Brian Richards, Yunsup Lee, Andrew Waterman, Rimas Avižienis, John Wawrzynek, Krste Asanović, Chisel: constructing hardware in a Scala embedded language design automation conference. pp. 1216- 1225 ,(2012) , 10.1145/2228360.2228584
Keerthan Jaic, Melissa C. Smith, Enhancing Hardware Design Flows with MyHDL field programmable gate arrays. pp. 28- 31 ,(2015) , 10.1145/2684746.2689092
Jonathan Ragan-Kelley, Connelly Barnes, Andrew Adams, Sylvain Paris, Frédo Durand, Saman Amarasinghe, Halide: a language and compiler for optimizing parallelism, locality, and recomputation in image processing pipelines programming language design and implementation. ,vol. 48, pp. 519- 530 ,(2013) , 10.1145/2491956.2462176
C Gordon Bell, Allen Newell, None, The PMS and ISP descriptive systems for computer structures Proceedings of the May 5-7, 1970, spring joint computer conference on - AFIPS '70 (Spring). pp. 351- 374 ,(1970) , 10.1145/1476936.1476993
Ardavan Pedram, Shahar Kvatinsky, Stephen Richardson, Mark Horowitz, Artem Vasilyev, Nikhil Bhagdikar, Evaluating programmable architectures for imaging and vision applications international symposium on microarchitecture. pp. 1- 13 ,(2016) , 10.5555/3195638.3195702
Raghu Prabhakar, Yaqi Zhang, David Koeplinger, Matt Feldman, Tian Zhao, Stefan Hadjis, Ardavan Pedram, Christos Kozyrakis, Kunle Olukotun, Plasticine: A Reconfigurable Architecture For Parallel Paterns international symposium on computer architecture. ,vol. 45, pp. 389- 402 ,(2017) , 10.1145/3079856.3080256
Maria Kotsifakou, Prakalp Srivastava, Matthew D. Sinclair, Rakesh Komuravelli, Vikram Adve, Sarita Adve, HPVM: heterogeneous parallel virtual machine acm sigplan symposium on principles and practice of parallel programming. ,vol. 53, pp. 68- 80 ,(2018) , 10.1145/3178487.3178493
Carlos Guestrin, Arvind Krishnamurthy, Eddie Yan, Tianqi Chen, Haichen Shen, Leyuan Wang, Thierry Moreau, Luis Ceze, Meghan Cowan, Ziheng Jiang, Lianmin Zheng, Yuwei Hu, TVM: an automated end-to-end optimizing compiler for deep learning operating systems design and implementation. pp. 578- 594 ,(2018) , 10.5555/3291168.3291211
Shunning Jiang, Berkin Ilbeyi, Christopher Batten, Mamba: closing the performance gap in productive hardware development frameworks design automation conference. pp. 60- ,(2018) , 10.1145/3195970.3196073