电子系统EDA集成开发环境(IDE——Integrated Development Environment)是指根据电子系统或集成电路设计流程,将设计流程中各个阶段所需要的不同的EDA工具软件集成在一个硬件平台上,进行项目设计开发的软硬工作环境。在此环境中,项目的设计数据通过文件方式在各个EDA工具之间流转,就像工厂里的生产流水线上产品流动一样,直到产品生产全过程结束。
由于各个EDA工具开发商在不同的设计环节有不同的专长,其EDA工具也有不同的特色。有的EDA工具行为描述能力强,不仅具有算法级和寄存器传输级行为设计描述能力,而且还具有系统级行为设计描述能力;有的EDA工具的逻辑综合效率高,占用资源少;有的EDA工具时序仿真较为精确,设计的项目能够工作于较高的频率;有的EDA工具界面友好,容易使用。选择优秀的EDA工具,构成超级的电子系统EDA集成开发环境是项目开发工程师首要的任务之一。通常,选择优秀的EDA工具有如下几个约束条件:
(1)EDA工具的使用授权限制;
(2)设计语言、设计数据、设计格式的兼容性;
(3)EDA工具与计算机及其操作系统的兼容性问题;
(4)设计项目的实际需要的限制。
不同的设计对象,其EDA集成开发环境架构有很大的差别。例如,在经典的板级电子系统设计中,通常是将许多专用集成电路(ASIC)芯片、通用的门电路芯片设计在一块印刷电路板(PCB)上来完成整个电子系统设计,其设计的基本素材的集成电路芯片;在现代的芯片级电子系统设计中,通常是将许多的软、硬知识产权(IP)核或电路模块设计在一个超大规模集成电路芯片上来完成整个电子系统设计,其设计的基本素材是可复用的IP核或电路模块。随着集成电路技术的发展,电子系统设计开始逐渐从经典的板级系统设计转化为现代的芯片级系统设计,因此电子系统设计工程师的开发工作也逐渐从板上电子系统设计转向片上系统(SOC)设计,设计的基本构件也从通用的IC转为复用的IP。
本文根据目前的EDA工具软件或套件的结构,并且从电子系统的设计开发需要出发,把电子系统EDA集成开发环境分为三种类型:板级电子系统EDA集成开发环境、芯片级电子系统EDA集成开发环境和综合型电子系统EDA集成开发环境,并且提出此三种类型的EDA集成开发环境的框架结构,以便电子系统或嵌入式系统设计者从总体上了解和掌握电子系统集成开发环境使用方法和构造方法。
1. 板级电子系统EDA集成开发环境
典型的板级电子系统EDA集成开发环境如图1所示。此种类型的集成开发环境通常是由板级电子系统的硬件系统集成设计环境(即PCB集成设计环境)和软件系统集成设计环境两个部分构成的。
图1 板级电子系统EDA集成开发环境
任何一种板级电子系统都是由硬件和软件两个子系统组成的,因此一个完整的板级电子系统集成开发环境,除了用于硬件系统开发的EDA集成设计环境外,还应当包括软件实时仿真开发调试环境。对于低端的微控制器应用系统,通常是由硬件仿真器及其配套仿真软件组成的(见图1中部);对于高端32位嵌入式处理器应用系统——嵌入式系统,通常是一种基于嵌入式实时操作系统(RTOS——Real-Time Operating System)平台(见图1底部)。
2. 芯片级电子系统EDA集成开发环境
芯片级电子系统EDA集成开发环境,也是一种集成电路(IC)EDA集成开发环境。在集成电路设计中,不同的设计方法和设计流程就需要不同的EDA集成开发环境。根据设计对象不同,芯片级电子系统EDA集成开发环境可分为专用集成电路(ASIC)集成设计环境和片上系统(SOC)集成设计环境。这里需特别指出的是SOC和ASIC概念的区别。从电子线路的角度理解可以认为:ASIC是一种具有某种特定功能的大规模集成电路芯片(如VGA图像处理芯片、PCI接口芯片、视频放大芯片等),而SOC是一种集成了微处理器、存储器、外围电路和软件系统程序的自成系统的超大规模集成电路芯片。
(1) ASIC集成设计环境
典型的ASIC集成设计环境如图2所示。由此图可以得出,在此集成设计环境的设计流程中,可以生成五种不同类型产品:
(1)经过功能验证后软IP核;
(2)经逻辑综合验证后固IP核,
(3)可编程的专用集成电路(ASIC)器件;
(4)由ASIC版图生成的硬IP核;
(5)由代工厂生产的ASIC芯片。
图2 专用集成电路(ASIC)集成设计环境
(2) SOC集成设计环境
典型的SOC集成设计环境如图3所示,此集成环境是一种典型的软硬协同设计集成环境(或平台)。在此集成设计环境的设计流程中,也可以生成五种不同类型产品:
(1)经过功能验证后软IP核;
(2)经逻辑综合验证后固IP核,
(3)可编程的片上系统(SOPC)器件;
(4)由SOC版图生成的硬IP核;
(5)由代工厂生产的SOC芯片。
片上系统(SOC)设计所需要的EDA工具,若从硬件设计角度看,在设计流程的前端设计与ASIC设计差别不大。但是,从整个芯片设计角度出发,这两种类型的芯片设计有较大区别。这是因为,在SOC设计中,一般都含有微处理器核,所设计的系统级芯片都必须具备有设备驱动程序与操作系统或嵌入式实时操作系统接口,并且具备有应用程序完成数字计算、信号处理变换、控制决策等功能。因此,在设计的前期,要软、硬件协同设计,确定那些功能是由硬件完成的,那些软件功能是由软件完成的,需要进行一个适当划分。在设计的中后期,要进行软硬件协同验证,即把软硬件设计放到一个虚拟的集成环境中进行仿真验证,以便验证硬件的性能是否达到设计目标,软件功能是否实现设计要求。
图3 片上系统(SOC)集成设计环境
3. 综合型电子系统EDA集成开发环境
典型的综合型电子系统EDA集成开发环境如图4所示,通常称其为整机型或混合型电子系统EDA集成开发环境。这种类型集成开发环境综合集成了芯片级和板级电子系统设计的EDA工具,可以完成如下三个方面工作:印刷电路板(PCB)设计、专用集成电路(ASIC)芯片设计和片上系统(SOC)芯片设计。在此集成开发环境中,PCB设计平台完成经典的板级电子系统设计工作、ASIC设计平台完成专用集成电路芯片设计工作、SOC设计平台完成现代芯片级电子系统设计工作,而PLD设计平台完成可编程型的ASIC和SOC芯片(包括CPLD/FPGA、SOPC等芯片)的设计工作。
图4 综合型(混合型)电子系统EDA集成开发环境
4. 电子系统EDA集成开发环境比较分析
无论是板级电子系统EDA集成开发环境,还是芯片级电子系统EDA集成开发环境,都不能全面地反应现代电子系统设计的实际现状,即在板级电子系统设计中存在有专用芯片设计问题,而在芯片级电子系统设计中存在印刷电路板(PCB)设计问题。
存在这一实际问题的主要原因有如下两个方面:
(1)在板级电子系统设计中,为了某种特殊需要(如简化系统逻辑设计、缩小PCB体积、提高系统的运行速度和可靠性等),或特殊功能要求(如特殊算法功能、特殊的数字信号处理功能等),需要采用一些用户自行设计的专用芯片,特别是可编程专用芯片。因此,在板级电子系统集成开发环境中需要融入芯片级电子系统设计的EDA工具。
(2)在芯片级电子系统设计中,就目前的技术现状而言,即使是系统级芯片(SOC),由于集成电路规模和集成电路技术的限制,不可能把整个实际的电子系统电路完全集成在一个芯片内,需要把不能集成在芯片内的功能用另一个或多个芯片或器件来实现,而把多个芯片组合成一个电子系统就需要通过PCB,这就需要在芯片级电子系统集成环境中嵌入板级电子系统设计的EDA工具。正是基于上述原因,在综合型电子系统集成环境中,通常需要在板级电子系统EDA集成开发环境中融入芯片级电子系统设计的EDA工具,而在芯片级电子系统EDA集成开发环境中嵌入板级电子系统设计的EDA工具,因此称之为“综合型或混合型电子系统EDA集成开发环境”。这种综合型电子系统集成开发环境,是目前EDA工程技术的一种发展趋势。虽然,从表面上看,综合型电子系统`集成环境只是板级电子系统EDA集成开发环境和芯片级电子系统EDA集成开发环境的一种组合,但是其与简单的组合有着本质的差别。这种差别源于EDA集成环境中的一个重要概念——EDA系统的框架结构。
EDA系统框架结构(Framework)是一套创建电子系统集成设计环境和使用EDA工具软件的规范,其能将来自不同EDA厂商的EDA工具软件进行优化组合,集成在一个易于管理的统一环境之下,支持任务之间、项目之间、设计工程师之间的信息传输和工程数据共享,这是并行设计工作和自顶向下设计方法的基础,也是构建电子系统集成设计环境或集成设计平台的基本规范。目前,主要的EDA系统都建立了框架结构,并且它们都遵循国际计算机辅助设计框架结构组织——CFI(CAD Framework International)的统一的技术标准。
参考文献
1 程 昱, 等. 精通Protel DXP电路设计. 北京: 清华大学出版社, 2004
2 胡 健,高明远,等. VHDL语言与FPGA设计——基于Protel DXP开发平台. 北京: 机械工业出版社, 2004
3 曾 峰, 巩海洪, 曾 波. PowerPCB高速电子电路设计与应用. 北京: 电子工业出版社, 2004
4 冯耀辉, 黄星明. 印刷电路板设计PowerPCB 5.0入门与提高. 北京: 人民邮电出版社, 2003
5 李国洪, 曹白扬, 陈 刚, 等. 电子CAD实用教程——基于OrCAD9.2. 北京: 机械工业出版社, 2003
6 贾新章, 等. OrCAD/PSpice 9实用教程. 西安: 西安电子科技大学出版社, 1999
7 陈 翌, 田 捷, 王金刚. 嵌入式软件开发技术. 北京: 国防工业出版社, 2003
8 李善平, 刘文峰, 王焕龙, 等. Linux与嵌入式系统. 北京: 清华大学出版社, 2002
9 曾繁泰, 李 冰, 李晓林. EDA工程概论. 北京: 清华大学出版社, 2002
10 曾繁泰, 陈美金, 沈卫红, 曾 鸣. EDA工程方法学. 北京: 清华大学出版社, 2003
11 曾繁泰, 王 强, 盛 娜, 等. EDA工程的理论与实践——SOC系统芯片设计. 北京: 电子工业出版社, 2004
12 褚振勇, 翁木云. FPGA设计及应用. 西安: 西安电子科技大学出版社, 2002
13 任晓东, 文 博. CPLD/FPPGA高级应用开发指南. 北京: 电子工业出版社, 2003
14 王 诚, 薛小刚, 钟信潮. FPGA/CPLD设计工具——Xilinx ISE 5.x使用详解. 北 京: 人民邮电出版社, 2003
15曾繁泰, 侯亚宁, 崔元明. 可程器件应用导论. 北京: 清华大学出版社, 2001
16 李广军, 孟宪元. 可编程ASIC设计及应用. 成都: 电子科技大学出版社, 2000
17 罗胜钦. 数字集成系统芯片(SOC)设计. 北京: 北京希望电子出版社, 2002
18 牛风举,刘元成,朱明程. 基于IP复用的数字IC设计技术. 北京: 电子工业出版社,2003
19 Rochit Rajsuman著,于敦山, 盛世敏, 田 泽, 等译. SOC设计与测试. 北京: 北京航空航天大学出版社,2003
20 林 敏, 方颖立. VHDL数字系统设计与高层次综合. 北京: 电子工业出版社,2002
21 王金明. Verilog HDL程序设计教程. 北京: 人民邮电出版社, 2004
22 陈 曦, 徐宁仪. SystemC片上系统设计. 北京: 科学出版社, 2003
23 J.Bhasker著, 孙海平, 等译. SystemC基础教程. 北京: 清华大学出版社, 2004
文章评论(0条评论)
登录后参与讨论