Automatic generation of hardware/software interfaces
Enabling new applications for mobile devices often requires the use of specialized hardware to reduce power consumption. Because of time-to-market pressure, current design methodologies for embedded applications require an early partitioning of the design, allowing the hardware and software to be de...
Main Authors: | , , |
---|---|
Other Authors: | |
Format: | Article |
Language: | English |
Published: |
Association for Computing Machinery (ACM)
2019
|
Online Access: | https://hdl.handle.net/1721.1/121451 |
_version_ | 1811071927738957824 |
---|---|
author | King, Myron Dave, Nirav H. Arvind, Arvind |
author2 | Massachusetts Institute of Technology. Computer Science and Artificial Intelligence Laboratory |
author_facet | Massachusetts Institute of Technology. Computer Science and Artificial Intelligence Laboratory King, Myron Dave, Nirav H. Arvind, Arvind |
author_sort | King, Myron |
collection | MIT |
description | Enabling new applications for mobile devices often requires the use of specialized hardware to reduce power consumption. Because of time-to-market pressure, current design methodologies for embedded applications require an early partitioning of the design, allowing the hardware and software to be developed simultaneously, each adhering to a rigid interface contract. This approach is problematic for two reasons: (1) a detailed hardware-software interface is difficult to specify until one is deep into the design process, and (2) it prevents the later migration of functionality across the interface motivated by efficiency concerns or the addition of features. We address this problem using the Bluespec Codesign Language (BCL) which permits the designer to specify the hardware-software partition in the source code, allowing the compiler to synthesize efficient software and hardware along with transactors for communication between the partitions. The movement of functionality across the hardware-software boundary is accomplished by simply specifying a new partitioning, and since the compiler automatically generates the desired interface specifications, it eliminates yet another error- prone design task. In this paper we present BCL, an extension of a commercially available hardware design language (Bluespec Sys- temVerilog), a new software compiling scheme, and preliminary results generated using our compiler for various hardware-software decompositions of an Ogg Vorbis audio decoder, and a ray-tracing application. |
first_indexed | 2024-09-23T08:58:11Z |
format | Article |
id | mit-1721.1/121451 |
institution | Massachusetts Institute of Technology |
language | English |
last_indexed | 2024-09-23T08:58:11Z |
publishDate | 2019 |
publisher | Association for Computing Machinery (ACM) |
record_format | dspace |
spelling | mit-1721.1/1214512022-09-30T12:29:11Z Automatic generation of hardware/software interfaces King, Myron Dave, Nirav H. Arvind, Arvind Massachusetts Institute of Technology. Computer Science and Artificial Intelligence Laboratory Enabling new applications for mobile devices often requires the use of specialized hardware to reduce power consumption. Because of time-to-market pressure, current design methodologies for embedded applications require an early partitioning of the design, allowing the hardware and software to be developed simultaneously, each adhering to a rigid interface contract. This approach is problematic for two reasons: (1) a detailed hardware-software interface is difficult to specify until one is deep into the design process, and (2) it prevents the later migration of functionality across the interface motivated by efficiency concerns or the addition of features. We address this problem using the Bluespec Codesign Language (BCL) which permits the designer to specify the hardware-software partition in the source code, allowing the compiler to synthesize efficient software and hardware along with transactors for communication between the partitions. The movement of functionality across the hardware-software boundary is accomplished by simply specifying a new partitioning, and since the compiler automatically generates the desired interface specifications, it eliminates yet another error- prone design task. In this paper we present BCL, an extension of a commercially available hardware design language (Bluespec Sys- temVerilog), a new software compiling scheme, and preliminary results generated using our compiler for various hardware-software decompositions of an Ogg Vorbis audio decoder, and a ray-tracing application. National Science Foundation (U.S.) ((#CCF-0541164) Korea (South). Ministry of Education, Science and Technology (#R33-10095) 2019-06-28T15:45:32Z 2019-06-28T15:45:32Z 2012-03 2019-06-27T16:47:07Z Article http://purl.org/eprint/type/JournalArticle 978-1-4503-0759-8 https://hdl.handle.net/1721.1/121451 King, Myron, Nirav Dave and Arvind. "Automatic generation of hardware/software interfaces." In Proceeding ASPLOS XVII Proceedings of the seventeenth international conference on Architectural Support for Programming Languages and Operating Systems, London, England, UK, March 03-07, 2012, pages 325-336. en 10.1145/2189750.2151011 Proceedings of the seventeenth international conference on Architectural Support for Programming Languages and Operating Systems Creative Commons Attribution-Noncommercial-Share Alike http://creativecommons.org/licenses/by-nc-sa/4.0/ application/pdf Association for Computing Machinery (ACM) MIT web domain |
spellingShingle | King, Myron Dave, Nirav H. Arvind, Arvind Automatic generation of hardware/software interfaces |
title | Automatic generation of hardware/software interfaces |
title_full | Automatic generation of hardware/software interfaces |
title_fullStr | Automatic generation of hardware/software interfaces |
title_full_unstemmed | Automatic generation of hardware/software interfaces |
title_short | Automatic generation of hardware/software interfaces |
title_sort | automatic generation of hardware software interfaces |
url | https://hdl.handle.net/1721.1/121451 |
work_keys_str_mv | AT kingmyron automaticgenerationofhardwaresoftwareinterfaces AT daveniravh automaticgenerationofhardwaresoftwareinterfaces AT arvindarvind automaticgenerationofhardwaresoftwareinterfaces |