EDA实验报告四选一四位比较器加法器计数器巴克码发生器.docx
- 文档编号:28357074
- 上传时间:2023-07-10
- 格式:DOCX
- 页数:21
- 大小:452.89KB
EDA实验报告四选一四位比较器加法器计数器巴克码发生器.docx
《EDA实验报告四选一四位比较器加法器计数器巴克码发生器.docx》由会员分享,可在线阅读,更多相关《EDA实验报告四选一四位比较器加法器计数器巴克码发生器.docx(21页珍藏版)》请在冰豆网上搜索。
EDA实验报告四选一四位比较器加法器计数器巴克码发生器
EDA实验报告
实验14选1数据选择器的设计
一、实验目的
1.学习EDA软件的基本操作。
2.学习使用原理图进行设计输入。
3.初步掌握器件设计输入、编译、仿真和编程的过程。
4.学习实验开发系统的使用方法。
二、实验仪器与器材
1.EDA开发软件一套
2.微机一台
3.实验开发系统一台
4.打印机一台
三、实验说明
本实验通过使用基本门电路完成4选1数据选择器的设计,初步掌握EDA设计方法中的设计输入、编译、综合、仿真和编程的过程。
实验结果可通过实验开发系统验证,在实验开发系统上选择高、低电平开关作为输入,选择发光二极管显示输出电平值。
本实验使用QuartusII软件作为设计工具,要求熟悉QuartusII软件的使用环境和基本操作,如设计输入、编译和适配的过程等。
实验中的设计文件要求用原理图方法输入,实验时,注意原理图编辑器的使用方法。
例如,元件、连线、网络名的放置方法和放大、缩小、存盘、退出等命令的使用。
学会管脚锁定以及编程下载的方法等。
四、实验要求
1.完成4选1数据选择器的原理图输入并进行编译;
2.对设计的电路进行仿真验证;
3.编程下载并在实验开发系统上验证设计结果。
五、实验结果
4选1数据选择器的原理图:
仿真波形图:
管脚分配:
实验2四位比较器
一、实验目的
1.设计四位二进制码比较器,并在实验开发系统上验证。
2.学习层次化设计方法。
二、实验仪器与器材
1.EDA开发软件一套
2.微机一台
3.实验开发系统一台
4.打印机一台
5.其它器件与材料若干
三、实验说明
本实验实现两个4位二进制码的比较器,输入为两个4位二进制码
和
,输出为M(A=B),G(A>B)和L(A
用高低电平开关作为输入,发光二极管作为输出,具体管脚安排可根据试验系统的实际情况自行定义。
四、实验要求
1.用硬件描述语言编写四位二进制码
比较器的源文件;
2.对设计进行仿真验证;
3.编程下载并在实验开发系统上进行
硬件验证。
四位比较器功能框图
五、实验结果
四位比较器VHDL源文件:
libraryieee;
useieee.std_logic_1164.all;
useieee.std_logic_arith.all;
useieee.std_logic_unsigned.all;
entitycomp4is
port(A:
instd_logic_vector(3downto0);
B:
instd_logic_vector(3downto0);
M,G,L:
outstd_logic);
endcomp4;
architecturebehaveofcomp4is
begin
p1:
process(A,B)
begin
if(A>B)thenG<='1';M<='0';L<='0';
elsif(A
elsif(A=B)thenG<='0';M<='1';L<='0';
elseG<='1';M<='1';L<='1';
endif;
endprocessp1;
endbehave;
仿真波形图:
管脚分配:
试验3并行加法器设计
一、试验目的
1.设计一个4位加法器。
2.体会用VHDL进行逻辑描述的优点。
3,熟悉层次化设计方法。
二、试验仪器与器材
1.EDA开发软件一套
2.微机一台
3.试验开发系统一台
4.打印机一台
5.其他器材和材料若干
三、试验说明
a3
本试验实现一个4位二进制数加法器,其功能框图如图所示。
试验时用高低电平开关作为输入,用数码管作为输出(或用发光二极管),管脚锁定可根据试验系统自行安排。
四、实验要求
1.用硬件描述语言编写4位二进制数全加器的源文件;
2.对设计文件进行编译;
3.仿真设计文件;
4.编程下载并进行试验验证。
五、试验结果
4位二进制全加器的源文件:
libraryieee;
useieee.std_logic_1164.all;
useieee.std_logic_arith.all;
useieee.std_logic_unsigned.all;
entityadd4is
port(a:
instd_logic_vector(3downto0);
b:
instd_logic_vector(3downto0);
ci:
instd_logic;
s:
outstd_logic_vector(3downto0);
co:
outstd_logic);
endadd4;
architecturebehaveofadd4is
signalaa,bb,sum:
std_logic_vector(4downto0);
begin
aa<='0'&a;
bb<='0'&b;
sum<=aa+bb+ci;
s<=sum(3downto0);
co<=sum(4);
endbehave;
仿真波形图:
管脚分配:
实验4计数器设计
一、实验目的
计数器是实际中最为常用的时序电路模块之一,本实验的主要目的是掌握使用HDL描述计数器类型模块的基本方法。
二、实验仪器与器材
1.EDA开发软件一套
2.微机一台
3.实验开发系统一台
4.打印机一台
5.其他器材与材料若干
三、实验说明
计数器是数字电路系统中最重要的功能模块之一,设计时可以采用原理图或HDL语言完成。
下载验证时的计数时钟可选连续或单脉冲,并用数码管显示计数值。
四、实验要求
1.设计一个带有计数允许输入端、复位输入端和进位输入端的十进制计数器。
2.编制仿真测试文件,并进行功能仿真。
3.下载并验证计数器功能。
4.为上述设计建立元件符号。
5.在上述基础上分别设计按8421BCD码和二进制计数的100进制同步计数器。
五、实验结果
十进制计数器程序:
libraryieee;
useieee.std_logic_1164.all;
useieee.std_logic_unsigned.all;
entitycounter10is
port(
reset,clk,en:
inbit;
co:
outbit;
q:
outstd_logic_vector(0to3)
);
endentitycounter10;
architecturear_counter10ofcounter10is
signalcq:
std_logic_vector(0to3);
begin
p1:
process(clk,en,reset)
variablet:
integerrange0to10:
=0;
begin
if(reset='0')then
if(clk'eventandclk='1')then
if(en='1')then
t:
=cnt+1;
cq<=cq+1;
if(cnt=10)then
co<='1';
cnt:
=0;
cq<="0000";
else
co<='0';
endif;
endif;
endif;
else
cnt:
=0;
co<='0';
cq<="0000";
endif;
q<=cq;
endprocessp1;
endarchitecturear_counter10;
仿真波形图:
管脚分配:
4_7译码器程序:
libraryieee;
useieee.std_logic_1164.all;
useieee.std_logic_arith.all;
useieee.std_logic_unsigned.all;
entityBCDis
port(a:
instd_logic_vector(3downto0);
b:
outstd_logic_vector(6downto0));
endBCD;
architecturertofBCDis
signalindata:
std_logic_vector(3downto0);
begin
indata<=a;
process(indata)
begin
caseindatais
when"0000"=>b<="1000000";
when"0001"=>b<="1111001";
when"0010"=>b<="0100100";
when"0011"=>b<="0110000";
when"0100"=>b<="0011001";
when"0101"=>b<="0010010";
when"0110"=>b<="0000010";
when"0111"=>b<="1111000";
when"1000"=>b<="0000000";
when"1001"=>b<="0010000";
whenothers=>b<="1111111";
endcase;
endprocess;
endrt;
BCD引脚分配
BCD仿真波形
分频器程序
libraryieee;
useieee.std_logic_1164.all;
useieee.std_logic_unsigned.all;
entityfenpinqiis
port(
clk:
inbit;
oclk:
outbit
);
endentityfenpinqi;
architecturear_fpqoffenpinqiis
signalinclk:
bit;
signalnumber:
integerrange0to30000000:
=0;
begin
p0:
process(clk)
begin
if(clk'eventandclk='1')then
if(number=24999999)then
number<=0;
inclk<=notinclk;
else
number<=number+1;
inclk<=inclk;
endif;
endif;
oclk<=inclk;
endprocessp0;
endarchitecturear_fpq;
10进制计数器原理图
100进制计数器原理图:
仿真波形图:
管脚分配:
100进制计数器的另一种做法:
100进制计数器程序:
libraryieee;
useieee.std_logic_1164.all;
useieee.std_logic_unsigned.all;
entitycounter100is
port(
reset,clk,en:
inbit;
co:
bufferbit;
coo:
outbit;
qb:
outstd_logic_vector(0to3);
qa:
outstd_logic_vector(0to3)
);
endentitycounter100;
architecturear_counterofcounter100is
signalbq:
std_logic_vector(0to3);
signalcq:
std_logic_vector(0to3);
begin
p1:
process(clk,en,reset)
variablet:
integerrange0to10:
=0;
begin
if(reset='0')then
if(clk'eventandclk='1')then
if(en='1')then
t:
=cnt+1;
cq<=cq+1;
if(cnt=10)then
co<='1';
cnt:
=0;
cq<="0000";
else
co<='0';
endif;
endif;
endif;
else
cnt:
=0;
co<='0';
cq<="0000";
endif;
qa<=cq;
endprocessp1;
p3:
process(co)
variablet1:
integerrange0to10:
=0;
begin
if(reset='0')then
if(co='1')then
t1:
=cnt1+1;
bq<=bq+1;
if(cnt1=10)then
coo<='1';
cnt1:
=0;
bq<="0000";
else
coo<='0';
endif;
endif;
else
cnt1:
=0;
coo<='0';
bq<="0000";
endif;
qb<=bq;
endprocessp3;
endarchitecturear_counter;
100进制计数器原理图
实验5巴克码发生器
一、实验目的
1.实现一个在通信领域中经常使用的巴克码发生器。
2.掌握用大规模可编程逻辑器件实现时序电路的方法。
二、实验仪器与器材
1.EDA开发软件一套
2.微机一台
3.实验开发系统一台
4.打印机一台
5.其它器件与材料若干
三、实验说明
巴克码发生器在数据通信、雷达和遥控领域有相当广泛的应用。
它能自动产生周期性的序列码。
本实验要求产生的序列码信号为(1110010),可以用寄存器或同步时序电路实现。
为了能够通过实验开发系统验证试验结果,可以使用两个输入端,其中一个输出端同时输出巴克码,另一个输出端输出节拍。
巴克码发生器的功能框图如图所示。
四、实验要求
1.写出全部设计文件。
2.编写测试向量,进行功能仿真。
3.下载并用实验板验证。
五、实验结果
巴克码发生器程序:
libraryieee;
useieee.std_logic_1164.all;
useieee.std_logic_unsigned.all;
entityBAKEis
port(
reset,clk:
inbit;
bakemaout:
outbit
);
endentityBAKE;
architecturear_bakemaofBAKEis
signalcon:
integerrange0to8:
=0;
begin
process(clk,reset)
begin
if(reset='1')then
con<=0;
elsif(clk'eventandclk='1')then
if(con<7)then
con<=con+1;
else
con<=1;
endif;
endif;
endprocess;
process(con)
begin
caseconis
when0=>bakemaout<='0';
when1=>bakemaout<='1';
when2=>bakemaout<='1';
when3=>bakemaout<='1';
when4=>bakemaout<='0';
when5=>bakemaout<='0';
when6=>bakemaout<='1';
when7=>bakemaout<='0';
whenothers=>null;
endcase;
endprocess;
endarchitecturear_bakema;
巴克码原理图
仿真波形图:
管脚分配:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- EDA 实验 报告 四选一四位 比较 加法器 计数器 巴克 发生器