1、1,计算机EDA设计 教 程,北航计算机学院 艾明晶,2,目 录,绪论 (1学时) 第1章 数字系统设计与EDA技术 (2学时) 第2章 PLD器件结构 (2学时) 第3章 硬件描述语言Verilog HDL (3学时) 第4章 EDA设计工具软件 (5学时) 第5章 数字电路与数字系统的设计实现 (2学时) 第6章 SOPC开发过程 (1学时) 第7章 Nios 嵌入式处理器设计 (2学时),理论课共18学时,3,问题的提出 传统的数字系统设计方法 现代的数字系统设计方法 什么是EDA技术? 实例演示:电子秒表电路的设计 关于课程,共1学时,绪 论,4,问题的提出,设计一个电子秒表电路,使之
2、完成以下功能: 按0.01s的步长进行计时; 具有异步清零和启动/停止计数功能; 并用数码管显示其秒高位、秒低位,百分秒高位、百分秒低位。 为便于显示,秒和百分秒信号均采用BCD码计数方式。,5,问题的提出(续),输入信号: clk:系统时钟信号,f=50MHz; clr:异步清零信号,负脉冲有效; startstop:启/停信号,负脉冲有效。 输出信号: dsec60:驱动数码管,显示秒高位; sec60:驱动数码管,显示秒低位; cn:分钟的进位信号,接发光二极管,高有效; secd60、secm60 分别显示百分秒高位和百分秒低位。,6,解决方案1传统的数字系统设计方法,1. 根据设计要
3、求划分功能模块; 2. 确定输入和输出的关系,画出真值表; 3. 由真值表写出逻辑表达式; 4. 利用公式或卡诺图进行人工化简; 5. 根据化简后的逻辑表达式画出电路原理图; 6. 在面包板上进行实验,验证电路的正确性; 7. 若无错误,再在透明薄膜上用贴图符号贴PCB图; 8. 检查后送制板厂制板; 9. 对PCB板进行安装、调试,若有大的错误,修改设计,重复以上过程,重新制板。,搭积木的方式! 基于电路板的设计方法采用固定功能的器件(通用型器件),通过设计电路板来实现系统功能,7,传统的数字系统设计方法的缺点,效率低下所有这一切,几乎都是手工完成! 设计周期很长; 容易出错; 芯片种类多,
4、数量大,受市场的限制; 设计灵活性差; 产品体积大。,8,解决方案2现代的数字系统设计方法,首先在计算机上安装EDA软件,它们能帮助设计者自动完成几乎所有的设计过程;再选择合适的PLD芯片,可以在一片芯片中实现整个数字系统。,基于芯片的设计方法采用PLD(可编程逻辑器件),利用EDA开发工具,通过芯片设计来实现系统功能。,EDA软件,空白PLD,+,数字系统,编程,9,现代的数字系统设计方法(续1),1.根据设计要求划分功能模块 2. PLD开发(利用EDA工具) (1)设计输入:采用硬件描述语言(HDL),用条件语句或赋值语句表示输入和输出的逻辑关系,将整个程序输入到计算机中; (2)设计的
5、编译:EDA工具可自动进行逻辑综合,将功能描述转换为门级描述,或转换成具体PLD的网表文件,将网表文件自动适配到具体芯片中进行布局布线; (3)功能仿真和时序仿真; (4)编程下载到实际芯片中,在实验台上进行验证; (5)在每一阶段若有问题,可在计算机上直接修改设计,重复以上过程。,10,现代的数字系统设计方法(续2),3. 设计包含PLD芯片的电路板 (1)在计算机上利用EDA软件画电路原理图; (2) 进行电气规则检查无误后,自动生成网表文件; (3) 利用EDA软件画PCB图,自动布线; (4) 自动进行设计规则检查,无误后输出文件,制板。,优点: 效率高所有这一切,几乎都是借助计算机利
6、用EDA软件自动完成! 容易检查错误,便于修改; 设计周期短、成功率很高 ; 产品体积小。,11,什么是EDA技术?,EDA(Electronic Design Automation,电子设计自动化) 是在计算机的辅助下完成电子产品设计的一种先进的硬件设计技术! 是立足于计算机工作平台开发出来的一整套先进的设计电子系统的软件工具。,12,EDA技术的范畴,IC 版图设计,PLD 设计,电路设计,PCB 设计,模拟电路,数字电路,混合电路,设计输入,逻辑综合,仿真,编程下载,本课程内容!,13,学习EDA到底有什么用呢?,真有趣,可以按自己的想法设计一个芯片!,我也要参加全国大学生电子设计竞赛!
7、,呀,毕业设计和冯如杯正好能用得上哎!,原来在一个芯片里就可以设计一个完整的计算机系统呀!,找工作时也算得上一技之长哦!,14,本课程要学习的PLD设计EDA工具软件,1. Quartus 美国Altera公司自行设计的第四代PLD开发软件 目前版本:5.1 可以完成PLD的设计输入、逻辑综合、布局与布线、仿真、时序分析、器件编程的全过程 同时还支持SOPC(可编程片上系统)设计开发,2. ModelSim 美国Mentor Graphics公司的子公司Model Technology开发的仿真工具 目前版本:6.0 业界使用最广泛的HDL语言仿真器之一 支持VHDL、Verilog HDL或
8、混合HDL语言设计 仿真功能强大,仿真速度快!,15,实例演示 :电子秒表电路的设计,假设系统时钟为50MHz, PLD器件为EP1S10F780C6。 设计思路采用自顶向下的设计方法: 需要两个分频器,将50MHz分频为10KHz,将10KHz分频为100Hz; 需要一个BCD码计数器,可分别对秒和百分秒位循环计数; 需要一个译码器,将BCD计数器的输出译码为7段显示器的7段输入。,16,系统功能框图,17,采用Quatus 的PLD设计方法,千万记住哦!,1. 首先在资源管理器下创建一个工作目录。 2. 在Quatus 中创建一个工程。 3. 子模块设计:每个模块可以用HDL语言描述,对每
9、个模块进行编译、仿真,通过后然后生成模块符号。 4.顶层设计:创建一个顶层图形文件,将各模块符号放到图中,添加输入、输出引脚,连线;编译,仿真。 5. 给输入、输出引脚分配引脚号码,编程下载。,工作目录和工程名不能有空格和汉字!,18,演 示,第1步:在资源管理器下创建一个工作目录second。第2步:启动Quatus II,执行菜单命令“ File New Project Wizard”,创建一个工程,工程名为second。若要打开一个已有的工程,则执行“ File Open Project ”命令。第3步:设计子模块 (1)执行菜单命令“ File New”,新建一个文本文件clkdiv1
10、00 .v,采用Verilog HDL语言描述; (2)存盘; (3)指定该子模块为顶层实体,执行 “Processing Start Compilation”命令,对其进行全编译。,最好每个工程都有自己的工作目录!,19,module clkdiv100 (clr,clkin,clkout,count); input clr,clkin; / 输入端口声明output clkout,count; / 输出端口声明reg6:0 count;reg clkout;always (posedge clkin or negedge clr)beginif (!clr) count=0; / 异步清零
11、!低有效,子模块设计100分频器,模块1 10KHz到100Hz的分频电路(采用Verilog HDL语言描述),(1) 端口定义,模块名(同文件名),(3) 功能描述,20,子模块设计100分频器(续),else if (count6:0=99) beginclkout=1; / clkout只在计数值为99时为“1“count6:0=0;endelse beginclkout=0; / clkout在其他时候都为“0“count6:0=count6:0+1;endend endmodule,续前页,21,子模块设计BCD计数器,模块2 BCD计数器,module bcdcnt(dsec,s
12、ec,secd,secm,cn,clkin,clr);input clkin,clr; /Tclkin = 0.01soutput3:0 dsec,sec,secd,secm; output cn; /秒高位向分钟的进位reg3:0 dsec,sec,secd,secm;reg cn; always (posedge clkin or negedge clr)begin if (!clr) /(1)异步清零!begincn=0; /进位信号也必须清零! dsec3:0=0; sec3:0=0;secd3:0=0; secm3:0=0;end,22,子模块设计BCD计数器(续1),续前页,els
13、e /(2)计数,采用4个if语句的嵌套beginif(secm3:0=9) /百分秒低位是否为9?beginsecm3:0=0;if(secd3:0=9) /百分秒高位是否为9? begin secd3:0=0;if(sec3:0=9) /秒低位是否为9? begin sec3:0=0;if(dsec3:0=5) /秒高位是否为5?dsec3:0=0;else dsec3:0=dsec3:0+1; endelse sec3:0=sec3:0+1;endelse secd3:0=secd3:0+1;endelse secm3:0=secm3:0+1;,23,子模块设计BCD计数器(续2),续前
14、页,/(3)产生向分钟的进位信号if (dsec3:0=5)endend endmodule,24,仿真子模块,第3步: (4)进行仿真新建一个仿真波形文件.vwf,编辑输入波形;执行“Tools Simulation Tool”命令,打开仿真器工具窗口;单击Start按钮,开始仿真。,bcdcnt.vwf,25,创建模块符号,(5)创建模块符号仿真通过后,执行“File Create/Update Create Symbol Files for Current File”菜单命令,创建模块符号(文件后缀为.bsf)。,26,子模块设计7段码译码器,模块3 7段LED显示器(共阳极)译码器。,
15、module p7seg(out,data);input 3:0data ; /7段显示器输入output 6:0 out; /7段显示器字段输出out6:0相当于a,b,c,d,e,f,g reg 6:0 out; always (data )case (data)4d0: out = 7b0000001 ;4d1: out = 7b1001111 ;4d2: out = 7b0010010 ;4d3: out = 7b0000110 ;4d4: out = 7b1001100 ;4d5: out = 7b0100100 ;,case语句适于对同一个控制信号取不同的值时,输出取不同的值!,2
16、7,子模块设计7段码译码器(续),4d6: out = 7b0100000 ;4d7: out = 7b0001111 ;4d8: out = 7b0000000 ;4d9: out = 7b0000100 ;default:out = 7b1111111;/当data为4hA4hF时,七段显示器不亮endcase endmodule,续前页,p7seg.vwf,28,设计顶层图形文件,第4步:设计顶层图形文件 (1)创建一个顶层图形文件second.bdf ,将各模块符号放到图中,添加输入、输出引脚,连线;,second.bdf,29,编译和时序仿真,(2)将该图形文件设置为顶层实体; (3
17、)进行编译器选项设置; (4)全编译; (5)对顶层图形文件仿真(如果必要的话)。,30,引脚锁定,第5步:对下载用顶层文件(如second_download.bdf)指定目标器件,给输入、输出引脚分配引脚号码,编程下载 (1)在Assignment Editor 中进行引脚锁定执行“ Assignnments Assignment Editor”菜单命令,Assignment Editor,31,引脚锁定(续),second_download.bdf,32,编程下载,(2)将该图形文件设置为顶层实体,编译,则生成编程目标文件second.sof文件(编程目标文件自动与其工程同名); (3)编
18、程下载;执行“Tools Programmer”命令,在编程器窗口中 选中“Program/Configure”复选框;单击Start按钮,开始编程下载。若完成编程,则在Message窗口中显示“Configuration succeeded”。 (4)在线校验。 利用实验板上的按钮,模拟启动计数、暂停计数和继续计数,以及异步清零功能 ,然后观察数码管和LED的显示,看是否与预定的功能相符。,PLD器件和EDA技术的出现改变了传统的数字系统设计思想,使硬件设计变得简单、高效!,33,关 于 课 程,本课程主要学习基于可编程逻辑器件(Programmable Logic Device,PLD)的
19、EDA技术和SOPC(System on Programmable Chip,可编程片上系统) 技术。 本课程包括理论教学和实验教学两大部分。 理论教学共包括7章,以应用为主,按照“技术器件设计语言设计软件实例”的顺序介绍当前PLD设计的主导思想及设计方法,在最后两章简要介绍SOPC设计方法。 学分:2.5 学时:理论课18学时 + 实验课28学时 先修课程:数字电子技术,计算机接口与通信技术,课程简介,34,实验教学内容,自 学 时钟分频电路 按钮消抖电路 卡式电话计费器 电子抢答器 FIR滤波器 4位算术逻辑单元 键盘控制器 鼠标控制器 RS232的控制电路,关 于 课 程(续1),必 做
20、 电子秒表电路 乐曲演奏电路 数码管扫描显示电路 交通红绿灯控制器 电子日历与电子时钟 电梯控制器 VGA显示器的控制电路 基于SOPC的电子钟设计,35,教学目标,拓宽知识面,深化对数字电子技术和计算机接口与通信技术等知识的理解; 熟练掌握Verilog HDL硬件描述语言; 能够采用各种输入方法,综合使用多种EDA工具软件,进行PLD的设计、编译、仿真及下载,掌握EDA设计的基本原理和方法; 熟练应用EDA技术进行基于PLD的数字系统的设计与开发; 能够熟练进行SOPC的设计。,关 于 课 程(续2),36,1.基于FPGA的嵌入式系统设计 任爱锋等编著,西安电子科技大学出版社,2004
21、2.EDA实验指导书,自编,教材,(1)数字系统设计与Verilog HDL 王金明、杨吉斌编著,电子工业出版社,2002 (2) SOPC技术实用教程潘松等编著,清华大学出版社,2005 (3) 从算法设计到硬线逻辑的实现复杂数字逻辑系统的Verilog HDL设计技术和方法夏宇闻编著,高等教育出版社,2001 (4)从算法设计到硬线逻辑的实现实验练习与Verilog 语法手册夏宇闻编著,高等教育出版社,2001,主要参考书,关 于 课 程(续3),37,课程考核,考核方式:大作业(独立完成) 实验理论课考试(闭卷) 成 绩:大作业45 实验成绩40 理论课考试15,关 于 课 程(续4),
22、38,1.1 数字系统的设计 1.2 EDA技术与PLD 1.3 IP核复用技术与SOC 1.4 数字系统的实现方式 1.5 数字系统的设计描述方法,共2学时,第1章 数字系统设计与EDA技术,39,1.1 数字系统的设计,一、数字系统的概念 二、传统的数字系统设计方法 三、现代的数字系统设计方法,内容概要,40,1.1 数字系统的设计,一、数字系统的概念,电子系统,1. 数字系统,定义,凡是可完成一个特定功能的完整的电子装置。,特点,由一组电子元件或基本电子单元电路相互连接、相互作用而形成的电路整体,能按特定的控制信号,去执行所设想的功能。,分类,模拟电子系统 数字(电子)系统 模拟-数字混
23、合电子系统,41,1.1 数字系统的设计,模拟电子系统,定义,由若干模拟集成电路、单元电路和分立元器件组成,对模拟信号进行检测、处理、变换和产生的电子系统。,数字(电子)系统,特点,由若干数字电路和逻辑部件组成,处理及传送数字信号。,定义,凡是利用数字技术对数字信息进行处理、传输的电子系统。,优点,工作稳定可靠,抗干扰能力强; 精确度高; 便于大规模集成,易于实现小型化; 便于模块化; 便于加密、解密。,42,1.1 数字系统的设计,模拟-数字混合电子系统,定义,由模拟电子电路和数字电子电路组成的电子系统。,应用,主要用于过程控制和各种仪器仪表中,完成对如温度、压力、流量、速度等物理量的测量、
24、控制和显示等。,温度,电压,大信号,数字信号,控制信号,模拟信号,图1-1 水温自动控制系统,43,1.1 数字系统的设计,数字电路:对数字信号进行算术运算和逻辑运算的电路。 数字集成电路:在一块半导体基片上,把众多的数字电路基本单元制作在一起形成的数字电路 。数字集成电路按集成度分 每块包含基本元件数 小规模集成电路SSIC, 10 100个; 中规模集成电路MSIC, 100 1000个; 大规模集成电路LSIC, 1000 10000个; 超大规模集成电路VLSIC, 10000个以上。,2. 数字集成电路,44,1.1 数字系统的设计,按逻辑功能的特点分: (1)通用型:具有很强的通用
25、性,逻辑功能较简单,且固定不变。 (2)专用型:即专用集成电路ASIC(Application Specific Integrated Circuit),为某种专门用途而设计的集成电路。数字系统的发展得益于数字器件和集成技术的发展。,摩尔定律(Moores law):每18个月,芯片集成度提高1倍,功耗下降一半。,45,1.1 数字系统的设计,SSICMSIC LSIC VLSIC SOC(System On Chip片上系统)SOPC(System On a Programmable Chip,可编程片上系统),3. 数字器件的发展,4. 集成(IC,Integrated Circuits)
26、技术的发展,芯片的工艺线宽越来越小从1997年的0.35m,发展到现在的90nm。 设计周期越来越短1997年时需要1218月,现在可能只需要半年甚至更短! 集成度越来越高从1997年的20万50万门,发展到现在的几千万门。,46,1.1 数字系统的设计,最具有代表性的IC芯片: 微控制芯片(MCU,Micro Control Unit) 可编程逻辑器件(PLD,Programmable Logic Device) 数字信号处理器(DSP,Digital Signal Processor) 大规模存储芯片(RAM/ROM,Random Access Memory/Read Only Memor
27、y) 光电集成芯片(OEIC,Optical Electronic IC),以上这些器件构成了现代数字系统的基石。,47,1.1 数字系统的设计,二、传统的数字系统设计方法,基于电路板采用固定功能器件(通用型器件),通过设计电路板来实现系统功能 写出真值表或状态表推出逻辑表达式化简逻辑电路图用小规模逻辑器件来实现,特点,采用自下而上(Bottom Up)的设计方法 采用通用型逻辑器件 搭积木式的方式 在系统硬件设计的后期进行仿真和调试 主要设计文件是电路原理图,48,1.1 数字系统的设计,三、现代的数字系统设计方法 基于芯片采用PLD,利用EDA开发工具,通过芯片设计来实现系统功能。,计算机
28、,+,EDA软件,空白PLD,+,数字系统,通常采用自上而下(Top Down)的设计方法 采用可编程逻辑器件 在系统硬件设计的早期进行仿真 主要设计文件是用硬件描述语言编写的源程序 降低了硬件电路设计难度,特点,自行定义器件内部的逻辑和引脚,写出真值表或状态表 EDA开发工具自动进行逻辑综合 模拟仿真编程下载到PLD中,49,1.1 数字系统的设计,表1-1 数字系统的两种设计方法比较,50,1.1 数字系统的设计,1.自上而下的设计(Top Down),占据主导地位,辅助的设计手段,功能模块划分,子模块设计,若仿真未通过,则需修改设计!,2.自下而上的设计(Bottom Up) 设计基本单
29、元构成子模块子系统系统,51,1.2 EDA技术与PLD,一、EDA技术 二、什么是PLD? 三、PLD的发展演变 四、EDA技术与PLD的关系,内容概要,52,1.2 EDA技术与PLD,一、EDA技术 1什么是EDA技术? EDA:Electronic Design Automation(电子设计自动化) 是在电子产品的设计开发工作中使用计算机和计算机网络作为辅助工具以提高工作效率的技术。,特点,是立足于计算机工作平台开发出来的一整套先进的设计电子系统的软件工具。 是在计算机的辅助下完成电子产品设计方案的输入、处理、仿真和下载的一种硬件设计技术。 是微电子技术中的核心技术之一,是现代集成系
30、统设计的重要方法。,53,1.2 EDA技术与PLD,2EDA技术的历史 以计算机科学、微电子技术的发展为基础 汇集了计算机图形学、拓扑学和计算数学等学科的最新成果,3个发展阶段,(1)CAD(Computer-Aided Design)阶段(19641978) “上帝时代” 最早的EDA技术:电路模拟、逻辑模拟、MOS同步和模拟、PCB布局、线路布线和标准电池等技术 只能进行PCB板布局布线和简单版图绘制,54,1.2 EDA技术与PLD,(2)CAE(Computer-Aided Engineering)阶段(19781997) “英雄时代” 电子CAD工具逐步完善,单点工具集成化 并从技
31、术上向CAE过渡:诞生了先进的布局和布线、逻辑综合、HDL语言、模拟加速器和仿真器以及高级综合等技术(3)EDA阶段(1993现在) “人性时代” 微电子工艺飞速发展,工艺水平已达到深亚微米级;晶体管集成度提高到百万门甚至千万门级;因特网开始进入广泛应用阶段,工程师们开始设计系统级芯片(systems-on-chip) EDA技术发展到物理校验、布局、逻辑综合、模拟设计以及软件/硬件协同设计。 EDA技术已成为电子设计的重要工具,EDA技术受制造技术驱动而发展 随微电子技术、计算机技术而发展,55,1.2 EDA技术与PLD,3现代EDA技术的特点 特征:采用高级语言描述,具有系统级仿真和综合
32、能力 (1)采用硬件描述语言HDL(Hardware Description Language)与原理图设计方法相比: 更适于描述大规模的系统 在抽象的层次上描述系统的结构与功能采用HDL的优点: 语言的公开可利用性 设计与工艺的无关性 宽范围的描述能力系统级、算法级、RTL级、门级、开关级 便于组织大规模系统的设计 便于设计的复用、交流、保存与修改,56,1.2 EDA技术与PLD,(2)高层综合和优化 支持系统级的综合与优化。 综合:通过EDA工具把用HDL语言描述的模块自动转换为用门级电路网表表示的模块,即将电路映射到器件的专用基本结构。 优化:采用优化算法,将设计简化,去除冗余项,提高
33、系统运行速度。 (3)并行工程 定义:一种系统化的、集成化的、并行的产品及相关过程(指制造和维护)的开发模式。 现代EDA工具建立了并行工程框架结构的开发环境,支持多人同时并行进行设计。,一种软件平台结构,(4)开放性和标准化 开放性: EDA工具只要具有符合标准的开放式框架结构,就可以接纳其他厂商的EDA工具一起进行设计资源共享 标准化:随着设计数据格式标准化EDA框架标准化,即在同一个工作站上集成各具特色的多种EDA工具,它们能够协同工作。,57,1.2 EDA技术与PLD,4EDA技术的范畴和应用 可分为系统级、门级和物理实现级三个层次的辅助设计过程涵盖了从系统级设计到版图设计的全过程,
34、涉及电子电路设计的各个领域: IC版图设计 PLD开发 电路(原理)设计 模拟电路 数字电路 混合电路 高速电路 PCB板设计,本课程内容,58,1.2 EDA技术与PLD,5EDA技术发展的现状 EDA技术在进入21世纪后,得到了更大的发展,突出表现在以下几个方面: 使电子设计成果以自主知识产权的方式得以明确表达和确认成为可能; 在设计和仿真两方面支持标准硬件描述语言的功能强大的EDA软件不断推出。 电子技术全方位纳入EDA领域; EDA使得电子领域各学科的界限更加模糊,更加互为包容; 更大规模的FPGA和CPLD器件不断推出; 基于EDA工具的ASIC设计标准单元已涵盖大规模电子系统及IP
35、核模块; 软硬件IP核在电子行业的产业领域、技术领域和设计应用领域得到进一步确认; SoC高效低成本设计技术的成熟。,59,1.2 EDA技术与PLD,6EDA技术的发展方向 (1)将沿着智能化、高性能、高层次综合方向发展 (2)支持软硬件协同设计 芯片和芯片工作所需的应用软件同时设计,同时完成。 采用协同设计,可以及早发现问题,保证一次设计成功,缩短开发周期,这在设计大系统时尤为重要。 (3)采用描述系统的新的设计语言 这种语言统一对硬件和软件进行描述和定义,从开始设计功能参数的提出直至最终的验证。 能够使设计过程一体化;设计效率更高;而且必须从现存的方法学中深化出来。 (4) 推出更好的仿
36、真和验证工具 随着单一芯片上逻辑门数量超过百万门,对设计的验证工作将变得比设计任务本身还要艰难。,60,1.2 EDA技术与PLD,二、什么是PLD? 1什么是PLD? PLD:Programmable Logic Device,可编程逻辑器件,定义,是用户可自行定义其逻辑功能的一种专用集成电路(ASIC)。,作为一种通用型器件生产,但其逻辑功能由用户通过器件编程自行设定。 PLD是一种数字集成电路的半成品,在它的芯片上按照一定的排列方式集成了大量的门和触发器等基本逻辑元件,使用者可以利用某种开发工具对它进行加工,等于把片内的元件连接起来,使它完成某个逻辑电路或系统功能,成为一个可以在实际电子
37、系统中使用的专用集成电路。,PLD集中了通用型器件和ASIC的优点!,61,1.2 EDA技术与PLD,2PLD的特点 (1)编程方便:利用开发工具,用户可反复编程、擦除,修改设计方便 (2)集成度高:单片逻辑门数已达数十万门甚至上百万门 (3)速度快 (4)价格低 (5)开发周期短:EDA开发工具齐全,设计人员在很短时间内可完成电路设计的输入、编译、仿真和编程,大大缩短了开发周期。,62,1.2 EDA技术与PLD,三、PLD的发展演变 发展于20世纪70年代初。 主要有FPLA、PAL、GAL、CPLD和FPGA等。,表1-2 PLD的发展演变,63,1.2 EDA技术与PLD,工艺线宽:
38、由于生产工艺的发展,PLD集成电路的工艺线宽可达到0.35m(1997年),0.15 m(2001年), 0.13 m(2002、2003年), 0.1 m(2004年); 90nm(2005年);目前半导体公司正重点研发60nm工艺。 集成度:在一块硅片上可集成上千万个以上逻辑门。 速度:器件的速度指标,FPGA的门延时3ns,CPLD的系统速度180MHz。 工艺手段:CMOS工艺在速度上超过双极型工艺,成为PLD的主要工艺手段。,64,1.2 EDA技术与PLD,四、EDA技术与PLD的关系 PLD的应用开发过程中贯穿着EDA技术的应用,原始设计输入,EDA开发软件,器件配置信息,PLD
39、,硬件设备,PLD在编程灵活性、容量与速度等方面达到了相当高的水平,可在一个器件中实现具有相当规模的、完整、高速的数字系统。EDA开发工具也十分成熟高效,可使用HDL语言、电路图、波形图等多种方法进行设计输入,并进行综合、仿真与编程。,PLD广泛应用于产品开发、原型设计、小批量生产中。 随着PLD成本和功耗不断降低、性能大幅度提高,PLD开始取代高端 ASIC、DSP和微处理器。,65,1.3 IP核复用技术与SOC,一、IP核复用技术 二、片上系统SOC 三、可编程片上系统SOPC,内容概要,66,1.3 IP核复用技术与SOC,一、IP核复用技术 1IP与IP核,IP (Intellect
40、ual Property),原意为知识产权、著作权,在IC设计领域指实现某种功能的设计。,完成某种功能的虚拟电路模块。又称为虚拟部件(VC,Virtual Component)。 它是以HDL语言描述的构成VLSI中各种功能单元的软件群。,IP核(IP模块),IP核分为:软核、硬核及固核,67,1.3 IP核复用技术与SOC,(1)软核(Soft Core) 定义:功能经过验证的、可综合的、实现后电路结构总门数在5000门以上的HDL模型。 指在寄存器级或门级对电路功能用HDL进行描述的设计模块; 用户可修改,具有最大的灵活性; 主要用于接口、算法、编码、译码和加密模块的设计。(2)硬核(Ha
41、rd Core) 指以版图形式描述的设计模块。 基于一定的设计工艺,针对某一具体芯片,用户不能改动。 常用硬核有存储器、模拟器件及接口。(3)固核(Firm Core) 介于硬核和软核之间; 用户可重新定义关键的性能参数,内部连线可重新优化。,68,1.3 IP核复用技术与SOC,典型的IP核 微处理器核(MPU core) 数字信号处理器核(DSP core) 存储器核(Memory core) 特定功能核(如MPEG) 标准接口核(Ethernet、USB、PCI及IEEE1394核),图1-11 由IP核构成片上系统SOC,69,1.3 IP核复用技术与SOC,2IP核复用(IP Reu
42、se) 越来越多的公司投入IP核的开发,IP核已作为一种商品广泛销售和使用。 运用IP核技术可以缩短硬件开发时间,避免重复劳动,保证大规模器件的性能,提高其可靠性。 电子系统的设计:自行设计IP或购买第三方的IP在功能上进行整合迅速形成产品,70,1.3 IP核复用技术与SOC,3. 虚拟插座接口VSI(Virtual Socket Interface)标准 为便于IP的开发和复用,需要制定一个统一的标准。 一些IC厂家、EDA公司、IP公司联合成立了虚拟插座接口协会( Virtual Socket Interface Association) ,制定了关于IP产品的标准与规范 VSI标准。4
43、. IP产品 (1)虚拟器件:只提供门级和寄存器传输级的HDL源代码,可综合,与器件结构有关 (2)虚拟接口模型:提供系统级代码,与器件结构无关,对应具体的PLD器件,通用模型,71,1.3 IP核复用技术与SOC,IP产品 微处理器(如8031、80C51) 数字信号处理器(DSP) RAM和ROM 通用串行接口(如8251) 并行输入输出接口(PIO) 直接存储器存取(DMA) PCI总线控制器 中断控制器(如8259),72,1.3 IP核复用技术与SOC,二、片上系统(SOC, System on a Chip) 1定义 把一个完整的系统集成在一个芯片上,或用一个芯片实现一个功能完整的
44、系统。 包括CPU、I/O接口、存储器,以及一些重要的模拟集成电路。 2.实现方式 (1)采用全定制方式 将设计的网表文件提交给半导体厂家流片 缺点:风险高,费用大,周期长 (2)采用PLD CPLD和FPGA集成度越来越高,速度越来越快 用户通过编程完成设计 优点:风险小,费用低,周期短,73,1.3 IP核复用技术与SOC,微电子制造工艺的进步为SOC提供硬件基础 EDA软件技术的提高 为SOC提供开发平台,版图级(物理版图),设计复杂程度,设计效率,图1-12 EDA工具向高层化发展,74,1.3 IP核复用技术与SOC,三、可编程片上系统SOPC(System on Programma
45、ble Chip) 1定义 SOPC即是将计算机核心的CPU和操作系统结合在一片单片的PLD芯片中,允许设计人员直接开发具有自主产权的计算机系统。 2. 基本特征 至少包含一个嵌入式处理器内核; 具有小容量片内高速RAM资源; 丰富的IP 核资源可供选择; 足够的片上可编程逻辑资源; 处理器调试接口和FPGA编程接口; 可能包含部分可编程模拟电路; 单芯片、低功耗、微封装。,75,1.3 IP核复用技术与SOC,3. SOPC设计方案 目前国际上大多数SOPC设计开发都利用了EDA工具、硬件描述语言(HDL)和IP核。 首先把片内通用的硬件功能集成为一个硬宏格式,即IP软核,以获得最大的性能和
46、最小的面积,可以加快整个设计流程,缩短开发周期; 其次确定把这些IP模块和片内的其它功能连接在一起的体系和总线结构,以实现最大的系统级性能和效率; 还需要几类设计工具: 常规的硬件设计工具 嵌入式软件设计工具 新的系统级设计工具 建模支持和调试工具,76,1.3 IP核复用技术与SOC,4. 支持SOPC设计的器件 Altera公司 APEX 20K、 APEX II系列(较早期产品); Cyclone、 Cyclone 系列(支持Nios II 嵌入式处理器); Stratix、 Stratix 系列(支持Nios II 嵌入式处理器) ;Xilinx公司 Virtex-Pro是Xilinx
47、公司第一款集PowerPC和高速收发模块的FPGA Virtex-4Xilinx公司最新一代高端FPGA产品,包含三个子系列:LX、SX、FX,将逐步取代VirtexII,VirtexII-Pro,77,1.4 数字系统的实现方式,一、全定制方式 二、门阵列(Gate Array)法 三、标准单元方式 四、PLD实现方式,内容概要,78,1.4 数字系统的实现方式,数字系统的核心是器件,数字系统的实现方式即指采用何种器件来实现数字系统 在进行数字系统设计时需综合考虑:性能、周期、成本数字器件的设计按其实现方式分为:(1)全定制(Full-custom)设计:基于版图级的设计方法(2)半定制(S
48、emi-custom)设计:约束性设计方法,在厂家预先设计的基本单元基础上的二次设计,性能要求很高、批量很大,设计周期短、批量小,79,1.4 数字系统的实现方式,图1-13 数字器件的设计方式,Application Specific IC,80,1.4 数字系统的实现方式,一、全定制方式 在最底层,即物理版图级实现设计的方法 使用版图编辑工具,从晶体管的版图尺寸、位置及连线开始设计 优点:芯片面积利用率高、速度快、功耗低 缺点:设计周期长、成本高 适用场合:性能要求很高或批量很大的芯片,由IC厂定制,81,1.4 数字系统的实现方式,二、门阵列(Gate Array)法,由IC厂定制,又称“母片”(Master Slice)法 母片:IC厂按照一定规格事先生产的半成品芯片。 硅片出厂时已有预先制造好的大量规则排列的晶体管,芯片四周已预制好I/O焊盘,芯片中只留下一层或两层金属铝连线的掩膜,需根据用户电路的不同而定制。 设计人员只需完成电路一级的设计,将电路的连结网表文件以EDIF(Electronic Data Interchange Format)格式交由IC厂定制即可 优点:设计过程简便,生产周期短、成本低 缺点:门利用率不高、芯片面积大、性能不高 适用场合:设计周期短、成本低、批量小、性能要求不高的芯片,