可编程逻辑设计期中设计四位加法器.docx
- 文档编号:15596310
- 上传时间:2023-07-05
- 格式:DOCX
- 页数:27
- 大小:1.61MB
可编程逻辑设计期中设计四位加法器.docx
《可编程逻辑设计期中设计四位加法器.docx》由会员分享,可在线阅读,更多相关《可编程逻辑设计期中设计四位加法器.docx(27页珍藏版)》请在冰点文库上搜索。
可编程逻辑设计期中设计四位加法器
可编程逻辑设计
实
验
报
告
09通信二班
小组成员:
%%%%%%%%%%%%%%%
可编程逻辑期中实验报告
一、实验题目:
四位加法器的quartusII设计
二、实验内容:
(一)认证过程,quartusII软件License的申请
具体步骤:
1、打开quartusII软件,点击菜单栏中的tools项,选择Licensesetup,如图所示:
2、在出现的Option对话框中,单击WebLicenseUpdate,如图所示:
3、在弹出的对话框中选择ConnecttoAlteraLicensingCentre,单击OK
4、OK之后的结果如图所示
5、点击“QuartusIIWebEditionsoftwarelicensingcenterandfollowtheinstructionsthere.”
6、选择GetOne-timeAccess,进入如下页面,并填写相关内容:
7、点击EstablishOne-TimeAccess,进入如下界面:
8、获取本机MAC地址,具体步骤如图所示
将本机的MAC地址填到“Enteryournetworkinterfacecard(NIC)number”后边的方框中,并选择“Academic:
Onlyforacademic/education/hobbypurposes”。
然后点击continue。
9、这时,管理员会往所填写的邮箱中发送License,进入邮箱接收。
10、然后再打开LicenseSetup,在LicenseFile选项框中将刚刚下载的附件,即你的License选中,点击OK即可。
(二)设计流程:
FPGA关于四位全加器的设计
实验原理:
半加器的真值表:
由真值表可得:
Ph=A⊕BCh0=AB
A
B
Ph
Ch0
0
0
0
0
0
1
1
0
1
0
1
0
1
1
0
1
全加器的真值表:
由真值表可得:
P=A⊕B⊕C=Ph⊕CC0=AB+(A⊕B)C=Ch0+PhC
A
B
Ci
P
C0
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
(三)仿真流程:
●设计方法一:
VHDL语言设计顶层文件
1.创建VHDL文件
2.设计分析与思路:
用半加器和或门逻辑单元构成的一位全加器作为底层模块,将四个一位全加器来连接生成四位全加器。
四位全加器VHDL源代码:
源代码:
h_adder.vhl文件:
--半加器
libraryieee;
useieee.std_logic_1164.all;
entityh_adderis
port(a,b:
instd_logic;
so,co:
outstd_logic);--定义半加器实体的输入、输出端口
endh_adder;
architecturebhofh_adderis
begin
so<=axorb;--“异或”运算
co<=aandb;--“与”运算
endbh;
or1.vhl文件:
--或逻辑单元
libraryieee;
useieee.std_logic_1164.all;
entityor1is
port(a,b:
instd_logic;
c:
outstd_logic);
--定义或门的输入、输出端口
endentityor1;
architectureoneofor1is
begin
c<=aorb;--“或”运算
endarchitectureone;
f_adder.vhl文件:
--一位全加器
libraryieee;
useieee.std_logic_1164.all;
entityf_adderis
port(ain,bin,cin:
instd_logic;
cout,sum:
outstd_logic);
--定义全加器的输入输出端口
endentityf_adder;
architecturehhoff_adderis
componenth_adder--调用库元件“半加器”
port(a,b:
instd_logic;
so,co:
outstd_logic);
endcomponenth_adder;
componentor1--调用库元件“或门”
port(a,b:
instd_logic;c:
outstd_logic);
endcomponent;
signalx,y,z:
std_logic;--信号赋值语句
begin
w1:
h_adderportmap(a=>ain,b=>bin,co=>x,so=>y);
--元件例化
w2:
h_adderportmap(a=>cin,b=>y,co=>z,so=>sum);
--元件例化
w3:
or1portmap(a=>x,b=>z,c=>cout);
--元件例化
endarchitecturehh;
ff_adder.vhl文件:
--四位半加器
libraryieee;
useieee.std_logic_1164.all;
USEIEEE.STD_LOGIC_ARITH.ALL;
useieee.std_logic_unsigned.all;--包含基于std_logic及std_logic_vector类型上的有符号算术运算
entityff_adderis
port(a_in:
instd_logic_vector(3downto0);
b_in:
instd_logic_vector(3downto0);
--gnd:
instd_logic;
vdd:
outstd_logic;
ffsum:
outstd_logic_vector(3downto0));
--定义4位全加器的输入输出端口
endentityff_adder;
architectureffofff_adderis
componentf_adder--调用库元件全加器
port(ain,bin,cin:
instd_logic;
cout,sum:
outstd_logic);
endcomponentf_adder;
signalc0,c1,c2,c3,c4:
std_logic;--信号赋值语句
begin
com1:
f_adderportmap(ain=>a_in(0),bin=>b_in(0),cin=>c0,cout=>c1,sum=>ffsum(0));
--元件例化
com2:
f_adderportmap(ain=>a_in
(1),bin=>b_in
(1),cin=>c1,cout=>c2,sum=>ffsum
(1));
--元件例化
com3:
f_adderportmap(ain=>a_in
(2),bin=>b_in
(2),cin=>c2,cout=>c3,sum=>ffsum
(2));
--元件例化
com4:
f_adderportmap(ain=>a_in(3),bin=>b_in(3),cin=>c3,cout=>c4,sum=>ffsum(3));
--元件例化
c0<='0';
endarchitectureff;
3.
编译过程:
编译进度:
4.仿真:
建立波形文件:
新建otherfilesvectorwaveformfileok
输入输入输出端口:
出现下面对话框:
在Name中加入输入输出端口,给每个端口赋值完成后如下:
选择processingsimulatortools,界面如下:
点击仿真按钮
系统自动开始仿真,结果如下:
●设计方法二:
画图实现四位全加器的设计
1、设计思路
(1)半加器的设计
A、首先列出半加器的真值表
A
B
SO
CO
0
0
0
0
0
1
1
0
1
0
1
0
1
1
0
1
B、由真值表可得SO=A⊕B;CO=AB
C、用QuartusII建立半加器元件:
封装,symbol图形:
(2)一位全加器的设计
A、列出全加器的真值表
A
B
Ci
P
C0
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
B、由真值表可得:
P=A⊕B⊕C=SO⊕C;CO=AB+(A⊕B)C=CO+SO*C
C、用QuartusII建立一位全加器元件
原理图:
1.编译产生symbol文件:
进行封装,Symbol示意图:
(3)四位全加器的设计
将四个一位全加器级联,即组成四位全加器:
(4)仿真结果
编译完成后,创建波形文件,步骤如前面所述,得到波形图如下:
A、建立vwf文件
B、仿真
通过仿真结果我们可以看到,设计的四位全加器可以实现预期功能。
可以下载试验了。
C、设置管脚
三、下载过程
下载到硬件:
1)连线:
把电脑的串口输出和FPGA实验板的借口用专门下载线连接好后,把实验板上的下载允许开关拨到“Laod”状态;
2)配置引脚:
将点击Assignments—>AssignmentsEditor可进入引脚配置界面,如下图所示:
再对照实验板说明书中,模式5的电路图,给各个引脚配置硬件接口,例如:
按键1对应实验板上I/O001号接口,如果将四位全加器的其中一个加数的第一位接在按键1上,则可用此按键表示对此加数的第一位赋值,同理,将四位全加器的两个加数的四位分别用按键1~8的状态来赋值,用四位二极管的状态来显示加数的和。
3)下载:
引脚配置好后,点击Tools下的Programer来进行下载,.sof的文件将会自动加入,将Mode设置为JTAG然后点击Start,下载开始;
4)测试:
下载完成后,即可通过设置各个按键的状态来进行全加器的测试。
查看实验现象:
下列照片中,显示了全加器的功能,按要求选择实验箱的第五模式:
四、实验结果及相关问题说明:
首先,我们已经完成了从设计仿真到硬件测试的任务。
有关QuartusII的license的问题,我们是通过修改计算机网卡的IP地址的方法来解决的。
具体做法如下:
将已有的license用记事本程序打开,将其中的HOSTID复制到电脑的“本地连接”——>“配置””高级”—>”NetworkAddress”中,然后再将此license文件安装一次即可。
其次,通过这次“四位加法器设计”的可编程逻辑设计实验,我们小组更加深了对这门课程的学习理解。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 可编程 逻辑设计 期中 设计 加法器