EDA技术实用教程课后答案潘松黄继业Word格式文档下载.docx

上传人:b****1 文档编号:15334650 上传时间:2022-10-29 格式:DOCX 页数:27 大小:70.59KB
下载 相关 举报
EDA技术实用教程课后答案潘松黄继业Word格式文档下载.docx_第1页
第1页 / 共27页
EDA技术实用教程课后答案潘松黄继业Word格式文档下载.docx_第2页
第2页 / 共27页
EDA技术实用教程课后答案潘松黄继业Word格式文档下载.docx_第3页
第3页 / 共27页
EDA技术实用教程课后答案潘松黄继业Word格式文档下载.docx_第4页
第4页 / 共27页
EDA技术实用教程课后答案潘松黄继业Word格式文档下载.docx_第5页
第5页 / 共27页
点击查看更多>>
下载资源
资源描述

EDA技术实用教程课后答案潘松黄继业Word格式文档下载.docx

《EDA技术实用教程课后答案潘松黄继业Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《EDA技术实用教程课后答案潘松黄继业Word格式文档下载.docx(27页珍藏版)》请在冰豆网上搜索。

EDA技术实用教程课后答案潘松黄继业Word格式文档下载.docx

=S0&

S1&

S2&

S3;

y<

=AWHENS0_3="

0111"

ELSE

BWHENS0_3="

1011"

CWHENS0_3="

1101"

DWHENS0_3="

1110"

'

Z'

;

ENDARCHITECTUREone;

 

3-4给出1位全减器的VHDL描述;

最终实现8位全减器。

要求:

1)首先设计1位半减器,然后用例化语句将它们连接起来,图4-20中h_suber是半减器,diff是输出差(diff=x-y),s_out是借位输出(s_out=1,x<

y),sub_in是借位输入。

c

yin

xin

diff_out

b

a

图3-191位全加器

--解(1.1):

实现1位半减器h_suber(diff=x-y;

s_out=1,x<

y)

ENTITYh_suberIS

PORT(x,y:

diff,s_out:

ENDENTITYh_suber;

ARCHITECTUREhs1OFh_suberIS

Diff<

=xXOR(NOTy);

s_out<

=(NOTx)ANDy;

ENDARCHITECTUREhs1;

--解(1.2):

采用例化实现图4-20的1位全减器

--1位二进制全减器顺层设计描述

ENTITYf_suberIS

PORT(xin,yin,sub_in:

sub_out,diff_out:

ENDENTITYf_suber;

ARCHITECTUREfs1OFf_suberIS

COMPONENTh_suber--调用半减器声明语句

PORT(x,y:

ENDCOMPONENT;

SIGNALa,b,c:

STD_LOGIC;

--定义1个信号作为内部的连接线。

u1:

h_suberPORTMAP(x=>

xin,y=>

yin,diff=>

a,s_out=>

b);

u2:

a,y=>

sub_in,diff=>

diff_out,s_out=>

c);

sub_out<

=cORb;

ENDARCHITECTUREfs1;

(2)以1位全减器为基本硬件,构成串行借位的8位减法器,要求用例化语句来完成此项设计(减法运算是x-y-sun_in=difft)。

xinsub_out

yinu0

sub_indiff_out

x0

y0

sin

diff0

yinu1

x1

y1

diff1

yinu7

x7

y7

sout

diff7

……………….

串行借位的8位减法器

a0

a1

a6

--解

(2):

采用例化方法,以1位全减器为基本硬件;

实现串行借位的8位减法器(上图所示)。

ENTITYsuber_8IS

PORT(x0,x1,x2,x3,x4,x5,x6,x7:

INSTD_LOGIC;

y0,y1,y2,y3,y4,y5,y6,y7,sin:

diff0,diff1,diff2,diff3:

OUTSTD_LOGIC;

diff4,diff5,diff6,diff7,sout:

ENDENTITYsuber_8;

ARCHITECTUREs8OFsuber_8IS

COMPONENTf_suber--调用全减器声明语句

SIGNALa0,a1,a2,a3,a4,a5,a6:

u0:

f_suberPORTMAP(xin=>

x0,yin=>

y0,diff_out=>

diff0,sub_in=>

sin,sub_out=>

a0);

u1:

x1,yin=>

y1,diff_out=>

diff1,sub_in=>

a0,sub_out=>

a1);

u2:

x2,yin=>

y2,diff_out=>

diff2,sub_in=>

a1,sub_out=>

a2);

u3:

x3,yin=>

y3,diff_out=>

diff3,sub_in=>

a2,sub_out=>

a3);

