EDA技术实验报告.docx
- 文档编号:30057349
- 上传时间:2023-08-04
- 格式:DOCX
- 页数:32
- 大小:250.78KB
EDA技术实验报告.docx
《EDA技术实验报告.docx》由会员分享,可在线阅读,更多相关《EDA技术实验报告.docx(32页珍藏版)》请在冰豆网上搜索。
EDA技术实验报告
计算机与信息学院
信息工程类
实验报告
课程名称:
EDA技术
姓名:
系:
电子信息工程系
专业:
电子信息工程
年级:
2009级
学号:
指导教师:
职称:
讲师
2012年5月29日
实验项目列表
序号
实验项目名称
成绩
指导教师
1
实验一用原理图输入方法设计8位全加器
2
实验二简单组合电路的设计(VHDL)
3
实验三用VHDL设计1位全加器
4
实验四硬件电子琴电路设计
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
福建农林大学计算机与信息学院信息工程类实验报告
系:
电子信息工程系专业:
电子信息工程年级:
2009级
姓名:
学号:
实验课程:
EDA技术
实验室号:
__实验设备号:
实验时间:
指导教师签字:
成绩:
实验一用原理图输入方法设计8位全加器
1.实验目的和要求
本实验为综合性实验,综合了简单组合电路逻辑,Quartus2的原理图输入方法,层次化设计的方法等内容。
其目的是通过一个8位全加器的设计熟悉EDA软件进行电子线路设计的详细流程。
学会对实验板上的FPGA/CPLD进行编程下载,硬件验证自己的设计项目。
2.实验原理
1位全加器可以用两个半加器及一个或门连接而成,半加器原理图的设计方法很多,我们用一个与门、一个非门和同或门(xnor为同或符合,相同为1,不同为0)来实现。
先设计底层文件:
半加器,再设计顶层文件全加器。
(1)半加器的设计:
半加器表达式:
进位:
co=aandb
和:
so=axnor(notb)
半加器原理图如下:
(2)全加器的设计:
全加器原理图如下:
3.主要仪器设备(实验用的软硬件环境)
实验的硬件环境是:
微机
EDA实验开发系统ZY11EDA13BE
并口延长线,JTAG延长线
实验的软件环境是:
Quartus2
4.操作方法与实验步骤
●按照4.1节介绍的方法与流程,完成半加器和全加器的设计,包括原理图输入、编译、综合、适配、仿真、实验板上的硬件测试,并将此全加器电路设置成一个硬件符号入库。
●建立一个更高的原理图设计层次,利用以上获得的1位全加器构成8位全加器,并完成编译、综合、适配、仿真、硬件测试。
5.实验内容及实验数据记录
5.1设计一个半加器
用原理图输入的方法输入一个半加器的逻辑图,输入如下的元件input(ain,bin)、output(co,so)、not、and2、xnor,然后用连线连接成一个半加器,其中co为进位位输出引脚。
如图1-1所示:
图1-1.半加器原理图
然后在assign里头的device里头根据试验箱的芯片设置Decices,接着就设置输入输出荧脚的输入端和输出端,设置如表1所示:
表1.半加器引脚端口设置
引脚名称
设置端口
ain
inputPin=45
bin
inputPin=46
co
outputPin=19
so
outputPin=24
然后Save,名称为h_add.gdf,再save&Compile。
结果如图1-2所示:
图1-2.检查结果
编译结果正确:
可查看仿真波形图验证原理图的正确性即simulator:
simulator前先建立仿真波形图,如图1-3所示
图1-3.仿真波形图
然后,simulator,结果如图1-4所示:
图1-4.仿真结果
如图然后把半加器进行模块化,结果如图1-5所示:
图1-5模块图
5.2设计一位全加器
在半加器的同一个文件目录下,进行创建一位全加器的f_add.gdf,按照第一步的方式输入元件input(ain、bin、cin)、output(cout、sum)、h_add、or2,然后用连线把元件连接成一个全加器,ain、bin给第一个半加器的输入端,而分别把它输出端so和第三个输入端cin给第二个半加器的ain、bin,分别把第二个半加器的输出端co和第一个的输出端co给or2元器件作为输入端,然后送给count作为进位显示,而第二个半加器的输出so给sum作为加法的结果,原理图如图1-6所示:
然后在assign里头的device里头根据试验箱的芯片设置Decices,选择芯片的型号进行设置输入输出荧脚的输入端和输出端,设置如下:
表2.一位全加器引脚端口设置
引脚名称
设置端口
ain
inputPin=45
bin
inputPin=46
cin
inputPin=47
co
outputPin=19
so
outputPin=24
然后Save,再Compile。
结果如图1-7所示:
图1-7.检查结果
编译结果正确:
可查看仿真波形图验证原理图的正确性即simulator:
simulator前先建立仿真波形图,如图1-8所示
图1-8.仿真波形图
然后,simulator,结果如图1-9所示:
图1-9.仿真结果
然后把一位全加器进行模块化createdefaultsymbol,结果如图1-10所示:
图1-10模块化图
5.3设计八位全加器
在一位全加器的同一个文件目录下,进行创建一位全加器的8bitf_add.gdf,按照第一步的方式输入元件input[ain(7..0)、bin(7..0)、cin]、output[cout、sum(7..0)]、f_add,然后用标号的方式把元件的输入输出端口接成一个八位全加器,分别把ain(7..0)给编号为1-8的一位全加器的输入端ain;分别把bin(7..0)给编号为1-8的一位全加器的输入端bin;并把每个一位全加器的输出端count给下一个的cin输入端,直到第八个一位全加器把count送给输出端count作为最后的进位位,把sum输出端分别给sum(7..0)作为每个全加器的结果输出,原理图如图1-11所示:
图1-118位全加器原理图
然后在assign里头的device里头根据试验箱的芯片设置Decices,选择芯片的型号进行设置输入输出荧脚的输入端和输出端,设置如下:
表3.八位全加器引脚端口设置
引脚名称
设置端口
ain0
45
ain1
46
ain2
47
ain3
53
ain4
54
ain5
55
ain6
56
ain7
57
bin0
58
bin1
60
bin2
61
bin3
62
bin4
63
bin5
64
bin6
65
bin7
67
sum0
19
sum1
24
sum2
25
sum3
26
sum4
27
sum5
28
sum6
29
sum7
30
count
31
然后Save,名称为f_8add.gdf,再Compile。
结果如图1-12所示:
图1-12检查结果
编译结果正确:
可查看仿真波形图验证原理图的正确性即simulator:
simulator前先建立仿真波形图,如图1-13所示
图1-13.仿真波形图
然后,simulator,结果如图1-14所示:
图1-14.仿真结果
6.实验数据处理与分析
半加器的实验数据:
ain
bin
so
co
0
0
0
0
0
1
1
0
1
0
1
0
1
1
0
1
如上表所示,只有当ain=1,bin=1时,co=1(产生进位位);当ain,bin有一个不为1时,不产生进位位。
一位全加器的实验数据:
ain
bin
cin
sum
count
0
0
0
0
0
0
1
0
1
0
1
0
0
1
0
1
1
0
0
1
ain
bin
cin
sum
count
0
0
1
0
0
0
1
1
1
0
1
0
1
0
1
1
1
1
1
1
当cin=0的情况下和半加器的结果是一样的,当cin=1时,若ain=0时,count=0;若ain=1时,count=1;由此可见半加器和全加器的设计是正确的。
7.质疑、建议、问题讨论
第一次做EDA实验,虽然之前老师有说过要预习,可是由于对程序不了解,而浪费了很多时间,所以说,在实验前先预习实验,了解实验内容是很重要的。
这次的实验,我了解了EDA软件的操作及运用。
在原理图的设计中,引脚的连线很重要,细密的地方可能造成多次连接,这样的话,在编译的时候就会出现错误,畏怯在连线完成后要记得保存,不然纠错难进行。
在实验的过程中,要注意很多的问题,像是建立工程文件夹时,工程文件名要和顶层文件名相一致、设计的文件不能直接保存在根目录下等等。
在实验中,对引脚端口的设置、编程下载等步骤的操作更加加深了我对EDA软件的认识。
福建农林大学计算机与信息学院信息工程类实验报告
系:
电子信息工程系专业:
电子信息工程年级:
2009级
姓名:
学号:
实验课程:
EDA技术
实验室号:
_实验设备号:
实验时间:
指导教师签字:
成绩:
实验二简单组合电路的设计(VHDL)
1.实验目的和要求
本实验为综合性实验,综合了简单组合电路逻辑,Quartus2的使用方法,多层次电路设计、仿真和硬件测试等内容。
其目的是熟悉Quartus2的VHDL文本设计流程全过程。
2.实验原理
2选1多路选择器真值表
s
a
b
y
L
L
×
L
L
H
×
H
H
×
L
L
H
×
H
H
3.主要仪器设备(实验用的软硬件环境)
实验的硬件环境是:
微机
EDA实验开发系统ZY11EDA13BE
并口延长线,JTAG延长线
实验的软件环境是:
Quartus2
4.操作方法与实验步骤
首先利用Quartus2完成2选1多路选择器的文本编辑输入(mux21a.vhd)和仿真测试等步骤,然后进行仿真。
最后在实验系统上进行硬件测试,实际验证本项实验的功能。
将设计好的2选1多路多路选择器看成是一个元件mux21a,利用元件例化语句描述下图,并将此文件放在同一目录E:
\muxfile中。
5.实验内容及实验数据记录
在Quartus2中输入代码。
代码参考程序如下所示:
LIBRARYIEEE;
USEIEEE.STD_LOGIC_1164.ALL;
ENTITYmux21aIS
PORT(a,b:
INBIT;
s:
INBIT;
y:
OUTBIT);
ENDENTITYmux21a;
ARCHITECTUREoneOFmux21aIS
BEGIN
y<=aWHENs=‘0’ELSEb;
ENDARCHITECTUREone;
保存文件为mux21a.vhd,然后进行检查,编译,仿真。
然后,在driver里头选择适合的芯片,再根据PORT的命名设置荧脚的输入,如表4所示:
表4.二选一荧脚设置
引脚名称
设置端口
a
inputPin=45
b
inputPin=46
s
outputPin=53
y
outputPin=24
进行编译仿真,发现无误。
以上的是2选1的选择器编写过程,接下来设计3选1的选择器,过程如下:
新建一个Texteditorfile,并保存扩展名为.VHD的muxk.vhd文件和mux21a.vhd放在同一个文件夹目录下然后输入代码,参考程序如下:
LIBRARYIEEE;
USEIEEE.STD_LOGIC_1164.ALL;
ENTITYmuxkIS
PORT(a1,a2,a3,s0,s1:
INSTD_LOGIC;
outy:
OUTSTD_LOGIC);
ENDENTITYmuxk;
ARCHITECTUREBHVOFmuxkIS
COMPONENTmux21a
PORT(a,b,s:
INSTD_LOGIC;
y:
OUTSTD_LOGIC);
ENDCOMPONENT;
SIGNALtmp:
STD_LOGIC;
BEGIN
U1:
mux21aPORTMAP(a=>a2,b=>a3,s=>s0,y=>tmp);
U2:
mux21aPORTMAP(a=>a1,b=>tmp,s=>s1,y=>outy);
ENDARCHITECTUREBHV;
然后进行保存,编译,仿真,出现如下错误,如图2-2所示:
图2-2.错误提示
经分析,为标点符号出错和关键字出错。
改正后进行Save&Check结果正确:
然后在Assign菜单栏下的Driver里选择和试验箱想匹配的芯片,并根据源代码的荧脚设置进行添加输入、输出端口:
表5三选一多路选择器荧脚设置
引脚名称
设置端口
a1
inputPin=45
a2
inputPin=46
a3
inputPin=47
outy
outputPin=19
s0
iutputPin=53
s1
inputPin=54
再进行Save,Compile&Simulate结果如下所示:
把程序下载到芯片上,进行检验。
6.实验数据处理与分析
由实验的结果记录得如下表格:
表6输入输出结果记录表
s
a
b
y
0
0
×
0
0
1
×
1
1
×
0
0
1
×
1
1
由表6得知,当s=0时,输出y=a;当s=1时,输出y=b
7.质疑、建议、问题讨论
HDL文本输入克服了原理图输入存在的弊端,所以文本输入时最基本、最有效的输入方法。
经过上次的实验,对EDA软件有了些了解,所以这次的实验轻松了很多,比较顺利的完成了。
文本输入要注意符号问题。
质疑:
一个双二选一的多路选择器的功能是否和二选一多路选择器一样呢?
问题讨论:
一个三选一多路选择器由两个二选一选择器组成因此会出现选择的时候有多种情况是一样的结果。
福建农林大学计算机与信息学院信息工程类实验报告
系:
电子信息工程系专业:
电子信息工程年级:
2009级
姓名:
学号:
实验课程:
EDA技术
实验室号:
__实验设备号:
实验时间:
指导教师签字:
成绩:
实验三用VHDL设计1位全加器
1.实验目的和要求
本实验为综合性实验,综合了简单组合电路逻辑,Quartus2的使用方法,多层次电路设计、仿真和硬件测试等内容。
其目的是熟悉Quartus2的VHDL文本设计流程全过程。
2.实验原理
图一位半加器结构与真值表
图一位全加器结构
3.主要仪器设备(实验用的软硬件环境)
实验的硬件环境是:
微机
EDA实验开发系统ZY11EDA13BE
并口延长线,JTAG延长线
实验的软件环境是:
Quartus2
4.操作方法与实验步骤
利用Quartus2完成1位全加器的文本编辑输入(mux21a.vhd)和仿真测试等步骤,最后在实验系统上进行硬件测试,实际验证本项实验的功能。
5.实验内容及实验数据记录
5.1在Quartus2中输入模块代码,代码参考程序如下所示:
(1)LIBRARYIEEE;--1位二进制全加器顶层设计描述
USEIEEE.STD_LOGIC_1164.ALL;
ENTITYf_adderIS
PORT(ain,bin,cin:
INSTD_LOGIC;
cout,sum:
OUTSTD_LOGIC);
ENDENTITYf_adder;
ARCHITECTUREfd1OFf_adderIS
COMPONENTh_adder--调用半加器声明语句
PORT(a,b:
INSTD_LOGIC;
co,so:
OUTSTD_LOGIC);
ENDCOMPONENT;
COMPONENTor2a
PORT(a,b:
INSTD_LOGIC;
c:
OUTSTD_LOGIC);
ENDCOMPONENT;
SIGNALd,e,f:
STD_LOGIC;--定义3个信号作为内部的连接线。
BEGIN
u1:
h_adderPORTMAP(a=>ain,b=>bin,co=>d,so=>e);--例化语句
u2:
h_adderPORTMAP(a=>e,b=>cin,co=>f,so=>sum);
u3:
or2aPORTMAP(a=>d,b=>f,c=>cout);
ENDARCHITECTUREfd1;
(2)LIBRARYIEEE;--半加器描述
(2):
真值表描述方法
USEIEEE.STD_LOGIC_1164.ALL;
ENTITYh_adderIS
PORT(a,b:
INSTD_LOGIC;
co,so:
OUTSTD_LOGIC);
ENDENTITYh_adder;
ARCHITECTUREfh1OFh_adderis
SIGNALabc:
STD_LOGIC_VECTOR(1DOWNTO0);--定义标准逻辑位矢量数据类型
BEGIN
abc<=a&b;--a相并b,即a与b并置操作
PROCESS(abc)
BEGIN
CASEabcIS--类似于真值表的CASE语句
WHEN"00"=>so<='0';co<='0';
WHEN"01"=>so<='1';co<='0';
WHEN"10"=>so<='1';co<='0';
WHEN"11"=>so<='0';co<='1';
WHENOTHERS=>NULL;
ENDCASE;
ENDPROCESS;
ENDARCHITECTUREfh1;
(3)LIBRARYIEEE;--或门逻辑描述
USEIEEE.STD_LOGIC_1164.ALL;
ENTITYor2aIS
PORT(a,b:
INSTD_LOGIC;
c:
OUTSTD_LOGIC);
ENDENTITYor2a;
ARCHITECTUREoneOFor2aIS
BEGIN
c<=aORb;
ENDARCHITECTUREone;
保存程序,然后进行检查,编译,仿真。
编译无错误
然后,在driver里头选择适合的芯片,再根据PORT的命名设置引脚的输入,如表4所示:
引脚名称
设置端口
ain
inputPin=45
bin
inputPin=46
cin
inputPin=47
cout
outputPin=19
sum
outputPin=24
然后创建f_add.snf和f_add.sym文件,之后就是Save&Check,对设计好的电路图进行逻辑错误的检查,看是否出错。
在检查结果正确的情况下进行Save,Compile&Simulate
编译结果正确:
可查看仿真波形图验证原理图的正确性:
如图3-4所示
图3-1仿真波形图
如图然后把半加器进行模块化,结果如图1-10所示:
图1-10模块化图
6.实验数据处理与分析
由实验结果绘制表格,如下:
ain
bin
Cin
sum
count
0
0
0
0
0
0
1
0
1
0
1
0
0
1
0
1
1
0
0
1
0
0
1
1
0
0
1
1
0
1
1
0
1
0
1
1
1
1
1
1
该实验结果与实验一的一位全加器结果一样,实现了一位全加器的功能。
其中sum为输出和,count为输出进位,ain和bin为输入,cin为输入进位。
7.质疑、建议、问题讨论
先设计半加器然后设计全加器时调用半加器。
当设计一个结构较为复杂的系统时,通常采用层次化的设计方法。
先对器件的总功能模块进行顶层描述,再对某部分功能模块进行底层描述。
建议:
实验室的电脑太差了,好不容易编程得到的代码,居然因为电脑的原因二无法生成.sof文件,无法见证最后的实验结果,令人失望,希望学校能够改善实验环境。
福建农林大学计算机与信息学院信息工程类实验报告
系:
电子信息工程系专业:
电子信息工程年级:
2009级
姓名:
学号:
实验课程:
EDA技术
实验室号:
__实验设备号:
实验时间:
指导教师签字:
成绩:
实验四硬件电子琴电路设计
1.实验目的和要求
本实验为设计性实验。
将VHDL硬件描述语言,简单组合电路逻辑Quartus2的使用等知识应用到实际硬件电路设计中。
其目的是学会在EDA软件平台中利用VHDL硬件描述语言设计电路.设计要求利用数控分频器设计硬件电子琴。
2.实验原理
主系统由3个模块组成,例9-1是顶层设计文件,其内部有两个功能模块(如图9-1所示):
TONE.VHD(例9-2)和SPEAKER.VHD(例9-3)。
模块TONE是音阶发生器,当8位发声控制输入INDEX中某一位为高电平时,则对应某一音阶的数值将从端口TONE输出,作为获得该音阶的分频预置值;同时由CODE输出对应该音阶简谱的显示数码,如‘5’,并由HIGH输出指示音阶高8度显示。
由例9-2可见,其语句结构只是类似与真值表的纯组合电路描述,其中的音阶分频预置值,如Tone<=1290是根据产生该音阶频率所对应的分频比获得的。
图9-1硬件电子琴电路结构
模块SPEAKER中的主要电路是一个数控分频器,它由一个初值可预置的加法计数器构成,当模块SPEAKER由端口TONE获得一个2进制数后,将以此值为计数器的预置数,对端口CLK12MHZ输入的频率进行分频,之后由SPKOUT向扬声器输出发声。
3.主要仪器设备(实验用的软硬件环境)
实验的硬件环境是:
微机,EDA实验开发系统ZY11EDA13BE,并口延长线,JTAG延长线
实验的软件环境是:
Quartus2
4.操作方法与实验步骤
首先给出该电路的各个基本模块,再利用Quartus2完成各个模块的文本编辑输入(top.vhd,Speaker.vhd,tone.vhd)和仿真测试等步骤。
完成此项设计,并在EDA实验系统上的FPGA目标器件中实现之。
5.实验内容及实验数据记录
①将top.vhd文件设为
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- EDA 技术 实验 报告