vhdl实验报告Word下载.docx

上传人:b****1 文档编号:13251620 上传时间:2022-10-08 格式:DOCX 页数:13 大小:92.96KB
下载 相关 举报
vhdl实验报告Word下载.docx_第1页
第1页 / 共13页
vhdl实验报告Word下载.docx_第2页
第2页 / 共13页
vhdl实验报告Word下载.docx_第3页
第3页 / 共13页
vhdl实验报告Word下载.docx_第4页
第4页 / 共13页
vhdl实验报告Word下载.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

vhdl实验报告Word下载.docx

《vhdl实验报告Word下载.docx》由会员分享,可在线阅读,更多相关《vhdl实验报告Word下载.docx(13页珍藏版)》请在冰豆网上搜索。

vhdl实验报告Word下载.docx

--useUNISIM.Vponents.all;

entityls74138is

Port(g1:

instd_logic;

g2:

inp:

instd_logic_vector(2downto0);

y:

outstd_logic_vector(7downto0));

endls74138;

architectureBehavioralofls74138is

begin

process(g1,g2,inp)

if((g1andg2)='

1'

)then

caseinpis

when"

000"

=>

y<

="

00000001"

;

001"

00000010"

010"

00000100"

011"

00001000"

100"

00010000"

101"

00100000"

110"

01000000"

111"

10000000"

whenothers=>

00000000"

endcase;

else

y<

endif;

endprocess;

endBehavioral;

波形文件:

生成元器件及连接电路

思考:

有程序可以看出,定义了三个输入端,一个输出端。

g1,g2为使能输入端,当全为一时,开场执行宽度为三的输入inp,并听过程序实现三八译码器的功能。

通过实验,分别用了原理图和vhdl语言两种方式进展调试。

两种方法各有优缺点。

对于原理图而言,可以清晰直观的看出电路各局部的构造,但却只能在原有的根底上进展而无法随意修改元器件功能;

vhdl语言那么可以按照实际的需求进展编写程序,从而可以实现开发者想要实现的功能。

实验二组合逻辑电路的VHDL语言实现

实验内容:

1.用VHDL语言实现优先编码器的设计并实现功能仿真

2.用VHDL语言实现四选一选择器的设计并实现功能仿真。

1.优先编码器源程序

LIBRARYIEEE;

USEIEEE.STD_LOGIC_1164.ALL;

ENTITYpriorityencoderIS

PORT(input:

INSTD_LOGIC_VECTOR(7DOWNTO0);

y:

OUTSTD_LOGIC_VECTOR(2DOWNTO0));

ENDpriorityencoder;

ARCHITECTURErtlOFpriorityencoderIS

BEGIN

PROCESS(input)

BEGIN

IF(input(0)='

0'

)THEN

ELSIF(input

(1)='

ELSIF(input

(2)='

ELSIF(input(3)='

ELSIF(input(4)='

ELSIF(input(5)='

ELSIF(input(6)='

ELSE

ENDIF;

ENDPROCESS;

ENDrtl;

波形图

原理图:

2.四选一选择器源程序:

ENTITYmux4IS

INSTD_LOGIC_VECTOR(3DOWNTO0);

a,b:

INSTD_LOGIC;

OUTSTD_LOGIC);

ENDmux4;

ARCHITECTURErt1OFmux4IS

SIGNALse1:

STD_LOGIC_VECTOR(1DOWNTO0);

se1<

=b&

a;

PROCESS(input,se1)

IF(se1="

00"

)THEN

=input(0);

ELSIF(se1="

01"

=input

(1);

10"

=input

(2);

=input(3);

ENDrt1;

原理图

1.优先编码器:

通过程序定义了一个八位的输入端和一个三位的输入端。

首先是通过八位的

输入端的最低位开场判断,如果是0,那么输出为:

111;

如果是1,那么判断第

二位,以此类推,直到最后一位,如果都不满足,那么输出:

000。

2.四选一选择器:

一共有三个输入,其中一个是宽度为四的可供选择的输入端,将一个四位宽度的二进制码赋值给input端,通过a与b的输入选择input的输出。

如ab为00时,那么输出为:

input(0),以此类推。

实验三时序逻辑电路的VHDL语言实验

〔3选1〕

(一)、设计一个60进制的计数器

(二)设计一带使能的同步复位清零的递增8位二进制计数器

(三)设计一带使能的异步清零复位的递增8位二进制计数器

六十进制〔异步清零〕源程序:

libraryieee;

useieee.std_logic_1164.all;

useieee.std_logic_unsigned.all;

entityycounteris

port(clk,clear,enable:

instd_logic;

--ld:

--d:

instd_logic_vector(7downto0);

qk:

outstd_logic_vector(7downto0));

endycounter;

architecturea_ycounterofycounteris

PROCESS(clk)

VARIABLEt:

std_logic_vector(7downto0);

IF(clk'

EVENTANDclk='

IF(clear='

t:

="

--ELSE

--IF(ld='

--t:

=d;

IF(enable='

=t+"

if(t="

00111100"

)then

--ENDIF;

qk<

=t;

enda_ycounter;

波形图:

六十进制〔同步置数〕源程序:

ld:

d:

IF(ld='

00111011"

Ld:

=1;

六十进制计数器的实现,1〕异步清零程序的实现:

通过判断最后一个状态,因为该计数器位六十进制,所以最后一个状态为59,用二进制码表示为:

"

,即当计数器的状态为六十,即"

状态时,计数器清零,输出00000000。

2〕同步置数程序的实现:

当计数器到达状态,当计数器到达状态"

时,ld被赋值为0,执行置数功能,将d的值赋值给y,计数器从零开场计数。

实验四VHDL层次化设计方法实验

设计一个8位移位存放器。

各个D触发器模块采用VHDL语言编写,分别用原理图、VHDL语言元件例化语句和生成语句的方法实现8位移位存放器的设计。

D触发器源程序:

libraryIEEE;

entityDchuis

Port(CLK:

inST

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

当前位置:首页 > 求职职场 > 职业规划

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

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