第一篇:EDA技术教学总结与反思
EDA技术教学总结与反思
熊碧虎
EDA技术是机电专业学生偏电方向必备的专业技能,是培养学生实践能力的重要课程之一。但要学好、掌握这项技术并不是件容易的事,因为这既要技术,又要创造力。这学期我首次接手16(20)班这门课程教学,通过一学期的教学实践和探索,我认为要想上好这门课,全面落实职业教育,高效、快速地提高实训教学质量,应注意以下几个问题:
一、明确学习目标。激发学习兴趣
作为职业类技术学校,机电专业学生在校期间还需学习文化课、专业课等其他课程,进行EDA实训的时间毕竟有限。再加上职业学校学生的成绩相对较差,素质普遍不高,自我控制能力一般不强。而EDA又是通过电脑操作来达到学习目的的,对计算机的使用要求高,所以学生很容易产生厌学情绪。这样下去,达不到实训的目的和要求。
因此在实践教学中首先应让学生了解EDA技术的重要性。让他们清楚专业技能是其区别于普通学校学生的特征,同时让他们知道练好专业技能,具备较高实际动手操作能力,对其今后的工作有着不可代替的重要意义,使学生真正在内心觉得有必要学好EDA技术。
二、切实加强基本功训练。
EDA的基本操作技能主要有设计方案、绘制原理图,创建PCB版图等。其中的设计原理图和PCB是非常重要的基本功,这些操作技能要通过大量的练习才能形成。在这个过程中,教师要加强指导,及时发现学生中出现的错误和各种具体问题并予以纠正。
三、培养学生动脑习惯。提高工艺分析能力
PCB制造工艺分析是非常重要的,它直接关系到电路板是否能保质保时完成。对于某些电路板来说,如果加工次序颠倒,既使技能基础再好,也无法达到技术要求,因此在学生初学时,教师要针对图纸要求,进行工艺分析,同时要引导学生把所学理论知识用到工艺分析中来。随着实习的深入和学生认知水平的提高,可以让学生自己编排一些简单的工艺,逐渐过渡到由学生自己分析讨论,教师归纳总结,这样有利于培养学生的独立工艺分析能力。
四、加强职业道德教育
职业道德教育也是EDA技术实训所不可忽视的一个重要方面。我们要将良好的德育教育贯穿于实训的全过程。从每天准点到达实训室,不旷课,不早退,遵守6S管理。另外,德育教育也是一个潜移默化的结果,它需要教师注重教书育人、为人师表,以严肃、科学的工作态度给学生一个良好的工作环境。从而使他们养成爱护劳动工具和成果,遵守劳动纪律的工作习惯,培养学生良好的职业道德观念和严谨细致的工作作风,促进学生身心健康发展。
今后的EDA技术实训教学中,本人会多学习、多总结、多反思不断的加强自己的的专业水平,从而为以后的教学打下坚实的基础,当然,自己也有很多不足的地方,以后会努力克服自己的缺点,认真做好教学。
第二篇:eda技术课程总结与心得
【第一章】
1、FPGA芯片的发展主要体现在哪几个方面?未来的发展趋势是什么?
ANS:
2、EDA技术的优势是什么?
ANS: EDA依赖功能强大的计算机在EDA工具软件平台上自动的完成逻辑化简、逻辑分割、逻辑综合、结构综合,以及逻辑优化和仿真等功能,直至实现既定性能的电子线路系统功能。EDA使得设计者的工作几乎仅限于利用软件的方式,即利用硬件描述语言HDL和EDA工具软件来完成对系统硬件功能的实现
+ P 10
3、EDA的设计流程包括哪几个环节?
ANS: ①设计输入(原理图/HDL文本编辑)②综合 ③ FPGA/CPLD 适配 ④ 时序仿真与功能门级仿真 ⑤FPGA/CPLD编程下载 ⑥FPGA/CPLD器件电路硬件检测。
4、硬件描述语言的种类有哪些?
ANS: VHDL、Verilog HDL、SystemVerilog、System C 等
5、自顶向下设计方法的优点是什么?
ANS:
过程大部分由计算机完成,可植性强,便于系统的优化和升级,以及对模型进行及时的修改,以改进系统或子系统的功能,更正设计错误,提高目标系统的工作速度,减小面积耗用,降低功耗和成本等。在EDA技术应用中,自顶向下的设计方法,就是在整个设计流程中各设计环节逐步求精的过程。
6、ip核可分为哪几类?
ANS: ①软IP、②固IP、③硬IP
7、ip在EDA技术的应用和发展中的意义是什么?
ANS:
IP就是将某些功能固化,而当EDA设计也需要这些功能的时候,就可以直接将植入了此功能的IP拿过来直接用,而不用再重新设计。这样既可以提高效率又可以减少设计风险。IP核具有规范的接口协议,良好的可移植与可测试性,为系统开发提供了可靠的保证。
【第二章】
1、可编程逻辑器件经历哪些发展过程? ANS:
2、Altera公司的PLD芯片主要有哪些系列? ANS:
按照推出的先后顺序:Classic、MAX、FLEX、APEX、ACEX、APEX
2、Cyclone/2/3/
4、MAX2、Stratix-1/2/3/4/6.【第三章】
1、一个完整的VHDL程序包括哪几个部分?其作用是什么? ANS: ①实体描述部分 ②结构体描述部分
作用 略
2、VHDL中标示符的命名规则是什么?
ANS: 标识符是设计者在VHDL程序中自己定义的,用于标识不同名称的词语。例如实体名、端口名等。具体规则如下:
·有效的字符:包括26个大小写英文字母,数字包括0~9以及下划线。
·任何标识符必须以英文字母开头
·必须是单一的下划线,且前后都要有字母或数字。·标识符中的英文字母不区分大小写。
·允许包含图形符号(如回车符、换行符等),也允许包含空格符。
3、端口模式有哪些?
ANS: ①IN
2、OUT
3、INOUT双向端口
4、BUFFER 缓冲端口
4、VHDL中有哪些基本的数据类型? ANS: bit、bit_vector、std_logic、std_logic_vector、boolean(布尔)、natural(自然数)、integer(整数)、signed(有符号)、unsigned(无符号)、array(数组类)、record(记录类型)、Subtype(子类型)、用户自定义类型。
5、常用的VHDL程序包有哪些?
ANS:STD_LOGIC_1164、STD_LOGIC_ARITH、STD_LOGIC_SIGNED、STD_LOGIC_UNSIGNED
【第五章】
1、简述信号和变量的区别
ANS:比较对象
信号SIGNAL
变量VARIABLE
基本用法
用于作为电路中的信号连线
用于作为进程中局部数据存储单元
适用范围
在整个结构体内的任何地方都适用
只能在所定义的进程中使用
行为特性
在进程最后才对信号赋值
立即赋值
简单的说,信号是全局的,用于结构体中并行语句间数据流的传递;变量则是局部的,他主要用于单个进程中中间变量的存储.2、进程的特点是什么?
ANS:(1)进程结构内部的所有语句都是顺序执行的。
(2)多进程之间是并行执行的,并可访问结构体或实体中所定义的信号。
(3)进程的启动是由进程标识符PROCESS后的信号敏感表所标明的信号来触发的,也可以用WAIT语句等待一个触发条件的成立。
(4)各进程之间的通信是由信号来传递的。(5)进程语句的顺序性(6)进程的启动与执行过程
当进程中定义的任一敏感型号发生更新(变化)时,由顺序语句定义的行为就要重复执行一次。当进程中最后一个语句执行完毕后,执行过程将自动返回到进程的起始端,以等待下一次敏感信号的变化。
3、VHDL语言有哪几种描述方式?
ANS: 行为描述、数据流描述、结构描述
【第六章】
1、列举5个宏功能模块
ANS: ① 算数组件,包括累加器、加法器、乘法器和LPM算数函数等。
② 组合电路,包括多路选择器、比较器和LPM门函数等。
③ I/O组件,包括时钟数据恢复(CDR)、锁相环(PLL)等。
④ 存储器编译器件,包括FIFO Partitioner、RAM和ROM宏功能模块等。
⑤ 存储组件,包括存储器、移位寄存器宏模块和LPM存储器函数等。
2、Quartus能够接受的两种RAM或ROM初始化文件的格式是? ANS:.mif
.hex
3、给出锁相环的工作原理。
ANS: 锁相环路是一个相位反馈自动控制系统。它由以下三个基本部件组成:鉴相器(PD)、环路滤波器(LPF)和压控振荡器(VCO)。其组成方框图如下所示。
锁相环的工作原理:
4、已知实验板上有一个10MHZ的有源晶振,现在要产生1MHZ的正弦波,请提出设计方案
【第七章】
1、状态机的优点
ANS:① 高效的顺序控制模型 ②容易利用现成的EDA优化工具③性能稳定④设计实现效率高⑤高速性能
2、一般的状态机结构包括哪几个部分?各自的功能是什么? ANS: ①说明部分、说明部分用tpye语句定义新的数据类型,其元素通常用状态机的状态名来定义。状态变量(即现态和次态)应定义为信号,便于信息额传递,并将状态变量的数据类型定义为含有既定状态元素的新定义的数据类型。说明部分一般放在architecture 和 begin之间。
②主控时序过程、所谓主控时序过程是指负责状态机运转和在时钟驱动下负责状态转换。压控振荡器的输出经过采集并分频; 和基准信号同时输入鉴相器;
鉴相器通过比较上述两个信号的频率差,然后输出一个直流脉冲电压; 控制VCO,使它的频率改变;
这样经过一个很短的时间,VCO 的输出就会稳定于某一期望值。③主控组合过程、顾名思义,主控组合进程也可称为状态译码过程,其任务是根据外部输入的控制信号,包括来自状态机外部的信号和来自状态机内部其他非主控的组合或时序进程的信号,以确定对外输出或对内部其他组合或时序进程输出信号的内容。④辅助过程、辅助进程用于配合状态机工作的组合进程或时序进程。
3、状态机的状态编码有哪几种?各自的优缺点是什么?
ANS:① 直接输出型编码
这种编码最典型的应用就是计数器。直接输出型编码方式就是所谓的用户自定义编码方式,它的优点是输出速度快,不太可能出现毛刺现象。缺点是程序的可读性差,用于状态译码的组合逻辑资源比其他以相同触发器数量触发器 4构成的状态机多,而且控制非法状态出现的容错技术要求比较高。
②顺序编码
优点是 这种编码方式最为简单,在传统设计技术中最为常用,其使用的触发器最少,剩余的非法状态也最少,容错技术较为简单。缺点也很多,如常常会占用状态转换译码组合逻辑较多的资源,特别是有的相邻状态或不相邻状态的状态转换时涉及多个触发器的同时状态转换,因此将耗费更多的转换时间,而且容易出现毛刺现象。
③一位热码状态编码
一位热码状态编码虽然占用了较多的触发器,但其简单的编码方式大为简化了状态译码逻辑,提高了状态转换速度,增强了状态机的工作稳定性,这对于含有较多的时序逻辑资源、相对较少的组合逻辑资源的FPGA器件是最好的解决方案。
常用的去除毛刺的方法有哪几种?
ANS: ①延时方式去毛刺
②逻辑方式去毛刺 ③ 定时方式去毛刺 P261
【第八章】
1、资源优化可以通过哪几种方式实现 ANS:①资源共享 ②逻辑优化 ③串行化
2、速度优化可以通过哪几种方式实现?
ANS:① 利用流水线设计技术 ②寄存器配平③关键路径法 ④乒乓操作法
【编程题】
1、用VHDL实现某一芯片的功能
2、计数并译码显示
3、键盘扫描并显示
第三篇:eda技术课程总结与心得--整理版
【第一章】
1、FPGA芯片的发展主要体现在哪几个方面?未来的发展趋势是什么?
(1)大容量、低电压、低功耗(2)系统级高密度
(3)FPGA和ASIC出现相互融合。(4)动态可重构
2、EDA技术的优势是什么?
缩短开发周期,有各类库的支持,简化逻辑设计,有利于设计文档的管理,能仿真测试,开发者有自主权,将所有开发环节纳入统一的自顶向下的设计中,有效的利用了计算机的自动设计能力。
3、EDA的设计流程包括哪几个环节?
①设计输入(原理图/HDL文本编辑)②综合 ③ FPGA/CPLD 适配 ④ 时序仿真与功能仿真 ⑤FPGA/CPLD编程下载 ⑥FPGA/CPLD器件电路硬件检测。
4、硬件描述语言的种类有哪些?
VHDL、Verilog HDL、SystemVerilog、System C 等
5、自顶向下设计方法的优点是什么?
过程大部分由计算机完成,可植性强,便于系统的优化和升级,以及对模型进行及时的修改,以改进系统或子系统的功能,更正设计错误,提高目标系统的工作速度,减小面积耗用,降低功耗和成本等。在EDA技术应用中,自顶向下的设计方法,就是在整个设计流程中各设计环节逐步求精的过程。高效,高稳定性,省时省力,成本较低。
6、ip核可分为哪几类?
①软IP、②固IP、③硬IP
7、ip在EDA技术的应用和发展中的意义是什么?
IP就是将某些功能固化,而当EDA设计也需要这些功能的时候,就可以直接将植入了此功能的IP拿过来直接用,而不用再重新设计。这样既可以提高效率又可以减少设计风险。IP核具有规范的接口协议,良好的可移植与可测试性,为系统开发提供了可靠的保证。
【第二章】
1、可编程逻辑器件经历哪些发展过程?
PLD,PLA,PAL,GAL,EPLD,CPLD/FPGA
2、FPGA的配置方式有哪些?
PS(被动串行)、PPS(被动并行同步)、PPA(被动并行异步)、PSA(被动串行异步)、JTAG模式、AS(主动串行)
3、JTAG?
JTAG是英文“Joint Test Action Group(联合测试行为组织)”的词头字母的简写。JTAG边界扫描技术。
【第三章】
1、verilog中标示符的命名规则是什么?
a.标识符
Verilog HDL中的标识符(Identifier)是由任意字母、数字、$符号和_(下划线)符号的组成的字符序列,但标识符的第一个字符必须是字母或者下划线。此外,标识符是区分大小写的。
转义表示符(Escaped Identifier)为在标识符中包含任何可打印字符提供了一条途径。转义标识符(反斜线)符号开头,以空白结尾(空白可以是空格、制表符或换行符)。在转义标识符中,反斜线和结束空格并不是转义标识符的一部分。
Verilog HDL语言中定义了一系列保留标识符,叫做关键词,仅用于表示特定的含义。注意只有小写的关键词才是保留字。
指导原则:不能用大小写混用字符串表示关键词,也不能把转义的关键词作为标识别符。
b.注释
在Verilog HDL中有2种形式的注释:
/*开始,直到*/ //第二种形式:到本行结束为止
c.格式
Verilog HDL是大小写敏感的,也就是说,字符相同而字体(大小写)不同的两个标识符是不同的。此外,Verilog HDL语句的格式很自由,即语句结构既可以跨越多行编写,也可以在一行内编写。空白(空白行、制表符和空格)没有特殊含义。指导原则:行的长度必须小于132个字符。
2、端口模式有哪些?
1、INPUT
2、OUTPUT
3、INOUT双向端口
3、Verilog中有哪些基本的数据类型?
Reg,wire,parameters,integer
4、verilog中两种基本的数据类型net(wire)和reg的区别
两者的区别是:即存器型数据保持最后一次的赋值,而线型数据需要持续的驱动
输入端口可以由net/reg驱动,但输入端口只能是net;输出端口可以使net/reg类型,输出端口只能驱动net;若输出端口在过程块中赋值则为reg型,若在过程块外赋值则为net型 用关键词inout声明一个双向端口, inout端口不能声明为寄存器类型,只能是net类型。wire表示直通,即只要输入有变化,输出马上无条件地反映(如与、非门等简单的连接);reg表示一定要有触发,输出才会反映输入。
不指定就默认为1位wire类型。专门指定出wire类型,可能是多位或为使程序易读。wire只能被assign连续赋值,reg只能在initial和always中赋值。wire使用在连续赋值语句中,而reg使用在过程赋值语句中。
wire若无驱动连接,其值为z,reg默认初始值为不定值x。
reg表示一定要有触发,没有输入的时候可以保持原来的值,但不直接与实际的硬件电路对应。
5、verilog中的时钟过程表述的特点和规律
1.某信号被定义成边沿敏感时钟信号,则posedge A或 negedge A放敏感表中,always结构块中不能再出现信 号A了。
2.若B被定义成对应于时钟的电平敏感异步控制信号,则除 posedge B或negedge B放敏感表中,always块中必须 给出逻辑描述,即表述上是边沿敏感,性能上是电平敏感。
3.若某信号对于时钟同步,则不能出现在敏感信号表中。
4.敏感表中边沿敏感信号和电平敏感信号不能同时出现。
【第五章】
1、简述阻塞式赋值和非阻塞式赋值的区别
=,立即;<=过程结束
(1)同一个块程序中:阻塞赋值语句是顺序执行的;非阻塞赋值语句是并行执行的。
(2)在组合逻辑建模中应使用阻塞赋值;在时序逻辑建模中应使用非阻塞赋值。
(3)无论是阻塞赋值语句还是非阻塞赋值语句,若在该语句之前对其值进行应用,则只能引用其上一个时钟周期赋于的旧值。
2、verilog语言有哪几种描述风格?
RTL描述、行为描述、数据流描述、结构描述
3、简述任务和函数语句的区别
a.任务可以有input、output和inout,数量不限,函数只有input参数,且至少有一个input;b.任务可以包含有时序控制(如延时等),函数不能包含有任何延迟,仿真时间为0;c.任务可以用disable中断,函数不允许disable、wait语句;d.任务可以通过I/O端口实现值传递,函数名即输出变量名,通过函数返回值;e.任务可以调用其他任务和函数,函数只能调用其他函数,不能调用任务;f.任务可以定义自己的仿真时间单位,函数只能与主模块共用一个仿真时间单位;
g.函数通过一个返回一个值来响应输入信号的值,任务却能支持多种目的,能计算多个结果值,结果值只能通过被调用的任务的输出端口输出或总线端口送出;另外在函数中不能有wire型变量.任务定义语法:
task <任务名>;
<端口及数据类型声明语句>
<语句1>......endtask
函数定义的语法: function <返回值类型或范围>(函数名)
<端口说明语句>
<变量类型说明语句>
begin
<语句>......end endfunction
【第八章】
1、状态机的优点
①高效的顺序控制模型
②容易利用现成的EDA优化工具 ③性能稳定
④设计实现效率高 ⑤高速性能
2、状态机的状态编码有哪几种?各自的优缺点是什么?
① 直接输出型编码:这种编码最典型的应用就是计数器。直接输出型编码方式就是所谓的用户自定义编码方式,它的优点是输出速度快,不太可能出现毛刺现象。缺点是程序的可读性差,用于状态译码的组合逻辑资源比其他以相同触发器数量触发器构成的状态机多,而且控制非法状态出现的容错技术要求比较高。
②顺序编码:优点是这种编码方式最为简单,在传统设计技术中最为常用,其使用的触发器最少,剩余的非法状态也最少,容错技术较为简单。缺点也很多,如常常会占用状态转换译码组合逻辑较多的资源,特别是有的相邻状态或不相邻状态的状态转换时涉及多个触发器的同时状态转换,因此将耗费更多的转换时间,而且容易出现毛刺现象。③一位热码状态编码:一位热码状态编码虽然占用了较多的触发器,但其简单的编码方式大为简化了状态译码逻辑,提高了状态转换速度,增强了状态机的工作稳定性,这对于含有较多的时序逻辑资源、相对较少的组合逻辑资源的FPGA器件是最好的解决方案。
3、常用的去除毛刺的方法有哪几种?
①延时方式去毛刺
②逻辑方式去毛刺 ③ 定时方式去毛刺
第四篇:集成电路EDA技术
题
目
可编程逻辑器件与集成电路设计
姓
名
**
所在学院
理学院
专业班级
思源0901
学
号
09274027
指导教师
**
日
期
20**
年
**
月
日
可编程逻辑器件与集成电路设计
摘要:本文简述了集成电路的传统设计方法和现代设计方法,并对两者的区别进行了比较,以实例为基础介绍了集成电路的设计过程。对可编程逻辑器件的定义、分类、功能等进行详尽的阐述,介绍了可编程逻辑器件的设计过程,以可编程逻辑器件软件设计平台QuartusII为例,介绍了可编程逻辑器件软件设计平台的功能及使用方法,并对其他种类软件平台作出比较。对国内外集成电路设计公司作简要介绍,分析了PLD和FPGA芯片上的文字信息。
关键字:集成电路设计;可编程逻辑器件;软件设计平台;QuartusII;PLD;FPGA
1.集成电路的设计方法
1.1手工传统设计方法
传统的集成电路设计方法是指20世纪50-60年代的手工设计时代。
传统的集成电路设计方法的基本步骤是1.根据设计要求划分功能模块;2.确定输入和输出的关系,画出真值表,写出逻辑表达式;4.利用公式或卡诺图进行人工化简;5.根据化简后的逻辑表达式画出电路原理图;6.在面包板上进行实验,验证电路的正确性;7.若无错误,再在透明薄膜上用贴图符号贴PCB图;8.检查后送制板厂制板;9.对PCB板进行安装、调试,若有大的错误,修改设计,重复以上过程,重新制板。
传统集成电路设计方法的特点是采用自下而上(Bottom
Up)的设计方法,采用通用型逻辑器件搭积木式的方式,在系统硬件设计的后期进行仿真和调试,主要设计文件是电路原理图。
图1
1.2
EDA技术与现代设计方法
计算机出现后,人们可以借助计算机进行集成电路的辅助设计,这样就进入了20世纪70-80年代的CAD(计算机辅助)时代,利用计算机及其图形设备帮助集成电路设计人员进行设计工作,大大减少了手工设计时代的工作量,提高了集成电路的设计效率。到了80年代后期,CAD技术日渐成熟,集成电路的设计真正跨越到了EDA(电子设计自动化)的现代设计方法时代。
20世纪90年代,国际上电子和计算机技术较先进的国家,一直在积极探索新的电子电路设计方法,并在设计方法、工具等方面进行了彻底的变革,取得了巨大成功。在电子技术设计领域,可编程逻辑器件(如CPLD、FPGA)的应用,已得到广泛的普及,这些器件为数字系统的设计带来了极大的灵活性。这些器件可以通过软件编程而对其硬件结构和工作方式进行重构,从而使得硬件的设计可以如同软件设计那样方便快捷。这一切极大地改变了传统的数字系统设计方法、设计过程和设计观念,促进了EDA技术的迅速发展。
EDA技术就是以计算机为工具,设计者在EDA软件平台上,用硬件描述语言VHDL完成设计文件,然后由计算机自动地完成逻辑编译、化简、分割、综合、优化、布局、布线和仿真,直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。EDA技术的出现,极大地提高了电路设计的效率和可操作性,减轻了设计者的劳动强度。
EDA技术为电子系统设计带来了很大的变化:设计效率提高,设计周期缩短;设计质量提高;设计成本降低;能更充分地发挥设计人员的创造性;设计成果的重用性大大提高,省去了不必要的重复劳动。
现代的数字系统设计采用PLD,利用EDA开发工具,通过芯片设计来实现系统功能。普遍使用自顶向下(Top—Down)的设计方法,这里的“顶”就是指系统的功能;“向下”就是指将系统由大到小、由粗到精进行分解,直至可用基本模块实现。自顶向下设计方法的一般过程大致上可以分为四步,如下图所示。
Top-Down设计图
明确系统功能
确定总体方案
子系统具体实现
系统仿真实现
图2
明确系统功能:对要设计的系统的任务、要求、原理以及使用环境等进行充分调研,进而明确设计目标、确定系统功能,是一件至关重要的事。因为只有把它做好了,后面的设计工作才有意义,才有效率。
确定总体方案:明确了设计目标、确定系统功能之后,接下来要做的工作就是根据系统功能确定出系统设计的总体方案。
系统具体实现:系统方案确定以后.再从结构上对系统进行逻辑划分,导出系统的结构框图。一般把系统从逻辑上划分为数据子系统和控制子系统两部分。然后,再将各自划分为多个子系统模块,各模块的输入、输出信号要明确,有利于团队工作。这些子系统就可以依据基础的数字设计确定具体电路实现。系统如果有控制算法也包括选择控制算法及实现。
系统仿真实现:系统设计完成之后,最好先采用EDA软什对所设计的系统进行仿真后再用具体器件搭电路.以保证系统设计的正确性和可靠性。电路实现时,一般按自底向上的顺序进行。这样做不仅行利于单个电路的调试,而且也利于整个系统的联调。
因此,严格地讲,现代数字系统的完整设计过程应该是“自顶向下设计。自底向上集成”。
1.3从传统到现代设计方法的区别
从传统设计方法到现代设计方法,集成电路设计技术有了长足的进步。传统的集成电路设计方法,从根据设计目标得到真值表,到最后完成系统后的测试与调试,所有的工作均需人工完成。可以想象,随着数字集成电路的发展,从小规模集成电路(SSI)的小于10个逻辑门,到中规模集成电路(MSI)的几百个逻辑门,再到大规模集成电路的(LSI)几万门,最后甚至到超大规模集成电路(VLSI),甚大规模集成电路(ULSI)的几十万、几百万门电路,集成电路迅速的大规模化,使得传统设计方法根本无法完成得到真值表画出卡诺图等工作。它表现出了效率低下,一切手工完成,设计周期很长;容易出错;芯片种类多,数量大,受市场的限制;设计灵活性差;产品体积大等缺点。同时后续的电路调试和设计也需要很高的电路布局和布线的技巧,总而言之,这样的设计对于复杂数字系统来讲效率太低了。
现代的设计方法,自顶向下,可以实现具体任务的分工完成,并且用软件的方式设计硬件,从软件设计的硬件系统到硬件系统的转换是由EDA软件自动完成的,设计过程中可用软件进行各种仿真,现场可编程,在线升级,而且整个系统集成在一块儿很小的芯片上,体积小,功耗低,可靠性高,容易检查错误,便于修改,设计周期短、成功率很高,这些优点都是传统方法无法比拟的,大大提高了集成电路设计的效率。
所以说从传统方法到现代方法,集成电路的设计有了一个很大的跨越。
表1
2.可编程逻辑器件
2.1可编程逻辑器件定义
可编程逻辑器件英文全称为:programmable
logic
device
即
PLD。PLD是做为一种通用集成电路产生的,他的逻辑功能按照用户对器件编程来确定。一般的PLD的集成度很高,足以满足设计一般的数字系统的需要。这样就可以由设计人员自行编程而把一个数字系统“集成”在一片PLD上,而不必去请芯片制造厂商设计和制作专用的集成电路芯片了。
图3
PLD的基本结构如上图所示,图中与阵列和或阵列是PLD的主体。与阵列用以产生有关与项,或阵列把所有与项构成与或形式的逻辑函数。任何组合逻辑函数均可表示为与或表达式,因而用与门-或门两级电路可实现任何组合电路,又因为任何时序电路是由组合电路加上存储元件构成的,因而PLD的与或结构对实现数字电路具有普遍的意义。
2.2可编程逻辑器件分类及功能
可编程逻辑器件按集成度分类如下图。
图4
简单可编程逻辑器件有PROM、PLA、PAL、GAL。
PROM:与阵列固定,或阵列可编程的逻辑器件,最主要特征是只允许数据写入一次,如果数据输入错误只能报废。
PLA:
与或阵列均可编程,在可编程逻辑器件中,它的灵活性最高。由于它
具有与或阵列均能编程的特点,在实现函数时,只需形成所需的乘机项,使这列规模比输入数相同的与阵列固定、或阵列可编程的PROM小得多。但是目前PLA的编程缺少高质量的支持软件和编程工具,且器件价格偏高,门的利用率不高,因而未得到广泛应用。
PAL、GAL:与阵列可编程,或阵列固定的代表器件。这种结构中,或阵列固定若干个乘积项输出
。PAL和GAL门阵列结构把PROM器件的成本低、速度高、编程容易以及PLA器件的灵活性等优点结合在一起,成为早起实现可编程ASIC的主要器件
复杂可编程逻辑器件的两种主要类型是现场可编程门阵列(FPGA)和复杂可编程逻辑器件(CPLD)。
FPGA:提供了最高的逻辑密度、最丰富的特性和最高的性能。
现在最新的FPGA器件,可提供八百万“系统门”(相对逻辑密度)。
这些先进的器件还提供诸如内建的硬连线处理器、大容量存储器、时钟管理系统等特性,并支持多种最新的超快速器件至器件信号技术。
FPGA被应用于范围广泛的应用中,从数据处理和存储,以及到仪器仪表、电信和数字信号处理等。
CPLD:提供的逻辑资源少得多,最高约1万门。
但是,CPLD提供了非常好的可预测性,因此对于关键的控制应用非常理想。
而且CPLD器件需要的功耗极低。
2.3可编程逻辑器件设计过程
采用自顶向下(Top—Down)的设计方法确定各个子系统后,就需要借助于EDA软件进行系统设计实现。下图是基于EDA软件的PLD开发流程框图,由框图可见设计主要包括设计输入、设计处理、功能仿真和时序仿真、器件编程或下载和系统测试五个部分
FPGA
/
CPLD设计流程
设计准备
设计输入
Ø
图形输入
Ø
硬件描述语言HDL
设计处理
Ø
编译、优化综合Ø
适配、分割
Ø
布局、布线
器件编程(下载)
系统测试
时序仿真
功能仿真
HDL:
VHDL(IEEE)
Verilog
(IEEE)
AHDL
ABEL
EDA工具自动实现
对CPLD产生Pof文件
对FPGA产生Sof文件
图5
设计输入:采用原理图或硬件描述语言(HDL),描述出输入和输出的逻辑关系,将整个原理图或程序输入到计算机中。
设计处理:EDA工具可自动进行逻辑综合,将功能描述转换为门级描述,或转换成具体PLD的网表文件,将网表文件自动适配到具体芯片中进行布局布线。
功能仿真和时序仿真:在软件平台进行硬件仿真。
编程下载:到实际芯片中,在实验台上进行验证;
系统测试:测试成型系统,在每一阶段若有问题,可在计算机上直接修改设计,重复以上过程。
3.可编程逻辑器件软件设计平台
可编程逻辑器件的软件平台,都是由PLD/FPGA芯片厂家提供,基本都可以完成所有的设计输入(原理图或HDL),仿真,综合,布线,下载等工作。
3.1常用可编程逻辑器件软件设计平台比较
Altera公司:
QuartusII软件平台:
Quartus
II
是Altera公司的综合性PLD开发软件,支持原理图、VHDL、VerilogHDL以及AHDL等多种设计输入形式,内嵌自有的综合器以及仿真器,可以完成从设计输入到硬件配置的完整PLD设计流程。
MaxplusII
E+MAX:免费PLD开发软件,界面与标准版的MaxplusII完全一样,只支持MAX7000和MAX3000系列器件,本身支持不复杂的VHDL和Verilog综合。
MaxplusII
Baseline:免费PLD开发软件,界面与标准版的MaxplusII完全一样,但需要通过使用MAX+PLUSII
Advanced
Synthsis插件才能支持VHDL/Verilog。支持MAX7000/3000和部分FLEX/ACEX芯片。
Xilinx公司
ISE软件平台: ISE是使用XILINX的FPGA的必备的设计工具,它可以完成FPGA开发的全部流程,包括设计输入、仿真、综合、布局布线、生成BIT文件、配置以及在线调试等,功能非常强大。
WebFITTER:免费PLD开发软件,不需下载,可在线编译,结果用e-mail发送到信箱。使用简单,但要求较快的联网速度。支持XC9500
和
CoolRunner系列。
WebPACK
ISE:免费PLD开发软件,支持XC9500,coolrunner,Spartan/II,部分Virtex/E/II器件。
Lattice公司
ispDesignEXPERT:PLD开发软件,目前最新软件改名为:ispLEVER
ispLEVER
Starter:免费PLD开发软件,支持600个宏单元以下的Lattice芯片的设计。
3.2
QuartusII软件设计平台简介
QuartusII是美国Altera公司自行设计的第四代PLD开发软件可以完成PLD的设计输入、逻辑综合、布局与布线、仿真、时序分析、器件编程的全过程,同时还支持SOPC(可编程片上系统)设计开发。
QuartusⅡ提供了方便的设计输入方式、快速的编译和直接易懂的器件编程。能够支持逻辑门数在百万门以上的逻辑器件的开发,并且为第三方工具提供了无缝接口。QuartusⅡ支持的器件有:Stratix
Ⅱ、Stratix
GX、Stratix、Mercury、MAX3000A、MAX
7000B、MAX
7000S、MAX
7000AE、MAX
Ⅱ、FLEX6000、FLEX10K、FLEX10KA、FLEX10KE、Cyclone、Cyclone
Ⅱ、APEX
Ⅱ、APEX20KC、APEX20KE和ACEX1K系列。QuartusⅡ软件包的编程器是系统的核心,提供功能强大的设计处理,设计者可以添加特定的约束条件来提高芯片的利用率。
Quartus
II软件的设计过程主要包括:
1.建立项目;
2.输入设计电路;
3.设计编译;
4.设计仿真
5.设计下载
其中QuartusII的输入可以有三种方式,(1)原理图输入方式:适用于对系统及各部分电路很熟悉的场合。(2)硬件描述语言输入方式:硬件描述语言是用文本方式描述设计,硬件描述语言有ABEL、AHDL、VHDL、Verilog等,其中VHDL和Verilog已成为IEEE标准。(3)波形输入方式
当在Quartus
Ⅱ中完成设计后,就应当将所设计的电路下载到CPLD芯片中,结合用户系统进行统一的调试。CPLD编程下载的方式较多,按计算机的接口可分为:串口下载(BitBlaster或MasterBlaster)、并口下载(ByteBlaster)、USB接口下载(MasterBlaster或APU)等方式。按器件可分为:CPLD编程(MAX3000、MAX5000、MAX7000、MAX
9000),FPGA下载(FLEX6000、FLEX8000、FLEX
10K、ACEX
1K、APEX
20K),存储器编程EPC1、EPC2等。
4.集成电路设计公司简介
4.1国内集成电路设计公司介绍
大唐微电子技术有限公司:作为目前国内规模最大的集成电路设计企业之一,大唐微电子积累了丰富的集成电路设计经验。多年来,公司在移动通信智能卡领域中,凭借独具特色的产品与服务,引领了中国国内移动通信智能卡市场稳健、快速的发展。大唐微电子是目前全球智能卡领域中生产规模最大、产业链最完整、生产设备最先进的智能卡企业之一;是全球唯一一家能够同时在芯片级、模块级、卡片级向客户提供全方位产品、服务与解决方案的企业;也是国家指定的中国第二代居民身份证专用集成电路设计和模块加工企业。目前,公司模块年生产能力达4亿枚,智能卡年发行能力超过2亿张。
炬力集成电路设计有限公司:是一家致力于集成电路设计与制造的大型半导体技术集团,美国的纳斯达克上市公司,总部设在环境优美的海滨城市珠海,旗下拥有三家子公司——炬力集成电路设计有限公司、炬才微电子(深圳)有限公司、北京炬力北方微电子有限公司。公司目前共有700多人,其中本科以上研发人员占80%以
4.2国外集成电路设计公司介绍
Xilinx(赛灵思):是全球领先的可编程逻辑完整解决方案的供应商。Xilinx研发、制造并销售范围广泛的高级集成电路、软件设计工具以及作为预定义系统级功能的IP(Intellectual
Property)核。客户使用Xilinx及其合作伙伴的自动化软件工具和IP核对器件进行编程,从而完成特定的逻辑操作。Xilinx公司成立于
1984年,Xilinx首创了现场可编程逻辑阵列(FPGA)这一创新性的技术,并于1985年首次推出商业化产品。目前Xilinx满足了全世界对
FPGA产品一半以上的需求。Xilinx产品线还包括复杂可编程逻辑器件(CPLD)。在某些控制应用方面CPLD通常比FPGA速度快,但其提供的逻辑资源较少。
Xlinx主要FPGA产品:Xilinx的主流FPGA分为两大类,一种侧重低成本应用,容量中等,性能可以满足一般的逻辑设计要求,如Spartan系列;还有一种侧重于高性能应用,容量大,性能能满足各类高端应用,如Virtex系列,用户可以根据自己实际应用要求进行选择。
在性能可以满足的情况下,优先选择低成本器件。
*
Spartan-3/3L:
新一代FPGA产品,结构与VirtexII类似,全球第一款90nm工艺FPGA,1.2v内核,于2003年开始陆续推出。
*
Spartan-3E:基于Spartan-3/3L,对性能和成本进一步优化
*
Spartan-6:xilinx最新推出的低成本FPGA
*
Virtex-II:2002年推出,0.15um工艺,1.5v内核,大规模高端FPGA产品
*
Virtex-II
pro:
基于VirtexII的结构,内部集成CPU和高速接口的FPGA产品
*
Virtex-4:
xilinx最新一代高端FPGA产品,包含三个子系列:LX,SX,FX
*
Virtex-5:65nm工艺的产品
*
Virtex-6:最新的高性能FPGA产品,45nm
*
Virtex-7:20**年推出的超高端FPGA产品。
Altera:自二十年前发明世界上第一个可编程逻辑器件开始,Altera公司秉承了创新的传统,是世界上“可编程芯片系统”(SOPC)解决方案倡导者。Altera结合带有软件工具的可编程逻辑技术、知识产权(IP)和技术服务,在世界范围内为14,000多个客户提供高质量的可编程解决方案。新产品系列将可编程逻辑的内在优势——灵活性、产品及时面市——和更高级性能以及集成化结合在一起,专为满足当今大范围的系统需求而开发设计。
Altera可编程解决方案包括:业内最先进的FPGA、CPLD和结构化ASIC技术;全面内嵌的软件开发工具;最佳的IP内核;可定制嵌入式处理器;现成的开发包;专家设计服务。
Altera主要FPGA产品:Altera的主流FPGA分为两大类,一种侧重低成本应用,容量中等,性能可以满足一般的逻辑设计要求,如Cyclone,CycloneII;还有一种侧重于高性能应用,容量大,性能能满足各类高端应用,如Startix,StratixII等,用户可以根据自己实际应用要求进行选择。在性能可以满足的情况下,优先选择低成本器件。
*
Cyclone(飓风):Altera中等规模FPGA,2003年推出,0.13um工艺,1.5v内核供电,与Stratix结构类似,是一种低成本FPGA系列,是目前主流产品,其配置芯片也改用全新的产品。
*
CycloneII:Cyclone的下一代产品,2005年开始推出,90nm工艺,1.2v内核供电,属于低成本FPGA,性能和Cyclone相当,提供了硬件乘法器单元
*
Stratix
:altera大规模高端FPGA,2002年中期推出,0.13um工艺,1.5v内核供电。集成硬件乘加器,芯片内部结构比Altera以前的产品有很大变化。
*
StratixII:
Stratix的下一代产品,2004年中期推出,90nm工艺,1.2v内核供电,大容量高性能FPGA。
*StrtratixV为altera目前的高端产品,采用28-nm工艺,提供了28G的收发器件,适合高端的FPGA产品开发
5.PLD及FPGA片上文字信息分析
图6
如上图FPGA芯片,左上角XILINX文字为设计生产该芯片的公司名称,KINTEX-7为芯片型号,Kintex-7
系列是赛灵思公司一种新型
FPGA,能以不到
Virtex-6
系列一半的价格实现与其相当性能,性价比提高了一倍,功耗降低了一半。下边文字为此芯片的具体型号等,最下方TAIWAN为芯片的产地。
参考文献
【1】
侯建军
《数字电子技术基础》高等教育出版社,2007年
【2】
朱明程
《可编程逻辑器件及应用》
西安电子科技大学出版社,2004年
【3】
百度百科
《PLD》
《FPGA》
《Xilinx》
《Altera》
【4】
陈忠平、高金定、高见芳
《基于Quartus
II的FPGA/CPLD设计与实践》
电子工业出版社
2007年
第五篇:eda技术教案
EDA技术教案 第一次课 内容:
介绍EDA技术的涵义、发展历程和应用领域; 介绍EDA技术的主要内容; 介绍EDA的工程设计流程; 说明本课程的特点与学习方法。教学目的:
通过介绍EDA技术的涵义、发展历程和应用领域,使学生了解本课程的实际应用很大,调动学生学习这门课程的积极性
通过介绍EDA技术的主要内容,使学生了解这门课程要学习什么。在此基础上说明本课程的特点与学习方法。
说明各种通信系统的组成,了解它们的优缺点,出现背景。重点说明数字通信系统的特定和优点。
介绍EDA的工程设计流程,说明当前EDA设计的特点,用软件方式设计硬件,用软件方式设计的系统到硬件系统的转换是由有关开发软件自动完成的,因此类似软件编程,不需太多的低层硬件知识,使学生克服畏难情绪。教学重点、难点:
EDA技术的三个发展阶段以及各阶段的特点; EDA的定义和EDA技术的主要内容; EDA的工程设计流程。教学方法:
比较、举例、图解。教学过程:
(一)自我介绍,说明课时安排、成绩评定方法、课程定位、教学网站的进入。
(二)讲授新课
课堂教学实施过程共分六步。介绍EDA技术的涵义。
说明EDA技术的发展背景,说明EDA技术的三个发展阶段,比较三个阶段的各解决了什么问题,在此基础上理解各阶段的特点。
在第二步理解EDA技术进行电子系统设计的特点的基础上引出并详细说明EDA的定义,加深对EDA技术的涵义的理解。
在第三步详细说明EDA的定义的基础上,引出EDA技术的4个主要内容:硬件描述语言:设计的主要表达手段;大规模可编程逻辑器件:设计的载体;软件开发工具:设计的工具;实验开发系统:下载工具及硬件验证工具。再分别介绍EDA技术的4个主要内容:了解常用的硬件描述语言VHDL和Verilog;了解两种常用的大规模可编程逻辑器件FPGA和CPLD以及它们各自的特点;了解主流EDA工具软件;了解本课程使用的西安唐都公司的TD-EAD实验系统
说明课程要求:通过学习这门课程要掌握运用EDA开发工具设计开发电子系统,引出这门课程的特点:实践性强,说明我们的学习方法:抓住一个重点:VHDL的编程;掌握两个工具: Quartus II 和 TD-EAD实验系统;运用三种手段:通过案例分析、应用设计和上机实践,实现理论与实践相结合,边学边用,边用边学。用设计一个简单电子系统为例,引出EDA的工程设计流程。说明当前EDA技术发展的特点:用软件方式设计硬件;用软件方式设计的系统到硬件系统的转换是由有关开发软件自动完成的;设计过程中可用有关软件进行各种仿真;系统可现场编程,在线升级;整个系统可集成在一个芯片上,体积小、功耗低、可靠性高。现代EDA设计类似软件编程,不需太多的低层硬件知识,使学生克服畏难情绪。同时这里又回顾复习了使用EDA技术进行电子系统设计的特点。最后图解说明EDA的工程设计流程。第二次课
内容:安装 Quartus Ⅱ,VHDL 与 Quartus Ⅱ初体验 教学目的:
理解VHDL语言的特点。
了解主流EDA工具Quartus Ⅱ,掌握其安装方法。掌握使用 Quartus Ⅱ进行FPGA设计的基本流程。
教学重点、难点:使用Quartus Ⅱ进行FPGA设计的基本流程。教学方法: 举例、演示。教学过程:
课堂教学实施过程共分两步。
回顾上节课所讲的EDA的主要内容。在此基础上引出VHDL语言的特点,并介绍主流EDA开发工具Quartus Ⅱ,说明它的不同版本的特点。重点介绍PC破解版的安装步骤。演示安装过程,在演示是重点提醒学生注意容易出错的几个地方。
回顾上节课所讲的当前EDA技术发展的特点,EDA的工程设计流程。在此基础上说明使用 Quartus Ⅱ进行FPGA设计的基本流程,并通过实际演示设计一个简单的电子系统:与非门,说明使用 Quartus Ⅱ和VHDL开发电子系统的基本流程。在演示过程中重点提醒学生注意容易出错的几个地方,并给出一些初学者的小窍门。第三次课
内容:VHDL 程序基本结构,VHDL 基本数据类型,VHDL 数据对象 教学目的:
掌握VHDL语言程序的基本结构,特别是实体和结构体。
掌握VHDL语言的语言要素,包括VHDL语言的基本数据类型、数据对象和VHDL 运算符,理解信号和变量的区别。
教学重点、难点:VHDL语言程序的基本结构,VHDL语言的语言要素。教学方法:举例、演示、归纳、比较。教学过程:
课堂教学实施过程共分三步。1)VHDL 程序基本结构
回顾上节课设计与非门的例子,引出设计与非门的设计思想:先确定系统功能和接口,再进行内部电路设计,由此引出VHDL程序的基本结构:实体:对应系统接口,结构体:对应系统内部电路。从与非门的VHDL程序中可以直观的看到它的三部分:库、程序包的调用,实体声明,结构体定义。
以与非门的VHDL程序为例说明库、程序包的调用的作用。说明调用语法,介绍常用的三个库、程序包。
以与非门的VHDL程序为例说明实体声明的语法,各项的意义。提醒学生注意初学者容易出错的地方,如:实体名必须与文件名相同,否则编译会出错;最后一条端口声明语句不可加分号等。并通过演示出错情况,加深学生的印象。最后通过图解归纳实体声明的格式,容易出错的地方,并对初学者进行相应的建议:使用范例,在Edit—> Insert Template 中选择范例。Quartus 进行编译时,要求关联文件文件名相同,建议采用 Quartus 默认文件名,不要自己更改文件名。
以与非门的VHDL程序为例说明结构体的语法,各项的意义。提醒学生注意初学者容易出错的地方。并通过演示出错情况,加深学生的印象。最后通过图解归纳结构体的格式,应注意的地方。
2)VHDL 基本数据类型
回到与非门的VHDL程序的实体声明部分,引出VHDL的数据类型。介绍各种数据类型,重点介绍最常用的标准逻辑位、标准逻辑位矢量。提醒学生注意使用标准逻辑位矢量时必须注明数组中元素个数和排列方向,并举例说明。最后比较VHDL和C语言中使用数据类型的异同点:VHDL同 C 语言一样,必须先声明端口和信号,然后才能使用,在声明中必须定义它们的数据类型;与 C 语言不同,VHDL是强类型语言,只有相同数据类型的端口、信号和操作数才能相互作用。3)VHDL 数据对象
介绍VHDL的数据对象:信号、变量和常量。以与非门的VHDL程序为例,通过图解比较说明信号和端口的异同点。说信号声明的格式和信号赋值语句的格式。重点说明矢量赋值,通过举例说明在矢量赋值要特别注意两矢量之间的元素对应关系。
说明定义变量的语法格式、变量赋值的语法格式。比较信号和变量的区别。最后介绍定义常量的语法格式。第四次课
内容:VHDL 运算符、VHDL 并行信号赋值语句。
教学目的:
掌握VHDL 运算符。
掌握VHDL语言的并行信号赋值语句,特别是选择信号赋值语句和条件信号赋值语句,理解条件信号赋值语句的各赋值子句的优先级差别。教学重点、难点:并置运算符“&”、选择信号赋值语句、条件信号赋值语句。教学方法:举例、演示、图解。教学过程:
课堂教学实施过程共分四步。
分别介绍VHDL的四种运算符:算术运算符、并置运算符、关系运算符、逻辑运算符。对算术运算符重点说明能支持的数据类型和不能支持的数据类型。并置运算符是本课程的一个难点,通过一个电路设计,举例说明并置运算符的应用。关系运算符重点说明能支持的数据类型。提醒学生注意:“<=”在条件语句中出现为小于等于,其它情况为信号赋值。逻辑运算符重点说明其优先级关系。
并行语句是硬件描述语言区别于一般软件程序语言的最显著的特点之一。通过图解说明常用并行语句特点,从图中直观的看到:并行语句之间是并行执行,但并行语句内部的执行可以是顺序的(进程语句),也可以是并行的(块语句)。
介绍并行信号赋值语句:简单信号赋值语句、选择信号赋值语句、条件信号赋值语句。给出选择信号赋值语句格式,并通过设计3-8 线译码器,说明如何使用选择信号赋值语句。提醒学生注意容易出错的几点:“选择值”一定要覆盖所有可能情况,若不可能一一指定,则要借助 others为其它情况找个“出口”。因此强烈建议初学者使用 with „ select 语句时,最后都带上 when „
others。“选择值”必须互斥,不能出现条件重复或重叠的情况。给元素赋常数值,用单引号;给矢量赋常数值,用双引号。通过演示出错情况,加深学生的印象。
给出条件信号赋值语句格式,并通过设计8-3 线优先编码器,说明如何使用条件信号赋值语句。提醒学生注意容易:在执行 When „
Else 语句时,赋值条件按书写的先后顺序逐项测试,一旦发现某一赋值条件得到满足,即将相应表达式的值赋给目标信号,并不再测试下面的赋值条件。即各赋值子句有优先级的差别,按书写的先后顺序从高到低排列。通过观察仿真结果,直观的看到赋值优先级,加深学生的印象。第五次课
内容:进程语句、VHDL语言的顺序语句。教学目的:
掌握进程语句,掌握进程的工作原理和特点,理解进程与时钟的关系。
掌握VHDL语言的顺序语句,特别是IF 语句和CASE语句,理解IF、CASE语句和选择信号赋值语句、条件信号赋值语句的区别。
教学重点、难点:进程的工作原理和特点,进程与时钟的关系。IF 语句和CASE语句,IF 语句和CASE语句的嵌套。
教学方法:图解、举例、总结。教学过程:
课堂教学实施过程共分四步。
介绍进程语句的特点、格式,说明各项意义。图解说明进程工作原理,通过该图直观的理解进程的特点:进程本身是并行语句,单其内部是顺序语句;进程只有在特定的时刻(敏感信号发生变化)才会被激活。在此基础上说明进程与时钟的关系。通过图解说明时钟上升沿驱动进程语句,使学生较好的理解了进程的时钟和进程是一种隐形的循环。给出时钟沿的VHDL描述,通过几个寄存器的设计,说明如何使用进程语句,通过观察波形仿真图,加深学生对进程与时钟的关系的理解。最后总结进程的要点和容易出错的几个地方。介绍顺序语句,提醒学生注意进程在激活的一瞬间就执行完进程中所有语句。重点介绍IF 语句和CASE 语句。给出IF 语句的三种格式,说明它们的特点。在此基础上总结使用 IF 语句注意的要点。最后通过设计串行输入并行输出的移位寄存器和并行输入串行输出的移位寄存器,加深学生对IF语句、IF语句嵌套的理解。
给出CASE 语句的格式,说明CASE 语句使用要点。最后通过设计带使能端的 2-4 译码器,加深学生对IF语句、IF语句嵌套的理解。介绍LOOP语句和空语句。第六次课
内容:层次化设计概念、在Quartus II 中实现层次化设计 教学目的:
理解层次化设计的优点。
理解层次化设计的核心思想:模块化、元件重用。
掌握在 Quartus II 中采用图形法与文本法结合的混合输入方法实现元件重用和系统的层次化设计。
教学重点、难点:在Quartus II 中实现层次化设计。教学方法:图解、举例、演示。教学过程:
课堂教学实施过程共分三步。
说明层次化设计的优点。图解说明层次化设计的核心思想:模块化、元件重用。加深对层次化设计的优点的理解。
图解说明在 Quartus II 中实现系统层次化设计的主要步骤:首先按自顶向下的设计方法,设计系统,划分和定义系统子模块,形成系统层次化设计图。其次用 VHDL 语言设计底层子模块,并生成相应的元件符号。最后调用下层元件,完成上层模块的设计,并生成相应的元件符号。这样从底层元件开始,自底向上完成系统的设计。
通过实际演示时钟选择器的设计过程,说明如何在Quartus II 中实现系统层次化设计,主要包括模块划分、元件设计文件的建立、元件符号的生成、元件调用、LPM宏模块的调用与参数配置、顶层电路原理图的建立。第七次课
内容:系统层次化设计进阶
教学目的:理解元件例化、程序包和类属映射。教学重点、难点:略 教学方法:图解、举例。教学过程:
课堂教学实施过程共分四步。
回顾上节课的内容:在Quartus II 中实现层次化设计,并引出新问题:如何用 VHDL 语言而不是元件符号来调用已设计的元件,实现系统层次化设计。由此引出元件例化、程序包和类属映射这几个层次化设计中最重要的VHDL语句。
说明什么是元件例化:将以前设计的实体当作本设计的一个元件(元件定义),然后再调用这个元件,即用VHDL语言将各元件之间的连接关系描述出来(元件映射)。介绍元件例化中的元件定义和元件映射的语法格式,说明各项意义。通过一个例子引用2分频电路,来说明如何使用元件例化。
通过图解说明元件例化语句的缺点:如果在一个实体中用到多个元件,那么在其结构体中要用大量篇幅定义元件。元件定义在结构体中,只有这个实体能调用该元件,如果有多个实体用到同一个元件,那么在这多个实体中都要对该元件进行定义。通过对该问题的解决,引出程序包:将数据类型、元件定义、子程序等收集到一个VHDL程序包中,只要在设计实体中用USE语句调用该程序包,就可以使用这些预定义的数据类型、元件定义、子程序。说明程序包的语法格式,通过举例说明如何在程序包中进行元件定义以及如何应用程序包。提醒学生注意容易出错的地方:程序包设计文件应保存为同名的VHDL文件并编译。只有编译过的程序包才能被其它设计实体调用。
通过一个常见的实际问题:设计一个带参数的电子系统,使其应用范围更广,引出类属映射语句。通过设计带参数的分频器,说明如何用 VHDL 语言设计和调用带参数的元件。第八次课
内容:Moore 状态机的 VHDL 描述、Mealy 状态机的 VHDL 描述。
教学目的:理解什么是Moore 状态机和Mealy 状态机,掌握Moore 状态机和Mealy 状态机的 VHDL 描述。
教学重点、难点:Moore 状态机和Mealy 状态机的 VHDL 描述。教学方法:图解、举例、类比。教学过程:
课堂教学实施过程共分三步。说明组合逻辑和时序逻辑的区别。用老式按钮风扇类比组合逻辑,空调遥控器类比时序逻辑,形象的说明了组合电路的输出只与当前输入有关。时序逻辑电路的输出不仅与当前输入有关,还与过去的一系列输入有关。由此引出状态机:输出由当前状态和当前输入决定,是一种广义的时序电路。状态机分Moore与Mealy型。说明这两种状态机的特点:Moore型输出仅取决于其所处状态,Mealy型输出不仅与当前状态有关,也与当前输入有关,更常见。举例说明Moore 型状态机,并画出其状态转移图,通过状态转移图加强Moore型输出仅取决于其所处状态的理解。举例说明Mealy型状态机,并画出其状态转移图,通过状态转移图说明Mealy型输出不仅与当前状态有关,也与当前输入有关的特点。
以Moore状态机的状态转换图说明如何用VHDL来描述Moore状态机,分为两个进程:确定状态转移的进程 Chang_State,决定输出值的进程 Output_Process。状态转移进程:Moore 状态机状态转移与输出 Dout 无关。当S0状态输入0时,仍然还在S0状态,没有进行状态转移,因此也与这种自环与状态转移无关。状态转移进程由去掉输出和自环后的状态转移图决定。根据化简后的状态图写出状态转移进程。CASE语句嵌套IF语句,CASE语句表示当前状态,IF语句表示在当前状态下,根据当前输入决定状态转移。提醒学生注意:一定要有状态机开始工作的条件,否则状态机永远不会工作。输出进程:在Moore状态机中输出只与当前状态相关,用一个CASE语句完成。
在上一步的基础上,对比Moore状态机的VHDL实现,说明Mealy状态机的实现,仍分为两个进程:确定状态转移的进程Chang_State,决定输出值的进程 Output_Process。由于Mealy状态机与Moore状态机的区别只在输出 Dout 同时与当前状态 Si 和当前输入有关。因此Chang_State进程的实现与Moore机相同。输出由当前状态和当前输入共同决定,因此输出进程 Output_Process也是CASE嵌套IF的格式,与状态转移进程类似。第九次课
内容:用状态机实现交通灯控制器
教学目的:掌握使用状态机实现数字系统设计的方法。教学重点、难点:在 Quartus II 中状态机的实现方法。教学方法:图解、举例、演示。教学过程:
课堂教学实施过程共分四步。
说明任务与要求,进行系统分析设计,在此基础上画出系统框图,确定元件模块和元件接口与连接。回顾在Quartus II 中实现层次化设计过程,用VHDL语言实现底层模块:计数器和控制器的设计。
重点介绍如何用状态机设计控制器,确定状态和状态转移条件,画出状态转移图,发现这是个Moore状态机。回顾Moore状态机的VHDL实现,完成对控制器的设计。完成计数器和控制器的设计后,生成相应的计数器和控制器元件符号。按系统框图建立顶层电路图,编译工程。第十次课
教学内容:Protel2004项目文件的管理和编辑
(一)教学目标:
1、学会在Protel2004软件中创建相应的各种文件
2、学会在Protel2004文件中创建相应的项目
3、学会在Protel2004文件中创建相应的设计工作区 教学重点:
对Protel2004软件中各种层级,各种种类繁多的文件的识别和创建 教学方法:演示操作法 课时安排:1课时 教学过程:
一、Protel2004包含了三级文件管理模式,分别是设计工作区,项目和文件,级别依次从高到低。而文件有分为好多种类有原理图文件,PCB封装文件,库文件,脚本文件,混合信号仿真文件,又如项目文件中有包含不同项目对应得不同文件。我们只是建立几个常用的文件
二、在Protel2004工作环境中创建原理图文件
1、打开文件/创建/原理图,创建一个原理图文件,并保存。注意器保存位置和保存的文件名称,类型扩展名。
2、打开文件/创建/PCB文件,创建一个PCB文件,并保存。注意器保存位置和保存的文件名称,类型扩展名。
三、在Protel2004工作环境中创建项目文件
打开文件/创建/项目/PCB项目,创建一个PCB项目文件,并保存。注意器保存位置和保存的文件名称,类型扩展名。
四、在Protel2004工作环境中创建项目文件
打开文件/创建/设计工作区,创建一个设计工作区文件,并保存。注意器保存的方法、位置和保存的文件名称,类型扩展名。
以上在保存文件的,项目级工作区的时候有几种不同的方法:
1、在相应的文件上点击右键保存,或另存为
2、在菜单栏中文件中找出相应命令执行保存操作
五、打开工作面板projects.查看他们的结构关系。教学反思于总结:
在演示教学的同时要注意教学的节奏,应反复演示,是学生能看清楚每一个操作步骤。要求学生对于常用的文件类型的扩展名,图形符号有所了解。第十一次课
教学内容:原理图的设计基础 教学目标:
1、掌握原理图的一般设计步骤
2、熟悉Protel2004原理图设计工具栏
3、熟练操作原理图的图样的放大于缩小 教学难点:
掌握原理图图样的放大于缩小的操作方法,牢记器快捷键操作。教学方法:讲授法和演示操作法 课时安排:1课时 教学过程:
一、原理图的一般设计步骤(讲授法)原理图的设计流程如下:
1、启动Protel2004原理图编辑器
新建一个原理图文件或打开一个原理图文件,都可以启动原理图编辑器,进入原理图设计工作。
这里我们打开Protel2004自带示例中的一个原理图文件。
2、设置原理图图样的大小及版面
3、在图样上放置元器件
4、对所放置元器件进行布局、布线
5、对布局、布线后的元器件进行调整
二、Protel2004 原理图设计工具栏
这里我们打开Protel2004自带示例中的一个原理图文件。
Protel2004为设计者提供了方便快捷的原理图绘制工具,分类放置在不同的工具栏中。这些工具栏,可以通过执行选单命令“视图/工具栏”的下拉菜单进行打开和关闭。
三、图样的放大于缩小:
1、在视图菜单中有一系列的图样于缩小命令,分别执行这些命令,观察图样的变化,并记忆理解这些命令的含义和作用。熟练掌握这些命令的快捷键执行方式。
2、利用键盘实现图样的放大于缩小。教学反思于总结:
关于原理图设计的一般步骤,学生只要有个大致的了解就可以了,这个过程会在以后的操作中逐渐的熟练起来。儿本节课中第三部分是重点难点。需要学生对于各个命令逐条的反复的操作,观察器变化,这个操作过程是枯燥的,应该尽可能的提高这节课的趣味性。让学生更积极的投入进去。第十二讲
教学内容:连接线路
(一)教学目标:
1、能够熟练的连接导线
2、学会放置线路节点
3、掌握设置网络标号 教学重点:
1、熟练的在电路中连接导线
2、理解网络标号的含义并能够正确而且熟练的放置网络标号 教学方法:演示教学法,任务完成法 课时安排:2课时 教学过程:
一、连接导线
当所有电路元器件、电源和其他对象放置完毕后,就可以进行原理图中个对象的连线。连线的主要目的是按照电路设计的要求建立网络的实际连通性。打开任一原理图电路,对所教授内容进行演示。
连线的方法:执行“放置/导线命令”命令,或左键单击wring工具栏中的连接导线命令。此时光标变为十字状,进入连线状态。当光标到达电气引脚是,会自动出现一个红色的“×”,单击鼠标左键,确定导线的起点,拖动鼠标到终点处,单击鼠标左键,一根导线结束。再次单击开始画第二条导线,也可单击鼠标右键退出连线状态。
Protel2004为设计者提供了四种导线模式:90度走线、45度走线、任意角度走线和自动布线。在画导线过程中,按下shift+space键,可以在各种走线模式间循环切换。
二、放置线路结点
所谓线路结点,是指当两条导线交叉时相连的状况。如果没有结点存在,则认为该两条导线在电气上是不连通的。反之,则连通。
Protel2004是设计者在绘制导线时,将在T字连线处自动产生结点,而在十字处不会自动产生结点,若设计者需要结点则必须由手工放置。
三、设置网络标号
网络标号是实际电气连接的导线的序号。具有相同的网络标号的导线,不管图上是否连在一起,都被看做是同一条导线。它多用于多层次电路或多重式电路的各个模块电路之间的连接,这个功能在绘制印制电路板时十分重要。
放置网络标签的方法:执行“放置/网络标签”命令,光标变成十字状当网络标签于导线或引脚连接状态时,会出现红色的“×”标志,单击鼠标左键,完成放置。同时对网络标签进行设置。
绘制下列电路图,完成对所学内容的练习
教学反思与总结:
本次课中,导线和网络标签的使用在绘制原理图的过程中是经常使用的,尤其是连接导线,需要反复的练习才能够熟练的掌握。有的学生在连接导线是的终点和下一段导线的起点操作不正确,将单击变为了双击,会造成元器件短路(如下图示例)。还有就是网络标签的放置位置不正确,没有注意到红色小叉的标记,随让标签也是放置在了导线或者元件的附近,但是并未形成成功的连接。第十三讲
教学内容:原理图的绘制 教学目标:
1、通过实际的大量的练习熟悉并掌握原理图文件的设计步骤
2、通过实际的大量的练习教学重点:
熟悉并掌握原理图的绘画技巧 教学方法:任务式教学法 课时安排:1课时 教学过程:
绘制下面的原理图,进行练习:
教学反思与总结:
注意I/O端口、总线、网络标签的绘制细节。