求职攻略| 每次上电后,FPGA为什么必须要进行配置?(大华FPGA岗解析)

首页-达尔闻    全部    求职攻略| 每次上电后,FPGA为什么必须要进行配置?(大华FPGA岗解析)

大华FPGA逻辑岗的题目包含的知识面非常广,上周我们发了C语言相关的题,这一期解析的则是数电的一些基础题,同时也是易错的题。

23)将8进制数字17.24转换成2进制是(   )

解析:本题主要考察了数电中的八进制与二进制转换

若将八进制数转换成二进制数,则只要将八进制数的每一位代之以等值的二进制数即可。

所以,(17.24)8  =(001111.010100)2或(1111.0101)2

 

24)十进制数69.875,2进制表示为(  ),16进制表示为(   )。

解析:本题主要考察了数电中十-2进制和十-16进制的转换

首先这个题目是由整数部分和小数部分组成,这两部分的计算也各不相同。整数部分反复将每次得到的商再除以2,得到的余数按照逆向顺序排列就可以求得二进制数的每一位。所以(69)10 =(1000101)2。

其次讨论小数的转换,将每次乘2后所得乘积的小数部分再乘以2,每次乘以2后得出的结果取其整数部分,直到小数部分为0或达到精度要求为止,便可求出二进制小数的每一位。所以(0.875)10 =(0.111)2 。

可以得出,(69.875)10 =(1000101.111)2 。

十进制转换为十六进制数时,可以先转换为二进制数,再将得到的二进制数转换为等值的十六进制数。因此将整数和小数部分的每4位二进制数分为一组并代之以等值的十六进制数,即可得到对应的十六进制数。

因此在不影响数值结果的情况下,需要对原值的二进制数进行换算,(69.875)10 =(1000101.111)2 =(0100 0101.1110)2 。所以(69.875)10 =(45.E)16

 

25)十进制数73.5625,2进制表示为(   ),16进制表示为(   )。

解析:本题主要考察了数电中十-2进制和十-16进制的转换本题和上题一样,可以参考上题的解题方法。

最后这道题的答案是:

(73.5625)10 =(1001001.1001)2 。

(73.5625)10 =(49.9)16 。

 

26)FPGA基于(   )结构实现,因此每次上电后必须进行一次配置。

解析:本题主要考察了FPGA的工艺和SRAM的特性

这题只看前半句,答案可能不唯一,要结合后半句一起看,才能精准的确定答案。FPGA一般都是基于SRAM工艺的,SRAM是指静态随机存取存储器,所谓“静态”是指这种存储器只要保持通电,里面的数据可以恒常保持。当电力供应停止时,SRAM存储的数据还是会消失的,这与断电后还能储存数据的ROM或闪存不同。综上,本题应该填入:SRAM工艺。

27)FPGA是通过(    )来实现组合逻辑,CPLD是通过(    )来实现组合逻辑。

解析:本题主要考察了FPGA和CPLD的基本结构

基本可编程逻辑单元是可编程逻辑的主体,可以根据设计灵活地改变其内部连接与配置,完成不同的逻辑功能。FPGA的基本可编程逻辑单元几乎都是查找表(Look Up Table,LUT)和寄存器组成。而CPLD的基本逻辑单元为乘积项。

综上,FPGA是通过(查找表和寄存器)来实现组合逻辑,CPLD是通过(乘积项 )来实现组合逻辑。

 

28)时序设计的本质是满足每一个触发器的(   )和(    )的要求。

解析:本题主要考察了时序设计的基础

时序设计的本质是满足每一个触发器的建立时间和保持时间的要求。触发器内部数据的形成是需要一定的时间,如果不满足建立和保持时间,触发器将会进入亚稳态,进入亚稳态后触发器的输出将不稳定,在0和1之间变化,这时需要经过一个恢复时间,其输出才能稳定,但稳定后的值不一定是你的输入值。

29)触发器的时钟信号上升沿到来以前,其数据输入端的数据必须保持不变的时间叫做(   )。

解析:本题主要考察了建立时间的概念

建立时间Ts是指在触发器的时钟信号上升沿到来以前,数据稳定不变的时间,如果建立时间不够,数据将不能在这个时钟上升沿被稳定的打入触发器。

 

30)数字电路中,状态机由三部分组成,分别为(   )、状态机寄存器、输出逻辑。

解析:本题主要考察了状态机的结构

有限状态机由组合逻辑和状态寄存器组成。其中组合逻辑又可以分为次态逻辑和输出逻辑两个部分。其中次态逻辑的功能是用来确定状态机的下一个状态,而输出逻辑是用来确定状态机的输出。

所以在数字电路中,状态机由( 次态逻辑  )、状态机寄存器、输出逻辑三部分组成。

 

31)带符号的6比特数据,赋值范围由(   )。

解析:本题主要考察了数字电路中有符号数的取值范围问题

在补码的表示中,正数的补码等于原码。而负数的补码,符号位为1,数值部分为原码的数值各位取反后末位加1,因此6bit数的最小值是10_0000,最大为01_1111。所以赋值范围是-32~31

 

32)4输入查找表可以看成一个有4位地址线的(   )x1的RAM。

解析:本题主要考察了查找表的本质其实查找表就是一个RAM,而4输入查找表可以看成是具有4位地址线的一块存储器,能存储16个1比特数据。

 

33)逻辑函数F = A’B’C’D’+A+B+C+D = (   )。

解析:本题主要考察了数电中逻辑表达式的化简

该题目一眼看上去比较复杂,没有头绪的同学可能立刻想到了卡诺图法,方法没问题,但是作为一个填空题用卡诺图的方法很浪费时间,尤其是该题目的后四项,如果用卡诺图法需要将其展开为最小项和的形式,那就会有很多项。此时如果你还对著名的德・摩根(De. Morgan)定理,亦称反演律有印象的话那就太好了,这题的关键亦在此。

F = A’B’C’D’+A+B+C+D  = (A+B+C+D)’ + (A+B+C+D)

写道这里我想大家就会恍然大悟了,其实就是把第一项用反演律做了个变换,然后把后四项结合起来,最后再用一下互补定律A+A’=1,得最后的结果为1

 

34)在Verilog HDL中,语句`timescale 1ns/10ps中,仿真精度为(  )。

解析:本题主要考察了Verilog中用于仿真的系统函数

Verilog语言中预先定义了一些任务和函数,用于完成一些特殊的功能,它们被称为系统任务和系统函数,这些函数大多数都是只能在Testbench仿真中使用的,更确切的说这些系统函数大都只在仿真时产生效果,系统任务和函数的使用能够使我们更方便的进行验证代码的编写。

`timescale 1ns/1ns  //时间尺度预编译指令 时间单位/时间精度 

时间单位和时间精度由值1、10、和100以及单位s、ms、us、ns、ps和fs组成

时间单位:定义仿真过程所有与时间相关量的单位

仿真中使用 “#数字”表示延时相应时间单位的时间,例#10表示延时10个单位的时间,即10ns

时间精度:决定时间相关量的精度及仿真显示的最小刻度

`timescale 1ns/10ps  精度0.01,#10.11 表示延时10110ps 

下面这种写法就是错误的,因为时间单位不能比时间精度小

`timescale 100ps/1ns  

所以本题的答案应该是10ps

2021年3月12日 11:17
收藏