EDA期末复习资料.docx

上传人:b****5 文档编号:30702422 上传时间:2023-08-19 格式:DOCX 页数:38 大小:242.38KB
下载 相关 举报
EDA期末复习资料.docx_第1页
第1页 / 共38页
EDA期末复习资料.docx_第2页
第2页 / 共38页
EDA期末复习资料.docx_第3页
第3页 / 共38页
EDA期末复习资料.docx_第4页
第4页 / 共38页
EDA期末复习资料.docx_第5页
第5页 / 共38页
点击查看更多>>
下载资源
资源描述

EDA期末复习资料.docx

《EDA期末复习资料.docx》由会员分享,可在线阅读,更多相关《EDA期末复习资料.docx(38页珍藏版)》请在冰豆网上搜索。

EDA期末复习资料.docx

EDA期末复习资料

湖南工程学院-贺富朋-EDA期末复习资料

1,下图是某单进程状态机产生的输出波形图,试设计该单进程状态机,完成下面的程序。

(1)用一个进程描述该波形:

LIBRARYIEEE;

USEIEEE.STD_LOGIC_1164.ALL;

ENTITYfsmis

PORT(

clk:

INSTD_LOGIC;

a,b:

OUTSTD_LOGIC--O/PSignal

);

END;

ARCHITECTUREanOFfsmIS

TYPESTATEIS(S0,S1,s2);--StateTypeDeclare

SIGNALnState:

STATE;--State

BEGIN

PROCESS(clk,nState)

BEGIN

IFclk'EVENTANDclk='1'THEN

CASEnStateIS

WHENS0=>nState<=S1;a<='0';b<='0';

WHENS1=>nState<=S2;a<='1';b<='1';

WHENS2=>nState<=S0;a<='0';b<='1';

WHENOTHERS=>nState<=S0;a<='0';b<='0';

ENDCASE;

ENDIF;

ENDPROCESS;

ENDan;

(2)用两个进程描述该波形:

LIBRARYIEEE;

USEIEEE.STD_LOGIC_1164.ALL;

ENTITYfsmis

PORT(

clk:

INSTD_LOGIC;

a,b:

OUTSTD_LOGIC--O/PSignal

);

END;

ARCHITECTUREanOFfsmIS

TYPESTATEIS(S0,S1,s2);--StateTypeDeclare

SIGNALnState:

STATE;--State

BEGIN

PROCESS(clk,nState)

BEGIN

IFclk'EVENTANDclk='1'THEN

CASEnStateIS

WHENS0=>nState<=S1;

WHENS1=>nState<=S2;

WHENS2=>nState<=S0;

WHENOTHERS=>nState<=S0;

ENDCASE;

ENDIF;

ENDPROCESS;

PROCESS(CLK,nSTATE)

BEGIN

IFclk'EVENTANDclk='1'THEN

CASEnSTATEIS

WHENS0=>a<='0';b<='0';

WHENS1=>a<='1';b<='1';

WHENS2=>a<='0';b<='1';

WHENOTHERS=>a<='0';b<='0';

ENDCASE;

ENDIF;

ENDPROCESS;

ENDan;

2,现有频率为8000Hz的时钟信号CLK,试设计一个程序同时产生500Hz,250Hz,125Hz三个低频时钟信号。

LIBRARYIEEE;

USEIEEE.STD_LOGIC_1164.ALL;

USEIEEE.STD_LOGIC_UNSIGNED.ALL;

ENTITYcntis

PORT(

clk:

INSTD_LOGIC;

Q3,Q4,Q5:

OUTSTD_LOGIC--O/PSignal

);

END;

ARCHITECTUREbhvOFcntIS

SIGNALQ1:

STD_LOGIC_VECTOR(5DOWNTO0);

BEGIN

PROCESS(clk)

BEGIN

IFclk'EVENTANDclk='1'

THENQ1<=Q1+1;

ENDIF;

ENDPROCESS;

