soc实验报告Word文档下载推荐.docx
- 文档编号:16147801
- 上传时间:2022-11-21
- 格式:DOCX
- 页数:67
- 大小:485.90KB
soc实验报告Word文档下载推荐.docx
《soc实验报告Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《soc实验报告Word文档下载推荐.docx(67页珍藏版)》请在冰豆网上搜索。
中a_in,b_in:
数据输入,使用板上开关(S0~S15);
sum_out:
运算结果输出,使用LED显示运算结果。
2.将程序下载到FPGA并进行检验资源使用要求,用开关(S0~S15)输入加数,被加数用LED(D8~D15)显示运算结果。
三.实验步骤
1.启动ISE,新建工程文件;
2.编写8位串行全加器模块Hadder,其原理图如上图所示。
3.编写完加法器模块之后,在顶层文件上实现映射;
4.新建UCF文件,输入位置约束;
5.完成综合,实现,生成下载文件;
6.连接开发板USB下载线,开启开发板电源;
7.下载FPGA;
8.输入数据,验证结果。
四.关键代码
entityadd_oneis---一位加
Port(a_in:
inSTD_LOGIC;
b_in:
cin:
si:
outSTD_LOGIC;
cout:
outSTD_LOGIC);
endadd_one;
architectureBehavioralofadd_oneis
begin
si<
=(a_inxorb_in)xorcin;
cout<
=(a_inandb_in)or(cinanda_in)or(cinandb_in);
endBehavioral;
entityadd_eightis---八位加
Port(a:
inSTD_LOGIC_VECTOR(7downto0);
b:
sum:
outSTD_LOGIC_VECTOR(7downto0);
c_out:
outSTD_LOGIC);
endadd_eight;
architectureBehavioralofadd_eightis
componentadd_one
port(a_in,b_in,cin:
inSTD_LOGIC;
si,cout:
endcomponent;
signalc:
STD_LOGIC_VECTOR(7downto0);
signalc_in:
STD_LOGIC:
='
0'
;
u0:
add_oneportmap(a(0),b(0),c_in,sum(0),c(0));
u1:
add_oneportmap(a
(1),b
(1),c(0),sum
(1),c
(1));
u2:
add_oneportmap(a
(2),b
(2),c
(1),sum
(2),c
(2));
u3:
add_oneportmap(a(3),b(3),c
(2),sum(3),c(3));
u4:
add_oneportmap(a(4),b(4),c(3),sum(4),c(4));
u5:
add_oneportmap(a(5),b(5),c(4),sum(5),c(5));
u6:
add_oneportmap(a(6),b(6),c(5),sum(6),c(6));
u7:
add_oneportmap(a(7),b(7),c(6),sum(7),c_out);
实验二8位并行全加器设计
1.掌握ISE开发工具的使用,掌握FPGA开发的基本步骤;
2.2.掌握4位并行全加器电路设计的一般办法;
3.掌握程序下载的办法;
4.初步了解开发板资源,掌握开发板的使用方法,重点掌握按键,开关,LCD,LED的使用方法。
二.实验内容
1.用VHDL实现4位并行全加器
图14位全加器顶层模块
其中,a_in,b_in:
输入4位加数和被加数。
sel_in:
数码管片选端;
c_in,c_out:
进位输入,进位输出;
运算结果的输出。
2.将程序下载到FPGA并进行检验资源使用,要求用开关(s0~s7)输入加数,被加数,(s8~s11)控制用哪个数码管显示数据,s12用于进位输入。
用D8显示结果进位。
三.实验步骤
2.编写4位并行全加器模块ParAdder,其原理图如上图。
要求:
4位全加器采用并行进位算法。
8.输入数据,验证结果。
四.关键代码
entityaddis
s:
endadd;
architectureBehavioralofaddis
signalc:
STD_LOGIC_VECTOR(7downto0);
signalp,g:
g(0)<
=a(0)andb(0);
g
(1)<
=a
(1)andb
(1);
g
(2)<
=a
(2)andb
(2);
g(3)<
=a(3)andb(3);
g(4)<
=a(4)andb(4);
g(5)<
=a(5)andb(5);
g(6)<
=a(6)andb(6);
g(7)<
=a(7)andb(7);
p(0)<
=a(0)xorb(0);
p
(1)<
=a
(1)xorb
(1);
p
(2)<
=a
(2)xorb
(2);
p(3)<
=a(3)xorb(3);
p(4)<
=a(4)xorb(4);
p(5)<
=a(5)xorb(5);
p(6)<
=a(6)xorb(6);
p(7)<
=a(7)xorb(7);
c
(1)<
=g(0)or(p(0)andcin);
c
(2)<
=g
(1)or(p
(1)andg(0))or(p
(1)andp(0)andcin);
c(3)<
=g
(2)or(p
(2)andg
(1))or(p
(2)andp
(2)andg(0))or(p
(2)andp
(1)andp(0)andcin);
c(4)<
=g(3)or(p(3)andg
(2))or(p(3)andp
(2)andg
(1))or(p(3)andp
(2)andp
(1)andg(0))
or(p(3)andp
(2)andp
(1)andp(0)andcin);
c(5)<
=g(4)or(p(4)andg(3))or(p(4)andp(3)andg
(2))or(p(4)andp(3)andp
(2)andg
(1))
or(p(4)andp(3)andp
(2)andp
(1)andg(0))or(p(4)andp(3)andp
(2)andp
(1)andp(0)andcin);
c(6)<
=g(5)or(p(5)andg(4))or(p(5)andp(4)andg(3))or(p(5)andp(4)andp(3)andg
(2))
or(p(5)andp(4)andp(3)andp
(2)andg
(1))or(p(5)andp(4)andp(3)andp
(2)andp
(1)andg(0))
or(p(5)andp(4)andp(3)andp
(2)andp
(1)andp(0)andcin);
c(7)<
=g(6)or(p(6)andg(5))or(p(6)andp(5)andg(4))or(p(6)andp(5)andp(4)andg(3))
or(p(6)andp(5)andp(4)andp(3)andg
(2))or(p(6)andp(5)andp(4)andp(3)andp
(2)andg
(1))
or(p(6)andp(5)andp(4)andp(3)andp
(2)andp
(1)andg(0))or(p(6)andp(5)andp(4)andp(3)andp
(2)andp
(1)andp(0)andcin);
cout<
=g(7)or(p(7)andg(6))or(p(7)andp(6)andg(4))or(p(7)andp(6)andp(5)andg(4))
or(p(7)andp(6)andp(5)andp(4)andg(3))or(p(7)andp(6)andp(5)andp(4)andp(3)andg
(2))
or(p(7)andp(6)andp(5)andp(4)andp(3)andp
(2)andg
(1))or(p(7)andp(6)andp(5)andp(4)andp(3)andp
(2)andp
(1)andg(0))
or(p(7)andp(6)andp(5)andp(4)andp(3)andp
(2)andp
(1)andp(0)andcin);
s(0)<
=p(0)xorcin;
s
(1)<
=p
(1)xorc
(1);
s
(2)<
=p
(2)xorc
(2);
s(3)<
=p(3)xorc(3);
s(4)<
=p(4)xorc(4);
s(5)<
=p(5)xorc(5);
s(6)<
=p(6)xorc(6);
s(7)<
=p(7)xorc(7);
实验三数码管显示程序设计
1.掌握ISE开发工具的使用,掌握FPGA开发的基本步骤;
2.掌握数码管扫描显示的基本原理和设计方法;
3.掌握ISE仿真调试的基本方法;
1.用VHDL实现16个七段数码管扫描显示模块
七段数码管扫描显示模块电路如图1.1到图1.3所示所示,主要包括顶层的测试模块,数码管扫描显示模块,以及输入数据向七段数码管进行译码的模块。
使用VHDL实现由扩展板上的拨码开关输入显示数值,在16个数码管的扫描显示功能,并使
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- soc 实验 报告