【问题标题】:C-to-hardware compiler (HLL synthesis) [closed]C 到硬件编译器(HLL 综合)[关闭]
【发布时间】:2011-08-01 23:26:01
【问题描述】:

我尝试对所有 C 到硬件的编译器进行调查/历史记录。

对于所有不了解它们的人:他们采用 C 代码,然后将其翻译成某种硬件描述语言(如 VHDL 或 Verilog),然后可用于生成硬件(通常它被映射到 FPGA - 但我不是仅限于此,作为目标的 ASIC 也可以)。

我已经收集了一些(+关于它们的信息)。所以我的问题是:你知道任何其他编译器(如果知道的话,有任何关于它们的引用、指针、信息)吗?

到目前为止我的清单:

  • AutoESL
  • 巴赫-C(夏普)
  • C2H (Altera)
  • C2R (Cebatech)
  • C2Verilog(CompiLogic/C 级设计/Synposys)
  • Carte / MAP(SRC 计算机)
  • 级联(CriticalBlue)
  • CASH(卡内基梅隆大学,匹兹堡)
  • Catapult-C (Mentor Graphics)
  • CHC (Altium)
  • CHiMPS(华盛顿大学(西雅图)/Xilinx/即将商业化?)
  • C 到 Verilog(海法)
  • 同志(TU Braunschweig E.I.S. + TU Darmstadt E.S.A.)
  • CVC(日立)
  • 网络(NEC)
  • 代达罗斯(阿姆斯特丹大学,莱顿大学)
  • DIME-C (Nallatech)
  • eXCite (YXI)
  • FP 编译器 (Altera)
  • FpgaC(开源)
  • GarpCC(卡拉汉,加州大学伯克利分校)
  • GAUT (UBS-Universität Frankreich)
  • Handel-C (Celoxica)
  • Hthreads(堪萨斯大学)
  • Impulse-C(脉冲加速技术)
  • Mitrion-C(Mitrionics)
  • DWARV(代尔夫特理工大学)
  • NIMBLE(Synopsys,E.I.S.不伦瑞克)
  • NISC(加州大学欧文分校)
  • PICO-Express (Synfora => Synopsys)
  • PRISC(哈佛大学,剑桥)
  • ROCCC(加州大学河滨分校)
  • SPARK(加州大学欧文分校)
  • SpecC(Gajski 等人)
  • Trident(开源,洛斯阿拉莫斯国家实验室)
  • 哎呀
  • 小牛肉
  • vfTools(矢量织物)
  • xPilot(加利福尼亚大学洛杉矶分校)

(我知道不是所有列表中的 C 都如此糟糕,有些使用类似 C 的方言,而且几乎所有都只支持一个子集,我也对此感兴趣)。

编辑:我知道如何使用谷歌,所以我已经检查了通常的嫌疑人并包含了结果。因此,很可能只有当他确实知道一些论文或奇异工具(或者可能不是那么奇异但以某种方式隐藏了实现功能,并且没有宣传编译器)的情况下,有人才能在这里回答。

【问题讨论】:

  • 还要考虑 C++ 硬件描述工具。真正有趣的是用于硬件的 C++ DSEL。
  • 不错的清单!在“Carte / MAP (SRC Computers)”条目中,MAP 是 SRC 系统中的 MAP 处理器(包含 FPGA、内存和支持逻辑),Carte 是用于为微处理器和 MAP 处理器编译 C 代码的编程环境。 SRC 系统。
  • 有很多选择,我怎么知道从哪个开始玩?
  • @pyCthon:这取决于很多事情(例如,有些针对 ASIC 设计,有些是 FPGA,有些是软核)——如果没有更多限制,很难说(当你拥有它们时不会容易得多)。一般来说,商业比学术更自然,但你经常要为此付出高昂的代价。
  • @flolo true 你能推荐一个像样的开源FPGA吗?

标签: c compiler-construction hardware fpga


【解决方案1】:

系统-C?

【讨论】:

  • System-C 是一种语言(或者更好的是语言扩展/库)而不是特定的编译器 - 可合成的子集也非常有限。但好的提示 - 我也可以包括这些。
  • 啊,我没有注意到您专门关注编译器而不是语言的微妙之处。它没有被包括在内似乎有点奇怪,因为它比你列出的许多人都知道。我想现在我知道为什么了……
【解决方案2】:

Rotem CToVerilog,我对此一无所知,只是用谷歌搜索了一下。

【讨论】:

  • 已经知道了(它在 Chimps 和 Comprade 之间),但是谢谢(我现在编辑了它的来源)。
【解决方案3】:

【讨论】:

    【解决方案4】:

    还有HercuLeS(暂名),这是我的HLS工具。

    获取(旧)技术。从这里演示 http://www.nkavvadias.co.cc/misc/hls-demo-linux-0.0.1.tar.gz 从那以后事情有了进展。

    如果您需要技术,请告诉我。详细介绍现实生活示例的演示文稿,例如多功能CORDIC。

    干杯, 尼古拉斯·卡夫瓦迪亚斯

    【讨论】:

      【解决方案5】:

      OpenCL 支持 Altera 和 Xilinx。

      Xilinx 支持 OpenCV。 Altera 支持 OpenCL + OpenCV。 See this post。我说的都是基于C语言的OpenCL+OpenCV。

      Altera 有 OpenCL SDK,它与 Quartus 一起使用。 Xilinx 有Vivado HLS。

      【讨论】:

        【解决方案6】:

        Cynthesizer,基于 SystemC。 CellMath 会走另一条路,采用 Verilog 并创建 C 模型。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2022-12-01
          • 2013-07-04
          • 2010-09-14
          • 1970-01-01
          • 1970-01-01
          • 2010-09-12
          • 1970-01-01
          相关资源
          最近更新 更多