Q3<=Q1(3);Q4<=Q1(4);Q5<=Q1(5);

ENDbhv;

3.

其实体是程序是:

LIBRARYIEEE;

USEIEEE.STD_LOGIC_1164.ALL;

ENTITYDFF3IS

PORT(CLK,D1:

INSTD_LOGIC;

Q1:

OUTSTD_LOGIC

);

END;

(1)用一个进程描述该电路:

LIBRARYIEEE;

USEIEEE.STD_LOGIC_1164.ALL;

ENTITYDFF3IS

PORT(CLK,D1:

INSTD_LOGIC;

Q1:

OUTSTD_LOGIC

);

END;

ARCHITECTUREbhvOFDFF3IS

SIGNALA,B:

STD_LOGIC;

BEGIN

PROCESS(CLK)

BEGIN

IFCLK'EVENTANDCLK='1'

THEN

A<=D1;

B<=A;

Q1<=B;

ENDIF;

ENDPROCESS;

END;

(2)用三个进程描述该电路

LIBRARYIEEE;

USEIEEE.STD_LOGIC_1164.ALL;

ENTITYDFF3IS

PORT(CLK,D1:

INSTD_LOGIC;

Q1:

OUTSTD_LOGIC

);

END;

ARCHITECTUREbhvOFDFF3IS

SIGNALA,B:

STD_LOGIC;

BEGIN

PROCESS(CLK,D1)

BEGIN

IFCLK'EVENTANDCLK='1'

THEN

A<=D1;

ENDIF;

ENDPROCESS;

PROCESS(CLK,A)

BEGIN

IFCLK'EVENTANDCLK='1'

THEN

B<=A;

ENDIF;

ENDPROCESS;

PROCESS(CLK,B)

BEGIN

IFCLK'EVENTANDCLK='1'

THEN

Q1<=B;

ENDIF;

ENDPROCESS;

END;

(3)用元件例化语句描述该电路:

LIBRARYIEEE;

USEIEEE.STD_LOGIC_1164.ALL;

ENTITYHANIS

PORT(CLK_IN,D_IN:

INSTD_LOGIC;

Q_OUT:

OUTSTD_LOGIC);

END;

ARCHITECTUREf_dff3OFHANIS

COMPONENTDFF3

PORT(CLK,D:

INSTD_LOGIC;

Q:

OUTSTD_LOGIC);

ENDCOMPONENT;

SIGNALA,B:

STD_LOGIC;

BEGIN

U1:

DFF3PORTMAP(CLK=>CLK_IN,D=>D_IN,Q=>A);

U2:

DFF3PORTMAP(CLK=>CLK_IN,D=>A,Q=>B);

U3:

DFF3PORTMAP(CLK=>CLK_IN,D=>B,Q=>Q_OUT);

ENDf_dff3;

(4)用生成语句描述该电路:

LIBRARYIEEE;

USEIEEE.STD_LOGIC_1164.ALL;

ENTITYDFF2IS

PORT(CLK1,D:

INSTD_LOGIC;

Q:

OUTSTD_LOGIC);

END;

ARCHITECTUREONEOFDFF2IS

SIGNALQ2:

STD_LOGIC;

BEGIN

PROCESS(CLK1,Q2)BEGIN

IFCLK1'EVENTANDCLK1='1'

THENQ2<=D;

ENDIF;

ENDPROCESS;

Q<=Q2;

ENDONE;

LIBRARYIEEE;

USEIEEE.STD_LOGIC_1164.ALL;

ENTITYDFF3IS

PORT(CLK,D1:

INSTD_LOGIC;

Q1:

OUTSTD_LOGIC);

ENDDFF3;

ARCHITECTUREbhvOFDFF3IS

COMPONENTDFF2

PORT(CLK1,D:

INSTD_LOGIC;

Q:

OUTSTD_LOGIC);

ENDCOMPONENT;

SIGNALtemp:

STD_LOGIC_VECTOR(0TO3);

BEGIN

