EDA技术习题docWord文档格式.docx

上传人:b****6 文档编号:18223848 上传时间:2022-12-14 格式:DOCX 页数:15 大小:122KB
下载 相关 举报
EDA技术习题docWord文档格式.docx_第1页
第1页 / 共15页
EDA技术习题docWord文档格式.docx_第2页
第2页 / 共15页
EDA技术习题docWord文档格式.docx_第3页
第3页 / 共15页
EDA技术习题docWord文档格式.docx_第4页
第4页 / 共15页
EDA技术习题docWord文档格式.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

EDA技术习题docWord文档格式.docx

《EDA技术习题docWord文档格式.docx》由会员分享,可在线阅读,更多相关《EDA技术习题docWord文档格式.docx(15页珍藏版)》请在冰豆网上搜索。

EDA技术习题docWord文档格式.docx

5.V1IDL语言按照执行顺序的不同可以分为哪两类基本语句?

并且各举一例说明。

顺序语句和并行语句

1.什么是自顶向下的设计方法?

与传统电子设计方法相比有什么优点?

自顶向下就是在整个设计流程中各个设计流程逐步求精的过程,即是从高抽象级别到低抽象级别的整个设计周期。

优点:

在整个设计过程中不必太注意目标器件的设计细节。

2.在FPGA设计过程中,综合的含义是什么?

主要有哪凡种类型的综合?

综合:

将用行为和功能层次表达的电了系统转换成为低层次的便于具体实现的模块组合装配的过程。

有语言综合、行为综合、逻辑综合、结构综合

3.EDA技术最终实现目标的ASIC可以通过哪三种途径完成?

答:

门阵法标准单元法可编辑逻辑器件控制法

4.简述信号与变量的主要区别。

(3分)1

pl30

信号signal

变量variable

基本用法

用于电路线路中信号的连接

用于作为进程中局部数据存储单元

适用范围

在整个结构体中任何地方都可以适用

只能在所定义的进程中使用

行为特征

在进程最后才对信号赋值

立即赋值

5.在VHDL设计中,给触发器复位有哪两种方法?

如果时钟进程中用了敏感信号表,哪种复位方式必须要把复位信号放在敏感信号表中?

(3分)

同步复位异步复位。

异步复位

6.利用FPGA构成数字系统时为什么需要配备一个PROM或EEPROM?

(2分)

三、VHDL程序填空:

(10分,每空1分)

下面程序是一个具有加法和减法功能的16位计数器VIIDL描述,试补充完整。

空1IEEE;

(LIBRARY)

use空2

.STDLOGIC1164.all;

(IEEE)

useieee.

空3.all;

(STD_L()G1C_UNS1GNED)

空4

entaddsubis(ENTITY)

port(elk:

inSTI)_L0GIC;

rst:

inST【)_L0GIC;

enable:

inSTDLOGIC;

add_sub:

inSTD_LOG1C;

q

:

outSTD_LOG1C_VECTOR(15downto0));

endcnt_add_

sub;

architecture

cnt_add_subof空5is(cnt_add_sub)

空6

_q_tmp:

STDLOGICVECTOR(15downto0):

(SIGNAL)

begin

空7

_(elk,rst)(PROCESS)

空8

rst=Tthenq_tmp<

=(others=>

"

0’);

(if)

elsif

空9andelk='

1'

then(elk'

event)

ifenable二'

then

ifadd_sub-‘1'

q_tmp<

=CL.tmp+l;

else

q_tmp<

=q_tnip-l;

空10;

(endif)

endif;

endif;

endprocess;

q<

=qtmp:

endcnt_cidd_sub;

下面程序是一位全加器的VIIDL描述,试补充完整。

一半加器描述

USEIEEE.STDLOGIC1164.ALL;

ENTITY空2IS

空3(a,b:

INSTI)_LOG1C;

co,so:

OUTSTDLOGIC);

ENDENTITYh_adder;

ARCHITECTURE空4OFh_adderis

BEGIN

so<

=NOT(aXOR(NOTb));

co<

=aANDb;

ENDARCHITECTUREfhl;

一一位全加器顶层设计描述

(library)

(h_adder)

(PORT)

(fhl)

 

ENTITYf_adderIS

PORT(ain,bin,cin:

空5STDLOGIC;

(IN)cout,sum:

OUTSTD_LOG1C);

ENDENTITYf_adder;

ARCHITECTUREfdlOFf_adderIS

空6h_adderIS(COMPONENT)

PORT(a,b:

INSTD_LOG1C;

OUTSTD_LOG1C);

ENDCOMPONENT;

空7d,e,f:

STI)_LOGIC;

(SIGNAL)

ul:

空8PORTMAP(a=>

ain,b=>

bin,co=>

d,so=>

e);

(hadder)u2:

h_cidderPORTMAP(a二〉空9,b=>

cin,co=>

f,so二〉sum);

(e)

cout<

=d空10f;

(OR)

