EDA技术及应用实验指导书.docx
- 文档编号:20117961
- 上传时间:2023-04-25
- 格式:DOCX
- 页数:19
- 大小:174.44KB
EDA技术及应用实验指导书.docx
《EDA技术及应用实验指导书.docx》由会员分享,可在线阅读,更多相关《EDA技术及应用实验指导书.docx(19页珍藏版)》请在冰豆网上搜索。
EDA技术及应用实验指导书
EDA技术及应用
实验指导讲义
同NC-EDA-2000CEDA教学实验系统使用配套
宜宾学院物电实验中心
2011年3月
实验一MUXPLUSⅡ软件操作
一、实验目的
1、熟悉MUXPLUSⅡ的开发环境。
2、熟悉EDA技术中的软件开发流程。
3、熟悉MUXPLUSⅡ中VHDL文件输入、综合、仿真等操作。
二、硬件要求
计算机
三、实验原理
1、利用文本编辑器,设计一个简单4选1电路。
对设计的程序进行综合,修改其中错误。
将程序生成一个symbol。
2、建立一个仿真文件,设定好输入信号,进行仿真,并记录仿真结果。
3、6个输入端分别为:
SEL1,SEL2,A,B,C,D,输出端为Q。
其真值表为:
SEL1
SEL0
Q
0
0
A
0
1
B
1
0
C
1
1
D
四、操作步骤
1、在“开始”菜单进入MAX+plusII集成环境。
如图所示:
2、点击“file”菜单中的“New”出现如图所示的对话框。
在对话框内可供选择的4种编辑方式为:
GraphicEditorfile为图形编辑;SymbolEditorfile为符号编辑;TextEditorfile为文本编辑;WavetormEditorfile为波形编辑。
如果用VHDL语言来编辑文件则选择文本编辑,选取第三项,点击“OK”系统将进入文本编辑状态,屏幕将会出现如图所示的编辑窗口。
3、在编辑窗口中输入你编写的程序。
点击保存。
将文件保存为sy1.vhd,其所在目录为以前所设置的工程目录。
由于VHDL语言的设定,文件名必须与程序内容里的文件名一致。
5、选取芯片型号。
由于编译、综合结果要生成适用于写可编程器件的文件,所以在编译以前应选定最终要下载的芯片型号。
在MAX+plusII的工具中,可以支持的下载芯片有多种,根据所设计的逻辑电路规模,用户可以自由地进行选择。
点击主菜单的Assign选项,再点击子菜单中的Device项得到Device对话框,利用DeviceFamily框中的上移和下移标志,找到适用的芯片系列。
在Device框中选择所需用的芯片型号,点击“OK”确定。
6、编译、综合
启动MAX+PLUSII\COMPILER菜单,按START开始编译,并显示编译结果,生成.sof,.pof文件,以备硬件下载和编程时调用。
同时生成.rpt文件,可详细查看编译结果。
7、建立仿真文件:
启动MAX+PLUSII\WaveformEditor菜单
8、导入信号节点:
点击“node”菜单中的“EnterNodefromSNF”,设置输入信号波形,使用时先用鼠标选中要设置的信号,然后点击左排相应的按钮即可。
其中,“0”、“1”、“X”、“Z”、“INV”、“G”分别表示低电平、高电平、任意、高阻态、反相和总线数据设置。
若是时钟信号,则要选择时钟设置按钮。
9、开始仿真,得到仿真结果。
启动MAX+PLUSII\Simulator菜单,按START开始。
10、生成一symbol文件。
点击“file”菜单下的“CreateDefaultSymbol”。
五、思考题:
使用至少3种方法来实现。
实验二3-8译码器设计
一、实验目的
1、熟悉MUXPLUSⅡ的开发环境及程序下载流程。
2、通过一个简单的3-8译码器的设计,让学生掌握组合逻辑电路的设计方法。
3、掌握组合逻辑电路的静态测试方法。
二、硬件要求
计算机、EDA实验箱。
ABC
Y0-Y7
000
11111110
001
11111101
010
11111011
011
11110111
100
11101111
101
11011111
110
10111111
111
01111111
三、实验原理
1、用VHDL语言设计一个3-8译码器,并生成图标。
在图形化编辑界面内调用生成的译码器模块,并连接输入输出引脚。
2、综合、软件仿真、下载、进行硬件调试。
3、由4个LED显示计数器输出数值。
LED显示管的编码对应表如下:
四、操作步骤
1、建立VHDL源程序文件,并输入程序,进行编译、综合和仿真。
2、将调试好的程序生成图标。
3、新建图形编辑文件,如下图所示。
4、调用译码器图标,并将输入输出引脚与之连接。
5、器件指定,指定引脚。
6、编译、综合、下载、硬件调试。
六、思考题:
LED显示原理是怎么样的?
实验三设计8位计数器
一、实验目的:
1、了解时序电路的经典设计方法
二、硬件需求:
计算机、时钟源、8位七段数码管。
三、实验内容:
编写七段数码管显示译码的程序,并生成symbol文件。
用D触发器设计异步四位二进制加法计数器。
四、实验原理及连线:
调用“扫描显示电路”内容进行显示,具体连线根据实验内容完成时的管脚化分和定义,同相应的输入、输出接口功能模块相连。
实验内容的参考下图;
说明:
计数时钟频率clk<1Hz;扫描时钟频率ckdsp>40Hz;
四位D触发器接成异步计数器;
SEL0~SEL2为扫描地址(控制八位数码管的扫描顺序和速度);
A…G为显示译码输出,代表数码管的七个段位(a,b,c,d,e,f,g),
八位数码管同时顺序显示0~F。
图3
说明:
计数时钟频率CKCNT<4Hz,扫描时钟频率CKDSP>40Hz;
两个74LS161串接成典型的同步计数器;
实验四设计状态机
一、实验目的
1、了解步进电机的工作原理。
2、掌握用FPGA产生驱动步进电机的时序。
3、掌握用FPGA来控制步进电机转动的整个过程。
二、硬件要求
1、步进电机。
2、主芯片FPGAEP1K10TC100—3。
3、8个按键和一个拨挡开关。
4、可变时钟源。
三、实验原理
步进电机是工业过程控制及仪表中常用的控制元件之一,例如在机械装置中可以用丝杆把角度变为直线位移,也可以用步进电机带动螺旋电位器,调节电压或电源,从而实现对执行机械的控制。
步进电机可以直接用数字信号驱动,使用非常方便。
步进电机还具有快速启停、精确步进和定位等特点,因而在数控机床、绘图仪、打印机以及光学仪器中得到广泛的应用。
步进电机是工业控制及仪表中常用的控制元件之一,例如在机械装置中可以精确控制机械装置的旋转角度、移动距离等。
步进电机可以直接用数字信号来驱动,使用非常方便。
另外步进电机还具有快速起停、精确步进和定位的特点。
步进电机实际上是一个数据/角度转换器,三相步进电机的结构原理如下图所示:
三相步进电机的结构示意图
从图中可以看出,电机的定子有六个等分的磁极,A、A’、B、B’、C、C’,相邻的两个磁极之间夹角为60°,相对的两个磁极组成一组(A—A’,B—B’,C—C’),当某一绕组有电流通过时,该绕组相应的两个磁极形成N极和S极,每个磁极上各有五个均分布的矩形小齿,电机的转子上有40个矩形小齿均匀地分布在圆周上,相邻两个齿之间夹角为9°。
⑴当某一相绕组通电时,对应的磁极就产生磁场,并与转子转动一定的角度,使转子和定子的齿相互对齐。
由此可见,错齿是促使步进电机旋转的原因。
例如在三相三拍控制方式中,若A相通电,B、C相都不通电,在磁场作用下使转子齿和A相的定子齿对齐,我们以此作为初始状态。
设与A相磁极中心线对齐的转子的齿为0号齿,由于B相磁极与A相磁极相差120°不是9°的整数倍(120÷9=132/3),所以此时转子齿没有与B相定子的齿对应,只是第13号小齿靠近B相磁极的中心线,与中心线相差3°,如果此时突然变为B相通电,A、C相不通电,则B相磁极迫使13号转子齿与之对齐,转子就转动3°,这样使电机转子一步。
如果按照A—AB—B—BC—C—CA—A次序通电则为正转。
通常用三相六拍环形脉冲分配器产生步进脉冲。
⑵运转速度的控制。
若改变ABC三相绕组高低电平的宽度,就会导致通电和断电的变化速率变化,使电机转速改变,所以调节脉冲的周期就可以控制步进电机的运转速度。
⑶旋转的角度控制。
因为输入一个CP脉冲使步进电机三相绕组状态变化一次,并相应地旋转一个角度,所以步进电机旋转的角度由输入的CP脉冲数确定。
本实验箱所使用步进电机为4相步进电机,最小旋转角度为1.8度,起正向转动控制时序如下所示,每一个脉冲控制其转过1.8度。
反向转动控制时序如下:
四、实验内容及步骤
本实验需要完成的任务是编写VHDL代码来驱动步进电机动作,通过拨动开关使其正转、反转;通过按下相应的按键开关使其旋转相应的角度。
实验步骤如下:
1、编写驱动步进电机旋转的VHDL代码。
2、用MaxPlusII对其进行编译仿真。
3、在仿真确定无误后,选择芯片ACEX1KEP1K10TC100-3。
4、给芯片进行管脚绑定,在此进行编译。
5、根据自己绑定的管脚,在实验箱上对步进电机和FPGA之间进行正确连线。
6、给目标板下载代码,按动相应的按键,观看实验结果与实验内容是否相符。
五、实验连线
如果是调用的本书提供的VHDL代码,则实验连线如下:
Clk:
FPGA工作所需时钟信号,输入为256Hz。
key1_8、key5_4、key9、key18、key45、key90、key180、key360:
分别代表旋转1.8度、5.4度、9度、18度、45度、90度、180度和260度,分别与8个按键相连,按下相应的按键可以是步进电机转过相应的角度。
Keyorder:
旋转方向控制信号与一个拨动开关相连,高电平时正转;低电平时反转。
Astep、bstep、cstep、dstep:
分别与步进电机模块的A、B、C和D相连。
六、实验报告要求
1、仔细分析该实验程序,了解FPGA是如何来控制步进电机的。
2、改变输入的时钟频率,观察实验现象,并说明改变的原因。
3、设计一个VHDL程序来控制步进电机来按一定的规律旋转。
实验五交通灯控制
一、实验目的
熟悉VHDL语言编程,了解实际设计中的优化方案。
二、硬件要求
1、主芯片EP1K10TC100—3;
2、实验箱上交通灯模块。
三、实验内容与实验原理
本实验要求设计一个模拟的十字路口的交通红绿灯,间隔的时间是15秒。
当时间只有5秒时,绿灯开始闪烁;当时间只有2秒时黄灯开始闪烁。
当只有0秒时红绿灯交换方向显示,时间从15秒开始倒计时。
要完成本实验,首先必须了解交通路灯的燃灭规律。
本实验需要用到实验箱上交通灯模块中的发光二极管,即红、黄、绿各三个。
依人们的交通常规,“红灯停,绿灯行,黄灯提醒”。
其交通灯的燃灭规律为:
初始态是两个路口的红灯全亮,之后,东西路口的绿灯亮,南北路口的红灯亮,东西方向通车,延时一段时间后,东西路口绿灯灭,黄灯开始闪烁。
闪烁若干次后,东西路口红灯亮,而同时南北路口的绿灯亮,南北方向开始通车,延时一段时间后,南北路口的绿灯灭,黄灯开始闪烁。
闪烁若干次后,再切换到东西路口方向,重复上述过程。
在实验中使用数码管显示时间。
时间控制由TBJSA和DK两个模块联合控制。
其中TBJSA为计数器,将脉冲信号从0到15循环计数。
DK控制在不同时间段的发光二极管的输出提示。
四、连线指导:
CPD:
接1Hz左右的时钟信号。
CPS:
接10KHz左右的时钟信号。
LR1、LR2接交通灯模块的R的左右两个管脚。
LG1、LG2接交通灯模块的G的左右两个管脚。
LY1、LY2接交通灯模块的Y的左右两个管脚。
D0-D6:
接数码管模块的A,B,C,D,E,F,G。
SEL0-SLE2:
接数码管模块的SEL0-SEL2。
五、实验报告:
1、仔细分析该实验程序,可以试着将其分成几个基本模块,以备将来设计时随时调用;
2、仔细分析该实验程序,看是否将其优化;
3、可以仔细观察街道上的交通实况,根据实际情况或假想情况调整设计思路。
实验六LED动态显示控制
一、实验目的
1、了解组合逻辑电路和时序逻辑电路结合使用的设计方法。
2、了解LED动态显示电路。
3、熟悉EDA技术中硬件调试方法。
二、硬件要求
1、计算机、下载电缆、时钟源、4位七段数码管
三、实验内容
1、利用实验三所编写程序完成LED动态显示电路的控制系统。
2、综合,软件仿真,下装,进行硬件调试。
四、实验原理
1、由4个LED显示实验二中的计数器输出数值。
2、LED显示管的编码对应表为:
计数值(十进制)abcdefg
91111110
100110000
111101101
121111001
130110011
141011011
151011111
161110000
171111111
3、LED显示管的段选码对应表为:
译码器sel0sel1sel2
18111
19011
20101
21001
段选码有译码器产生,要与计数器输出同步。
4、保证计数器的输出数值与LED的编码对应。
即计数输出值为0时,正好由0号LED显示,依次类推。
五、思考题
1、LED动态显示和静态显示有什么区别?
各有什么优缺点?
动态显示时时序如何同步?
实验七电梯控制实验
一、实验目的
1、了解电梯时序电路的实现。
2、掌握用FPGA实现电梯模型的方法。
3、体验FPGA的多用途性。
二、硬件要求
1、电梯模块。
2、点阵模块。
3、750KHz时钟源。
4、主芯片FPGAEP1K10TC100—3。
三、实验原理
本实验是用FPGA来实现一个三层楼的电梯模型,并利用点阵显示电梯当前所在楼层。
点阵显示与七段码显示原理相同,也是通过扫描来显示。
下面主要讲一下电梯实现过程中的几个主要部分。
楼层到楼层之间的间隔:
用计数器来实现。
开门与关门之间的间隔:
用计数器来实现。
电梯向上还是向下:
如果现在电梯在1楼,肯定以后向上走;如果现在在三楼,那么以后肯定向下;如果现在电梯在2楼,如果现在电梯向下开,且1楼有人按键,那么不管三楼有没有人按钮,则先到1楼;如果现在电梯向上开,且3楼有人按钮,则不管1楼有没有人呼叫,一直开到3楼;如果电梯现在在2楼,且处于向下开到状态,但是1楼没有按钮,那么如果这个时候要是3楼有人呼叫,就向上开,反之,则向下开。
至于显示部分,则只根据当前电梯所在的位置来确定,与电梯的运行方向无关。
四、实验内容及步骤
本实验需要完成的任务是编写VHDL代码来模拟现实中的三层电梯工作。
在点阵上显示电梯所在的楼层,当其它楼层有上或下的请求信号时,表示该楼层上或下的绿色或黄色指示灯亮,电梯开始上或下运行,当到达该楼层时,表示该楼层上或下的绿色或黄色指示灯灭,表示到达该楼层的红色指示灯亮,点阵显示楼层数,红色指示灯灭。
实验步骤如下:
1、编写电梯的VHDL代码。
2、用MaxPlusII对其进行编译仿真。
3、在仿真确定无误后,选择芯片ACEX1KEP1K10TC100-3。
4、给芯片进行管脚绑定,再此进行编译。
5、根据自己绑定的管脚,在实验箱上对步进电机和FPGA之间进行正确连线。
6、给目标板下载代码,按下楼层上、下键,观看实验结果。
五、实验连线
如果是调用的本书提供的VHDL代码,则实验连线如下:
Clk:
FPGA工作所需时钟信号,输入为750Hz。
k1、k2u、k2d、k3:
分别接电梯模型的1KU、2KU、2KD和3KD。
d1、d2u、d2d、d3:
分别接电梯模型的1U、2U、2D和3D。
door1、door2、door3:
分别与电梯模块的1DOOR、2DOOR和3DOOR相连。
r0、r1、r2、r3、r4、r5、r6、r7:
分别与点阵显示的ROW0、ROW1、ROW2、ROW3、ROW4、ROW5、ROW6和ROW7相连。
Sa、Sb、Sc:
分别与点阵显示的sel0、sel1和sel3相连。
六、实验报告要求:
2、仔细分析该实验程序,了解FPGA是如何来控制电梯的。
3、仔细分析该实验程序,了解点阵显示的工作原理。
4、可以编写一个点阵的驱动程序来控制点阵,如通过按键来控制其中的一个亮点按要求的方向运动;或者设计一个点阵按一定的规律显示的舞台灯光设计程序。
实验八音乐盒设计
一、实验目的
1、了解普通扬声器的工作原理。
2、使用FPGA产生不同的音乐频率。
3、进一步体验FPGA的灵活性。
二、硬件要求
1、375KHz信号源。
2、FPGAEP1K10TC100—3主芯片。
3、扬声器。
三、实验原理
本实验是完成一小段音乐程序的开发,然后再用扬声器进行试听。
下面主要介绍一下完成本实验的几个主要部分的工作原理。
音符的产生:
音符的产生是利用计数器对输入的时钟信号进行分频,然后输出不同的频率来控制扬声器发不同的声音。
计数器必须是模可变的计数器,也就是其初始计数值可变,这样便可以对其进行初始化,使其从不同的初始值开始计数,实现对输入时钟信号的不同分频。
节拍的产生:
节拍也是利用计数器来实现,如果某一个音符需要维持的时间比较长,那么就可以在此计数器从计数值A到计数值B之间都维持该音符,很显然,A和B之间的间隔越大,那么该音符维持的时间也就越长。
乐谱的存储:
乐谱是一个固定的组合电路,根据不同的输入值,然后输出一个固定的值,该值就是音符产生计数器的分频的初始值。
适当的选择这些计数器和组合电路,便可完成不同的乐曲和不同节奏。
四、实验内容及步骤
本实验要完成的任务是设计一个驱动扬声器产生梁祝音乐的程序,设计步骤如下:
1、编写音乐输出的VHDL代码。
2、用MaxPlusII对其进行编译仿真。
3、在仿真确定无误后,选择芯片ACEX1KEP1K10TC100-3。
4、给芯片进行管脚绑定,在此进行编译。
5、根据自己绑定的管脚,在实验箱上对扬声器接口和FPGA之间进行正确连线。
6、给目标板下载代码,观看实验结果。
五、实验连线
如果是调用的本书提供的VHDL代码,则实验连线如下:
Clk:
时钟输入信号,接375KHz的时钟源。
Spk:
输出,接扬声器部分的输入端。
六、实验报告
1、了解乐曲节拍产生的过程,注意每一音符的节拍长短的变化是由什么控制的?
2、改变时钟频率,看乐曲有什么改变?
3、熟悉音乐编程的过程,填入新的乐曲。
4、将两个或多个乐曲演奏电路合二为一,以一开关控制,可选择演奏不同的乐曲。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- EDA 技术 应用 实验 指导书