EDA技术实验指导书版.docx
- 文档编号:10264839
- 上传时间:2023-05-24
- 格式:DOCX
- 页数:35
- 大小:431KB
EDA技术实验指导书版.docx
《EDA技术实验指导书版.docx》由会员分享,可在线阅读,更多相关《EDA技术实验指导书版.docx(35页珍藏版)》请在冰点文库上搜索。
EDA技术实验指导书版
EDA技术实验指导书
石河子大学信息科学与技术学院
二O一二年十月
前言
EDA(ElectronicDesignAutomation:
电子设计自动化)技术是现代电子工程领域的一门新技术.它提供了基于计算机和信息技术的电路系统设计方法。
EDA技术的发展和推广应用极大地推动了电子工业的发展.EDA教学和产业界的技术推广是当今世界的一个技术热点,EDA技术是现代电子工业中不可缺少的一项技术。
近年来,在高校学生中也经常开展大规模的EDA竞赛,掌握EDA技术是通信电子类高校学生就业的一个基本条件。
ALTERA公司是20世纪90年代以后发展很快的最大可编程逻辑器件供应商之一。
它开发的MAX+PlusII是业界公认的最优秀的CPLD开发平台之一,在实际中被广泛地使用。
EDA关键技术之一就是要求用形式化方法来描述数字系统的硬件电路,即要用所谓硬件描述语言来描述硬件电路。
所以硬件描述语言以及相关的仿真、综合等技术的研究是当今EDA领域的一个重要课题。
而由美国国防部开发的VHDL语言以它面向多层次、多领域的优点,成为业界一致认同的标准硬件电路语言,并在1987年12月由IEEE标准化。
它的出现为EDA的普及和推广奠定了坚实的基础。
有关统计资料表明,VHDL语言业已被广大设计者所接受,据称已有90%的设计者正在使用或即将使用VHDL语言来设计数字系统。
另外,众多的CAD厂商纷纷使自己新开发的电子设计软件与VHDL语言兼容。
由此可见,使用VHDL语言设计数字系统是电子设计技术的必然趋势。
由于硬件电路语言自身的特点,要利用VHDL语言进行设计,不仅需要熟练掌握语言本身,更要有深厚的电子电路基础以及其他的背景知识,只有将VHDL语言结合到实际的领域中进行设计才能发挥它的巨大优势。
作者结合理论知识讲授和实践教学改革及自身经验编写此书,其目的就是向具有一定电子电路基础以及初步掌握VHDL的设计人员介绍VHDL语言的基本框架和编程技巧,以及如何将VHDL语言结合到相应领域中进行设计,力图使读者摆脱传统的人工设计方法的框框,使学习VHD语言设计的读者能从我们的切身经验中受益,明白如何将VHDL应用于实际中,少走弯路,从而使数字系统设计水平以及设计理念上升到一个新的阶段。
由于EDA技术是一门实践性很强的课程,如果说学习、掌握电子设计设计自动化技术有捷径的话,那么应该从仿制、理解、实践、创新开始。
学习VHDL应遵循边学边练的原则,其语法规则只有在实践中才能完全领悟和掌握。
本实验讲义重点讲授VHDL以及电路图设计方法的使用技巧,注重掌握MAX+PlusII软件的使用。
本书的所以实例都是在MAX+PlusII软件平台上进行编译、通过仿真的。
本书的编写是作者从事EDA教学工作的一个阶段总结。
在编写过程中参考了许多同行专家的著作,在此表示诚挚的谢意!
同时,真诚的希望广大读者能对书中存在的问题提出宝贵的意见!
目录
上机注意事项
MAX+PLUSⅡ基本操作指南
实验一熟悉EDA工具MAX+PLUSⅡ
实验二用图形法设计模为12的同步计数器
实验三六位环行计数器设计
实验四基于VHDL语言的触发器与锁存器描述与设计
实验五基于VHDL语言的三态电路及双向端口描述与设计
实验六基于VHDL语言的分频器设计与实现
实验七基于VHDL语言的8位二进制加法器设计与实现
实验八时序逻辑移位寄存器及其应用的设计与实现
实验九汽车尾灯控制器设计与实现
实验十彩灯控制器设计与实现
实验十一交通灯信号控制器的设计
上机注意事项
1.实验前应做好的实验准备包括:
.了解实验目的、实验内容和要求
.预先设计实验电路或逻辑输入源文件
.认真思考、验证设计并进行波形仿真
.思考实验实现过程及每步应得到的结果
2.实验中细致认真并做好实验记录
.试验中要独立思考,有问题可以讨论,但要独立完成实验任务
.记录中间结果、及时做好源文件的拷贝
.实验结果要以仿真结果来说明、验证
3.实验报告要求
.实验目的
.实验内容
.实验设计(包括:
系统原理、电路图或输入源文件)
.实验仿真结果(波形图应体现作者的结论或论点)
.实验总结(包括对思考题的理解或验证、实验心得/体会)
4.注意事项
除了熟悉MAXPLUSⅡ之外,在上机实验时,应做好实验准备(实验内容,电路、源文件,实验目的等),否则教师有权停止其上机实验。
禁止在上机时打游戏;禁止实验过程中相互拷贝源文件;禁止实验报告相互抄袭!
!
MAX+PLUSⅡ基本操作指南
1。
指定设计项目名称
MAX+PlusII编译的工作对象是项目,所有在进行一个逻辑设计的时候,要指定设计的项目名称,每个项目都应该建立一个单独的子目录(只能是数字或者是英文字符不能是中文),对于初学者而言,每个设计必须要有一个项目名,并且保证项目名和设计文件名一致。
2。
建立新文件
(1)在File菜单中选择New,如图1所示,将出现New的对话框,
如图2所示。
图1
图2
(2)在New对话框选择GraphicEditorFile项,然后按下OK按钮,
将会出现一个无标题的图形编辑窗口。
3。
输入图形元件和宏功能符号
MAX+PlusII为实现不同的逻辑功能提供了大量的图形元件和宏功能符号(Primitive&
Macrofunction)库供设计人员在图形编辑器文件中直接使用。
它
的分类信息在Max2work\maxlib\子目录下。
各个子目录存放的符号说明如下:
Prim:
Altera的图形元件(基本逻辑块)
Mf:
74系列逻辑等效宏库
Mega_lpm:
参数化模块库、宏功能高级模块和IP功能模块。
Edif:
edif接口库
4.在图形设计文件中输入图形元件和宏功能符号的步骤:
(1)在选择工具按钮有效时,在图形编辑窗口的空白处单击鼠标左键以确定输入位置
(2)在Symbol菜单里面选择EnterSymbol或单击鼠标右键并选择
EnterSymbol,或双击鼠标左键,将出现一个EnterSymbol对话框,
在SymbolLibraries框中双击选择“..\maxplus2\max2lib\prim”。
所有
的Altera图形元件以列表的方式显示出来,选择你想输入的图形元
件,然后双击OK按钮。
此时所选中的图形元件就在图形编辑窗口中。
(3)74系列的符号输入和图形元件方法相似,只不过路径是:
“..\maxplus2\max2lib\mf”。
重复以上几步就可以连续选取图形
元件和宏功能符号了。
5.连线
如果需要连接两个端口,可以将鼠标移到其中的一个端口,这时鼠标自动变成“+”形状,然后可按以下步骤重复:
(1)一直按着鼠标的左键并将鼠标拖到第二个端口。
(2)放开左键,则一条连线就被画好了。
(3)如果需要删除一条连线,单击这根连线并按住Del键即可
6.为引脚和节点命名
(1)放置输入输出的引脚和输入图形元件相似,只要在EnterSymbol
对话框中键入Input(Output)单击OK即可。
(2)在引脚的PIN_NAME处双击鼠标左键,输入指定的名字,既可以为引脚命名。
(3)点击鼠标左键选中的需要命名的线,输入名字就可以为连线命名了。
实验一熟悉EDA工具MAX+PLUSⅡ
实验学时:
2学时
实验类型:
验证
实验要求:
必做
一、实验目的:
掌握MAX+PLUSⅡ的使用方法
(1)熟悉图形输入法
(2)理解编译方法
(3)了解时序仿真
二、实验内容:
用图像输入法设计实现二选一数据选择器、格雷码编码器、全加法器。
三、实验要求:
熟悉图形逻辑输入法;理解编译方法;了解功能仿真的方法和时序仿真的方法。
了解把逻辑变成一个逻辑符号(Symbol)的方法。
把自己认为较理想的实验结果写成实验报告。
下面将以格雷码编码器的编译和仿真过程为例说明:
编译过程:
在完成了设计文件的输入之后,就可以对其进行编译。
在MAX+PlusII的File菜单的Project里面选择SetProjecttoCurrentFile将设计的文件设为当前的项目,在MAX+PlusII的开始菜单里面选择Complier打开编译器,选择Star就开始编译了。
编译成功后将生成时序模拟文件和器件编程文件。
编译器由多个部分组成,各个部分的名称与功能如下:
CompilerNetlistExtractor:
编译器网表提取器,该过程完成后生产设计的网表文件,如果图形连接中有错误的话,该过程将指出此类错误。
DatabaseBuilder:
数据库建库器。
LogicSynthesizer:
逻辑综合器,对设计进行逻辑综合,即选择合适的逻辑化简算法,去除冗余逻辑。
Fitter:
适配器,它通过一定的算法进行局部布线,将通过逻辑综合的设计最恰当的用一个或多个器件来实现。
TimingSNFExtractor:
时序仿真的模拟器网表文件生成器,它可生成用于时序模拟的标准时延文件。
Assembler:
装配器,生成用于器件下载/配置的文件
时序仿真:
编译器通过了TimingSNFExtractor之后就可以进行时序仿真了。
步骤如下:
建立波形输入文件(也称仿真器通道文件SCF)
(1)在File菜单里面选择New打开新建文件类型对话框。
选择WaveformEditorFile项单击OK。
(2)在波形编辑器窗口的Name下单击鼠标右键,出现浮动的菜单,选择EnterNodesfromSNF...可以打开“从SNF文件输入观测点”的对话框。
(3)在Type区选择Input和Output,在默认的情况下是打开的,单击List按钮,可在
AvailableNodes&Groups区看到设计文件中使用的输入/输出信号,单击=>按钮可以将这些信号选择到SelectedNodes&Groups区。
单击OK按钮,关闭对话框即可看到波形编辑窗口,将此波形文件保存为默认名。
在波形文件中添加输入/输出信号名后,就可以开始对输入信号建立波形了。
绘图工具条说明:
将B0的MultipliedBy设为1
将B1的MultipliedBy设为2
将B2的MultipliedBy设为3
将B3的MultipliedBy设为4
为输入端口信号赋值,单击Start就可以进行时序仿真了,下图为格雷码编译器仿真结果
二进制码和格雷码之间的关系:
真值表:
B0B1B2B3
G0G1G2G3
B0B1B2B3
G0G1G2G3
0000
0000
1000
1100
0001
0001
1001
1101
0010
0011
1010
1111
0011
0010
1011
1110
0100
0110
1100
1010
0101
0111
1101
1011
0110
0101
1110
1001
0111
0100
1111
1000
逻辑关系式:
、
、
、
注:
为异或(xor)运算符号
请自行验证仿真结果。
仿真完毕以后,再在MAX+PlusII的File菜单CreateDefault
Symbol就可以创建一个逻辑符号了。
四、随堂练习:
参考以上方法设计实现二选一数据选择器、格雷码编码器、全加法器。
掌握图像输入法设计步骤。
五、实验组织运行要求
本实验目的是通过简单原理图编辑输入法熟悉实验开发环境,为了提高学生独立设计的能力,应采用以学生自主训练为主的开放模式组织教学,在指导老师的监督和指导下,由学生自己分析实验要求,自已动手编写实验程序,按实验要求完成任务,最后由指导老师检查实验结果后方可离开。
六、实验报告要求
实验结束后,学生应根据做实验情况,认真完成实验报告的书写。
实验报告应包括实验目的、实验内容、实验设计(原理、实验电路/程序清单、实验步骤)、实验结果及分析和实验过程中出现的问题及解决方法等。
实验二用图形法设计模为12的同步计数器
实验学时:
2学时
实验类型:
设计
实验要求:
必做
一、实验目的:
掌握MAXPLUSⅡ的图形输入法和仿真过程
(1)掌握图形输入法
(2)熟悉仿真方法
(3)理解时序仿真
(4)掌握用图形编辑法实现组合逻辑电路设计思想。
二、实验内容:
用图形法设计模为12的同步计数器
三、实验要求:
掌握图形逻辑输入法;熟悉仿真方法。
通过编译之后进行项目检验:
建立波形输入文件(也称仿真器通道文件SCF)
(1)在File菜单里面选择New打开新建文件类型对话框。
选择WaveformEditorFile项单击OK。
(2)在波形编辑器窗口的Name下单击鼠标右键,出现浮动的菜单,选择EnterNodesfromSNF...可以打开“从SNF文件输入观测点”的对话框。
(3)在Type区选择Input和Output,在默认的情况下是打开的,单击List按钮,可在AvailableNodes&Groups区看到设计文件中使用的输入/输出信号,单击=>按钮可以将这些信号选择到SelectedNodes&Groups区。
单击OK按钮,关闭对话框即可看到波形编辑窗口,将此波形文件保存为默认名。
波形编辑器窗口
Name的浮动菜单
列出输入/输出信号
波形文件中的输入输出信号
网格大小设置对话框
绘图网格设置菜单条
在此,默认的情况下,模拟的时间长短为1us。
此时在“File”菜单中选择“EndTime”来设置结束时间。
(1)在模为12的计数器中,我们将信号“en”从头到尾,即从
0ns到1000ns赋值为‘1’。
选中信号“en”,单击“Name”区中的“en”信号,可看见“en”信号变为黑色,表示被选中;单击
即可将“en”信号赋为‘1’
(2)采用同样的方式可将信号“clear”从0ns到1000ns赋值为
“1”,为观察其清零的作用,将在240ns到300ns之间将其赋值为“0”(因为该信号低电平有效
将鼠标移到“clear”信号的240ns处按住鼠标左键并向右拖动鼠标300ns处,松开鼠标左键可以看到这段区域为黑色,被选中,单击工具条中的
即可。
(3)为了将时钟信号“clk”赋周期为40ns的时钟信号。
选中信号“clk”;设置信号周期。
单击工具条中的
就可以打开下面的对话框,单击“OK”关闭就对话框即可生成所需的时钟。
时钟周期设置对话框
选择“File”中的“Save”存盘。
在此已完成波形输入:
建立好的输入波形图
运行仿真器,进行时序仿真
从“MAX+PlusII”菜单中选择“Simulator”,打开仿真器,单击按钮“Start”开始仿真。
仿真完毕之后,单击“OpenSCF”按钮打开刚才编辑的波形文件,就可以对仿真结果进行检查。
仿真器
为了观测方便,可将计数器输出Q3、Q2、Q1、Q0作为一个组来观测:
(1)将鼠标移到“Name”区的Q3上,按住鼠标的左键并按住向下拖动鼠标之Q0处,松开左键,可选中信号Q3、Q2、Q1、Q0。
(2)在选中区(黑色)上单击鼠标右键,打开一个浮动菜单,选择“EnterGroup”。
(3)单击“Ok”关闭此对话框,可以得到下面的波形图文件。
现在观测就容易了。
四、随堂练习:
请分别完成模为10、模为60的计数器设计,通过自顶向下的设计思想实现数字时钟设计。
模为60的计数器设计原理图
五、实验组织运行要求
本实验利用原理图编辑输入法完成计数器、数字时钟的设计,为了提高学生独立设计的能力,应采用以学生自主训练为主的开放模式组织教学,在指导老师的监督和指导下,由学生自己分析实验要求,自已动手编写实验程序,按实验要求完成任务,最后由指导老师检查实验结果后方可离开。
六、实验报告要求
实验结束后,学生应根据做实验情况,认真完成实验报告的书写。
实验报告应包括实验目的、实验内容、实验设计(原理、实验电路/程序清单、实验步骤)、实验结果及分析和实验过程中出现的问题及解决方法等。
实验三六位环行计数器设计
实验学时:
2学时
实验类型:
设计
实验要求:
选做
一、实验目的:
(1)熟悉图形输入编辑实现时序逻辑电路设计的过程。
(2)掌握环行计数器的设计思路。
二、实验内容:
通过分析六位环行计数器设计原理图,试写出该计数器的时钟方程、驱动方程和输出方程,并画出其状态转换图。
通过时序仿真结果验证分析的正确性和原理图设计的合理性。
三、实验要求
掌握图形逻辑输入法;掌握编译方法;
理解仿真实现过程并分析仿真结果;
掌握环行计数器的设计方思路
仿真结果:
四、实验组织运行要求
本实验利用原理图编辑输入完成扭环型计数器的设计,为了提高学生独立设计的能力,应采用以学生自主训练为主的开放模式组织教学,在指导老师的监督和指导下,由学生自己分析实验要求,自已动手编写实验程序,按实验要求完成任务,最后由指导老师检查实验结果后方可离开。
五、实验报告要求
实验结束后,学生应根据做实验情况,认真完成实验报告的书写。
实验报告应包括实验目的、实验内容、实验设计(原理、实验电路/程序清单、实验步骤)、实验结果及分析和实验过程中出现的问题及解决方法等。
实验四基于VHDL语言的触发器与锁存器描述与设计
实验学时:
2学时
实验类型:
设计
实验要求:
选做
一、实验目的
1、初步掌握VHDL语言的基本结构及设计的输入方法。
2、掌握VHDL语言的时序逻辑电路的设计方法。
3、掌握VHDL语言的基本描述语句的使用方法。
二、实验原理
参考《EDA技术教程》
三、实验内容
1、运用已学知识,设计边沿型D触发器,给出程序设计、软件编译、仿真分析及详细实验过程。
2、设计D锁存器(电平型触发时序元件),给出程序设计、软件编译、仿真分析及详细实验过程。
3、分析比较上述两种触发器的仿真和实测结果,说明这两种电路的异同点。
四、实验思考题
用实验内容1中的时钟边沿检测表述,如何获得电平触发型锁存器?
五、随堂练习
设计实现边沿型T触发器。
(必做)
六、实验组织运行要求
本实验利用VHDL语言设计触发器,为了提高学生独立设计的能力,应采用以学生自主训练为主的开放模式组织教学,在指导老师的监督和指导下,由学生自己分析实验要求,自已动手编写实验程序,按实验要求完成任务,最后由指导老师检查实验结果后方可离开。
七、实验报告要求
实验结束后,学生应根据做实验情况,认真完成实验报告的书写。
实验报告应包括实验目的、实验内容、实验设计(原理、实验电路/程序清单、实验步骤)、实验结果及分析和实验过程中出现的问题及解决方法等。
实验五基于VHDL语言的三态电路及双向端口描述与设计
实验学时:
2学时
实验类型:
设计
实验要求:
选做
一、实验目的
1、初步掌握VHDL语言的基本结构及设计的输入方法。
2、掌握VHDL语言的双向端口及三态电路的设计方法。
3、掌握VHDL语言的基本描述语句的使用方法。
二、实验原理
参考《EDA技术教程》
三、实验内容
1、运用已学知识,设计实现三态门,给出程序设计、软件编译、仿真分析及详细实验过程。
2、完成双向端口设计,给出程序设计、软件编译、仿真分析及详细实验过程。
3、实现简单三态总线电路设计,给出程序设计、软件编译、仿真分析及详细实验过程。
(请参考教材P138-142)
四、实验思考题
在完成双向端口及三态电路的设计过程中,如果不考虑端口高阻态,对设计结果会产生什么影响?
五、实验组织运行要求
本实验利用VHDL语言实现三态电路及双向端口的设计,为了提高学生独立设计的能力,应采用以学生自主训练为主的开放模式组织教学,在指导老师的监督和指导下,由学生自己分析实验要求,自已动手编写实验程序,按实验要求完成任务,最后由指导老师检查实验结果后方可离开。
六、实验报告要求
实验结束后,学生应根据做实验情况,认真完成实验报告的书写。
实验报告应包括实验目的、实验内容、实验设计(原理、实验电路/程序清单、实验步骤)、实验结果及分析和实验过程中出现的问题及解决方法等。
实验六基于VHDL语言的分频器设计与实现
实验学时:
2学时
实验类型:
设计
实验要求:
选做
一、实验目的
1、进一步掌握VHDL语言的基本结构及设计的输入方法。
2、掌握VHDL基本逻辑电路的综合设计应用。
二、实验原理
在数字电路系统中,分频电路应用得十分广泛。
例如,工程人员常常使用分频电路来得到数字通信中的帧头信号、选通信号以及中断信号等。
因此,分频电路在数字电路系统的设计中也应该作为重要的基本电路来掌握,从而给今后的一些设计带来方便。
三、实验内容
1、设计并实现一个6分频的分频电路,要求其输出信号的占空比为50%。
请分析分频电路设计原理并编写VHDL语言程序,利用Max+PlusII开发软件对其进行编译和仿真。
6分频电路实现程序代码如下:
2、在实际数字电路设计过程中,往往需要得到占空比不是1:
1的分频时钟,方法是:
首先描述一个计数器电路,然后根据计数器电路的并行输出信号来决定输出时钟的高低电平。
请设计、编写VHDL语言程序实现分频后时钟信号的占空比为1:
15的16分频电路,并利用Max+PlusII开发软件对其进行编译和仿真。
四、实验思考题
如何采用两个6分频电路的级连来实现36分频电路?
五、实验组织运行要求
本实验利用VHDL语言设计分频电路,为了提高学生独立设计的能力,应采用以学生自主训练为主的开放模式组织教学,在指导老师的监督和指导下,由学生自己分析实验要求,自已动手编写实验程序,按实验要求完成任务,最后由指导老师检查实验结果后方可离开。
六、实验报告要求
实验结束后,学生应根据做实验情况,认真完成实验报告的书写。
实验报告应包括实验目的、实验内容、实验设计(原理、实验电路/程序清单、实验步骤)、实验结果及分析和实验过程中出现的问题及解决方法等。
实验七基于VHDL语言的8位二进制加法器设计与实现
实验学时:
2学时
实验类型:
设计
实验要求:
选做
一、实验目的
1、进一步掌握VHDL语言的基本结构及设计的输入方法。
2、掌握VHDL语言的组合逻辑电路的设计方法。
3、掌握全加器原理,并能进行多位加法器的设计。
4、掌握VHDL语言的基本描述语句特别是元件例化语句的使用方法。
二、实验原理
参考《EDA技术教程》
三、实验内容
1、编写VHDL语言程序实现1位全加器设计,给出程序设计、软件编译、仿真分析及详细实验过程。
2、设计并实现由8个1位二进制加法器级联而成的8位二进制加法器。
8位加法器的顶层文件设计要求采用元件例化语句进行实现,并利用Max+PlusII开发软件对其进行编译和仿真。
3、加法器是数字系统中的基本逻辑器件,减法器和硬件乘法器都可由加法器来构成。
多位加法器的构成有两种方式:
并行进位和串行进位方式。
并行进位加法器设有进位产生逻辑,运算速度较快
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- EDA 技术 实验 指导书