【24h】

Global and Pointer Variables in High-Level Synthesis

机译:高级综合中的全局变量和指针变量

获取原文

摘要

High-level synthesis (HLS) has been an important tool in digital circuit design for more than two decades, especially for processor components like accelerators or coprocessors. However, many high-level language characteristics have not been ported in such tools, under the false assumption that HLS programmers have a good understanding of hardware and of how actual circuits operate. This work is concentrated on the use of global and static variables in HLS. Such variables are often not allowed in HLS tools, since their storage class makes their support difficult. We will present an intelligent global and static variable placement methodology, which attempts to nullify the negative effects of supporting such variables, by carefully selecting variables to be placed globally, within an appropriate memory module. Addressing of such a module is direct, which allows the use of static pointers in the input high-level language code. We have implemented our methodology in the CCC HLS tool, and tested it with various benchmarks of varying complexity. We have also tested the same benchmarks with other popular HLS tools, and we show that under a fair comparison, CCC produces equal, or in some cases superior output to other tools with regard to global and static variable support.
机译:二十多年来,高级综合(HLS)一直是数字电路设计中的重要工具,尤其是对于加速器或协处理器等处理器组件。但是,在错误的假设下,HLS程序员对硬件以及实际电路的工作方式有很好的了解,因此许多高级语言特性都没有移植到此类工具中。这项工作集中在HLS中全局变量和静态变量的使用上。在HLS工具中通常不允许使用此类变量,因为它们的存储类使支持变得困难。我们将介绍一种智能的全局和静态变量放置方法,该方法试图通过仔细选择要在适当的内存模块中全局放置的变量来消除支持此类变量的负面影响。这种模块的寻址是直接的,这允许在输入的高级语言代码中使用静态指针。我们已在CCC HLS工具中实施了我们的方法,并使用各种复杂程度不同的基准对其进行了测试。我们还使用其他流行的HLS工具测试了相同的基准,并且我们证明了在公平的比较下,CCC在全局和静态变量支持方面产生的效果与其他工具相同,或在某些情况下优于其他工具。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号