计算机的电子设计自动化设计教程.ppt
《计算机的电子设计自动化设计教程.ppt》由会员分享,可在线阅读,更多相关《计算机的电子设计自动化设计教程.ppt(94页珍藏版)》请在三一办公上搜索。
1、1,目 录,绪论(1学时)第1章 数字系统设计与EDA技术(2学时)第2章 PLD器件结构(2学时)第3章 硬件描述语言Verilog HDL(3学时)第4章 EDA设计工具软件(5学时)第5章 数字电路与数字系统的设计实现(2学时)第6章 SOPC开发过程(1学时)第7章 Nios 嵌入式处理器设计(2学时),理论课共18学时,2,问题的提出传统的数字系统设计方法现代的数字系统设计方法什么是EDA技术?实例演示:电子秒表电路的设计关于课程,共1学时,绪 论,3,问题的提出,设计一个电子秒表电路,使之完成以下功能:按0.01s的步长进行计时;具有异步清零和启动/停止计数功能;并用数码管显示其秒
2、高位、秒低位,百分秒高位、百分秒低位。为便于显示,秒和百分秒信号均采用BCD码计数方式。,4,问题的提出(续),输入信号:clk:系统时钟信号,f=50MHz;clr:异步清零信号,负脉冲有效;startstop:启/停信号,负脉冲有效。输出信号:dsec6.0:驱动数码管,显示秒高位;sec6.0:驱动数码管,显示秒低位;cn:分钟的进位信号,接发光二极管,高有效;secd6.0、secm6.0 分别显示百分秒高位和百分秒低位。,5,解决方案1传统的数字系统设计方法,1.根据设计要求划分功能模块;2.确定输入和输出的关系,画出真值表;3.由真值表写出逻辑表达式;4.利用公式或卡诺图进行人工化
3、简;5.根据化简后的逻辑表达式画出电路原理图;6.在面包板上进行实验,验证电路的正确性;7.若无错误,再在透明薄膜上用贴图符号贴PCB图;8.检查后送制板厂制板;9.对PCB板进行安装、调试,若有大的错误,修改设计,重复以上过程,重新制板。,搭积木的方式!基于电路板的设计方法采用固定功能的器件(通用型器件),通过设计电路板来实现系统功能,6,传统的数字系统设计方法的缺点,效率低下所有这一切,几乎都是手工完成!设计周期很长;容易出错;芯片种类多,数量大,受市场的限制;设计灵活性差;产品体积大。,7,解决方案2现代的数字系统设计方法,首先在计算机上安装EDA软件,它们能帮助设计者自动完成几乎所有的
4、设计过程;再选择合适的PLD芯片,可以在一片芯片中实现整个数字系统。,基于芯片的设计方法采用PLD(可编程逻辑器件),利用EDA开发工具,通过芯片设计来实现系统功能。,EDA软件,空白PLD,+,数字系统,编程,8,现代的数字系统设计方法(续1),1.根据设计要求划分功能模块2.PLD开发(利用EDA工具)(1)设计输入:采用硬件描述语言(HDL),用条件语句或赋值语句表示输入和输出的逻辑关系,将整个程序输入到计算机中;(2)设计的编译:EDA工具可自动进行逻辑综合,将功能描述转换为门级描述,或转换成具体PLD的网表文件,将网表文件自动适配到具体芯片中进行布局布线;(3)功能仿真和时序仿真;(
5、4)编程下载到实际芯片中,在实验台上进行验证;(5)在每一阶段若有问题,可在计算机上直接修改设计,重复以上过程。,9,现代的数字系统设计方法(续2),3.设计包含PLD芯片的电路板(1)在计算机上利用EDA软件画电路原理图;(2)进行电气规则检查无误后,自动生成网表文件;(3)利用EDA软件画PCB图,自动布线;(4)自动进行设计规则检查,无误后输出文件,制板。,优点:效率高所有这一切,几乎都是借助计算机利用EDA软件自动完成!容易检查错误,便于修改;设计周期短、成功率很高;产品体积小。,10,什么是EDA技术?,EDA(Electronic Design Automation,电子设计自动化
6、)是在计算机的辅助下完成电子产品设计的一种先进的硬件设计技术!是立足于计算机工作平台开发出来的一整套先进的设计电子系统的软件工具。,11,EDA技术的范畴,IC 版图设计,PLD 设计,电路设计,PCB 设计,模拟电路,数字电路,混合电路,设计输入,逻辑综合,仿真,编程下载,本课程内容!,12,学习EDA到底有什么用呢?,真有趣,可以按自己的想法设计一个芯片!,我也要参加全国大学生电子设计竞赛!,呀,毕业设计和冯如杯正好能用得上哎!,原来在一个芯片里就可以设计一个完整的计算机系统呀!,找工作时也算得上一技之长哦!,13,本课程要学习的PLD设计EDA工具软件,1.Quartus 美国Alter
7、a公司自行设计的第四代PLD开发软件目前版本:5.1可以完成PLD的设计输入、逻辑综合、布局与布线、仿真、时序分析、器件编程的全过程同时还支持SOPC(可编程片上系统)设计开发,2.ModelSim美国Mentor Graphics公司的子公司Model Technology开发的仿真工具目前版本:6.0业界使用最广泛的HDL语言仿真器之一支持VHDL、Verilog HDL或混合HDL语言设计仿真功能强大,仿真速度快!,14,实例演示:电子秒表电路的设计,假设系统时钟为50MHz,PLD器件为EP1S10F780C6。设计思路采用自顶向下的设计方法:需要两个分频器,将50MHz分频为10KH
8、z,将10KHz分频为100Hz;需要一个BCD码计数器,可分别对秒和百分秒位循环计数;需要一个译码器,将BCD计数器的输出译码为7段显示器的7段输入。,15,系统功能框图,16,采用Quatus 的PLD设计方法,千万记住哦!,1.首先在资源管理器下创建一个工作目录。2.在Quatus 中创建一个工程。3.子模块设计:每个模块可以用HDL语言描述,对每个模块进行编译、仿真,通过后然后生成模块符号。4.顶层设计:创建一个顶层图形文件,将各模块符号放到图中,添加输入、输出引脚,连线;编译,仿真。5.给输入、输出引脚分配引脚号码,编程下载。,工作目录和工程名不能有空格和汉字!,17,演 示,第1步
9、:在资源管理器下创建一个工作目录second。第2步:启动Quatus II,执行菜单命令“File New Project Wizard”,创建一个工程,工程名为second。若要打开一个已有的工程,则执行“File Open Project”命令。第3步:设计子模块(1)执行菜单命令“File New”,新建一个文本文件clkdiv100.v,采用Verilog HDL语言描述;(2)存盘;(3)指定该子模块为顶层实体,执行“Processing Start Compilation”命令,对其进行全编译。,最好每个工程都有自己的工作目录!,18,module clkdiv100(clr,c
10、lkin,clkout,count);input clr,clkin;/输入端口声明 output clkout,count;/输出端口声明 reg6:0 count;reg clkout;always(posedge clkin or negedge clr)begin if(!clr)count=0;/异步清零!低有效,子模块设计100分频器,模块1 10KHz到100Hz的分频电路(采用Verilog HDL语言描述),(1)端口定义,模块名(同文件名),(3)功能描述,19,子模块设计100分频器(续),else if(count6:0=99)begin clkout=1;/clkou
11、t只在计数值为99时为1 count6:0=0;end else begin clkout=0;/clkout在其他时候都为0 count6:0=count6:0+1;end endendmodule,续前页,20,子模块设计BCD计数器,模块2 BCD计数器,module bcdcnt(dsec,sec,secd,secm,cn,clkin,clr);input clkin,clr;/Tclkin=0.01s output3:0 dsec,sec,secd,secm;output cn;/秒高位向分钟的进位 reg3:0 dsec,sec,secd,secm;reg cn;always(po
12、sedge clkin or negedge clr)begin if(!clr)/(1)异步清零!begin cn=0;/进位信号也必须清零!dsec3:0=0;sec3:0=0;secd3:0=0;secm3:0=0;end,21,子模块设计BCD计数器(续1),续前页,else/(2)计数,采用4个if语句的嵌套 begin if(secm3:0=9)/百分秒低位是否为9?begin secm3:0=0;if(secd3:0=9)/百分秒高位是否为9?begin secd3:0=0;if(sec3:0=9)/秒低位是否为9?begin sec3:0=0;if(dsec3:0=5)/秒高位
13、是否为5?dsec3:0=0;else dsec3:0=dsec3:0+1;end else sec3:0=sec3:0+1;end else secd3:0=secd3:0+1;end else secm3:0=secm3:0+1;,22,子模块设计BCD计数器(续2),续前页,/(3)产生向分钟的进位信号 if(dsec3:0=5)end end endmodule,23,仿真子模块,第3步:(4)进行仿真 新建一个仿真波形文件.vwf,编辑输入波形;执行“Tools Simulation Tool”命令,打开仿真器工具窗口;单击Start按钮,开始仿真。,bcdcnt.vwf,24,创建
14、模块符号,(5)创建模块符号 仿真通过后,执行“File Create/Update Create Symbol Files for Current File”菜单命令,创建模块符号(文件后缀为.bsf)。,25,子模块设计7段码译码器,模块3 7段LED显示器(共阳极)译码器。,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=7b10
15、01111;4d2:out=7b0010010;4d3:out=7b0000110;4d4:out=7b1001100;4d5:out=7b0100100;,case语句适于对同一个控制信号取不同的值时,输出取不同的值!,26,子模块设计7段码译码器(续),4d6:out=7b0100000;4d7:out=7b0001111;4d8:out=7b0000000;4d9:out=7b0000100;default:out=7b1111111;/当data为4hA4hF时,七段显示器不亮 endcaseendmodule,续前页,p7seg.vwf,27,设计顶层图形文件,第4步:设计顶层图形文
16、件(1)创建一个顶层图形文件second.bdf,将各模块符号放到图中,添加输入、输出引脚,连线;,second.bdf,28,编译和时序仿真,(2)将该图形文件设置为顶层实体;(3)进行编译器选项设置;(4)全编译;(5)对顶层图形文件仿真(如果必要的话)。,29,引脚锁定,第5步:对下载用顶层文件(如second_download.bdf)指定目标器件,给输入、输出引脚分配引脚号码,编程下载(1)在Assignment Editor 中进行引脚锁定 执行“Assignnments Assignment Editor”菜单命令,Assignment Editor,30,引脚锁定(续),sec
17、ond_download.bdf,31,编程下载,(2)将该图形文件设置为顶层实体,编译,则生成编程目标文件second.sof文件(编程目标文件自动与其工程同名);(3)编程下载;执行“Tools Programmer”命令,在编程器窗口中 选中“Program/Configure”复选框;单击Start按钮,开始编程下载。若完成编程,则在Message窗口中显示“Configuration succeeded”。(4)在线校验。利用实验板上的按钮,模拟启动计数、暂停计数和继续计数,以及异步清零功能,然后观察数码管和LED的显示,看是否与预定的功能相符。,PLD器件和EDA技术的出现改变了传
18、统的数字系统设计思想,使硬件设计变得简单、高效!,32,关 于 课 程,本课程主要学习基于可编程逻辑器件(Programmable Logic Device,PLD)的EDA技术和SOPC(System on Programmable Chip,可编程片上系统)技术。本课程包括理论教学和实验教学两大部分。理论教学共包括7章,以应用为主,按照“技术器件设计语言设计软件实例”的顺序介绍当前PLD设计的主导思想及设计方法,在最后两章简要介绍SOPC设计方法。学分:2.5学时:理论课18学时+实验课28学时 先修课程:数字电子技术,计算机接口与通信技术,课程简介,33,实验教学内容,自 学时钟分频电路
19、按钮消抖电路卡式电话计费器电子抢答器FIR滤波器4位算术逻辑单元键盘控制器鼠标控制器RS232的控制电路,关 于 课 程(续1),必 做电子秒表电路乐曲演奏电路数码管扫描显示电路交通红绿灯控制器电子日历与电子时钟电梯控制器VGA显示器的控制电路基于SOPC的电子钟设计,34,教学目标,拓宽知识面,深化对数字电子技术和计算机接口与通信技术等知识的理解;熟练掌握Verilog HDL硬件描述语言;能够采用各种输入方法,综合使用多种EDA工具软件,进行PLD的设计、编译、仿真及下载,掌握EDA设计的基本原理和方法;熟练应用EDA技术进行基于PLD的数字系统的设计与开发;能够熟练进行SOPC的设计。,
20、关 于 课 程(续2),35,1.基于FPGA的嵌入式系统设计 任爱锋等编著,西安电子科技大学出版社,20042.EDA实验指导书,自编,教材,(1)数字系统设计与Verilog HDL 王金明、杨吉斌编著,电子工业出版社,2002(2)SOPC技术实用教程 潘松等编著,清华大学出版社,2005(3)从算法设计到硬线逻辑的实现复杂数字逻辑系统的Verilog HDL设计技术和方法 夏宇闻编著,高等教育出版社,2001(4)从算法设计到硬线逻辑的实现实验练习与Verilog 语法手册 夏宇闻编著,高等教育出版社,2001,主要参考书,关 于 课 程(续3),36,课程考核,考核方式:大作业(独立
21、完成)实验理论课考试(闭卷)成 绩:大作业45 实验成绩40 理论课考试15,关 于 课 程(续4),37,1.1 数字系统的设计1.2 EDA技术与PLD1.3 IP核复用技术与SOC1.4 数字系统的实现方式1.5 数字系统的设计描述方法,共2学时,第1章 数字系统设计与EDA技术,38,1.1 数字系统的设计,一、数字系统的概念二、传统的数字系统设计方法三、现代的数字系统设计方法,内容概要,39,1.1 数字系统的设计,一、数字系统的概念,电子系统,1.数字系统,定义,凡是可完成一个特定功能的完整的电子装置。,特点,由一组电子元件或基本电子单元电路相互连接、相互作用而形成的电路整体,能按
22、特定的控制信号,去执行所设想的功能。,分类,模拟电子系统数字(电子)系统模拟-数字混合电子系统,40,1.1 数字系统的设计,模拟电子系统,定义,由若干模拟集成电路、单元电路和分立元器件组成,对模拟信号进行检测、处理、变换和产生的电子系统。,数字(电子)系统,特点,由若干数字电路和逻辑部件组成,处理及传送数字信号。,定义,凡是利用数字技术对数字信息进行处理、传输的电子系统。,优点,工作稳定可靠,抗干扰能力强;精确度高;便于大规模集成,易于实现小型化;便于模块化;便于加密、解密。,41,1.1 数字系统的设计,模拟-数字混合电子系统,定义,由模拟电子电路和数字电子电路组成的电子系统。,应用,主要
23、用于过程控制和各种仪器仪表中,完成对如温度、压力、流量、速度等物理量的测量、控制和显示等。,温度,电压,大信号,数字信号,控制信号,模拟信号,图1-1 水温自动控制系统,42,1.1 数字系统的设计,数字电路:对数字信号进行算术运算和逻辑运算的电路。数字集成电路:在一块半导体基片上,把众多的数字电路基本单元制作在一起形成的数字电路。数字集成电路按集成度分 每块包含基本元件数小规模集成电路SSIC,10 100个;中规模集成电路MSIC,100 1000个;大规模集成电路LSIC,1000 10000个;超大规模集成电路VLSIC,10000个以上。,2.数字集成电路,43,1.1 数字系统的设
24、计,按逻辑功能的特点分:(1)通用型:具有很强的通用性,逻辑功能较简单,且固定不变。(2)专用型:即专用集成电路ASIC(Application Specific Integrated Circuit),为某种专门用途而设计的集成电路。数字系统的发展得益于数字器件和集成技术的发展。,摩尔定律(Moores law):每18个月,芯片集成度提高1倍,功耗下降一半。,44,1.1 数字系统的设计,SSICMSIC LSIC VLSIC SOC(System On Chip片上系统)SOPC(System On a Programmable Chip,可编程片上系统),3.数字器件的发展,4.集成(
25、IC,Integrated Circuits)技术的发展,芯片的工艺线宽越来越小 从1997年的0.35m,发展到现在的90nm。设计周期越来越短 1997年时需要1218月,现在可能只需要半年甚至更短!集成度越来越高 从1997年的20万50万门,发展到现在的几千万门。,45,1.1 数字系统的设计,最具有代表性的IC芯片:微控制芯片(MCU,Micro Control Unit)可编程逻辑器件(PLD,Programmable Logic Device)数字信号处理器(DSP,Digital Signal Processor)大规模存储芯片(RAM/ROM,Random Access Me
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 电子设计 自动化 设计 教程
链接地址:https://www.31ppt.com/p-6342583.html