本论文是一篇工程师方面有关论文答辩开场白,关于高层综合动态等效检查器相关毕业论文范文。免费优秀的关于工程师及时序及模型方面论文范文资料,适合工程师论文写作的大学硕士及本科毕业论文开题报告范文和学术职称论文参考文献下载。
摘 要:本文介绍的是一种介于未定时序(Untimed)的行为描述(如ANSIC)与RTL间的动态等效检查方法.高层综合(HighLevelSynthesis,HLS)提供了一条快速和简便的路径,将使用高阶语言所描述的行为综合为RTL.而本文介绍的检查方法,其好处之一在于软件工程师和硬件工程师可共享相同的测试数据.该方法可让硬件工程师复用原本用于软件验证的未定时序输入测试向量(TestVector),并将RTL仿真(Simulation)产生之结果与进行软件验证时所获得的黄金参考输出来做比较.我们将这一方法称为动态等效检查方法,这种方法可将未定时序的输出与RTL仿真结果的已定时序(Timed)输出进行比较,并将出现的任何不匹配结果显示出来.为了验证我们的方法,我们加强既有的一个HLS工具后端并制作了一个测试平台(Testbench)的自动产生器.此方法可运用于各种不同的设计时间,这在本文中均有提及.结果显示,此方法非常有效且用法极其简单.
1简介
在超大规模集成电路的设计中进行更高层的抽象设计,与传统的RTL设计相比有一些明显的优势.首先,大多数的设计都开始于高层模型,以方便验证所要实行的应用.高层综合方法在这些模型和RTL之间提供了一条直接的途径.根据实际经验[1],通常1行的C程序代码可被转换成7行的RTL代码.这代表着行为描述更加容易被维护,并排除错误,而且由设计人员带来的程序错误也会更少.其次,许多情况下,设计规格的不确定,规格的任何变化都会导致不同的设计架构变更(如on-die存储或外部存储、总线的分层).在传统RTL的设计中,这将导致大规模的重新设计.而在行为层,这些变更则变得容易处理.第三,提供抽象的层级使得软件和硬件的设计人员能够使用同一种语言来沟通.现今在特定硬件上运行的应用已变得越来越复杂,且大都以复杂的数学模型为基础,在许多情况下变得难以被硬件设计人员所理解.而采用同一种行为描述语言则可让硬件和软件设计人员在同样的抽象层级上进行交流.这一些复杂应用的例子包括:基于复杂加解密算法的专用硬件安全引擎[2].
本文来源 http://www.sxsky.net/benkelunwen/060411113.html
下面我们将从验证的角度说明行为综合(BehavioralSynthesis)的优势.高层综合与模型产生器在不同设计时间的结合使软件设计员可复用测试向量.此外,这些模型产生器使得可复用的不仅是未定时序的输入测试向量,也包括了以软件仿真(SWSimulation)的输出作为已定时序硬件仿真的黄金参考输出.再者,这些模型的优点还包含能够加速传统耗时的RTL仿真.传统RTL的仿真速度非常慢,常常无法利用它来完成整个SoC仿真.相比之下,行为仿真的模型则可使仿真的速度加快,因此可允许对更大型的设计来进行仿真.
我们在文中提供了完整的验证流程,可使HLS在不同的抽象层次利用模型产生器来充分发挥HLS的能力.我们还展示了一种动态的等效检查方法,可复用未定时序的软件输入向量,以及使用软件仿真的输出向量作为周期准确模型以及RTL仿真的黄金参考输出.
2动机
NEC在过去的20年里发展了一种ESL综合环境,称为CyberWorkBench(CWB)[3].CWB可用来将未定时序的C、SystemC或SpecC的程序代码,以传统的HLS方式,即通过为控制单元和数据通路单元创建FSM的方式生成Verilog或VHDL.数据通路单元主要是由一些功能单元(FunctionUnit,FU)加上寄存器和多任务器所构成.
本文的重点在HLS的验证部分.我们的办法是,在可能的最高抽象层级提供路径来验证设计并排除其中的故障程序,从而加快验证过程,缩短验证周期.为了达到这一目的,我们研发了模型产生器(ModelGenerator),可根据须进行验证的不同设计时间而产生不同的仿真模型.如图1所显示的,就是在不同验证阶段所需的各种模型产生器.在采用HLS时,设计人员所要做的第一步就是手动调整原先的软件描述,使其成为能被综合的程序代码.那些在HLS无法被支持的典型结构,主要就是动态存储分配(DynamicMemoryAllocation)和递归函式(Recursion).在此阶段,设计人员还要细化数据型态(DataType)以尽可能获得最小、最有效率的设计模型.为此,大多数的HLS透过将C的语法扩展来提供符合硬件设计的数据型态.为了进行数据型态细化后的验证,我们创建了一个行为模型产生器;并可用它得到一个C++程序模型,此模型可用来代表经手动调整后的行为描述.这种模型产生器所产生的模型不仅是数据型态经过细化的C++程序,还包括了一个测试平台(Testbench),除了允许复用原本用于软件仿真的输入向量,也可让软件仿真的结果与行为仿真中所获得的结果来做比较.
HLS之后,就可执行一个周期准确(Cycle-accurate)的仿真来进行已定时序的验证,这时需要一个能快速产生SystemC仿真模型的周期准确模型产生器.在HLS的排程阶段执行后,这些能周期准确地仿真RTL行为的SystemC模型(通过HLS后产生的副产品)将得以被创建.而一个可复用未定时序的软件输入和输出的测试平台也会被创建出来.每个输入输出端口的有效信号也自动产生,因为什么时候需要读取数据,以及什么时候有效的数据会被写出,都需要在测试平台上显示出来.这是此验证方法对我们所做的最主要贡献,也会在下一节内容中加以详细说明.我们将这种验证方法称为‘动态等效检查法’,因为用这种方法可以在一个已定时序的仿真中完全地复用未定时序的输入和输出测试向量.设计流程的最后一步验证是要验证HLS所产生的最终RTL.为此,要有一个RTL测试平台产生器来创建一个可复用未定时序输入测试样本(TestPattern)的测试平台,并将测试的输出与原有未定时序的黄金参考输出进行比较.
这些不同模型产生器的结合与RTL的测试平台产生器将允许该电路设计在不同的阶段得到验证,而不需返回到缓慢的RTL仿真程序去.经证实,行为模型产生器的仿真速度比传统RTL仿真快1,000倍,而周期准确模型则比RTL仿真快上100倍![4]
3HLS设计空间探索
在继续说明验证方法之前,我们需要进行一些额外的说明来了解我们方法的优点.高层抽象与高层综合结合的优点之一就是能够快速且容易地进行架构取舍性(trade-off)的空间探索,例如,数组可被映像到不同的存储(双口或单口)、或寄存器及其扩展.设计空间探索(DesignSpaceExploration,DSE)可通过手动改变原始的未定时序描述或令其完全地自动化运行;其中包括以前置处理指令(Pragma)的插入来进行综合指示,或通过改变功能单元(FU)的数量限制文件(Constraintfile)来进行.这些前置处理指令可告诉行为综合器如何进行各种不同的综合操作.可探索(Explorable)操作指的是针对那些具有可多重硬件实现的架构(例如数组、循环和函式),来进行探索.
图2显示的是一个利用乘法与加法的计算来实现FIRfilter的源代码.经由DSE,可得到一个由二组数组(其中分别存输入的主
工程师方面有关论文范文素材,与高层综合动态等效检查器相关论文答辩开场白参考文献资料: