单选题
1、FPGA是基于查找表结构的可编程逻辑器件
FPGA中有两种可调用的存储资源
基于SRAM的FPGA器件,每次上电后必须重新进行配置
XC7A50T是FPGA芯片
5、关于网表仿真,一下哪一项是正确的?B
A、网表仿真的速度比RTL仿真的速度更快
B、网表仿真不能发现实现约束的问题
C、网表仿真可以发现电路设计中的异步问题
D、为了保证芯片的正常工作,即使在时间和资源紧张的情况下,也需要将所有RTL仿真用例都进行网表仿真并且确保通过
8、以太网MAC IP接收UDP数据包,MAC层数据包长度为1200,那么UDP length是多少?
这题不会
9、CNN网络的,也不会
10、关于验证,一下哪一项是错误的?C
A、Verilog、SystemVerilog、SystemC都是验证常用的硬件语言
B、SystemVerilog具有面向对象语言的特性,而Verilog没有
C、验证平台使用checker组件检测DUT的行为
D、UVM是一个以SystemVerilog类库为主体的验证平台开发框架
对于验证,各设计语言的特点分别如下:
(1) Verilog:主要针对设计,在验证方面最大的问题是功能模块化和激励随机化。
(2) SystemC:主要针对算法开发,SystemC本质上是一个C++库,缺点是管理内存,避免内存泄露。
(3) SystemVerilog: 具有面向对象的特性:封装、继承和多态。对于验证,SystemVerilog语言提供了功能覆盖率、约束等特点,与Verilog兼容。
在基于SystemVerilog的验证方法学主要包括三种:VMM、OVM和UVM。UVM应用最广,得到了三大EDA厂商Sysnopsys、Mentor和Cadence的支持。
验证平台中实现监测DUT行为的组件是monitor。Checker是根据DUT的输出来判断DUT的行为是否与预期相符合,比对数据来源于RM(reference model)和o_agent的monitor。
多选题
1、Verilog中哪些是不可综合的?AC
A、initial
B、generate
C、join
D、operators
2、关于FPGA的功耗,一下哪些是正确的?ABC
A、静态功耗随温度升高而增加
B、动态功耗与工作频率、电压、节点电容有关
C、基于与门的门控时钟可降低动态功耗
D、基于或门门控时钟可降低动态功耗
芯片功耗一般分两种:来自开关的动态功耗,和来自漏电的静态功耗。而动态功耗又可分为电容充放电(包括网络电容和输入负载),还有当P/N MOS 同时打开形成的瞬间短路电流。静态功耗是于绝缘材料绝缘性不足,本应关闭的部分无法完全断电,产生的多余功耗,专业术语来说是逻辑门没有活动或者没有翻转时产生的能量损耗,p(static)=V(dd)*I(leakage),Vdd是晶体管工作电压,I leakage是漏电流。当温度上升时,芯片间的绝缘材料绝缘性能下降,静态功耗随之上升。芯片在实现相同功能的前提下,由于温度更高,其过流量增加,实际整个芯片的负载被加重,芯片的“磨损”被加重。
3、关于UVM,那些正确?ABCD
A、提高了代码复用性
B、独立于仿真器
C、支持CDV
D、支持CRV
UVM(Universal Verification Methodology) 是一个标准化的用于验证设计的方法学。其优势包括:
重用性、VIP即插即用、通用性、独立于仿真器、支持CDV(coverage driven verification)、支持CRV(constraint random verification)等等
4、关于FIFO错误的是?
A、FIFO满之后继续写会覆盖之前的数据
B、First Word Fall Through读模式下FIFO的实际深度要比Standard读出模式下大1
C、只有选择BRAM实现方式的FIFO读写宽度可不同
D、深度和宽度分别为16384和8的FIFO,需要占用4个36K Bram
First Word Fall Through读模式下的输出数据会在valid出现时先保存在输出寄存器中,等到rd_en为1时输出。深度应该是减1。
CD选项通过IP核配置发现是对的,D选项计算:16348*8/4 = 32K,所以,。。。
5、以下哪些是时序电路?ACD
A、寄存器
B、译码器
C、计数器
D、触发器
问答题
1、设计一个运算单元计算A+B/2+C/8,A、B、C位宽为8,请尽量用最少的资源来实现,写出对应的RTL代码。
2、请用moore型状态机实现序列“11011”的可重叠检测,输入输出均为1bit串行。(moore状态机的输出仅与当前状态值有关,与此时的输入无关)
(1)请画出状态转移图,用S0、s1、s2、...表示
(2)写出RTL代码
3、某个系统应用中包含一个主机和多个从机,主机可直接与外界交互,从机不能直接与外界交互,从机输出的数据经过从机处理转发。现需要系统与外界保持时间同步。
(1)有哪些同步方式,并说出对应的物理接口和同步精度范围。
(2)针对此应用系统设计一种稳定可靠的时间同步结构,并说明此系统如何与外界保持同步。
不会。。。
4、请介绍在FPGA中计算平方根的方法,列出优缺点,并选择其中一种完成关键算法设计(给出注释)
1.JPL近似的实现方法;
2.调用IP模块的cordic算法实现效果;
3.牛顿迭代忽略余数的实现方法;
优缺点:
资源占用:牛顿迭代>JPL > IPcordic,
精度的估计:JPL<牛顿迭代<IPcordic,
JPL计算速度快,误差大。
牛顿法:牛顿法的作用是使用迭代的方法来求解函数方程的根。简单地说,牛顿法就是不断求取切线的过程。
对于形如f(x)=0的方程,首先任意估算一个解x0,再把该估计值代入原方程中。由于一般不会正好选择到正确的解,所以有f(x)=a。这时计算函数在x0处的斜率,和这条斜率与x轴的交点x1。
f(x)=0中精确解的意义是,当取得解的时候,函数值为零(即f(x)的精确解是函数的零点)。因此,x1比x0更加接近精确的解。只要不断以此方法更新x,就可以取得无限接近的精确的解。
但是,有可能会遇到牛顿迭代法无法收敛的情况。比如函数有多个零点,或者函数不连续的时候。