EDA实验报告四选一四位比较器加法器计数器巴克码发生器Word下载.docx
- 文档编号:19808263
- 上传时间:2023-01-10
- 格式:DOCX
- 页数:14
- 大小:263.91KB
EDA实验报告四选一四位比较器加法器计数器巴克码发生器Word下载.docx
《EDA实验报告四选一四位比较器加法器计数器巴克码发生器Word下载.docx》由会员分享,可在线阅读,更多相关《EDA实验报告四选一四位比较器加法器计数器巴克码发生器Word下载.docx(14页珍藏版)》请在冰豆网上搜索。
学会管脚锁定以及编程下载的方法等。
四、实验要求
1.完成4选1数据选择器的原理图输入并进行编译;
2.对设计的电路进行仿真验证;
3.编程下载并在实验开发系统上验证设计结果。
五、实验结果
4选1数据选择器的原理图:
仿真波形图:
管脚分配:
实验2四位比较器
1.设计四位二进制码比较器,并在实验开发系统上验证。
2.学习层次化设计方法。
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位二进制数加法器,其功能框图如图所示。
试验时用高低电平开关作为输入,用数码管作为输出(或用发光二极管),管脚锁定可根据试验系统自行安排。
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;
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)
ifclk'
eventandclk='
1'
then
ifreset='
thenq<
="
0000"
;
elsifen='
ifq<
"
1001"
=q+'
elseq<
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
process(insign)
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;
endbehave;
100进制计数器原理图:
实验5巴克码发生器
1.实现一个在通信领域中经常使用的巴克码发生器。
2.掌握用大规模可编程逻辑器件实现时序电路的方法。
5.其它器件与材料若干
巴克码发生器在数据通信、雷达和遥控领域有相当广泛的应用。
它能自动产生周期性的序列码。
本实验要求产生的序列码信号为(1110010),可以用寄存器或同步时序电路实现。
为了能够通过实验开发系统验证试验结果,可以使用两个输入端,其中一个输出端同时输出巴克码,另一个输出端输出节拍。
巴克码发生器的功能框图如图所示。
1.写出全部设计文件。
2.编写测试向量,进行功能仿真。
3.下载并用实验板验证。
巴克码发生器程序:
useieee.std_logic_arith.all;
entitybackis
port(clk,reset:
dout1,dout2:
endback;
architecturebehaveofbackis
signalcount7:
integerrange0to6;
process(clk,reset)
thencount7<
=0;
elsifclk'
ifcount7<
6then
count7<
=count7+1;
elsecount7<
dout2<
=clk;
process(count7)
begin
casecount7is
when0=>
dout1<
when1=>
when2=>
when3=>
when4=>
when5=>
when6=>
whenothers=>
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- EDA 实验 报告 四选一四位 比较 加法器 计数器 巴克 发生器