As the need for efficient digital circuits is ever growing in the industry, the design of such systems remains daunting, requiring both expertise and time. In an attempt to close the gap between software development and hardware design, powerful features such as functional and object-oriented programming have been used to define new languages, known as Hardware Construction Languages. In this article, we investigate the usage of such languages - more precisely, of Chisel - in the context of Design Space Exploration, and propose a novel design methodology to build custom and adaptable design flows. We apply a functional approach to define flexible strategies for design space exploration, based on combinations of basic exploration steps, and provide a proof-of-concept framework along with a library of basic strategies. We demonstrate our methodology through several use cases, illustrating how various metrics of interest can be considered to build exploration processes - in particular, we provide a quality of service-driven exploration example. The methodology presented in this work makes use of designers' expertise to reduce the time required for hardware design, in particular for Design Space Exploration, and its application should ease digital design and enhance hardware developpers' productivity.
翻译:由于工业对高效数字电路的需求日益增长,这些系统的设计仍然十分艰巨,既需要专门知识,也需要时间。为了缩小软件开发和硬件设计之间的差距,我们利用功能性和面向目标的编程等强有力的特征来定义新语言,称为硬件建设语言。在本条中,我们调查了在设计空间探索背景下使用这类语言的情况,更准确地说,是Chisel的希塞尔语,并提出了建立定制和适应性设计流的新设计方法。我们采用一种实用的方法,根据基本探索步骤的组合,为设计空间探索制定灵活的战略,并提供验证概念框架和基本战略图书馆。我们通过几个使用案例展示了我们的方法,说明如何考虑各种感兴趣的标准来建立勘探进程,特别是我们提供了一种服务驱动探索的质量范例。在这项工作中提出的方法利用设计师的专门知识来缩短硬件设计,特别是设计空间探索所需的时间,其应用应便利数字设计和提高硬件开发商的生产力。</s>