节点文献
基于SystemC的集成电路设计方法研究
Study on the System C Based ASIC Design Method
【作者】 钟涛;
【导师】 王豪才;
【作者基本信息】 电子科技大学 , 微电子学与固体电子学, 2003, 博士
【摘要】 片上系统(SOC)的出现对集成电路设计方法学提出了挑战。采用目前基于寄存器传输级综合的设计流程,已不能适应市场对微电子设计的要求。微电子系统的设计已经从纯粹的硬件布局,上升到包扩软件硬件在内的系统设计。出现的困难主要来源于两个方面:一是电路规模的加大,现有设计方法和设计工具不能满足设计复杂性管理的需求,而电子产品进入市场的时间窗口减小也要求提高设计产率;另一个方面是电路特征尺寸的缩小,需要新的方法和工具去探测深亚微米设计的物理效应。深亚微米设计最突出的特点是互连延迟在电路延迟和芯片面积中的比例增加,设计方法必须从面向逻辑的设计转为面向互连的设计,在设计早期考虑物理效应。将系统级的架构、功能、算法和底层的物理性能、互连和时序等概念结合在设计流程前端,对物理性能进行早期评估,以减少设计反复提高设计产率。解决设计效率的两个主要途径是提高自动化水平和提高设计重用水平。设计重用技术包括设计本身的重用和设计策略的重用,基于知识产权(IP)的设计和高层次综合是发展的方向。SystemC作为IP描述语言的推出,适应了设计方法学的发展。SystemC 目前的发展趋势是提高抽象层次,建立系统级的软硬件协同设计。它统一了软件硬件的设计环境,其宽谱特性使得高层系统设计和低层次逻辑设计能在统一的语言环境中进行。SystemC提供了硬件描述能力,如模块、信号、端口等结构,多值信号、定点类型等,以及节拍式仿真的内核。SystemC2.0的发展重点在系统级的建模,因此提供了通道、接口和事件的概念,用以描述通讯和同步。同时SystemC也提供了动态事件敏感方法,满足对消息传递响应等系统级行为的建模要求。接口和通道的概念将通讯和计算分开,提高了设计的重用性。但是基于SystemC的设计方法用于工业应用仍然不够成熟,目前使用SystemC的方法仍然和Verilog设计类似。对如何在硬件设计中利用C++面向对象技术提高设计重用和复杂性管理,如何在基于SystemC的设计中支持物理设计的研究才刚刚起步,缺乏足够的基于SystemC项目验证相关设计方法。本文尝试在基于SystemC的设计方法学上有所贡献。主要工作如下:分析了面向对象技术中,封装、继承、多态、模式和框架等概念在微电子设<WP=5>1) 计中的适用性。给出了多态、指针等概念的硬件表示,扩展了Semeria等提出的指针分析方法[51],给出了一种新的变换函数指针的方法,在此基础上提出C++中虚拟函数映射到硬件的变换方法。根据本文提出的方法,既可手工将多态技术下建立的C++模型映射到转换成可综合的 SystemC代码,可以作为C++综合的基础。2) 设计验证已经成为SOC设计的主要瓶颈,对复杂系统的验证是目前研究的热点。仿真验证是一种黑盒验证,对大系统耗时且不易定位错误。本文建立了SystemC中的基于断言和剖析技术的验证方法,实现了用于断言验证的C++库,这种白盒验证方法可以提高基于SystemC的设计验证的效率,作为仿真验证方法的补充。3) 在深亚微米设计方法,通常需要将版图规划提前到设计初期。以便预估物理特征,减少设计反复。本文将功能结构协同设计的思想引入SystemC设计方法中,建立了SystemC上的结构描述和版图规划机制,并利用仿真退火技术验证了基于代理模式的类结构。4) SystemC作为新的设计语言,需要在设计中验证和发展和它相关的设计方法学。本文基于这一目的,利用SystemC建模ARM指令兼容处理器。我们给出了一种通讯细化的方法,并验证了封装、多态等面向对象概念在硬件设计中的有效性。
【Abstract】 The explosive growth in silicon capacity and the consumer use of electronic products have introduced many new challenges for the ASIC design methodology. But the current methodologies for IC design which base on RTL synthesis are inadequate for the market requirement. The major technical barriers are contributed by two factors: first, very high integration and the increasing complexity of digital integrated circuits. The methodology and EDA tools should adopt this change. Moreover, with characteristic wire width decrease, the delay of wire has dominated the chip’s overall delay, and exacerbates the interconnect management weakness of the complexity. The design method should transfer from logic-oriented design to interconnection-oriented design because of DSM effects. We now should consider physical effects at the early stage of the design. This needs new methods and tools to modeling function and structure simultaneously and give early estimating of physical performance. SystemC library makes the use of the C++ language for system design possible. A SystemC-based hardware methodology places both hardware and software in the same language. This simplifies software verification, which is typically one of the critical bottlenecks in a product release.SystemC provide the notions of describing hardware such as module, signal, port,multi-value signal、fix point value and so on. A cycle-based simulation kernel is also provided. Further more, SystemC introduces a set of new notions for modeling of communication. They are channel, interface and event. With these notions, designer can separate computation from communication and improve the reusability of the design.However, SystemC-based design methodology is far from mature. Designers use SystemC the same way they use HDLs. How to use characters of C++ to improve the management of design complexity and the design reuse is still an open issue.The purpose of this dissertation was to conduct a research on SystemC-based design method and design-reuse method under the C/C++ hardware design.The primary contributions in this dissertation follow:<WP=7>1) The conceptions of package, inheritance, polymorphs, pattern and framework in object-oriented technique are very useful for microelectronic SOC modeling. I present a solution for mapping function pointer and virtual function into hardware. Based on this solution, I present how to use polymorphs, pattern and framework in hardware design.2) The verification method based on profiling and assertion techniques is built. The C++ library of assertions is developed to improve the verification of SystemC models.3) Physical design predictability is a key issue in SOC design. Floorplan-centric design methodology can alleviate the timing converge problems. We extended the SystemC class structure to capture physical structure and implement the anneal-based floorplan algorithm in SystemC. The PDL allows architecture-function codesign.4) We designed an ARM instruction compatible pipeline based on SystemC to verify the SystemC-based design methodology. We also give a method for communication refinement.
【Key words】 SOC Design; SystemC; Object-Oriented Method; C/C++; Structure and Function Codesign; Polymorphs; ARM pipeline; Design Pattern;