不对的地方欢迎指出。
三.填空题
1.assign重写一段代码。
答案:assign out = (in&(a^b))|(~in&{in[6:0],1’b0});
解析: in[i]=1时,a[i]^b[i];
in[i]=0时,左移一位,最低位补零。
2.将2004个叫1"异或起来的结果为(0)。
答案:0
解析:偶数个1异或为0.
3.用2048x12的ROM芯片,最多能实现()个输入 ()个 输出的组合逻辑的数。
答案:11,12
解析:2048=2^11,2048深度,是11位地址位,2048*12表示11位输入地址、12位输出数据(ROM只能输出)。
4.一个4bits的输入A,AE= 4'b0, A中从MSB开始出现的第个1的位置表示为B。e.g.: A= 4'b0111. B= 2'b10 (从MSB开始,第一个1出现在A的bit2)
B[1]= () B[0]= ().
答案:A[3]|(~A[3]&A[2]),A[3]|(!A[3:2]&A[1])
解析:
A[3]=1时,B=2’11,B[1]=1,B[0]=1;
A[3]=0,A[2]=1时,B=2’10,B[1]=1,B[0]=0;
A[3]=0,A[2]=0,A[1]=1时,B=2’01,B[1]=0,B[0]=1;
A[3]=0,A[2]=0,A[1]=0,A[0]=1时,B=2’00,B[1]=0,B[0]=0;
B[1]=1时:A[3]|(~A[3]&A[2])
B[0]=1时:A[3]|(!A[3:2]&A[1])
~是按位取反,!是逻辑取反(非0即1)
5.某个SRAM共12根地址线A11 -A0,32根数据线D31-D0, 如果要实现20Dytes的Memory,需要()块这样的SRAM?
答案:64
解析:12根地址线,存储深度为2^12,32根数据线有4 Bytes,即一个SRAM存储2^14 Bytes,共需 2^20 / 2^14 = 2^6 = 64 块。
6.已知R1= R2 = R3 = R4 = R5 = R6 = R,下图从电源两端向右看去的等效电阻为(2R)。
7. 一批IC样品在测试中发现有setup或者hold时序问题 现取A B. C、D四颗样品进行测试A降温后停止工作,则很可能是()问题: B升温后停止工作,则很可能是()问题; C降压后停止工作,则很可能是()问题,D升压后停止工作,则很可能是()问题。
答案:hold(不确定),setup(不确定),setup,hold
解析:
电压的关系可以确定,setup可以用提高电压来满足,所以C降压后停止工作可能是setup问题,D升压后停止工作可能是hold问题。
温度的关系没找到相关资料,但是按出题人的思路想,应该是和电压的影响相反,这里A和B**猜测**是hold和setup。
这里涉及的是PVT(Process,Voltage,Temperature),本人不是做这方面的,不深入去找了。
8.下图表示几进制计数器
答案:五
解析:最后的Q2部分,上面1J处的意思是先把两输入信号做“与”运算,再将运算结果作为JK触发器的输入,在Quartus中绘制原理图如图所示,给出Modelsim仿真,可以按照仿真波形去验证自己画出的波形,对Q2,显然每5个CP时钟出现一次高电平脉冲,五进制计数器。
9.OOP的三大特征是(封装性、继承性、多态性)。
10.NAND和NOR Flash的主要区别是1.(NAND)中常存在坏块, 2.(NAND)容量可以做到很大,3.(NAND)写入速度比较快, 4.(NOR Flash)读出速度比较快
四.问答题
1.请根据下面的设计描述,尽可能多的列出你所能想到的测试点。
如下图所示异步FIFO, rdata和wdata均为8位数据,FIFO深度为16.当rst_n输入为低时,FIFO被复位,当wclk的上升沿采样到wr为高时,数据被写入
FIFO;当rclk的上升沿采样到rd为高时,FIFO输出数据。此外,当FIFO为空时,empty信号输出为高,当FIFO满时, full信号输出为高。
测试点:
(1)复位信号,复位给出后各信号状态;
(2)读写同时有效时的判断,读写冲突先执行读还是先执行写;
(3)写溢出时的数据处理和full满标志位;
(4)读为空时的数据输出和empty空标志位;
(5)欢迎补充。。。
2.请实现对4*4矩阵式键盘的按键识别,假设每次都是单按键输入,需要有去抖功能(持续20 ms以上被认为是有效键值) ,模块时钟频率为1 kHZ.
要求用状态机实现,定义状态,画出状态转移图,并用Verilog完整描述该识别模块。
矩阵式键盘电路结构参见下图,其中行线1-4由识别模块控制输出,列线5~8为识别模块的输入。
解析:可以参考单片机的矩阵键盘检测(扫描法)和防抖(加延时,两次检测),转成状态机形式。
3.Verilog实现串行CRC-8,G(D)=D8 D2 D 1。
解析:状态机,可以按照C语言的CRC-8转成状态机写法,用计数器代替for循环。
选择题部分:
单选和多选部分——乐鑫科技2021数字IC提前批笔试(上) FPGA探索者,公众号:FPGA探索者FPGA、数字IC系列(1)——乐鑫科技2021数字IC提前批笔试(上)
欢迎关注。
CSDN博客:DengFengLai123