Flamel: A High-Level Hardware Compiler

Flamel: A High-Level Hardware Compiler
复制标题

Flamel:高级硬件编译器

DOI:
10.1109/tcad.1987.1270270
复制
发表时间:
1987
影响因子:
2.9
通讯作者:
H. Trickey
H. Trickey
中科院分区:
计算机科学3区
文献类型:
--
作者:
H. Trickey

文献摘要

被引文献

相似文献

本文介绍了一个高级硬件编译器Flamel的设计与实现。普通的Pascal程序用于定义硬件所需的行为。Flame致力于在程序中找到并行性,因此它可以产生一个快速运行的实现,满足用户指定的成本约束。许多程序转换创建的代码段具有比原始程序更多的并行计算。勒梅的一个新特性是一种组织搜索最能满足目标的变换的方法。另一个新算法是“表达式高度降低”:使用代数属性重写表达式的集合,以便更快地计算表达式。勒梅的实现已经完成。输出是数据路径和控制器的描述,并且具有足够的细节级别,以便可以估计良好的面积和执行时间。在一系列测试中,如果时钟周期相同,Flamel产生的程序执行速度将比运行相同程序的MC 68000快22到200倍。测试还表明,通过改变面积约束,产生了广泛的时间-面积权衡。
This paper describes the design and implementation of a high-level hardware compiler called Flamel. Ordinary Pascal programs are used to define the behavior required of the hardware. Flamel undertakes to find parallelism in the program, so it can produce a fast-running implementation that meets a user-specified cost bound. A number of program transformations create sections of code with more parallel computations than the original program has. A novel feature of Flamel is a method for organizing the search for the transformations that best satisfy the goal. Another new algorithm is one for "expression height reduction": rewriting an ensemble of expressions using algebraic properties in order to compute the expressions faster. An implementation of Flamel has been completed. The output is a description of a datapath and a controller, and at a sufficient level of detail so that good area and execution time figures can be estimated. On a series of tests, Flamel produces implementations of programs that would run 22 to 200 times faster than an MC68000 running the same programs, if the clock cycles were the same. The tests also show that a wide range of time-area tradeoffs are produced by varying the area constraint.