u4:

x4,yin=>

y4,diff_out=>

diff4,sub_in=>

a3,sub_out=>

a4);

u5:

x5,yin=>

y5,diff_out=>

diff5,sub_in=>

a4,sub_out=>

a5);

u6:

x6,yin=>

y6,diff_out=>

diff6,sub_in=>

a5,sub_out=>

a6);

u7:

x7,yin=>

y7,diff_out=>

diff7,sub_in=>

a6,sub_out=>

sout);

ENDARCHITECTUREs8;

3-8设计一个求补码的程序,输入数据是一个有符号的8位二进制(原码)数。

5-9设计一个求补码的程序,输入数据是一个有符号的8位二进制数。

USEIEEE.STD_LOGIC_UNSIGNED.ALL;

ENTITYorg_patchIS

PORT(org_data:

INSTD_LOGIC_VECTOR(7DOWNTO0);

--原码输入

patch_data:

OUTSTD_LOGIC_VECTOR(7DOWNTO0));

--补码输出

ENDorg_patch;

ARCHITECTUREBHVOForg_patchIS

PROCESS(org_data)

IF(org_data(7)='

0'

)THEN

patch_data<

=org_data;

--org_data>

=0,补码=原码。

else

=org_data(7)&

(notorg_data(6DOWNTO0))+1;

--org_data<

0,补码=|原码|取反+1。

ENDIF;

ENDPROCESS;

ENDBHV;

3—10

libraryieee;

useieee.std_logic_1164.all;

useieee.std_logic_unsigned.all;

entityaddis

port(a:

instd_logic_vector(7downto0);

b:

ci:

instd_logic;

co:

outstd_logic;

count:

outstd_logic_vector(7downto0));

endadd;

architecturebhvofaddis

begin

process(a,b,ci)

variabledata:

std_logic_vector(1downto0);

variablec:

std_logic;

c:

=ci;

fornin0to7loop

data:

=('

&

a(n))+('

b(n))+('

count(n)<

=data(0);

=data

(1);

endloop;

co<

=c;

endprocess;

endbhv;

3-14用循环语句设计一个7人投票表决器,及一个4位4输入最大数值检测电路。

5-7用循环语句设计一个7人投票表决器,及一个4位4输出最大数值检测电路。

ENTITYvote_7IS

PORT(DIN:

INSTD_LOGIC_VECTOR(6DOWNTO0);

--7位表决输入(1:

同意,0:

不同意)

G_4:

--超过半数指示

CNTH:

OUTSTD_LOGIC_VECTOR(2DOWNTO0));

--表决结果统计数

ENDvote_7;

ARCHITECTUREBHVOFvote_7IS

PROCESS(DIN)

VARIABLEQ:

STD_LOGIC_VECTOR(2DOWNTO0);

Q:

="

000"

FORnIN0TO6LOOP--n是LOOP的循环变量

IF(DIN(n)='

1'

)THENQ:

=Q+1;

ENDLOOP;

CNTH<

=Q;

IFQ>

=4THENG_4<

='

ELSEG_4<

5-7用VHDL设计一个功能类似74LS160的计数器。

3-10用VHDL设计一个功能类似74LS160(异步复位和同步使能加载、计数的十进制加法计数器)的计数器。

LIBRARYIEEE;

USEIEEE.STD_LOGIC_1164.ALL;

USEIEE

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

当前位置:首页 > PPT模板 > 卡通动漫

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

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