ENDARCHITECTUREfdl;

在程序中存在5处错误,试找出错误,写出错误原因,并写出正确语句。

第1行一libraryieee;

第2行一useieee.stdlogicl164.al1;

第3行一useieee.std_logic_unsigned.all;

第4行一entitydecoder38is

第5行一port(Q0:

outstd_logic_vector(7downto0):

第6行一QI:

instdlogicvector(2downto0):

第7行一en:

instd_logic);

第8行一endentitydecoder38;

第9彳亍一architecturecode!

ofdecoderis(decoder38)

第10行一begin

第11行一process()(process(QI))

笫12行一signaltemp:

std_logic_vector(7downto0):

(variable)

第13行一begin

第14行一ifen=*Tthentemp:

=〃ZZZZZZZZ〃;

第15行一

第16行一

caseQIis

第17行一

when〃000〃=>

temp:

="

00000001”;

第18行一

when〃001〃=>

00000010”;

第19行一

when"

010”=>

00000100〃;

第20行一

Oil"

=>

00001000”;

第21行一

100”=>

二”00010000〃;

第22行一

when〃101〃=>

="

00100000〃;

第23行一

when〃110〃=>

01000000”;

第24行一

111〃=>

10000000〃;

第25行一

enclif;

(前插入ENDCASE)

第26行一

QI<

=temp;

(QO)

第27行一

endprocess;

第28行一

endarchitecturecode!

;

四、VHDL程序改错:

(10分)

第1行—第2行一第3行一第4行一第5行_第6行一第7行一第8行一

libraryIEEE;

useIEEE.STI)LOGIC1164.all;

entitymux4is

port(sO,si,a,b,c,d:

inSTDLOGIC;

y:

outSTD_L()G1C;

);

(删去;

endmux4;

architectureoneofmuxis(mux4)

signa1s:

std_1ogic_vector(2dounto0):

(1)

第9行一第10行一第11行一第12行一第13行一第14行一第15行一第16行一第17行一第18行一

sSsl&

sO;

process()(s)

casesis

00〃=>

y<

=a;

01”二〉y<

=b;

when〃10"

=>

=c;

endcase;

(插入wheny<

=d;

endone;

五、编写VHDL程序:

(共20分,每题10分)

1.图1是一个含有下降沿触发的D触发器的时序电路,试写出此电路的VI1DL设计文件。

LIBRARYIEEE;

USEIEEE.STI)LOGIC1164.ALL;

ENTITYMULTIIS

PORT(CL:

INSTD_L()G1C;

一输入选择信号

CLKO:

INSTD_LOG1C;

一输入信号

OUT1:

OUTSTD_LOGIC)输出端

ENDENTITY;

ARCHITECTUREONEOFMULTIIS

SIGNALQ:

STD_L()GIC;

PRO1:

PROCESS(CLKO)

IFCLKO'

EVENTANDCLKO='

O'

THENQ<

=N()T(CLORQ);

ELSE

ENDIF;

ENDPROCESS;

PR02:

OUTIOQ;

EM)ARCHITECTUREONE;

2.“Ill”序列检测器的功能是连续输入三个或三个以上的1时,电路输出为“1”,其余情况下输出为“0”。

靖画出该序列检测器的状态图,并编写完成该功能的程序。

1.3、画出程序描述的状态转移图。

(9分)

useIEEE.STDLOGIC1164.all;

entitystate_84is

port(

elk,reset:

instd_logic;

ina:

instd_logic__vector(2downto0);

outa:

outstd_1ogic_vector(3downto0));

endstate_84;

architecturestate84ofstate84is

typestate__fsis(sO,si,s2,s3);

signalcur_state,next_state:

state_fs;

process(elk,reset)

ifreset='

1’then

cur_state<

=sO;

elsifelk'

eventandclk=Tthen

curstate〈二nextstate;

endif;

process(cur_state,ina)

casecurstateis

whensO二〉next_state<

=sl:

ifina="

101"

thenouta<

0010〃;

elsifina="

lll"

1100”;

elseouta<

=nul1;

whensi=〉ifina=〃110〃thennext_state〈二s2;

elsifina-〃000〃thennext_state<

-sl;

elsenull;

outa<

=,/100r/;

whens2二〉ifinaF〃100〃thennext_state〈=s2;

011〃thennext_state<

=sl;

elsifina/=〃011〃thennext_state<

=s3;

elsenul1;

outaK="

1111”;

whens3->

next_state<

=s0;

101〃thenouta<

1101”;

011"

>

l110〃;

=null;

whenothers->

-s0;

0000”;

1、EDA与传统电子设计方法的比较:

手工设计方法缺点:

1)采用硬件描述语言作为设计输入。

2)库(Library)的引入。

3)设计文档的管理。

4)强大的系统建模、电路仿真功能。

5)具有自主知识产权。

6)标准化、规范化及IP核的可利用性。

7)自顶向下设计方案。

8)自动设计、仿真和测试技术。

