基于C语言的高级综合交互式设计环境
1. 引言
RTL(寄存器传输级)综合自动化是一个非常复杂的问题,大多数综合任务都是NP完全问题。这导致设计时间长,结果往往不是最优的,无法满足实际应用中的性能或面积要求。
为了解决这个问题,提出了交互式综合方法,该方法允许设计师在每个阶段控制设计过程,观察设计决策的效果,并根据需要手动覆盖综合决策。这一过程通过方便的图形用户界面(GUI)来实现。
硬件描述语言(HDLs)如Verilog HDL和VHDL常用于RTL设计的输入。然而,系统设计师通常使用C/C++等编程语言来编写模型,以估计系统性能、验证设计的功能正确性,甚至将设计细化为具体实现。C/C++具有快速仿真的优点,并且有大量的遗留代码和库,便于系统建模。但将C/C++模型的部分设计用硬件实现时,需要手动将其转换为可综合的HDL子集,这个过程既耗时又容易出错。而使用基于C语言的语言来描述硬件和软件可以加速设计过程,方便软硬件迁移,同时可以使用C/C++硬件综合工具将C/C++模型映射到逻辑网表。
2. 相关工作
RTL建模、RTL设计和行为综合(即高级综合,HLS)等问题已经研究了十多年。近年来,一些项目开始探索使用C/C++作为当前设计流程的输入,通过添加新的构造来建模粗粒度并行性、通信和数据类型,这些构造可以定义为新的语法结构,也可以作为C++类库的一部分实现。
为了便于将C/C++模型映射到硬件,有一些工具可以自动将基于C/C++的描述转换为行为级或寄存器传输级(RTL)的HDL。然而,许多自动综合工具(即一键式综合)虽然已经开发出来,但它们无法访问综合过程中创建的中间设计模型,也无法让设计师更改重要决策。设计师只
超级会员免费看
订阅专栏 解锁全文
9921

被折叠的 条评论
为什么被折叠?



