EDA实验报告四选一四位比较器加法器计数器巴克码发生器.docx

上传人:b****3 文档编号:2225142 上传时间:2022-10-28 格式:DOCX 页数:19 大小:381.55KB
下载 相关 举报
EDA实验报告四选一四位比较器加法器计数器巴克码发生器.docx_第1页
第1页 / 共19页
EDA实验报告四选一四位比较器加法器计数器巴克码发生器.docx_第2页
第2页 / 共19页
EDA实验报告四选一四位比较器加法器计数器巴克码发生器.docx_第3页
第3页 / 共19页
EDA实验报告四选一四位比较器加法器计数器巴克码发生器.docx_第4页
第4页 / 共19页
EDA实验报告四选一四位比较器加法器计数器巴克码发生器.docx_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

EDA实验报告四选一四位比较器加法器计数器巴克码发生器.docx

《EDA实验报告四选一四位比较器加法器计数器巴克码发生器.docx》由会员分享,可在线阅读,更多相关《EDA实验报告四选一四位比较器加法器计数器巴克码发生器.docx(19页珍藏版)》请在冰豆网上搜索。

EDA实验报告四选一四位比较器加法器计数器巴克码发生器.docx

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位二进制数加法器,其功能框图如图所示。

试验时用高低电平开关作为输入,用数码管作为输出(或用发光二极管),管脚锁定可根据试验系统自行安排。

adder4

a2

a1

a0

b3

b2

b1

b0

ci

s3

s2

s1

s0

co

全加器功能框图

四、实验要求

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)

variablecnt:

integerrange0to10:

=0;

begin

if(reset='0')then

if(clk'eventandclk='1')then

if(en='1')then

cnt:

=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

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 历史学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1