9)对设计者的硬件知识、经验要求低。

10)高速性能好(与以CPU为主的电路系统相比)。

11)纯硬件系统的高可靠性。

2、FPGA/CPLD设计流程

3(4-1)画出与下例实体描述对应的原理图符号元件:

ENTITYbut3sIS--实体I:

三态缓冲器

PORT(input:

INSTD_LOGIC;

-输入端

INSTD_LOGTC;

-使能端

output:

OUTSTD_LOGIC);

-输出端

ENDbuf3s;

ENABLE]〉・勺sp

INPUTI>

一.|OUTPUT

ENTITYmux21IS--实体2:

2选1多路选择器

PORT(inO,ini,sei:

INSTD_LOGIC;

OUTSTD.LOGIC);

ENDmux21;

4、(4.2)图4.37所示的是4选1多路选择器,试分别用IF_THEN语句和CASE语句的表达方式写出此电路的VHDL程序,选择控制的信号si和so的数据类型为STD_LOGIC_VECTOR;

当si如s0='

0'

sUO*,s0=T;

sl=T,sO=MT和sl=fl\sO=T分别执行y<

=a>

yv=b、yv=c、yv=d。

sT>

二2S1so

PROCESS(s)

CASEsIS

WHEN”00”=>

WHEN"

01”=>

yv=b;

WHEN”IO”=>

yv=c;

WHEN”ll”=>

yv=d:

WHENOTHERS=>

NULL;

ENDCASE;

ENDtwo;

5、写出MUXK的顶层文件

USEIEEE.STD_LOGIC_1164.ALL;

ENTITYMUXKIS

PORT(al,a2,a3,s0,sI:

INSTD_LOGIC;

outy:

OUTSTD.LOGIC);

ENDENTITYMUXK;

ARCHITECTUREMUXOFMUXKIS

COMPONENTMUX21A

PORT(a,b,s:

y:

OUTSTD_LOGIC);

ENDCOMPONENT;

SIGALlmp:

STD_LOGIC;

ul:

MUX21APORTMAP(a=>

a2,b=>

a3,s=>

O,y=>

tinp);

u2:

MUX21APORTMAP(a=>

al,b=>

tmp,s=>

sI,y=>

outy);

ENDARCHITECTUREMUX;

6、(5.8)判断下面3个程序中是否有错误,若有则指出错误所在,并给出完整程序。

程序1:

SignalA,EN:

stdjogic;

Process(A,EN)

VariableB:

std_logic;

<

=

BeginifEN=1thenBendif;

程序2:

Architectureoneofsampleis

variablea,b,c:

integer;

c<

=a+b;

end;

程序3:

libraryieee;

useiccc.stdJogic^l164.all;

entitymux21is

port(a,b:

instdjogic;

sei:

c:

outstdjogic;

endsam2;

architectureoneofmux21isbegin

ifsei='

O'

thenc:

=a;

elsec:

=b;

endif;

endtwo;

7、一般时序状态机包括几个部分,分别是哪几个部分,清简要介绍.

(1)包括4部分,分别是说明部、主控时序进程、主控组合进程、辅助进程

(2)说明部分一般放在结构体的ARCHITECTURE和BEGIN之间,使用TYPE语句定义新的数据类型:

主控时序进程是指负责状态机运转和在时序驮动下负贲转换的进程:

主控组合进程根据条件进行状态转移:

辅助进程用于配合状态机工作的组合进程或时序进程

8、读程序,画出状态图

USEIEEE.STDLOGIC1164.ALL;

ENTITYMOORE1IS

PORT(DATAIN:

INSTD_LOGIC_VECTORf1DOWNTO0);

CLK,RST:

INSTDLOGIC;

Q:

OUTSTD_LOGIC_VECTORSDOWNTO0));

ENDMOORE1;

ARCHITECTUREbehavOFMOORE1IS

TYPEST_TYPEIS(STO,ST1,ST2,ST3,ST4);

SIGNALCST:

STTYPE;

BEGIN

PROCESS(CLK,RST)BEGIN

IFRST='

I*THENC_ST<

=STO;

Q<

=”00()0”;

ELSIFCLKEVENTANDCLK=1'

THEN

CASEC_STIS

WHENSTO=>

IFDATAIN='

'

10”THENC_ST<

=STI;

ELSEC_ST<

ENDIF;

Q<

1001'

WHENSTI=>

IFDATAIN=”11”THENC_ST<

=ST2;

=”0101”;

WHENST2=>

IFDATAIN=”01”THENC_ST<

=ST3;

ELSECST<

Q<

=”1100”;

WHENST3=>

IFDATAIN=‘00”THENC_ST<

=ST4;

=”0010”;

WHENST4=>

IFDATAIN=”11”THENCST<

=”1001”;

C_ST<

=STO;

ENDbehav;

LSTOJLST1JLST2JLST3人ST4

5ST

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

当前位置:首页 > PPT模板 > 简洁抽象

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

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