temp(0)<=D1;

M:

FORiIN0TO2GENERATE

U:

DFF2PORTMAP(CLK1=>CLK,D=>temp(i),Q=>TEMP(i+1));

Q1<=temp(3);

ENDGENERATE;

ENDbhv;

4.如题图所示由触发器组成的顶层电路,完成下面的程序。

(1)用一个进程描述该电路;

LIBRARYIEEE;

USEIEEE.STD_LOGIC_1164.ALL;

ENTITYshejiIS

PORT(CLK,D1:

INSTD_LOGIC;

Q1:

OUTSTD_LOGIC);

END;

ARCHITECTUREbhvOFshejiIS

SIGNALB:

STD_LOGIC;

BEGIN

PROCESS(CLK)

BEGIN

IFCLK'EVENTANDCLK='1'THENB<=notD1;

Q1<=B;

ENDIF;

ENDPROCESS;

ENDbhv;

(2)用两个进程描述该电路;

LIBRARYIEEE;

USEIEEE.STD_LOGIC_1164.ALL;

ENTITYPROIS

PORT(CLK,D1:

INSTD_LOGIC;

Q1:

OUTSTD_LOGIC);

END;

ARCHITECTUREBHVOFPROIS

SIGNALB:

STD_LOGIC;

BEGIN

PROCESS(CLK,D1)BEGIN

IFCLK'EVENTANDCLK='1'THENB<=NOTD1;

ENDIF;

ENDPROCESS;

PROCESS(CLK,B)BEGIN

IFCLK'EVENTANDCLK='1'THENQ1<=B;

ENDIF;

ENDPROCESS;

ENDBHV;

(3)用元件例化语句描述该电路。

LIBRARYIEEE;

USEIEEE.STD_LOGIC_1164.ALL;

ENTITYDFF2IS

PORT(CLK1,D:

INSTD_LOGIC;

Q:

OUTSTD_LOGIC);

END;

ARCHITECTUREONEOFDFF2IS

SIGNALQ2:

STD_LOGIC;

BEGIN

PROCESS(CLK1,Q2)BEGIN

IFCLK1'EVENTANDCLK1='1'

THENQ2<=D;

ENDIF;

ENDPROCESS;

Q<=Q2;

ENDONE;

LIBRARYIEEE;

USEIEEE.STD_LOGIC_1164.ALL;

ENTITYPLANIS

PORT(CLK,D1:

INSTD_LOGIC;

Q1:

OUTSTD_LOGIC);

END;

ARCHITECTUREBHVOFPLANIS

COMPONENTDFF2IS

PORT(CLK1,D:

INSTD_LOGIC;

Q:

OUTSTD_LOGIC);

ENDCOMPONENT;

SIGNALa:

STD_LOGIC;

BEGIN

U1:

DFF2PORTMAP(CLK1=>CLK,D=>NOTD1,Q=>a);

U2:

DFF2PORTMAP(CLK1=>CLK,D=>a,Q=>Q1);

ENDBHV;

(4)该电路延时多少时钟周期?

(2个时钟周期)。

(5)用生成语句描述该电路。

LIBRARYIEEE;

USEIEEE.STD_LOGIC_1164.ALL;

ENTITYDFF3IS

PORT(CLK,D:

INSTD_LOGIC;

Q:

OUTSTD_LOGIC);

END;

ARCHITECTUREbhvOFDFF3IS

SIGNALQ1:

STD_LOGIC;

BEGIN

PROCESS(CLK,Q1)

BEGIN

IFCLK'EVENTANDCLK='1'

THENQ1<=D;

ENDIF;

ENDPROCESS;

Q<=Q1;

ENDbhv;

LIBRARYIEEE;

USEIEEE.STD_LOGIC_1164.ALL;

ENTITYd_ffIS

GENERIC(n:

INTEGER:

=2);

PORT(CLK_IN,D_IN:

INSTD_LOGIC;

Q_OUT:

OUTSTD_LOGIC);

