EDAFPGA期末考试试题Word下载.docx

上传人:b****5 文档编号:21237735 上传时间:2023-01-28 格式:DOCX 页数:24 大小:27.04KB
下载 相关 举报
EDAFPGA期末考试试题Word下载.docx_第1页
第1页 / 共24页
EDAFPGA期末考试试题Word下载.docx_第2页
第2页 / 共24页
EDAFPGA期末考试试题Word下载.docx_第3页
第3页 / 共24页
EDAFPGA期末考试试题Word下载.docx_第4页
第4页 / 共24页
EDAFPGA期末考试试题Word下载.docx_第5页
第5页 / 共24页
点击查看更多>>
下载资源
资源描述

EDAFPGA期末考试试题Word下载.docx

《EDAFPGA期末考试试题Word下载.docx》由会员分享,可在线阅读,更多相关《EDAFPGA期末考试试题Word下载.docx(24页珍藏版)》请在冰豆网上搜索。

EDAFPGA期末考试试题Word下载.docx

软IP是用VHDL等硬件描述语言描述的功能块,并不涉及用什么具体电路元件实现这些功能;

软IP通常是以硬件描述语言HDL源文件的形式出现。

固IP是完成了综合的功能块,具有较大的设计深度,以网表文件的形式提交客户使用。

硬IP提供设计的最终阶段产品:

掩模。

3-1OLMC(输出逻辑宏单元)有何功能?

说明GAL是怎样实现可编程组合电路与时序电路的。

P34~36

OLMC单元设有多种组态,可配置成专用组合输出、专用输入、组合输出双向口、寄存器输出、寄存器输出双向口等。

说明GAL是怎样实现可编程组合电路与时序电路的?

GAL(通用阵列逻辑器件)是通过对其中的OLMC(输出逻辑宏单元)的编程和三种模式配置(寄存器模式、复合模式、简单模式),实现组合电路与时序电路设计的。

3-2什么是基于乘积项的可编程逻辑结构?

P33~34,40

GAL、CPLD之类都是基于乘积项的可编程结构;

即包含有可编程与阵列和固定的或阵列的PAL(可编程阵列逻辑)器件构成。

3-3什么是基于查找表的可编程逻辑结构?

P40~41

FPGA(现场可编程门阵列)是基于查找表的可编程逻辑结构。

3-7请参阅相关资料,并回答问题:

按本章给出的归类方式,将基于乘积项的可编程逻辑结构的PLD器件归类为CPLD;

将基于查找表的可编程逻辑结构的PLD器什归类为FPGA,那么,APEX系列属于什么类型PLD器件?

MAXII系列又属于什么类型的PLD器件?

为什么?

P54~56

APEX(AdvancedLogicElementMatrix)系列属于FPGA类型PLD器件;

编程信息存于SRAM中。

MAXII系列属于CPLD类型的PLD器件;

编程信息存于EEPROM中。

4-3.图3-31所示的是双2选1多路选择器构成的电路MUXK,对于其中MUX21A,当s='

0'

和'

1'

时,分别有y<

='

a'

和y<

b'

试在一个结构体中用两个进程来表达此电路,每个进程中用CASE语句描述一个2选1多路选择器MUX21A。

LIBRARYIEEE;

USEIEEE.STD_LOGIC_1164.ALL;

ENTITYMUX221IS

PORT(a1,a2,a3:

INSTD_LOGIC_VECTOR(1DOWNTO0);

--输入信号

 

s0,s1:

INSTD_LOGIC;

outy:

OUTSTD_LOGIC);

--输出端

ENDENTITY;

ARCHITECTUREONEOFMUX221IS

SIGNALtmp:

STD_LOGIC;

BEGIN

PR01:

PROCESS(s0)

IFs0=”0”THENtmp<

=a2;

ELSEtmp<

=a3;

ENDIF;

ENDPROCESS;

PR02:

PROCESS(s1)

IFs1=”0”THENouty<

=a1;

ELSEouty<

=tmp;

ENDARCHITECTUREONE;

ENDCASE;

4-4.下图是一个含有上升沿触发的D触发器的时序电路,试写出此电路的VHDL设计文件。

ENTITYMULTIIS

