选多路选择器文档格式.docx

上传人:b****6 文档编号:17719266 上传时间:2022-12-08 格式:DOCX 页数:9 大小:162.16KB
下载 相关 举报
选多路选择器文档格式.docx_第1页
第1页 / 共9页
选多路选择器文档格式.docx_第2页
第2页 / 共9页
选多路选择器文档格式.docx_第3页
第3页 / 共9页
选多路选择器文档格式.docx_第4页
第4页 / 共9页
选多路选择器文档格式.docx_第5页
第5页 / 共9页
点击查看更多>>
下载资源
资源描述

选多路选择器文档格式.docx

《选多路选择器文档格式.docx》由会员分享,可在线阅读,更多相关《选多路选择器文档格式.docx(9页珍藏版)》请在冰豆网上搜索。

选多路选择器文档格式.docx

port(

a,b,c,d,s0,s1:

instd_logic。

y:

outstd_logic>

endentitymux41a。

architectureoneofmux41ais

begin

y<

=awhens0='

0'

ands1='

else

bwhens0='

1'

cwhens0='

d。

endarchitectureone。

备注

以上是when-else语句设计的4选1多路选择器的vhdl描述。

程序中应该注意的有以下几点

A.一:

实体的命名要和工程名相同,并且不能是中文的或者以数字开头;

B.二:

when-else语句具有最高赋值优先级;

b>

.when-else语句设计的4选1多路选择器的RTL图

图<

1)when-else语句设计的4选1多路选择器的RTL图

c>

.when-else语句设计的4选1多路选择器的时序仿真波形图

2)when-else语句设计的4选1多路选择器的时序仿真波形图

d>

.when-else语句设计的4选1多路选择器功能仿真波形图

3)when-else语句设计的4选1多路选择器功能仿真波形图

2.if-then语句设计的4选1多路选择器

entitymux41bis

endentitymux41b。

architectureoneofmux41bis

process(a,b,c,d,s0,s1>

begin

ifs0='

theny<

=a。

endif。

=b。

=c。

ifs0='

=d。

endprocess。

备注:

以上是if—then语句设计的4选1多路选择器的vhdl描述。

值得注意以下几点:

A.程序开头应该包含std_logic_1164.all这个程序库包添加进去<

由于在定义端口是端口号的类型为std_logic);

p1EanqFDPw

B.进程语句应该将能够导致本进程启动的信号加到进程后的敏感信号表中,这能才能使得进程更加具有一般意义;

C.每一条的if-then语句后都应该以endif结束;

.if-then语句设计的4选1多路选择器的RTL图

4)if-then语句设计的4选1多路选择器的RTL图

`

.if-then语句设计的4选1多路选择器的时序仿真波形图

5)if-then语句设计的4选1多路选择器的时序仿真波形图

.if-then语句设计的4选1多路选择器的功能仿真波形图

6)if-then语句设计的4选1多路选择器的功能仿真波形图

3.case语句设计的4选1多路选择器

.利用case语句的vhdl程序

entitymux41dis

y:

endentitymux41d。

architectureoneofmux41dis

signals:

std_logic_vector(1downto0>

s<

=s0&

s1。

process(s>

casesis

when"

00"

=>

10"

01"

when"

11"

whenothers=>

null。

endcase。

endprocess。

.case语句设计的4选1多路选择器的RTL图

7)case语句设计的4选1多路选择器的RTL图

.case语句设计的4选1多路选择器的时序仿真图

8)case语句设计的4选1多路选择器的时序仿真图

.case语句设计的4选1多路选择器的功能仿真图

9)case语句设计的4选1多路选择器的功能仿真图

实验总结

一、通过上面的三种不同vhdl语言的描述的4选1多路选择器的仿真结果可以看出,在相同的输入信号的条件下,实验的结果是相同的。

DXDiTa9E3d

二、对比与功能仿真与时序仿真,我们可以看出功能仿真是一种理想的实验结果,而时序仿真却存在这毛刺现象。

这就是逻辑电路存在的竞争冒险等原因引起的毛刺现象。

RTCrpUDGiT

三、对比三种不同vhdl语言的描述,其RTl图也存在这不同。

由于if—then采用了进程语句,所以RTl图与when—else语句描述时的RTl图有逻辑上的一点不同,但是大致框架相似。

而case语句描述的4选1多路选择器的RTL图就存在这很大的不同。

5PCzVD7HxA

四、单从RTL视图来看,二者综合后的结果是有明显区别的。

If…else趋向于有优先级的结构,而case则是并行的结构。

jLBHrnAILg

但是我们可以从以下两个方面来对比if-then描述和case描述;

◆它们所占用的资源

Case结构的资源占用

Totallogicelements2/10,570(<

1%>

--Combinationalwithnoregister2

--Registeronly0

--Combinationalwitharegister0

LogicelementusagebynumberofLUTinputs

--4inputfunctions2

--3inputfunctions0

--2inputfunctions0

--1inputfunctions0

--0inputfunctions0

Logicelementsbymode

--normalmode2

--arithmeticmode0

--qfbkmode0

--registercascademode0

--synchronousclear/loadmode0

--asynchronousclear/loadmode0

Totalregisters0/12,506(0%>

I/Opins7/336(2%>

Maximumfan-outnodes0

Maximumfan-out2

Totalfan-out9

Averagefan-out0.90

If-then结构的资源占用

xHAQX74J0X

从上面可以看出,二者资源占用的情况基本是完全一样。

◆再看他们的TechnologyMapViewer

If-then结构的TechnologyMapViewer

10)If-then结构的TechnologyMapViewer

Case结构的TechnologyMapViewer

11)Case结构的TechnologyMapViewer

上面两者完全一致,所以我们可以看出,虽然RTL图两者是不同的,但是他们的实现都是并行的,而且完全一致。

LDAYtRyKfE

通过查阅相关资料知道,这样的结果是由于软件升级的同时,if-then和case语句机构的优化也随着软件升级,已经不再简单的交给用户的代码来决定,而是默认优化了。

Zzz6ZB2Ltk

<

本实验的结果是本人在quartusII9.1上运行得出的结果。

申明:

所有资料为本人收集整理,仅限个人学习使用,勿做商业用途。

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

当前位置:首页 > 考试认证 > 司法考试

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

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