EDA实验报告四选一四位比较器加法器计数器巴克码发生器Word文件下载.doc
- 文档编号:1451298
- 上传时间:2023-04-30
- 格式:DOC
- 页数:11
- 大小:319.50KB
EDA实验报告四选一四位比较器加法器计数器巴克码发生器Word文件下载.doc
《EDA实验报告四选一四位比较器加法器计数器巴克码发生器Word文件下载.doc》由会员分享,可在线阅读,更多相关《EDA实验报告四选一四位比较器加法器计数器巴克码发生器Word文件下载.doc(11页珍藏版)》请在冰点文库上搜索。
1.EDA开发软件一套
2.微机一台
3.实验开发系统一台
4.打印机一台
5.其它器件与材料若干
本实验实现两个4位二进制码的比较器,输入为两个4位二进制码和,输出为M(A=B),G(A>
B)和L(A<
B)(如图所示)。
用高低电平开关作为输入,发光二极管作为输出,具体管脚安排可根据试验系统的实际情况自行定义。
G
COMP4
1.用硬件描述语言编写四位二进制码
比较器的源文件;
M
2.对设计进行仿真验证;
3.编程下载并在实验开发系统上进行
硬件验证。
L
四位比较器功能框图
四位比较器VHDL源文件:
libraryieee;
useieee.std_logic_1164.all;
entitycomp4is
port(A3,A2,A1,A0:
instd_logic;
B3,B2,B1,B0:
G,M,L:
outstd_logic);
endcomp4;
architecturebehaveofcomp4is
begin
p1:
process(A3,A2,A1,A0,B3,B2,B1,B0)
variablecomb1,comb2:
std_logic_vector(3downto0);
begin
comb1:
=A3&
A2&
A1&
A0;
comb2:
=B3&
B2&
B1&
B0;
if(comb1>
com2)thenG<
=’1’;
M<
=’0’;
L<
elsif(comb1<
comb2)thenM<
G<
elseL<
endif;
endprocessp1;
endbehave;
试验3并行加法器设计
一、试验目的
1.设计一个4位加法器。
2.体会用VHDL进行逻辑描述的优点。
3,熟悉层次化设计方法。
二、试验仪器与器材
1.EDA开发软件一套
2.微机一台
3.试验开发系统一台
4.打印机一台
5.其他器材和材料若干
三、试验说明
a3
本试验实现一个4位二进制数加法器,其功能框图如图所示。
试验时用高低电平开关作为输入,用数码管作为输出(或用发光二极管),管脚锁定可根据试验系统自行安排。
adder4
a2
a1
a0
b3
b2
b1
b0
ci
s3
s2
s1
s0
co
全加器功能框图
1.用硬件描述语言编写4位二进制数全加器的源文件;
2.对设计文件进行编译;
3.仿真设计文件;
4.编程下载并进行试验验证。
五、试验结果
4位二进制全加器的源文件:
entityadder4is
port(a,b:
instd_logic_vector(3downto0);
cin:
sum:
outstd_logic_vector(3downto0);
count:
endadder4;
architecturebehavioralofadder4is
process(a,b,cin)
variablevsum:
variablecarry:
std_logic;
begin
carry:
=cin;
foriin0to3loop
vsum(i):
=(a(i)xorb(i))xorcarry;
carry:
=(a(i)andb(i))or(carryand(a(i)orb(i)));
endloop;
sum<
=vsum;
count<
=carry;
endprocessp1;
endbehavioral;
实验4计数器设计
计数器是实际中最为常用的时序电路模块之一,本实验的主要目的是掌握使用HDL描述计数器类型模块的基本方法。
1.EDA开发软件一套
2.微机一台
3.实验开发系统一台
4.打印机一台
5.其他器材与材料若干
计数器是数字电路系统中最重要的功能模块之一,设计时可以采用原理图或HDL语言完成。
下载验证时的计数时钟可选连续或单脉冲,并用数码管显示计数值。
1.设计一个带有计数允许输入端、复位输入端和进位输入端的十进制计数器。
2.编制仿真测试文件,并进行功能仿真。
3.下载并验证计数器功能。
4.为上述设计建立元件符号。
5.在上述基础上分别设计按8421BCD码和二进制计数的100进制同步计数器。
十进制计数器程序:
libraryieee;
useieee.std_logic_unsigned.all;
entitycounter10is
port(en,reset,clk:
instd_logic;
q:
bufferstd_logic_vector(3downto0);
co:
outstd_logic);
endcounter10;
architecturebehavofcounter10is
process(clk,en)
begin
ifclk'
eventandclk='
1'
then
ifreset='
thenq<
="
0000"
;
elsifen='
ifq<
"
1001"
=q+'
elseq<
endif;
endif;
endif;
endprocess;
co<
='
whenq="
else'
0'
endbehav;
4_7译码器程序:
entitydecoder4_7is
port(insign:
instd_logic_vector(3downto0);
outsign:
outstd_logic_vector(6downto0));
enddecoder4_7;
architecturebehaveofdecoder4_7is
begin
process(insign)
begin
caseinsignis
when"
=>
outsign<
0000001"
when"
0001"
1001111"
0010"
0010010"
0011"
0000110"
0100"
1001100"
0101"
0100100"
0110"
1100000"
0111"
0001111"
1000"
0000000"
0001100"
whenOTHERS=>
1111111"
endcase;
endprocess;
endbehave;
100进制计数器原理图:
实验5巴克码发生器
1.实现一个在通信领域中经常使用的巴克码发生器。
2.掌握用大规模可编程逻辑器件实现时序电路的方法。
1.EDA开发软件一套
2.微机一台
3.实验开发系统一台
4.打印机一台
5.其它器件与材料若干
巴克码发生器在数据通信、雷达和遥控领域有相当广泛的应用。
它能自动产生周期性的序列码。
本实验要求产生的序列码信号为(1110010),可以用寄存器或同步时序电路实现。
为了能够通过实验开发系统验证试验结果,可以使用两个输入端,其中一个输出端同时输出巴克码,另一个输出端输出节拍。
巴克码发生器的功能框图如图所示。
1.写出全部设计文件。
2.编写测试向量,进行功能仿真。
3.下载并用实验板验证。
巴克码发生器程序:
useieee.std_logic_arith.all;
entitybackis
port(clk,reset:
dout1,dout2:
endback;
architecturebehaveofbackis
signalcount7:
integerrange0to6;
process(clk,reset)
ifreset='
thencount7<
=0;
elsifclk'
ifcount7<
6then
count7<
=count7+1;
elsecount7<
endif;
dout2<
=clk;
endprocess;
process(count7)
casecount7is
when0=>
dout1<
when1=>
when2=>
when3=>
when4=>
when5=>
when6=>
whenothers=>
endcase;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- EDA 实验 报告 四选一四位 比较 加法器 计数器 巴克 发生器