EDA技术实验指导书.docx
- 文档编号:12773951
- 上传时间:2023-06-08
- 格式:DOCX
- 页数:17
- 大小:112.72KB
EDA技术实验指导书.docx
《EDA技术实验指导书.docx》由会员分享,可在线阅读,更多相关《EDA技术实验指导书.docx(17页珍藏版)》请在冰点文库上搜索。
EDA技术实验指导书
电子设计自动化
实验指导书
赵增荣
河北师范大学
实验一:
熟悉MAX+PLUSII软件的使用…………1
实验二:
层次化结构设计…………………………5
实验三:
设计项目的验证…………………………8
实验四:
原理图与语言进行项目设计的比较……10
实验五:
扫描显示电路的驱动……………………12
实验六:
十六进制计数器显示电路………………15
实验一:
熟悉MAX+PLUSII软件的使用
一实验目的:
1熟悉MAX+PLUSII软件的使用。
2初步了解可编程逻辑器件设计的过程。
二实验内容:
1设计并输入十二进制同步计数器原理图m12.gdf,并形成默认逻辑符号m12.sym。
2设计并输入六十进制计数器原理图con60.gdf,并形成默认逻辑符号con60.sym(选作)。
三实验步骤:
(一)进入Windows操作系统,打开MAX+PLUSII软件。
1启动File\ProjectName菜单,输入设计项目的名字。
2启动菜单File\New,选择GraphicEditorFile,打开原理图编辑器,进行原理图设计输入。
(二)设计的输入
1.放置器件在原理图上
①在原理图的空白处双击鼠标右键,出现对话框;
②在光标处(SymbolName处)输入元件名称或用鼠标点取元件,按下OK即可。
③如果安放相同元件,只要按住Ctrl健,同时用鼠标拖动该元件即可。
2.添加连线到器件的管脚
把鼠标移到元件引脚附近,则标光标自动由箭头变为十字,按住鼠标右键拖动,即可画出连线。
3.保存原理图
单击保存按钮,对于第一次输入的新原理图,出现类似文件管理器的图框,选择合适目录合适名称保存刚才输入的原理图,其扩展名为.gdf,本实验中1)取名为m12.gdf。
2)取名为con60.gdf。
(三)编译
启动MAX+PLUSII\Compiler菜单,点击Assign\Device菜单,选择器件(本设计一律选用FLEX10K系列的EPF10K10LC84_3芯片),按Start开始编译,并显示编译结果,生成*.sof文件,以便硬件下载和编程时调用,同时生成*.rpt文件,可详细查看编译结果,编译成功后保存并形成默认符号*.sym。
(四)管脚的重新分配、定位
启动MAX+PLUSII\FloorplanEditor菜单.FloorplanEditor显示该设计项目的管脚分配,用户可手动分配管脚,也可通过软件自动分配管脚.用户手动分配管脚过程如下:
1、按下手动分配管脚按钮
所有输入、输出端口都会出现在UnassignedNodes栏框内。
2、用鼠标按住某输入、输出口名称,并拖到下面芯片的某一管脚上,松开鼠标左键,便完成一个管脚的分配。
注意:
芯片上有一些特殊功能管脚,进行管脚编辑时一定要注意;另外,在芯片选择中,如果选Auto(软件自动分配管脚),则不允许对管脚进行再分配。
3、管脚分配完成后,重新编译,然后按下最终管脚分配按钮
,此时窗口中显示的就是供下载到硬件上的管脚分配方案。
(与手工分配方案一致)
注意:
手动分配后必须要再编译一次,否则管脚端口和内部连线还是第一次编译后的结果。
(五)器件下载
1启动MAX+PLUSII\Programmer.
2选择JTAG\Multi—DeviceJTAGChain菜单项。
3启动JTAG\Multi—DeviceJTAGChainsetup…菜单项。
4点击SelectProgrammingFile…按钮,选择要下载的.sof文件,然后按Add加到文件列表中。
5如果不能正确下载,可点击DetectJTAGChainInfo按钮进行测试,查找原因。
最后按OK退出。
6按Configure按钮完成下载。
(六)电路板上的连线
按管脚分配与实物相连。
四实验报告要求
1论述实验步骤。
2写出实验心得。
五实验思考题
如何形成默认逻辑符号?
附图:
十二进制计数器
实验二:
层次化结构设计
一实验目的:
1熟悉MAX+PLUSII软件用硬件描述语言输入设计项目的方法。
2了解层次化结构设计。
二实验内容
1设计一个六十进制脉冲计数器原理图,并形成默认逻辑符号con60.sym。
见附图。
2使用MAX+PLUSII软件的文本编辑器(texteditor)设计并输入共阳极7段数码显示的译码文件DELED.vhd,并形成默认逻辑符号DELED.sym。
见附图。
3建立高层项目图形文件c60,调入con60.sym和DELED.sym,连接并形成六十进制的显示电路。
见附图。
三实验步骤
(一)进入Windows操作系统,打开MAX+PLUSII软件。
1)启动File\ProjectName菜单,输入设计项目的名称。
2)点击Assign\Device菜单,选择器件。
(本设计一律选用EPF10K10LC84_3)
(二)设计的输入
1.原理图设计输入、编译和生成默认逻辑符号(实验步骤详见实验一)。
2.VHDL语言设计输人
1)新建项目并指定设计项目名为DELED;
2)生成新项目设计文件
(1)选择File\New菜单命令,显示NEW窗口;
(2)在窗口中选择TextEditorFile,点击OK;
(3)保存文件为DELED.vhd,注意后缀;
(4)输入自己设计的译码器程序;
(5)编译项目并生成默认逻辑符号。
3、顶层文件输入
(1)建立图形文件c60,调入符号con60.sym和DELED.sym,
(2)连接并形成六十进制的显示电路。
(三)编译设计项目
启动MAX+PLUSII\Compiler菜单,选择芯片,按Start开始编译,并显示编译结果,生成*.sof文件
(四)管脚的重新分配、定位:
启动MAX+PLUSII\FloorplanEditor菜单,通过软件自动分配管脚或用户手动分配管脚。
(五)启动MAX+PLUSII\HierarchyDisplay显示设计层次。
观察顶层文件与底层文件的结构关系,并打开底层文件观察其设计内容。
四实验报告要求
1记录实验步骤和实验内容。
2画出设计项目层次结构图。
3写出实验心得。
附图:
1、六十进制计数器:
2、七段共阴极数码管显示电路:
(VHDL程序)
LIBRARYieee;
USEieee.std_logic_1164.ALL;
ENTITYDELEDIS
PORT(NUM:
INstd_logic_VECTOR(3DOWNTO0);
A,B,C,D,E,F,G:
OUTstd_logic);
ENDDELED;
ARCHITECTUREbehaveOFDELEDIS
SIGNALs:
std_logic_vector(3DOWNTO0);
SIGNALsEL:
std_logic_vector(6DOWNTO0);
BEGIN
s<=NUM;
sEL<=""WHENs="0000"ELSE----D"0"
""WHENs="0001"ELSE----D"1"
""WHENs="0010"ELSE----D"2"
""WHENs="0011"ELSE----D"3"
""WHENs="0100"ELSE----D"4"
""WHENs="0101"ELSE----D"5"
""WHENs="0110"ELSE----D"6"
""WHENs="0111"ELSE----D"7"
""WHENs="1000"ELSE----D"8"
"";----D"9"
A<=SEL(6);B<=SEL(5);C<=SEL(4);D<=SEL(3);E<=SEL
(2);F<=SEL
(1);G<=SEL(0);
ENDbehave;
3、六十进制计数器显示电路:
实验三:
设计项目的验证
一实验目的:
掌握设计项目的验证方法:
前、后功能仿真。
二实验内容
对设计项目十二进制计数器进行前、后功能仿真。
三实验步骤
1、设计并输入VHDL程序——十二进制计数器m12.VHD,选择芯片并进行编译,根据功能仿真和时序仿真的需要选择合适的网表文件提取器;
2、创建一个默认仿真器通道文件m12.scf。
(1)新建仿真器通道文件:
选择File\New菜单命令,出现对话框。
(2)在出现的对话框中选择WaveformEditorfile,并从下拉的列表框中选择.scf扩展名,然后点击OK。
保存文件为m12.scf,与设计文件名字一定要相同。
(4)选择option\Gridsize菜单命令设定时间轴网格大小轴长度(分别为①20ns②10ns);选择File\Endtime菜单命令设定仿真时间轴长度(分别为①2μs,②3μs)。
(5)添加、删除结点和组。
点击命令Node/EnternodefromSNF打开添加结点对话框。
添加输入结点PE、CLR、CLK结点及输出组Q[3..0]
(6)按照输入在上方、输出在下方的顺序重新排列结点和组的顺序,以便于观察波形。
(7)编辑输入结点的信号波形:
PE为高电平;CLR:
200-400ns为低电平,其余为高电平;CLK时钟周期分别设为:
1)80ns2)40ns。
(8)存盘并关闭文件,也可以不关,但会降低仿真速度。
3仿真设计项目
1)打开仿真器窗口
选择菜单命令MAX+PLUSII\Simulator打开仿真器,并自动装载当前项目m12的仿真器网表文件和刚刚创建的与当前项目同名的仿真器通道文件m12.scf。
2)设置仿真时间
①在StartTime对话框中输入仿真起始时间:
0us.(起始时间应处于.scf文件的时间轴范围内,若超出这个范围,则默认为0。
)
②在EndTime对话框中输入仿真终止时间:
1us.(终止时间应处于.scf文件的时间轴范围内,同时还应大于起始时间,否则会出错。
)
3)指定附加的输出文件:
历史文件.hst和日志文件.Log。
4)运行仿真器
按下Start按钮,即开始仿真m12项目。
在仿真m12的过程中进度指示条将朝着100%的方向移动,在仿真时其将动态更新,输出逻辑电平被记录到m12.scf文件中。
4、分析仿真结果
1阅读仿真器通道文件m12.scf:
在仿真器窗口中选择OpenSCF,即打开当前项目的m12.scf,输出波形出现,观察并记录仿真结果,仔细观察并验证此结果是否与设计文件符合。
2阅读历史文件m12.hst、日志文件m12.log和列表文件m12.tbl.
3改变时间设置、网格设置和时钟频率,重新编辑m12.scf文件的输入波形,再次仿真,观察记录仿真结果。
四、实验报告要求
1、记录实验步骤和实验内容。
2、画出m12设计项目的CLK时钟周期分别设为:
80ns和40ns时的前、后仿真结果。
3、写出实验心得。
五实验思考题:
1、如何设置功能仿真和时序仿真?
2、如何将仿真通道文件*.scf与所设计项目相关联?
实验四原理图与VHDL语言进行
项目设计的比较
一、实验目的:
1比较原理图与VHDL语言进行项目设计的优点和缺点。
2进一步熟悉可编程逻辑器件的开发设计过程并加深理解。
3掌握组合逻辑电路的设计与静态测试方法。
二、实验内容:
(每个内容分别采用两种项目设计方法实现)
1、设计一个优先权编码电路,输入8位(Y0-Y7),输出3位(A2、A1、A0)
排队顺序:
Y7=1最高优先级,输出为111;
Y6=1次高优先级,输出为110;
Y5=1再次优先级,输出为101;
以下各位优先权依次降低,输出正常编码,按照要求分别采用图形设计和VHDL语言设计该项目,并分别编译、分配管脚、下载。
三、实验的硬件要求:
输入:
按键开关(常高);拨码开关(拨到上方为1,拨到下方为0)。
输出:
LED灯(共阴极接法,高电平亮,低电平不亮)。
四、实验连线:
1.Y7-Y0八个输入信号对应的管脚分别连八个拨码开关。
输出三个信号A2、A1、A0对应的管脚分别连红、绿、黄LED灯。
(具体管脚参考实验箱上的标记)
五、实验步骤:
(一)进入Windows操作系统,打开MAX+PLUSII软件。
1、启动File\ProjectName菜单,输入设计项目的名字。
点击Assign\Device菜单,选择器件(本设计一律选用EPF10K10)。
(二)设计的输入
1、原理图输入设计项目(实验步骤详见实验一)
2、VHDL语言输入设计项目(实验步骤详见实验二)
两个文件的名字不能重名,必须作为两个单独的项目对待。
(三)编译设计项目
启动MAX+PLUSII\Compiler菜单,按Start开始编译,并显示编译结果,生成*.sof文件
(四)管脚的重新分配、定位:
启动MAX+PLUSII\FloorplanEditor菜单,通过软件自动分配管脚或用户手动分配管脚。
(五)编程文件下载。
(六)按管脚分配与实验箱上的实物相连。
六实验报告要求
1、写出实验原理:
记录实验原理图及VHDL语言程序。
2、论述实验步骤。
3、记录试验结果
4、写出实验心得。
七实验思考题:
比较用原理图与VHDL语言进行项目设计的优点和缺点。
实验五扫描显示电路的驱动
一实验目的:
了解教学系统中8位八段数码管显示模块的工作原理,熟悉标准扫描驱动电路模块,以便后面实验调用。
二硬件要求:
主芯片AlteraEPF10K10LC84—4,时钟源,8位七段数码管显示器,四位拨码开关。
三、实验内容:
1、利用VHDL语言建项目并编写输入为8421BCD码的数码管译码电路,编译成功后生成默认符号待用;
2、新建项目并建立图形文件,调出芯片74160实现扫描地址的变化,取其输出端的低三位作为扫描地址,再在此界面上调出译码电路符号,设置其输入输出端,选芯片、编译、管脚分配、再编译,最后下载到实验箱。
3、连线:
利用拨码开关产生8421BCD码,送给译码器的输入端,其输出送给数码管的七段(A、B、C、D、E、F、G);X选择合适的时钟源送给74160的时钟端,清零端接按键开关,其低三位输出连接数码管扫描地址端SEL2、SEL1和SEL0,以便实现扫描地址变化,数码管从低位到高位依次被选中发亮,但是其显示的具体数字由译码电路的输出决定。
4、调节时钟频率,调节时钟频率,感受“扫描”的过程,即数码管轮流显示的变化频率,注意观察字符亮度和显示刷新的效果。
当时钟频率多大时观察时不闪烁,但又能清晰地看到所有数码管亮。
四、实验原理
1、四位拨码开关提供8421BCD码,经译码电路后成为七段数码管的字形显示驱动信号。
2、(A—G)扫描电路通过可调时钟输出片选地址SEL[2..0]。
由SEL[2..0]和(A—G)决定8位中的哪一位显示和显示什么字形。
SEL[2..0]变化的快慢决定了扫描频率的快慢。
五、实验思考题
考虑字符显示亮度同扫描频率的关系,且让人眼感觉不出闪烁现象的最低扫描频率是什么?
附录:
1、数码管显示译码电路:
(VHDL程序)
LIBRARYieee;
USEieee.std_logic_1164.ALL;
ENTITYGYLED7IS
PORT(s0,s1,s2,s3:
INstd_logic;
A,B,C,D,E,F,G:
OUTstd_logic);
ENDGYLED7;
ARCHITECTUREbehaveOFGYLED7IS
SIGNALs:
std_logic_vector(3DOWNTO0);
SIGNALsEL:
std_logic_vector(6DOWNTO0);
BEGIN
s<=s3&s2&s1&s0;
sEL<=""WHENs="0000"ELSE----D"0"
""WHENs="0001"ELSE----D"1"
""WHENs="0010"ELSE----D"2"
""WHENs="0011"ELSE----D"3"
""WHENs="0100"ELSE----D"4"
""WHENs="0101"ELSE----D"5"
""WHENs="0110"ELSE----D"6"
""WHENs="0111"ELSE----D"7"
""WHENs="1000"ELSE----D"8"
"";----D"9"
A<=SEL(6);B<=SEL(5);C<=SEL(4);D<=SEL(3);E<=SEL
(2);F<=SEL
(1);G<=SEL(0);
ENDbehave;
2、扫描显示电路:
实验六十六进制计数器显示电路
一、实验目的:
学会利用教学系统中8位七段数码管显示模块显示设计电路的输出数字。
二、硬件要求:
微机、主芯片AlteraEPF10K10LC84—4的实验箱,时钟源,8位七段数码显示器,一位按键开关。
三、实验内容:
1、利用图形输入法和文本输入结合的设计方法编一个简单的从0~F轮流显示的十六进制数的电路。
译码电路实现十六进制码的译码功能。
2、设计输入编译正确后进行设计实现,适配化分。
观察仿真波形分配管脚并下载。
连线后调节时钟频率,感受“扫描”的过程,并观察字符亮度和显示刷新的效果。
四、实验原理:
1、输入信号:
十六进制计数器的输出作为译码显示电路的输入信号和片选信号;
清零信号RESET所对应的管脚同按键开关相连;
时钟CLK所对应的管脚同实验箱上的时钟源相连;
2、输出信号:
代表扫描片选地址信号SEL2,SEL1,SEL0的管脚同四位扫描驱动数码管的低3位相连,最高位地址接“0”(也可以悬空):
代表7段字码驱动信号A,B,C,D,E,F,G的管脚分别同扫描数码管的段输入a,b,c,d,e,f,g相连。
五、实验步骤:
1、输入设计的VHDL译码器和整个计数译码显示原理图;
2、对原理图进行仿真,并观察记录仿真结果;
3、仿真正确后,进行管脚分配,并下载程序;
4、在实验箱上连线,观察电路的实际运行是否符合要求,适当调整扫描频率,使显示的数字既清晰又稳定,符合视觉要求。
六、实验要求:
1、记录实验步骤和各项实验结果;
2、分析自己调试扫描频率的过程,并记录最终选定的频率;
3、结合实际的扫描显示电路,写出心得体会。
附图:
1、扫描显示原理图:
2、仿真过程:
3、器件的管脚分配:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- EDA 技术 实验 指导书