EDA课程设计教程.docx
- 文档编号:8189467
- 上传时间:2023-01-29
- 格式:DOCX
- 页数:69
- 大小:839.96KB
EDA课程设计教程.docx
《EDA课程设计教程.docx》由会员分享,可在线阅读,更多相关《EDA课程设计教程.docx(69页珍藏版)》请在冰豆网上搜索。
EDA课程设计教程
前言
“数字逻辑”是我院计算机科学与技术专业及自动化专业最重要的专业基础课之一。
随着电子技术的高速发展,数字技术也可谓是一日千里。
尤其是九十年代迅速发展起来的在系统可编程技术ISP,更使数字系统的设计方法发生本质性、革命性变化。
为了适应数字技术的飞速发展,培养出在二十一世纪具有竞争力的计算机及自动化的高等人才,采用可编程技术及可编程器件进行数字电路及系统的设计势在必行。
为此,我院“数字逻辑”实验设备更新为具有当前国内先进水平的EDA实验开发系统。
EDA(ElectronicDesignAutomation)即指电子设计自动化。
EDA实验开发系统是一种多功能、高配置、高品质的EDA教学与开发设备。
该系统由于采用可编程CPLD器件及独特的设计技术,从而使学生的实验从传统的硬件连接方式进入到软件设计、仿真调试系统的实验方式,并使传统的硬件设计方式用EDA技术实现。
这与用连线搭接电路的实验方式相比,不仅故障率大大降低,而且节省了时间、提高了实验效率。
同时,也使学生获得的知识紧跟国际数字技术的先进水平。
EDA实验教程是为适应数字逻辑课程的教学改革而编写的。
考虑到现代教育不仅使学生通过实验能够掌握所学理论知识,而且有利于激发和培养学生的创新意识和创造能力,该教程结合实验室已更新的EDA实验开发系统,为学生提供了一些以设计性和综合性实验为主的、具有任意可选性的基础实验课题;同时也为数字逻辑课程设计提供了一些即具有实用价值、趣味性又较强的数字系统设计项目。
该教程适用于“数字逻辑”课程教学实验和课程设计。
因时间短促,还存在很多不足及错误,敬请各位老师及同学指正。
“数字逻辑”课程组
2008年10月
前言
第一章MAX+PLUSⅡ基本操作……………………………………………………3
1.1设计环境与设计方法………………………………………………………3
1.1.1系统配置与安装……………………………………………………………3
1.1.2MAX+PLUSⅡ操作环境…………………………………………………………5
1.1.3MAX+PLUSⅡ的设计方法……………………………………………………6
1.2设计输入……………………………………………………………………8
1.2.1建立图形设计文件……………………………………………………………8
1.2.2建立文本设计文件(VHDL)………………………………………………14
1.2.3VHDL语言和原理图混合输入方式…………………………………………16
1.3设计项目的编译…………………………………………………………16
1.4设计校验……………………………………………………………………23
1.4.1仿真…………………………………………………………………………23
1.4.2定时分析……………………………………………………………………26
1.5器件编程……………………………………………………………………28
第二章数字逻辑基础实验………………………………………………………30
2.1交通控制灯监视电路………………………………………………………30
2.2五人表决器…………………………………………………………………30
2.3逻辑运算电路………………………………………………………………31
2.43:
8线译码器………………………………………………………………31
2.5逻辑函数发生器……………………………………………………………32
2.64位二进制数∕BCD码变换器……………………………………………32
2.7格雷码变换器………………………………………………………………33
2.8BCD码加法器………………………………………………………………33
2.9四位并行乘法器……………………………………………………………33
2.10BCD∕七段数字显示译码器………………………………………………34
2.11基本触发器…………………………………………………………………35
2.12同步十进制计数器…………………………………………………………35
2.13动态扫描数码显示器………………………………………………………36
2.14双向移位寄存器……………………………………………………………37
2.15环形计数器与扭环计数器…………………………………………………37
2.16二十四进制计数器…………………………………………………………38
第三章数字系统综合设计………………………………………………………40
3.1多功能数字电子钟…………………………………………………………40
3.2数字密码锁电路……………………………………………………………42
3.38位数字频率计……………………………………………………………42
3.4等精度数字频率计…………………………………………………………44
3.5快速加法器………………………………………………………………46
3.6移位乘法器…………………………………………………………………46
3.7篮球30秒定时控制电路…………………………………………………48
3.8交通灯控制电路……………………………………………………………48
3.9序列检测器…………………………………………………………………49
3.10出租车计费器………………………………………………………………50
3.11智力竞赛抢答器……………………………………………………………51
3.12模拟乒乓球游戏机…………………………………………………………52
附表SE-5M(EPF10K10)引脚对应表…………………………………………54
第一章MAX+PLUSⅡ基本操作
本章介绍Altera公司的CPLD的开发工具软件MAX+PLUSⅡ。
MAX+PLUSⅡ提供了与结构无关的设计环境,确保了易于输入设计、快速编译及完成器件编程。
使用MAXPLUSⅡ软件,设计者无需精通器件内部的复杂结构,只需用自己熟悉的设计工具,如高级行为语言、原理图或波形图进行设计输入,然后由MAXPLUSⅡ将这些设计转换成目标结构所要求的格式。
由于有关的结构模型已装入开发工具,使得设计者不需要手工优化自己的设计,从而简化了设计过程。
MAX+PLUSⅡ提供了丰富的逻辑功能库(包括74系列逻辑器件等效宏功能库、特殊宏功能库(MacroFunction)、模块库以及参数化的兆功能(MageFunction)模块库),供设计者使用。
MAX+PLUSⅡ还具有开放核的特点,允许设计人员添加自己的宏功能模块。
充分利用这些逻辑功能模块,可大大减轻设计工作量。
1.1设计环境与设计方法
1.1.1系统配置与安装
1.MAX+PLUSⅡ软件推荐的PC系统配置为:
(1)233MHz的PC机。
(2)256MB以上有效内存,不低于128MB的物理内存。
(3)460MB以上硬盘空间。
(4)Windows95、Windows98、WindowsNT4.0操作系统。
2.版本
MAX+PLUSⅡ软件按使用平台可分为PC机版和工作站版,按使用对象可分为商业版、基本版和学生版。
商业版:
支持全部输入方式和版本发行时的除APEX系列之外的所有AlteraCPLD器件。
商业版运行时需要一个授权码和一个附加的并口硬件狗。
基本版(BaseLine):
在商业版上作了一些限制。
如,不支持VHDL,不能进行功能仿真和时序仿真,不支持某些器件等。
基本版不需要并口硬件狗,只需向Altera申请一个基本版授权码即可使用。
学生版(E+MAX):
支持商业版的全部功能,但可使用的逻辑功能模块受到限制,且只支持几种器件。
若要安装学生版,应向Altera公司大学项目部申请学生版授权码。
3.安装
MAX+PLUSⅡ几种版本的安装方法基本相同,这里仅介绍基于PC机的Windows98平台的MAX+PLUSⅡ9.23的安装过程。
(1)从CD-ROM中的baseline目录下运行setup.exe,出现图1.1安装封面,安装程序做安装准备,之后出现图1.2;
(2)在图1.2中单击“Next>”出现另一窗口,继续按“Next>”出现图1.3,单击“Yes”接受此协议,该协议提示并告知你需要一个License文件来运行程序。
单击“Next>”出现图1.4;
图1.2
图1.1
图1.3
图1.4
(3)在图1.4中输入用户名等,单击“Next>”出现图1.5;
(4)在图1.5中使用默认选择,即安装所有组件。
按“Next>”,出现图1.6;
图1.6
图1.5
(5)图1.6为选择“MAX+PLUSⅡTurorial”部件进行安装。
该部件包含许多设计的源代码∕图,如一些VHDL、VerilogHDL的例子。
可将其安装在“C:
\max2work”目录下。
按“Browse”改变目录名后,单击“OK”,“Next>”后可出现图1.7;
(6)在图1.7中单击“Next>”即开始安装,直至安装完毕。
图1.8
图1.7
第一次运行MAX+PLUSⅡ9.23前应作以下工作:
①将X:
\…\maxplus2\crack\baseline\crkblast.exe(X为光区盘符)拷贝到所安装的C:
\maxplus2目录下,再运行所安装的C:
\maxplus2\crkblast.exe文件。
(注意:
应确保在MAX+PLUSⅡ9.23baseline没有被运行前运行该文件。
运行该文件时将出现DOS界面,提示按任意键解密。
)
②从“开始”菜单中运行“MAX+PLUSⅡ9.23baseline”,在出现MAX+PLUSⅡ9.23界面时出现“LicenseAgreement”窗口,顺序阅读完全部文档,界面下面的“Yes”按钮被激活,表示Altera公司已同意你使用该软件,按下该按钮。
(图1.8所示)
③在MAX+PLUSⅡ9.23主界面菜单选择“Option”→“LicenseSetup”→“Browse”,选择“C:
\maxplus2”→“ALTERA.DAT”为授权文件,“OK”后退出“maxplus2”,然后再次运行“maxplus2”。
④初次运行MAX+PLUSⅡ9.23baseline时会出现HardwareSetup界面,在HardwareType中选择Byteblaster。
至此,MAX+PLUSⅡ9.23baseline正常运行后即告安装成功。
1.1.2MAX+PLUSⅡ操作环境
1.MAX+PLUSⅡ的组成
MAX+PLUSⅡ由设计输入、项目处理、项目校验和器件编程组成,如图1.9所示,所有这些部分都集成在一个可视化的操作环境下。
2.MAX+PLUSⅡ管理窗口
MAX+PLUSⅡ管理窗口包括项目路径、工作文件标题条、MAX+PLUSⅡ菜单条、快捷工具条和工作区等几部分。
启动MAX+PLUSⅡ即进入MAX+PLUSⅡ管理器窗口,如图1.10所示。
3.MAX+PLUSⅡ在线帮助
MAX+PLUSⅡ提供了强大的在线帮助功能。
通过使用在线帮助,用户可以获得设计中所需要的最新的全部信息。
设计输入
MAX+PLUSⅡ
文本编辑器
MAX+PLUSⅡ
图形编辑器
MAX+PLUSⅡ
符号编辑器
MAX+PLUSⅡ
波形编辑器
项目编译
编译器
网表提取器
数据库
建库器
逻辑
综合器
适配器
项目校验
MAX+PLUSⅡ仿真器
MAX+PLUSⅡ时间分析器
器件编程
MAX+PLUSⅡ
编程器
MAX+PLUSⅡ
信息处理器
及层次显示
图1.9MAX+PLUSⅡ组成
图1.10MAX+PLUSⅡ管理器
菜单
项目名
快捷方式钮
工作区
1.1.3MAX+PLUSⅡ的设计方法
使用MAX+PLUSⅡ的设计过程如图1.11所示。
若任一步出错或未达到设计要求,则应修正设计,重复各步。
设计输入
编译项目
仿真与定时分析
编程测试
修改设计
完成
图1.11MAX+PLUSⅡ设计流程
1)输入设计项目
MAX+PLUSⅡ
符号编辑器
MAX+PLUSⅡ
波形编辑器
MAX+PLUSⅡ
图形编辑器
MAX+PLUSⅡ
文本编辑器
MAX+PLUSⅡ
第三方EDA工具
用户
.gdf
.wdf
.sym
.tdf
.vhd
.inc
.sch
.edf
.xnf
.lmff
设计文件
设计文件
逻辑设计的输入方法有图形输入、文本输入、波形输入及第三方EDA工具生成的设计网表文件输入等。
输入方法不同,生成的设计文件也不同,如图1.12所示。
图1.12MAX+PLUSⅡ的设计输入方法
2)编译设计项目
首先,根据设计项目要求设定编译参数和编译策略,如选定器件、锁定管脚、设置逻辑综合方式等等。
然后,根据设定的编译参数和编译策略对设计项目进行网表提取、逻辑综合、器件适配,并产生报告文件、延时信息文件和器件编程文件,供分析、仿真及编程用,如图1.13所示。
网表提取器
仿真/定时
SNF提取器
EDIF,VHDL及
Verilog网表写入器
数据库
建库器
划分器
设计
诊断器
逻辑
综合器
适配器
汇编器
.gdf
.tdf
.vhd
.schf
.edf
.xnf
.sdo
.edo
.vo
.vho
.snf
.rpt
.pof,.sof,jed
MAX+PLUSⅡ编译器
设计文件
仿真/定时
文件
报告文件
编程文件
第三方
EDA文件
图1.13MAX+PLUSⅡ的编译方法
3)校验设计项目
项目校验方法包括功能仿真、模拟仿真和定时分析。
功能仿真是在不考虑器件延时的理想情况下仿真设计项目的一种项目验证方法,称为前仿真。
通过功能仿真可以用来验证一个项目的逻辑功能是否正确。
模拟仿真(时序仿真)是在考虑设计项目具体适配器件的各种延时的情况下仿真设计项目的一种项目验证方法,称为后仿真。
时序仿真不仅测试逻辑功能,还测试目标器件最差情况下的时间关系。
通过时序仿真,在把项目编程到器件之前全面检测项目,以确保在各种可能的条件下都有正确的响应。
MAX+PLUSⅡ的仿真过程如图1.14所示。
定时分析用来分析器件引脚及内部结点间的传输路径延时、时序逻辑的性能(如最高工作频率、最小时钟周期等)以及器件内部各种寄存器的建立/保持时间,如图1.15所示。
4)编程验证设计项目
用MAX+PLUSⅡ编程器通过Altera编程硬件或其它工业标准编程器将经过仿真确认后的编程目标文件配置到所选定的AlteraCPLD器件中,然后加入实际激励信号进行测试,检查是否达到设计要求。
MAX+PLUSⅡ
仿真器
MAX+PLUSⅡ
波形编辑器
MAX+PLUSⅡ
编译器
MAX+PLUSⅡ
波形编辑器
MAX+PLUSⅡ
文本编辑器
.snf
.scf
.scf
.vec
图1.14MAX+PLUSⅡ的仿真过程
MAX+PLUSⅡ
编译器
建立/保持矩阵
MAX+PLUSⅡ
平面编辑器
MAX+PLUSⅡ
图形编辑器
MAX+PLUSⅡ
文本编辑器
.snf
延时矩阵
时序性能
MAX-PLUSⅡ
定时分析器
图1.15MAX+PLUSⅡ的定时分析过程
1.2设计输入.
1.2.1建立图形设计文件
1.指定设计项目的名字
1)指定设计项目的名字
MAX+PLUSⅡ编译器的工作对象是项目,所以在进行一个逻辑设计时,首先要指定该设计的项目名称,并且要保证一个设计项目中所有文件均出现在该项目的层次结构中。
对于每个新的项目,应该建立一个独立的子目录。
如果这个子目录不存在,MAX+PLUSⅡ将自动创建。
初学者切记:
每个设计必须有一个项目名,并且要保证项目名与设计文件名一致。
①选中菜单项File/Project/Name或点击
快捷钮,出现图1.16所示对话框。
②在Directories栏中,选中\max2work\time作为当前目录,然后在ProjectName对话框中键入con12。
如果Directories栏中只有max2work目录,请在ProjectName项中键入\time\con12(即建立自己的文件夹time)。
③选择OK,则MAX+PLUSⅡ标题条会变成显示新的项目名字:
MAX+PLUSⅡManager-d:
\\max2work\time\con12。
2)建立一个新的图形文件
①选择菜单项File/New,或点击
快捷钮,出现图1.17所示New对话框。
②在New对话框中选择GraphicEditorFile(图形编辑器文件),并在图形文件格式下拉列表框中选择扩展名.gdf。
图1.16指定项目名对话框
图1.17New对话框
③选择OK,出现无名称的图形编辑窗口,如图1.18所示。
可以通过点击图形编辑器标题条中的缩放钮将图形编辑器窗口放至最大。
④选择菜单File\Save或点击
快捷钮,出现SaveAs对话窗口,选择OK,即将con12.gdf文件保存到当前项目子目录下。
图形编辑器窗口
快捷方式钮
图形编辑工具
图1.18图形编辑器窗口
3)输入图元和宏功能符号
MAX+PLUSⅡ提供了丰富的图元和宏功能符号(Primitive&Macrofunction)库,它们分类放在Max2work\maxlib\子目录下。
①Prim:
Altera的图元(基本逻辑块)。
②mf:
7400系列逻辑等效宏库。
③mega-lpm:
参数化模块库。
包含兆功能模块(如busmux、csfifo等)、兆核功能模块(如UARTs、FFT、FIR、PCI等)。
④edif:
edif接口库。
在图形设计文件中输入图元和宏功能符号的步骤如下:
①在图形编辑器窗口(作图工具
按钮有效时)空白处双击鼠标左键(或者单击右键,在出现的菜单中选择EnterSymbol),出现图1.19所示EnterSymbol对话框;
②双击SymbolLibraries窗口中的mf,在SymbolFile(符号列表)框内选中74161,或者直接在SymbolName框中直接输入74161后,选择OK,74161符号在输入点附近显示出来。
74161宏功能块是一个四位十进制同步计数器。
图1.19EnterSymbol对话框
③重复步骤①至③,输入图中其它符号。
也可以用复制的方法输入相同的符号,其操作方法与一般Windows图形编辑器类似。
4)建立和显示导引线(Guideline)
为了增加逻辑图的可读性,可将逻辑符号经由水平和垂直导引网格线定位。
可以设定导引线线距和显示/隐藏导引线:
①选择菜单Options/GuidelineSpacing,显示出导引线线距对话框。
②在XSpacing(水平)和YSpacing(垂直)对话框中均键入10,选择OK。
③选择菜单Options/ShowGuidelines,即显示导引线,如图1.20所示。
图1.20显示导引线、旋转符号示例
5)移动逻辑符号
①点击74161符号,即选定这个符号(符号颜色发生变化。
例如变红)。
②按住鼠标左键,拖动74161符号并将其左上角定位在最近的导引线相交点上。
符号的外形边界线随符号一起移动,这样就可以对此符号进行精确定位。
③符号定位后,释放鼠标左键。
④在nand3符号上,右击鼠标出现图1.20中所示下拉菜单。
通过选择Rotate、FlipHorizontal或FlipVertical项,可分别对nand3符号进行旋转、水平镜像或垂直镜像操作。
⑤按下鼠标左键并拖动到一定位置松开,即可选定一个矩形区域。
可按照上述②、③、④步移动该选定区域。
在MAX+PLUSⅡ图形或符号编辑器中,应用上述方法可以移动各种所选择的符号或其它图形或文本块。
6)输入Input(输入)和Output(输出)引脚
①在符号74161的左边空白处点击鼠标右键,在出现的菜单中选择EnterSymbol。
(或者在空白处双击鼠标即可显示EnterSymbol对话框)。
在符号名框(SymbolName)中键入INPUT或者OUTPUT,选OK,即显示出INPUT或OUTPUT符号。
②在INPUT或OUTPUT符号上同时按下Ctrl键和鼠标左键,拖曳鼠标至该符号下方再放开,即复制出INPUT或OUTPUT符号。
7)命名引脚
在一个图形文件中,每个图元及宏功能符号都有唯一的用数字表示的ID标识号。
MAX+PLUSⅡ图形编辑器会按输入次序自动为图元及宏功能符号赋于ID号。
①双击图1.20中左上方INPUT端口的默认引脚名“PIN_NAME”,或者点击鼠标右键,在出现的菜单中选择EditPinName。
②键入en,则该INPUT端口更名为en。
③将其余的INPUT和OUTPUT引脚名按图1.21更改。
当编辑好一个引脚名后,如果按回车键,则会自动选中其下面的一个端口的引脚的名字供编辑。
图1.21中的输入端口en、clear和clk分别为计数器使能、异步清除及时钟输出端口;q[3..0]是输出总线的名字,代表计数器的四位总线输出。
图1.21命名引脚示例图
8)连接逻辑符号
①使用菜单命令Options/Rubberbanding或使用做图工具钮
和
打开或关闭橡皮筋连接功能。
如果使两个符号的引线端直接接触或通过引线相连,则这两个符号便在逻辑上连接起来。
在橡皮筋连接功能打开时,移动其中任一符号,则连接在该符号上的连线跟着移动,不改变同其他符号的连接关系;在橡皮筋连接功能关闭时,移动其中任一符号,则该符号被移走,不再维持和其它符号的连接关系。
②移动逻辑符号到适当位置。
③选择连线工具。
点击正交线工具
钮(或其它连线工具),鼠标变为“十”形状,表示当前为连线模式。
在各种情况下,将鼠标移到引脚、符号或连线的端口,鼠标也会变为“十”形状,允许画线。
④选择连线类型。
选择菜单命令Option/LineStyle,出现连线类型列表。
在下拉列表框中选择实线类型(MAX+PLUSⅡ默认选择实线类型)。
⑤连线。
将鼠标移向输入引脚en的引线端,一直按住鼠标左键拖动到74161的ENT输入引线端,释放鼠标左键。
⑥用正交线工具,可画直线或画带有一个拐折点的线。
如果要画多个拐折连线,就需要在画完一条线之后,再画与这条线端点相连接的第二条线。
只有当两条连线类型相同时,这两条线才会从逻辑上连接起来。
⑦当一条连线端点落在另一条线上时,会自动产生连接结点。
可以通过点击结点产生工具钮
,将两条交叉线连接起来。
⑧重复步骤③至⑥,画出其它连线如图1.22所示。
⑨画总线。
如图1.22所示,连接到q[3..0]]输出的引线应是一条总线,所以要选择总线类型(BusLineStyle),即在LineStyle中选择粗线可生成Bus。
9)删除连线
①点击待删除引线则选中鼠标所指处线段,双击待删除引
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- EDA 课程设计 教程