Hardware system synthesis from Domain-Specific Languages

N. George, HyoukJoong Lee, D. Novo, Tiark Rompf, Kevin J. Brown, Arvind K. Sujeeth, Martin Odersky, K. Olukotun, P. Ienne
{"title":"Hardware system synthesis from Domain-Specific Languages","authors":"N. George, HyoukJoong Lee, D. Novo, Tiark Rompf, Kevin J. Brown, Arvind K. Sujeeth, Martin Odersky, K. Olukotun, P. Ienne","doi":"10.1109/FPL.2014.6927454","DOIUrl":null,"url":null,"abstract":"Field Programmable Gate Arrays (FPGAs) are very versatile devices, but their complicated programming model has stymied their widespread usage. While modern High-Level Synthesis (HLS) tools provide better programming models, the interface they offer is still too low-level. In order to produce good quality hardware designs with these tools, the users are forced to manually perform optimizations that demand detailed knowledge of both the application and the implementation platform. Additionally, many HLS tools only generate isolated hardware modules that the user still needs to integrate into a system design before generating the FPGA bitstream. These problems make HLS tools difficult to use for application developers who have little hardware design knowledge. To address these problems, we propose an automated methodology to generate FPGA bitstreams from high-level programs written in Domain-Specific Languages (DSLs). We leverage the domain-knowledge conveyed by the DSL and its domain-specific semantics to extract application parallelism, perform optimizations and also identify a suitable system-architecture for the implementation, thereby, relieving the user from most of the hardware-level details. We demonstrate the high productivity and high design quality this approach offers by automatically generating hardware systems from applications written in OptiML, a machine-learning DSL. To evaluate our methodology, we use four OptiML applications and show that we can easily generate different solutions which achieve different trade-offs between performance and area. More importantly, the results reveal that our generated hardware achieves much better performance compared to the one obtained from using the HLS tool without platform-specific optimizations.","PeriodicalId":172795,"journal":{"name":"2014 24th International Conference on Field Programmable Logic and Applications (FPL)","volume":"30 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2014-10-20","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"62","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2014 24th International Conference on Field Programmable Logic and Applications (FPL)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/FPL.2014.6927454","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 62

Abstract

Field Programmable Gate Arrays (FPGAs) are very versatile devices, but their complicated programming model has stymied their widespread usage. While modern High-Level Synthesis (HLS) tools provide better programming models, the interface they offer is still too low-level. In order to produce good quality hardware designs with these tools, the users are forced to manually perform optimizations that demand detailed knowledge of both the application and the implementation platform. Additionally, many HLS tools only generate isolated hardware modules that the user still needs to integrate into a system design before generating the FPGA bitstream. These problems make HLS tools difficult to use for application developers who have little hardware design knowledge. To address these problems, we propose an automated methodology to generate FPGA bitstreams from high-level programs written in Domain-Specific Languages (DSLs). We leverage the domain-knowledge conveyed by the DSL and its domain-specific semantics to extract application parallelism, perform optimizations and also identify a suitable system-architecture for the implementation, thereby, relieving the user from most of the hardware-level details. We demonstrate the high productivity and high design quality this approach offers by automatically generating hardware systems from applications written in OptiML, a machine-learning DSL. To evaluate our methodology, we use four OptiML applications and show that we can easily generate different solutions which achieve different trade-offs between performance and area. More importantly, the results reveal that our generated hardware achieves much better performance compared to the one obtained from using the HLS tool without platform-specific optimizations.
基于领域特定语言的硬件系统综合
现场可编程门阵列(fpga)是一种用途广泛的器件,但其复杂的编程模型阻碍了其广泛应用。虽然现代高级综合(High-Level Synthesis, HLS)工具提供了更好的编程模型,但它们提供的接口仍然太低级了。为了使用这些工具生成高质量的硬件设计,用户被迫手动执行优化,这需要对应用程序和实现平台有详细的了解。此外,许多HLS工具只生成孤立的硬件模块,用户仍然需要在生成FPGA位流之前将其集成到系统设计中。这些问题使得对硬件设计知识知之甚少的应用程序开发人员难以使用HLS工具。为了解决这些问题,我们提出了一种自动化的方法,从用领域特定语言(dsl)编写的高级程序生成FPGA位流。我们利用DSL传达的领域知识及其特定于领域的语义来提取应用程序并行性,执行优化,并为实现确定合适的系统体系结构,从而将用户从大多数硬件级细节中解脱出来。通过从用OptiML(一种机器学习DSL)编写的应用程序自动生成硬件系统,我们展示了这种方法提供的高生产率和高设计质量。为了评估我们的方法,我们使用了四个OptiML应用程序,并展示了我们可以很容易地生成不同的解决方案,从而在性能和面积之间实现不同的权衡。更重要的是,结果显示,与使用HLS工具获得的性能相比,我们生成的硬件获得了更好的性能,而没有进行特定于平台的优化。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 求助全文
来源期刊
自引率
0.00%
发文量
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:604180095
Book学术官方微信