EDA课后答案适用于朱正伟《EDA技术及应用》文档格式.docx
- 文档编号:3778439
- 上传时间:2023-05-02
- 格式:DOCX
- 页数:44
- 大小:64.56KB
EDA课后答案适用于朱正伟《EDA技术及应用》文档格式.docx
《EDA课后答案适用于朱正伟《EDA技术及应用》文档格式.docx》由会员分享,可在线阅读,更多相关《EDA课后答案适用于朱正伟《EDA技术及应用》文档格式.docx(44页珍藏版)》请在冰点文库上搜索。
cnt:
=(others=>
'
);
elsifclk'
eventandclk='
1'
ifldn='
=data_in;
else
=cnt+1;
endif;
casecntis
when"
1111"
=>
carry<
='
;
whenothers=>
endcase;
qa<
=cnt(0);
qb<
=cnt
(1);
qc<
=cnt
(2);
qd<
=cnt(3);
endprocess;
enda;
1.2、设计一个通用双向数据缓冲器,要求缓冲器的输入和输出端口的位数可以由参数决定。
设计要求:
nbit数据输入端口a,b。
工作使能端口en=0时双向总线缓冲器选通,
Dir=1,则a=b;
反之b=a。
USEIEEE.STD_LOGIC_1164.ALL;
ENTITYbidirIS
generic(n:
integer:
=8);
PORT(a,b:
INOUTSTD_LOGIC_VECTOR(n-1DOWNTO0);
en,dir:
INSTD_LOGIC);
END;
ARCHITECTUREaOFbidirIS
BEGIN
PROCESS(en,dir)
BEGIN
ifen='
a<
=(OTHERS=>
Z'
b<
else
ifdir='
=a;
=b;
ENDPROCESS;
ENDa;
2.1、用VHDL语言编程实现十进制计数器,要求该计数器具有异步复位、同步预置功能。
libraryieee;
entitycnt_10_2is
clk,clr:
count:
architectureaofcnt_10_2is
signalcnt_10:
integerrange0to10;
process(clk,clr)
ifclr='
cnt_10<
=0;
=cnt_10+1;
ifcnt_10=9then
count<
enda;
2.2、设计实现一位全减器。
行为描述:
f_sub4
entityf_sub4is
a,b,cin:
INstd_logic;
diff,Cout:
OUTstd_logic
architectureaoff_sub4is
diff<
=axorbxorcin;
cout<
=(notaandb)or(notaandcin)or(bandcin);
数据流描述f_sub1
entityf_sub1is
a,b:
INstd_logic;
cin:
architectureaoff_sub1is
signals:
std_logic_vector(2downto0);
s<
=Cin&
a&
b;
process(a,b,cin)
casesis
000"
=>
cout<
001"
010"
011"
100"
101"
110"
111"
X'
数据流描述f_sub2
entityf_sub2is
architectureaoff_sub2is
signalc:
std_logic_vector(1downto0);
=c
(1);
=c(0);
c<
="
00"
whens="
"
11"
10"
01"
;
数据流描述f_sub3
entityf_sub3is
architectureaoff_sub3is
withsselect
whenothers;
3.1、阅读教材P181页,例[5-55]并回答下列问题:
(1)、该程序的功能是什么?
(2)、请写出该程序所有端口的功能描述。
3.2、试描述一个十进制——BCD码编码器,输出使能为低电平有效。
entitybin_bcdis
bin:
inintegerrange0to20;
--ena:
BCD_out:
outstd_logic_vector(7downto0)
architectureaofbin_bcdis
Binary_BCD:
Block
BCD_out<
="
00000000"
WHENBIN=0ELSE
"
00000001"
WHENBIN=1ELSE
00000010"
WHENBIN=2ELSE
00000011"
WHENBIN=3ELSE
00000100"
WHENBIN=4ELSE
00000101"
WHENBIN=5ELSE
00000110"
WHENBIN=6ELSE
00000111"
WHENBIN=7ELSE
00001000"
WHENBIN=8ELSE
00001001"
WHENBIN=9ELSE
00010000"
WHENBIN=10ELSE
00010001"
WHENBIN=11ELSE
00010010"
WHENBIN=12ELSE
00010011"
WHENBIN=13ELSE
00010100"
WHENBIN=14ELSE
00010101"
WHENBIN=15ELSE
00010110"
WHENBIN=16ELSE
00010111"
WHENBIN=17ELSE
00011000"
WHENBIN=18ELSE
00011001"
WHENBIN=19ELSE
00100000"
WHENBIN=20ELSE
endblock;
4.1、读教材P151页,例[5-32]的程序,并回答以下问题:
(1)请画出该程序所描述的电路结构图,要求标清楚每一个端口以及内部信号。
(串入/串出移位寄存器)
4.2、用VHDL语言设计一个能够实现任意整数进制的计数器。
--**********************************************
entityfreqdv_Nis
generic(N:
=6);
port(
clk:
instd_logic;
clk_div:
architectureaoffreqdv_Nis
signalcnt:
integerrange0toN;
process(clk)
ifrising_edge(clk)then
ifcnt=0then
cnt<
=N-1;
clk_div<
=cnt-1;
5.1、设计一个序列信号发生器,要求能够循环输出序列“01101001”。
entityRS_1is
cp,s,R:
q,nq:
architectureaofrs_1is
signals1,r1,q1,nq1:
std_logic;
s1<
=snandcp;
r1<
=rnandcp;
q1<
=s1nandnq1;
nq1<
=r1nandq1;
q<
=q1;
nq<
=nq1;
5.2、设计一个带复位端、置位端、CP下降沿触发的JK触发器。
entityjkffis
j,k,rst,clr:
INbit;
inbit;
outbit
architectureaofjkffis
signalq_s,nq_s:
bit;
process(j,k,rst,clr,clk)
ifrst='
q_s<
nq_s<
elsifj='
andk='
=notq_s;
=notnq_s;
null;
=q_s;
=nq_s;
endprocess;
6.1、用VHDL语句描述一个三态输出的双4选一的数据选择器,其地址信号共用,且各有一个低电平有效的使能端。
entitydual_mux_41is
a,b,c,d:
ena_n,enb_n:
s:
instd_logic_vector(1downto0);
outa,outb:
architectureaofdual_mux_41is
signalp,q:
std_logic_vector(2downto0);
p<
=ena_n&
s;
=enb_n&
withpselect
outa<
=awhen"
bwhen"
cwhen"
dwhen"
'
withqselect
outb<
6.2、用并行信号赋值语句实现3—8译码器。
LIBRARYIEEE;
USEIEEE.STD_LOGIC_1164.ALL;
ENTITYdecoder38IS
PORT(a,b,c,g1,g1a,a2b:
INSTD_LOGIC;
q:
OUTSTD_LOGIC_VECTOR(7DOWNTO0));
ENDdecoder38;
ARCHITECTUREbehave38OFdecoder38IS
SIGNALinda:
STD_LOGIC_VECTOR(2DOWNTO0);
inda<
=c&
PROCESS(indata,g1,g2a,g2b)
IF(g1='
ANDg2a='
ANDg2b='
)THEN
CASEindaIS
WHEN"
q<
11111110"
11111101"
11111011"
11110111"
WHEN"
11101111"
11011111"
10111111"
01111111"
WHENOTHERS=>
XXXXXXXX"
ENDCASE;
ELSE
11111111"
ENDIF;
ENDPROCESS;
ENDbehave38;
7.1、用并行信号赋值语句实现8选一数据选择器,要求有工作使能端。
ENTITYmux8IS
PORT(d0,d1,d2,d3,d4,d5,d6,d7:
INSTD_LOGIC_VECTOR(7DOWNTO0);
s0,s1,s2:
ENDmux8;
ARCHITECTUREbehaveOFmux8IS
SIGNALs:
s<
=s2&
s1&
s0;
WITHsSECLECT
d<
=d0WHEN"
d1WHEN"
d2WHEN"
d3WHEN"
d4WHEN"
d5WHEN"
d6WHEN"
d7WHEN"
‘X’WHENOTHERS;
ENDbehave;
7.2、用VHDL语言设计实现输出占空比为50%的1000分频器。
entitydiv_1000is
clk,clr:
div:
architectureaofdiv_1000is
signalq:
std_logic;
div<
=q;
variablecnt:
integerrange0to499;
elsifrising_edge(clk)then
ifcnt=499then
=notq;
8.1、设计一个一位全减器。
8.2、用元件例化语句描述一个四位的全减器。
entityf_sub4_1is
INSTD_LOGIC_VECTOR(3DOWNTO0);
diff:
outSTD_LOGIC_VECTOR(3DOWNTO0);
Cout:
architectureaoff_sub4_1is
componentf_sub1is
endcomponent;
STD_LOGIC_VECTOR(3DOWNTO0);
beg
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- EDA技术及应用 EDA 课后 答案 适用于 朱正伟 技术 应用