当前位置:首页 > 新闻资讯 > FPGA之家动态 >

FPGA逻辑面试题五

时间:2024-07-23      来源:网络搜集 关于我们 0

26、下列哪种说法正确 A B D

A 同步复位增加了时序收敛的难度

B 同步化异步复位可以保证逻辑正确复位

C 从使用资源的角度看,应该使用异步复位

D 异步复位可能会导致逻辑错误

27、关于任务和函数的区别,下列说法错误的是 A

A 函数可以包含时延和时序控制

B 函数不能调用任务

C 函数必须带有至少一个输入

D 函数只能返回一个值

解析:

任务和函数的共同点:

1)任务和函数必须在模块内定义,其作用范围仅适用于该模块,可以在模块内多次调用。

2)任务和函数中可以声明局部变量,如寄存器,时间,整数,实数和事件,但是不能声明线网类型的变量。

3)任务和函数中只能使用行为级语句,但是不能包含always和initial块,设计者可以在always和initial块中调用任务和函数。

任务和函数的不同点:

1)函数能调用另一个函数,但是不能调用任务;任务可以调用另一个任务,也可以调用函数。

2)函数总是在仿真时刻0开始;任务可以在非零时刻开始执行。

3)函数一定不能包含任何延迟,事件或者时序控制声明语句;任务可以包含延迟,事件或者时序控制声明语句。

4)函数至少要有一个输入变量,也可以有多个输入变量;任务可以没有或者有多个输入,输出,输入输出变量。

5)函数只能返回一个值,函数不能有输出或者双向变量任务不返回任何值,或者返回多个输出或双向变量值。

由上述的特点决定:函数用于替代纯组合逻辑的Verilog代码,而任务可以代替Verilog的任何代码。

任务使用关键字task和endtask来进行声明,如果子程序满足下面任何一个条件,则必须使用任务而不能使用函数。自动(可重入)任务:Verilog任务中所有声明的变量地址空间都是静态分配的,因此如果在一个模块中多次调用任务时,可能会造成地址空间的冲突,为了避免这个问题,Verilog通过在task关键字后面添加automatic使任务称为可重入的,这时在调用任务时,会自动给任务声明变量分配动态地址空间,这样有效避免了地址空间的冲突。

函数使用关键字function和endfunction定义,对于子程序,如果满足下述所有条件则可以用函数来完成:跟任务调用一样,在模块中如果调用多次函数,也会碰到地址冲突的问题,因此也引入automatic关键字来对函数可重用性声明。没有进行可重用性声明的函数不可以多次或者递归调用,进行了可重用性声明的函数可以递归调用。

28、请选出哪个不是FPGA的加载方式 C

A 被动并行 B 主动串行 C I2C加载 D JTAG

解析:FPGA器件配置方式分三大类:主动配置、被动配置和JTAG配置。

主动配置:由FPGA器件引导配置操作过程。

被动配置:由计算机或控制器控制配置过程。上电后,控制器件或主控器把存储在外部存储器中的数据送入FPGA器件内,配置完成之后将对器件I/O和寄存器进行初始化。初始化完成后,进入用户模式,开始正常工作。一旦设计者选定了FPGA系统的配置方式,需要将器件上的MSEL引脚设定为固定值,以指示当前所采用的配置方式。常用的配置方式有:

PS配置(Passive Serial ConfiguraTIon):被动串行配置

AS配置(AcTIveSerial ConfiguraTIon):主动串行配置

PPS配置(Passive Parallel Synchronous ConfiguraTIon):被动并行同步配置

FPP配置(Fast Passive Parallel Configuration):快速被动并行配置

PPA配置(Passive Parallel Asynchronous Configuration):被动并行异步配置

PSA配置(Passive Serial Asynchronous Configuration):被动串行异步配置

JTAG配置(Joint Test Action Group Configuration)

29、TTL与非门的空余输入端错误的处理方法是 A C

A 接地

B 通过1k欧电阻接地

C 接高电平

D 空置

E 通过1k欧电阻接高电平

解析:对于TTL 与非门,只要电路输入端有低电平输入,输出就为高电平,只有输入端全部为高电平时,输出才为低电平。根据其逻辑功能,当某输入端外接高电平时对其逻辑功能无影响,根据这一特点应采用以下四种方法:

1)将多余输入端接高电平,即通过限流电阻与电源相连接。

2)根据TTL门电路的输入特性可知,当外接电阻为大电阻时.其输入电压为高电平。这样可以把多余的输入端悬空此时输入端相当于外接高电平。

3)通过大电阻到地,这也相当于输入端外接高电平。

4)当TTL门电路的工作速度不高,信号源驱动能力较强多余输入端也可与使用的输入端并联使用。

30、FPGA和CPLD的区别有 A B C D

A FPGA是易失性逻辑器件;CPLD是非易失性逻辑器件

B FPGA的保密性比CPLD差

C FPGA规模和逻辑复杂性比CPLD高

D FPGA基于LUT,CPLD基于乘积项或LUT

解析:FPGA内部是SRAM的结构,易失性逻辑器件,只能外挂EEPROM或者Flash;CPLD内部有EEPROM或Flash,非易失性逻辑器件。FPGA一般不保密,采用额外的加密核,CPLD可加密。FPGA规模比CPLD大,完成比较复杂的算法,CPLD则用于逻辑控制。FPGA基于查找表LUT的结构,CPLD主要是基于乘积项的结构,Altera的MAXII系列,Lattic的CPLD存在基于查找表LUT的结构。


注明:本内容来源网络,不用于商业使用,禁止转载,如有侵权,请来信到邮箱:429562386ⓐqq.com 或联系本站客服处理,感谢配合!

用户登陆

    未注册用户登录后会自动为您创建账号

提交留言