END;

ARCHITECTUREHANOFd_ffIS

COMPONENTDFF3

PORT(CLK,D:

INSTD_LOGIC;

Q:

OUTSTD_LOGIC);

ENDCOMPONENT;

SIGNALS:

STD_LOGIC_VECTOR(0TOn);

BEGIN

S(0)<=NOTD_IN;

q_1:

FORiIN0TOn-1GENERATE

DFF_3:

DFF3PORTMAP(CLK_IN,S(i),S(i+1));

ENDGENERATE;

Q_OUT<=S

(2);

ENDHAN;

5.LIBRARYIEEE;

USEIEEE.STD_LOGIC_1164.ALL;

ENTITYDFF3IS

PORT(CLK,D1:

INSTD_LOGIC;

Q1:

OUTSTD_LOGIC);

END;

ARCHITECTUREbhvOFDFF3IS

SIGNALB:

STD_LOGIC;

BEGIN

PROCESS(CLK)BEGIN

IFCLK'EVENTANDCLK='1'THEN

B<=D1;

Q1<=B;

ENDIF;

ENDPROCESS;

END;

试分析上述程序实现的功能,画出对应的RTL图。

 

LIBRARYIEEE;

USEIEEE.STD_LOGIC_1164.ALL;

ENTITYDFF3IS

PORT(CLK,D:

INSTD_LOGIC;

Q:

OUTSTD_LOGIC);

END;

ARCHITECTUREbhvOFDFF3IS

SIGNALQ1:

STD_LOGIC;

BEGIN

PROCESS(CLK,Q1)

BEGIN

IFCLK'EVENTANDCLK='1'

THENQ1<=D;

ENDIF;

ENDPROCESS;

Q<=Q1;

ENDbhv;

6.已知时钟信号周期为10ms,设计一个延时40ms的时序电路。

LIBRARYIEEE;

USEIEEE.STD_LOGIC_1164.ALL;

ENTITYDFF3IS

PORT(CLK,D1:

INSTD_LOGIC;

Q1:

OUTSTD_LOGIC);

END;

ARCHITECTUREbhvOFDFF3IS

SIGNALA,B,C:

STD_LOGIC;

BEGIN

PROCESS(CLK)BEGIN

IFCLK'EVENTANDCLK='1'THEN

A<=D1;

B<=A;

C<=B;

Q1<=C;

ENDIF;

ENDPROCESS;

END;

7.LIBRARYIEEE;

USEIEEE.STD_LOGIC_1164.ALL;

USEIEEE.STD_LOGIC_UNSIGNED.ALL;

ENTITYSeg7_Dspis

PORT(CP:

INSTD_LOGIC;

OUTY:

OUTSTD_LOGIC_VECTOR(3DOWNTO0));

ENDSeg7_Dsp;

ARCHITECTUREaOFtestIS

BEGIN

variableQ:

STD_LOGIC_VECTOR(24DOWNTO0);

PROCESS(CP)

Begin

IFCP'EventANDCP='1'then

Q<=Q+1;

ENDIF;

ENDPROCESS;

OUTY<=Q(20DOWNTO17);

Enda;

根据上面的程序解答如下问题:

(1)分析语句USEIEEE.STD_LOGIC_UNSIGNED.ALL;的必要性;

【课本87页】

(2)找出程序中的两处错误并修改。

LIBRARYIEEE;

USEIEEE.STD_LOGIC_1164.ALL;

USEIEEE.STD_LOGIC_UNSIGNED.ALL;

ENTITYSeg7_Dspis

PORT(CP:

INSTD_LOGIC;

OUTY:

OUTSTD_LOGIC_VECTOR(3DOWNTO0));

ENDSeg7_Dsp;

ARCHITECTUREaOFSeg7_DspIS

SIGNALQ:

STD_LOGIC_VECTOR(24DOWNTO0);

BEGIN

PROCESS(CP)

Begin

IFCP'EventANDCP='1'then

