FPGA/集成电路
笔试面试题解答
已更新22个笔试面试题还未完结
连载更新。。。
别人连载小说,我们连载FPGA/集成电路笔试面试题解答视频!
一点一滴的积累,坚持获得成绩!
明德扬潘老师历经多年精心整理历年各大公司(如海华、大彊、中兴、展讯等名企)笔试面试题,每道题都有已录制好的详细的解答视频+ 举一反三的解题技巧。
届时我们将不断地更新和补充最新的笔试面试题(解答视频),欢迎大家关注进行免费领取。
1.Write a sequence of 3-bit grey code. Can you derive a general equation to convert binary to
grey code?[AMD 2008]
【解答视频序号:08310001】
2.怎样将一个single-bit信号从快时钟域送到慢时钟域,或慢送到快?Multi-bit信号呢?
[AMD 2008]
【解答视频序号:08310002】
3.设计一个计算连续Leading Zeros个数的电路。输入8-bit,输出4-bit。[AMD 2008]
00001000 0100
00100010 0010
10001000 0000
可以parameterize你的设计吗?其hardware是什么样子的?
【解答视频序号:09090001】
4.出下面两个状态机的逻辑综合图,并说明两种写法的优缺点![凹凸2008]
always @(posedge clk or negedge rst)
if(!rst)begin
state<=0;
out<=4'b0000;
end
else
case(state)
0:begin
state<=1;
out<=4'b0000;
end
1:begin
state<=0;
out<=4'b0001;
end
endcase
always @(posedge clk or negedge rst)
if(!rst)
state<=0;
else
case(state)
0:state<=1;
1:state<=0;
endcase
always@(state)
if(!state)
out=4'b0000;
else
out=4'b0001;
前者state 和out[0]分别综合成两个触发器,其中state触发器的输入为它本身的反向。out[0]的触发器为state的当前输入。后者只有state一个触发器,输出直接赋值给out[0],光靠这两段看不出它到底要考啥,估计可能是想考状态机1段,2段,3段式的优缺点。
第一个out要综合成四位的寄存器,占用资源;
第二个则比较节约了呵呵
2段和1段相比,没有节省资源吧,还多用了寄存器了。
不过肯定是提高了程序代码的可读性和维护性我觉得这两段的输出加一步寄存会好一些,可以减少逻辑电路带来的毛刺吴继华,王城编的《verilog设计和验证》有一章对这个讲得很详细你可以到论坛里面去找找,好像是有电子版
第一段代码速度上比较快,但所占资源多;第二段正好相反,只用了一个寄存器,但Timing会差点。所谓可读性,我觉得在这里没什么区别,关键还是硬件实现上的区别。
我的观点是:二段式的状态机将组合逻辑和时序逻辑分离开,便于综合工具进行分析。ls各位说的,只是基于这两个例子但是题目是关于状态机的写法的优缺点这是我的观点。
【解答视频序号:09090002】
5.设计地址生成器。[nVidia 2008]
要求依次输出以下序列:
0,8,2,10,4,12,6,14,1,9,3,11,5,13,7,15,
16,24,18,26, (31)
32,40,34,42, (47)
48,56,50,58, (63)
64,72,66,76,.................................,79
【解答视频序号:09090003】
6.假设存在positive clock skew为10ns,问最高电路频率。[SIRF 2008]
能容忍的最大positive clock skew
能容忍的最大negative clock skew
positive clock skew:DFF2的clock比DFF1的来的晚
negative clock skew:DFF2的clock比DFF1的来的早
T setup=1ns T hold=1ns T clk->q=1ns
【解答视频序号:09090004】
7.阻塞赋值和非阻塞赋值的区别[Trident]
always@(posedge clk) always@(posedge clk)
begin begin
b=a; b<=a;
c=b; c<=b;
end end
上面两段代码的硬件结构是怎么样的?
【解答视频序号:09090005】
8.化简代码使硬件尽可能少[Trident]
always@ (sel or a or b or c)
if(sel)
y = a + b;
else
y = a + c;
【解答视频序号:09090006】
9.2进制的1101.101变成十进制是多少?[Trident]
【解答视频序号:09090007】
10.下面哪种写法会产生latch?为什么?[SIRF 2008]
【解答视频序号:09090008】
11.从仿真的角度设计测试32(bit)*32(bit)的乘法器能否正常工作的过程?
【解答视频序号:09110001】
12.从仿真的角度设计测试1024-depth的SRAM能否正常工作的步骤或过程,功能:有10
位的读写指针,并且读操作与写操作可以同时进行,负责读和写的部分由一个控制器控制。
【解答视频序号:09110002】
13.报文替换ID的功能
【解答视频序号:09110003】
14.flip-flop和latch的区别,rtl中latch是如何产生的[SIRF 2008]
【解答视频序号:09120001】
15.多时钟域设计中,如何处理跨时钟域信号?[SIRF 2008]
【解答视频序号:09120002】
16.锁存器比寄存器省面积,但为什么在IC设计中通常使用寄存器?[SIRF 2008]
【解答视频序号:09120003】
17.用verilog/vhdl写一个fifo控制器(包括空,满,半满信号)。(飞利浦-大唐笔试)
reg[N-1:0] memory[0:M-1]; 定义FIFO为N位字长容量M
【解答视频序号:09250001】
18.FPGA 的片上RAM 资源,可以在设计中如下哪些应用?
a、Shift Register
b、ROM
c、RAM
d、FIFO
【解答视频序号:09250002】
19.下列哪些属于时钟约束?
a、set_false_path
b、set_input_path
c、set_max_delay
d、set_multicycle path
【解答视频序号:09250002】
20.FPGA可以有哪些工艺?
a、SDRAM
b、SRAM
c、EEPOM b、DDR e、FLASH
【解答视频序号:09250002】
21.下列哪些是FPGA片内资源?
a、RAM
b、LUT
c、DSP
d、SDRAM
【解答视频序号:09250002】
22.下列哪些选项是FPGA设计中必须的设计约束?
a、管脚约束
b、跨时钟域约束
c、时钟周期约束
d、片上RAM位置约束【解答视频序号:09250002】