论文部分内容阅读
本论文的主要内容是以数字滤波器的根本原理与常用架构作为理论基础,在熟悉传统ASIC (专用集成电路,Application Specific Integrated Circuit)设计流程并能使用Verilog语言完成数字滤波器设计的基础之上,进一步掌握更高层次的C/C++ASIC设计,并利用Catapult C Synthesis算法综合工具完成数字滤波器设计。而后从多方面比较两种设计流程的区别,分析两种方法的特点。现阶段传统的ASIC设计基本上均采用Verilog或VHDL等硬件描述语言手动编写代码,然后使用集成的开发环境对源代码进行综合得到硬件电路。利用此种方法,系统设计可以由上至下将整个设计电路划分成多个不同级别的模块,通过这些模块来分层次描述当下设计的思想。然后利用EDA (电子设计自动化,Electronic Design Automation)工具分别进行仿真和验证。接着,将需要转化成实际电路的部分连接组合,并通过逻辑综合,把这些模块转化成门级电路的网表形式,交给下一流程的工程师生成最终的版图文件,完成整个设计工作。随着数字集成电路规模的不断扩大,以及算法复杂程度持续增加,传统的手动编写RTL代码的设计方法学似乎已经达到了其设计极限。由于传统设计的开发流程和周期较长,且人工编写代码易于出错,设计需求和产品上市的压力使得工程师无法在短时间内获得最优的解决方案。所以亟需一种新的设计方法可以快速完成算法到电路的转化。Catapult Synthesis系列算法综合工具通过将设计的抽象层次提高到ANSIC++,为新一代高精尖工业、卫星通讯等高端应用中要求的复杂高性能ASIC或FPGA (现场可编程门阵列,Field Programmable Gate Array)硬件实现提供了一种高速高效的设计方法。Catapult工具是业内第一个能够对标准的无时序ANSIC++进行综合的产品,它避免了由于人为因素导致的对算法理解偏差和设计上的错误,快速高效地生成精准的RTL代码,工作效率瞬间大幅提高。同时,它能支持设计师在较短时间内多次尝试各种微架构设计与I/O口的多样化实现,对实现的结果进行比较,最后选择最合理、优化的实现方案。本论文中将使用上述两种方法分别对同一种数字滤波器进行设计和实现,目的是通过对比的方式对这两种设计方法进行多方面的研究,深入挖掘两种设计方法的特点。内容主要包括:算法理论研究,C语言源代码编写,Verilog源代码编写,Modelsim仿真,Catapult C综合,Synopsys Design Compiler综合。最后,从方法论的角度着手进行分析,将两种设计方法的实现结果进行对比和总结。