Q<=Q+1;

ENDIF;

ENDPROCESS;

OUTY<=Q(20DOWNTO17);

Enda;

(3)已知时钟cp的频率为3.93MHz,计算输出信号outy的频率。

【频率由低位确定】

8.在“八位数码扫描显示电路设计”的实验中,

(1)复述你的实验过程;

(2)假如实验台有两个时钟源:

168Hz和268Hz,为达到同时显示的效果,选择哪一个?

为什么?

(1)新建一个文件夹,打开QuartusII,选择File

New命令,输入源程序,选择File

SaveAs命令,使得文件存盘,创建工程并设置相关参数之后,全程编译。

选择File

New命令,在New窗口选择VectorWaveformFile选项进行时序仿真。

选择Assignments

AssignmentEditor命令进行引脚锁定,在工程管理窗口选择Tool

Programmer命令然后设置编辑器,下载进行硬件测试。

(2)8位为:

8x24=192>168,所以选择268Hz

9.五位加法器采用二级流水线【

八位加法器采用二级流水线】

LIBRARYIEEE;

USEIEEE.STD_LOGIC_1164.ALL;

USEIEEE.STD_LOGIC_UNSIGNED.ALL;

USEIEEE.STD_LOGIC_ARITH.ALL;

ENTITYCNT5IS

PORT(A,B:

INSTD_LOGIC_VECTOR(4DOWNTO0);

CLK,CIN:

INSTD_LOGIC;

COUT:

OUTSTD_LOGIC;

SUM:

OUTSTD_LOGIC_VECTOR(4DOWNTO0));

ENDCNT5;

ARCHITECTURErt1OFCNT5IS

SIGNALAB3:

STD_LOGIC_VECTOR(2DOWNTO0);

SIGNALS:

STD_LOGIC_VECTOR(3DOWNTO0);

BEGIN

PROCESS(CLK)BEGIN

IF(RISING_EDGE(CLK))

THENAB3<=('0'&A(1DOWNTO0))+('0'&B(1DOWNTO0))+CIN;

SUM(1DOWNTO0)<=AB3(1DOWNTO0);

ENDIF;

ENDPROCESS;

PROCESS(CLK)BEGIN

IF(RISING_EDGE(CLK))

THENS<=('0'&A(4DOWNTO2))+('0'&B(4DOWNTO2))+AB3

(2);

ENDIF;

ENDPROCESS;

COUT<=S(3);SUM(4DOWNTO2)<=S(2DOWNTO0);

ENDrt1;

10.根据汉字,写出对应的MIF文件。

DEPTH=32;

WIDTH=8;

ADDRESS_RADIX=HEX;

DATA_RADIX=HEX;

CONTENT

BEGIN

0000:

0x00;

001F:

0x00;

END;

 

11

(1)用元件例化语句描述该电路;

(2)用生成语句描述该电路;

(3)分析该电路的功能;

(4)如何将改电路改为八进制计数器?

 

12,找好处,找出父母亲的十个好处和三个难处?

 

1.以下关于适配描述错误的是B(P14)

A.适配器的功能是将综合器产生的网表文件配置于指定的目标器件中,使之产生最终的下载文件

B.适配所选定的目标器件可以不属于原综合器指定的目标器件系列

C.适配完成后可以利用适配所产生的仿真文件作精确的时序仿真

D.通常,EDAL软件中的综合器可由专业的第三方EDA公司提供,而适配器则需由FPGA/CPLD供应商提供

2.以下关于CASE语句描述中错误的是A

A.CASE语句执行中可以不必选中所列条件名的一条

B.除非所有条件句的选择值能完整覆盖CASE语句中表达式的取值,否则最末一个条件句的选择必须加上最后一句“WHENOTHERS=><顺序语句>”

C.CASE语句中的选择值只能出现一次

D.WHEN条件句中的选择值或标识符所代表的值必须在表达式的取值范围

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

当前位置:首页 > 求职职场 > 简历

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

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