PORT(CL:

--输入选择信号

CLK0:

OUT1:

ARCHITECTUREONEOFMULTIIS

SIGNALQ:

PROCESS(CLK0)

IFCLK‘EVENTANDCLK=’1’

THENQ<

=NOT(CLORQ);

ELSE

OUT1<

=Q;

4-5.给出1位全减器的VHDL描述。

要求:

(1)首先设计1位半减器,然后用例化语句将它们连接起来,图3-32中h_suber是半减器,diff是输出差,s_out是借位输出,sub_in是借位输入。

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

底层文件1:

or2a.VHD实现或门操作

USEIEEE.STD_LOGIC_UNSIGNED.ALL;

ENTITYor2aIS

PORT(a,b:

c:

ENDENTITYor2a;

ARCHITECTUREoneOFor2aIS

c<

=aORb;

ENDARCHITECTUREone;

底层文件2:

h_subber.VHD实现一位半减器

ENTITYh_subberIS

PORT(x,y:

diff,s_out:

:

ENDENTITYh_subber;

ARCHITECTUREONEOFh_subberIS

SIGNALxyz:

STD_LOGIC_VECTOR(1DOWNTO0);

xyz<

=x&

y;

PROCESS(xyz)

BEGIN

CASExyzIS

WHEN"

00"

=>

diff<

;

s_out<

01"

10"

11"

WHENOTHERS=>

NULL;

顶层文件:

f_subber.VHD实现一位全减器

ENTITYf_subberIS

PORT(x,y,sub_in:

diffr,sub_out:

ENDENTITYf_subber;

ARCHITECTUREONEOFf_subberIS

COMPONENTh_subber

diff,S_out:

ENDCOMPONENT;

COMPONENTor2a

SIGNALd,e,f:

u1:

h_subberPORTMAP(x=>

x,y=>

y,diff=>

d,s_out=>

e);

u2:

d,y=>

sub_in,diff=>

diffr,s_out=>

f);

u3:

or2aPORTMAP(a=>

f,b=>

e,c=>

sub_out);

ENDARCHITECTUREART;

4-6.根据下图,写出顶层文件MX3256.VHD的VHDL设计文件。

MAX3256顶层文件

ENTITYMAX3256IS

PORT(INA,INB,INCK:

INSTD_LOGIC;

INC:

E,OUT:

ENDENTITYMAX3256;

ARCHITECTUREONEOFMAX3256ISCOMPONENTLK35--调用LK35声明语句

PORT(A1,A2:

CLK:

Q1,Q2:

COMPONENTD--调用D触发器声明语句

PORT(D,C:

Q:

COMPONENTMUX21--调用二选一选择器声明语句

PORT(B,A:

S:

C:

SIGNALAA,BB,CC,DD:

LK35PORTMAP(A1=>

INA,A2=>

INB,CLK=INCK,Q1=>

AA,Q2=>

BB);

DPORTMAP(D=>

BB;

CLK=>

INCK,C=>

INC,Q=>

CC);

LK35PORTMAP(A1=>

BB,A2=>

CC,CLK=INCK,Q1=>

DD,Q2=>

OUT1);

u4:

MUX21PORTMAP(B=>

AA,A=>

DD,S=>

BB,C=>

E);

4-7含有异步清零和计数使能的16位二进制加减可控计数器。

ENTITYCNT16IS

PORT(CLK,RST,EN:

CHOOSE:

INBIT;

SETDATA:

BUFFERINTEGERRANCE65535DOWNTO0;

COUT:

BUFFERINTEGERRANCE65535DOWNTO0);

ENDCNT16;

ARCHITECTUREONEOFCNT16IS

PROCESS(CLK,RST,SDATA)

VARIABLEQI:

STD_LOGIC_VECTOR(65535DOWNTO0);

BEGIN

IFRST='

THEN--计数器异步复位QI:

=(OTHERS=>

'

);

ELSIFSET=’1’THEN--计数器一步置位

QI:

=SETDATA;

ELSIFCLK'

EVENTANDCLK='

THEN--检测时钟上升沿

IFEN=’1’THEN–检测是否允许计数

IFCHOOSE=’1’THEN--选择加法计数

QI:

=QI+1;

--计数器加一

ELSEQI=QI-1;

COUT<

=QI;

--将计数值向端口输出

ENDONE;

6-4说明信号和变量的功能特点,以及应用上的异同点。

变量:

变量是一个局部量,只能在进程和子程序中使用。

变量不能将信息带出对它做出定义的当前结构。

变量的赋值是一种理想化的数据传输,是立即发生的,不存在任何延时行为。

变量的主要作用是在进程中作为临时的数据存储单元。

信号:

信号是描述硬件系统的基本数据对象,其性质类似于连接线;

可作为设计实体中并行语句模块间的信息交流通道。

信号不但可以容纳当前值,也可以保持历史值;

与触发器的记忆功能有很好的对应关系。

6-7什么是重载函数?

重载算符有何用处?

如何调用重载算符函数?

(1)根据操作对象变换处理功能。

(2)用于两个不同类型的操作数据自动转换成同种数据类型,并进行运算处理。

(3)如何调用重载算符函数?

采用隐式方式调用,无需事先声明。

6-8判断下面三个程序中是否有错误,指出错误并给出完整程序。

程序1:

SignalA,EN:

std_logic;

…………………

Process(A,EN)

VariableB:

std_logic;

Begin

ifEN=lthenB<

=A;

endif;

--将“B<

=A”改成“B:

=A”

endprocess;

程序2:

Architectureoneofsampleis

variablea,b,c:

integer;

begin

c<

=a+b;

--将“c<

=a+b”改成“c:

=a+b”

end;

程序3:

libraryieee;

useieee.std_logic_1164.all;

entitymux21is

PORT(a,b:

instd_logic;

sel:

instd_loglc;

outstd_logle;

--将“;

)”改成“)”

endsam2;

--将“sam2”改成“entitymux21”

architectureoneofmux2lis

--增加“process(a,b,sel)begin”

ifsel='

thenc:

=a;

elsec:

=b;

--应改成“ifsel='

thenc<

elsec<

--增加“endprocess;

endtwo;

--将“two”改成“architectureone”

74LS160的程序

libraryieee;

useieee.std_logic_1164.all;

useieee.std_logic_unsigned.all;

entityjishuqiis

port(clk,clr,p,t,load:

:

outstd_logic;

led:

bufferstd_logic;

instd_logic_vector(3downto0);

bufferstd_logic_vector(3downto0);

hex:

outstd_logic_vector(6downto0));

endjishuqi;

architecturebehavofjishuqiis

signalcount2:

integerrange0to9;

signalhz 

integerrange0to1;

begin

process(clk)

variablecount:

integerrange0to25000000;

begin

if(clk='

andclk'

event)thencount:

=count+1;

if(count=12500000)thenhz<

=1;

y<

elsif(count=25000000)thenhz<

=0;

count:

endprocess;

----------------------------------------

process(clr,hz,p,t,d,load,q)

ifclr='

thenq<

="

0000"

else

ifhz=1andhz'

eventthen

ifload='

thenq<

=d;

elsifload='

then

ifp='

then

ift='

ifq="

1001"

led<

=notled;

elseq<

=q+1

process(p,t,d,q)

=q;

elsift='

----------------------------------------

process(q)

begin

caseqis

when"

=>

count2<

0001"

0010"

=2;

0011"

=3;

0100"

=4;

0101"

=5;

0110"

=6;

0111"

=7;

1000"

=8;

=9;

whenothers=>

=null;

endcase;

------------------------------------------

process(count2)

casecount2is

when0=>

hex<

0000001"

when1=>

1001111"

when2=>

0010010"

when3=>

0000110"

when4=>

1001100"

when5=>

0100100"

when6=>

0100000"

when7=>

0001111"

when8=>

0000000"

when9=>

0000100"

endbehav;

4选1多路选择器

useieee.std_logic_unsigned.all;

entitymux4isport(d0,d1,d2,d3:

a0,a1:

q:

outstd_logic);

endmux4;

architecturebehavioralofmux4issignalsel:

beginwithselselect

q<

=d0after10nswhen0,d1after10nswhen1,d2after10nswhen2,d3after10nswhen3,‘x’after10nswhenother;

sel<

=0whena0=‘0’anda1=‘0’else1whena0=‘1’anda1=‘0’else

2whena0=‘0’anda1=‘1’else3whe

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

当前位置:首页 > 工作范文 > 行政公文

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

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