复地占据了所谓逻辑合成一个中间水平。我们讨论了定位之前,而是一个简洁的可能是如下:
- ANSI C / c++提供了一个非结构化,不计时的描述设计。
- SystemC提供一个结构化的、不计时的描述设计。
- RTL提供一个结构化的、时间的描述设计。
中间一个不是那么简单:接口是时间,在事务或销水平。但是时机的里面是一个产品的合成和权衡。
在DAC更新对话,福特指出,一个大的改进他们最新的高级合成(HLS)释放,Cynthesizer 5,是包括在权衡的能力除了性能和面积。这实际上需要一个完整的重做底层的基础设施,那么多的代码是崭新的。
返工的结果之一是改变调度和分配是如何做的。对于一个给定的微体系结构、调度是指将一个事件分配给一个特定的过程钟边。例如,如果两个逻辑流收敛和一个需要8个时钟周期完成,另一个只有三个,然后你可以有短链的逻辑开始早期然后等待(“渴望”)或开始准时到达长逻辑链(“懒惰”)。分配分配资源。
他们的工具用来做调度,然后分配。现在他们在同一时间发生,这意味着他们可以co-optimized。
他们还可以做更多的设计空间探索,蒙特卡洛的能力。一个例子将选择的乘数。在过去,他们有一个乘法器架构;现在他们有几个,不同的性能/电力/面积权衡。手动拨号后选择接近的数量,您可以使用蒙特卡罗分析来找出哪些是最好的。(手动部分是为了防止设计空间过于巨大的。)半个小时左右通常允许工具整理成千上万的不同配置来找到最优(年代)。
优化电力带来了一个新的考虑发挥作用:状态机编码。你通常想最小化切换的比特数(甚至门钟打只会改变的注册)。这是极端的例子,但在一个炎热的要求太多的人字拖。所以他们有一个统计算法决定,缺乏一个炎热,低功耗的编码方案。
最后,他们把一个算法查看器工具允许男人做实施,可能收到的家伙写的算法,得到一个更好的感觉的什么算法本身。
你可以找到更多关于他们的最新更新公告。