数字系统设计与PLD应用答案.docx
- 文档编号:29102569
- 上传时间:2023-07-20
- 格式:DOCX
- 页数:14
- 大小:191.21KB
数字系统设计与PLD应用答案.docx
《数字系统设计与PLD应用答案.docx》由会员分享,可在线阅读,更多相关《数字系统设计与PLD应用答案.docx(14页珍藏版)》请在冰豆网上搜索。
数字系统设计与PLD应用答案
1.7、
(1)算法模型
(2)数据处理单元(框图)
2.10、
2.17、
流水线操作结构:
TS1=18*100+(256-1)*100=2.73*104(ns)
顺序算法结构:
TS2=256*18*100=4.608*105(ns)
显然流水线操作时间短。
(若系统输入数据流的待处理数据元素为m个,每一元素运算共计L段,每段历经时间为Δ,则流水线操作算法结构共需运算时间为:
T=L·Δ+(m-1)Δ
而顺序算法(或并行算法)结构所需运行时间为:
m·L·Δ)
2.30、
(1).DFF状态编码
A—000B—001C—010D—011E—100
输出:
(2)“一对一”状态分配
次态表:
NS
PS
输入条件
A
A
Z
C
X
E
X
B
A
C
B
C
D
B
Z
E
D
-
E
激励方程:
输出:
3.2、试给出一位全减器的算法描述和数据流描述
真值表:
x
y
bi
d
bo
0
0
0
0
0
0
0
1
1
1
0
1
0
1
1
0
1
1
0
1
1
0
0
1
0
1
0
1
0
0
1
1
0
0
0
1
1
1
1
1
x—被减数y—减数bi—低位向本位的借位d—差bo—本位向高位的借位
LIBRARYIEEE;
USEIEEE.Std_Logic_1164.ALL;
ENTITYfull_subIS
PORT(x,y,bi:
INStd_Logic;
d,bo:
OUTStd_Logic);
ENDfull_sub;
算法描述:
ARICHITECTUREalg_fsOFfull_subIS
BIGIN
PROCESS(x,y,bi)
BEGIN
IF(x=‘0’ANDy=‘0’ANDbi=‘0’ORx=‘1’ANDy=‘0’
ANDbi=‘1’ORx=‘1’ANDy=‘1’ANDbi=‘0’)THEN
bo<=‘0';d<=‘0’;
ELSIF(x=‘1’ANDy=‘0’ANDbi=‘0’)THEN
bo<=‘0';d<=‘1’;
ELSIF(x=‘0’ANDy=‘1’ANDbi=‘1’)THEN
bo<=‘1';d<=‘0’;
ELSE
bo<=‘1';d<=‘1’;
ENDIF;
ENDPROCESSc1;
ENDalg_fs;
数据流描述:
(d=x⊕y⊕bibo=x’y+x’bi+ybi)
ARICHITECTUREdataflow_fsOFfull_subIS
BEGIN
d<=xXORyXORbi;
bo<=(NOTxANDy)OR(NOTxANDbi)
OR(yANDbi);
ENDdataflow_ha;
3.4、
(1).十进制-BCD码编码器,输入、输出均为低电平有效。
LIBRARYIEEE;
USEIEEE.Std_Logic_1164.ALL;
ENTITYencoderIS
PORT(a:
INStd_Logic_Vector(9DOWNTO0)
b:
OUTStd_Logic_Vector(3DOWNTO0));
ENDencoder;
ARCHITECTUREbeh_encoderOFencoderIS
BEGIN
WITHaSELECT
b<=“0110”WHEN“0111111111”,
“0111”WHEN“1011111111”,
“1000”WHEN“1101111111”,
“1001”WHEN“1110111111”,
“1010”WHEN“1111011111”,
“1011”WHEN“1111101111”,
“1100”WHEN“1111110111”,
“1101”WHEN“1111111011”,
“1110”WHEN“1111111101”,
“1111”WHEN“1111111110”,
“0000”WHENOTHERS;
ENDbeh_encoder;
补充:
优先编码器
LIBRARYIEEE;
USEIEEE.Std_Logic_1164.ALL;
ENTITYencoderIS
PORT(a:
INStd_Logic_Vector(9DOWNTO0)
b:
OUTStd_Logic_Vector(3DOWNTO0));
ENDencoder;
ARCHITECTUREbeh_encoderOFencoderIS
BEGIN
WITHaSELECT
b<=“0110”WHEN“0XXXXXXXXX”,
“0111”WHEN“10XXXXXXXX”,
“1000”WHEN“110XXXXXXX”,
“1001”WHEN“1110XXXXXX”,
“1010”WHEN“11110XXXXX”,
“1011”WHEN“111110XXXX”,
“1100”WHEN“1111110XXX”,
“1101”WHEN“11111110XX”,
“1110”WHEN“111111110X”,
“1111”WHEN“1111111110”,
“0000”WHENOTHERS;
ENDbeh_encoder;
(2).时钟RS触发器。
LIBRARYIEEE;
USEIEEE.Std_Logic_1164.ALL;
ENTITYclk_rs_ffIS
PORT(r,s,cp:
INStd_Logic;q,nq:
BUFFERStd_Logic);
ENDclk_rs_ff;
ARCHITECTUREbeh_clkrsffOFclk_rs_ffIS
BEGIN
ASSERTNOT(r=‘1‘ANDs=‘1')
REPORT"Controlerror"SEVERITYError;
PROCESS(r,s,cp)
BEGIN
IFcp=‘1’THEN
q<=sOR(NOTrANDq);
nq<=NOT(sOR(NOTrANDq));
ENDIF;
ENDPROCESS;
ENDbeh_clkrsff;
(3).带复位端、置位端、延迟为15ns的响应CP下降沿的JK触发器。
LIBRARYIEEE;
USEIEEE.Std_Logic_1164.ALL;
ENTITYjk_ffIS
GENERIC(tpd:
Time:
=15ns);
FORT(r,s,j,k,cp:
INStd_Logic;q,nq:
BUFFEERStd_Logic);
ENDjk_ff;
ARCHITECTUREbeh_jkffOFjk_ffIS
BEGIN
ASSERTNOT(r='0‘ANDs='0')
REPORT"Controlerror"SEVERITYError;
PROCESS(r,s,cp)
BEGIN
IFr=‘0’THEN
q<=‘0’AFTERtpd;nq<=‘1’AFTERtpd;
ELSIFs=‘0’THEN
q<=‘1’AFTERtpd;nq<=‘0’AFTERtpd;
ELSIF(cp’EventANDcp=‘0‘)THEN
q<=jANDnqORNOTkANDqAFTERtpd;
nq<=NOT(jANDnqORNOTkANDq)AFTERtpd;
ENDIF;
ENDPROCESS;
ENDbeh_jkff;
(4).集成计数器74161。
LIBRARYIEEE;
USEIEEE.Std_Logic_1164.ALL;
USEIEEE.Std_Logic_Unsigned.ALL;
ENTITYcounter16IS
PORT(cr,ld,cp,ctt,ctp:
INStd_Logic;
d:
INStd_Logic_Vector(3DOWNTO0);
q:
BUFFERStd_Logic_Vector(3DOWNTO0);
co:
OUTBit);
ENDcounter16;
ARCHITECTUREbehav_ctr16OFcounter16IS
BEGIN
PROCESS(cr,cp)
BEGIN
IFcr=‘0’THEN
q<=“0000”;
ELSIF(cp’EventANDcp=‘1’)THEN
IFld=‘0’THEN
q<=d;
ELSIF(ctt=‘1’ANDctp=‘1’)THEN
IFq=“1111”THEN
q<=“0000”;
ELSE
q<=q+“0001”;
ENDIF;
ENDIF;
ENDIF;
ENDPROCESS;
co<=‘1’WHEN(q=“1111”ANDctt=‘1’)ELSE‘0’;
ENDbeh_ctr16;
(5).集成移位寄存器74194。
LIBRARYIEEE;
USEIEEE.Std_Logic_1164.ALL;
ENTITYsrgIS
PORT(cr,cp:
INStd_Logic;
d:
INStd_Logic_Vector(3DOWNTO0);
sl,sr:
INStd_Logic;
m:
INStd_Logic_Vector(1DOWNTO0);
q:
BUFFERStd_Logic_Vector(3DOWNTO0));
ENDsrg;
ARCHITECTUREbehav_srgOFsrgIS
BEGIN
PROCESS(cr,cp)
BEGIN
IFcr=‘0'THEN
q<=“0000”;--异步复位
ELSIF(cp’EventANDcp=‘1’)THEN
CASEmIS
WHEN"01"=>q<=sr&q(3DOWNTO1);--右移
WHEN"10"=>q<=q(2DOWNTO0)&sl;--左移
WHEN"11"=>q<=d;--并行输入(同步预置)
WHENOTHERS=>NULL;--空操作,即保持
ENDCASE;
ENDIF;
ENDPROCESS;
ENDbehav_srg;
3.6、
(2).由D触发器构成的异步二进制模8计数器
异步2k进制计数器的电路结构
计数规律
触发方式
上升沿
下降沿
加法
减法
LIBRARYIEEE;
USEIEEE.Std_Logic_1164.ALL;
ENTITYasyn_ctr8IS
PORT(cp:
INBit;
q:
BUFFERStd_Logic_Vector(2DOWNTO0));
ENDctr8;
ARCHITECTUREstruct_ctr8OFasyn_ctr8IS
COMPONENTd_ffPORT(clk,d:
INStd_Logic;q,nq:
OUTStd_Logic);
ENDCOMPONENT;
SIGNALnq0,nq1,nq2:
Std_Logic;
BEGIN
ff0:
d_ffPORTMAP(cp,nq0,q(0),nq0);
ff1:
d_ffPORTMAP(q(0),nq1,q
(1),nq1);
ff2:
d_ffPORTMAP(q
(1),nq2,q
(2),nq2);
ENDstruct_ctr8;
4.3、
一位全减器:
输入为x(被减数)、y(减数)、bi(低位借位)、d(差)和bo(本位向高位的借位)
(1).PROM实现:
(2).PLA实现:
4.10、
状态转换图:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数字 系统 设计 PLD 应用 答案