各大公司ASIC笔试
- 格式:doc
- 大小:46.00 KB
- 文档页数:6
AMD 2008 ASIC Design
Part I
1、用cmos搭Z=!( (A&B)| C | D )
2、 To implement any combinational logic, what is the minimum set of logic gate? Why there are
so many types of standard cells in the library?
3、What is Register file, one port embedded RAM, two port embedded RAM?
4、Explain how current STA tools calculate the delay using .lib (including cell delay and wire
delay)
5、Write a sequence of 3-bit grey code. Can you derive a general equation to convert binary to
grey code?
6、Show the IEEE754 binary representation for the floating-point number (10.5)10 in single
precision.
7、A,B,C为8bit integer,Z=A*B,Z=A*B+C,比较这两个设计的delay difference,in unit of
gate(如:the difference is 4 Full Adder + 1 MUXs)
8、怎样将一个single-bit信号从快时钟域送到慢时钟域,或慢送到快?Multi-bit信号呢?
9、Suppose we have a pipeline which will process the data in 3 cycles. Sometimes the source may
have no data to send out, and sometimes the sink may not be able to receive data. Define the
interface signals first, and then design the internal control logic. We must keep the throughput 1
data/cycle, and if there are any possibilities the source shall always be able to send out its data.)
10、设计一个计算连续Leading Zeros个数的电路。输入8-bit,输出4-bit。
00001000 0100
00100010 0010
10001000 0000
可以parameterize你的设计吗?其hardware是什么样子的?
11、Design a round-robin arbiter(轮换仲裁) that can accept 8 requests and give grant signals in
one cycle.
12、Setup/Hold time,计算电路最大最小延迟
Part II
关于视频的4道题,基础概念
video/image compression 的原理,过程?
H.264 encoding 框图
Part III
几道C、perl编程
画出下面两个状态机的逻辑综合图,并说明两种写法的优缺点,望高手指点!!!!!
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各位说的,只是基于这两个例子
但是题目是关于状态机的写法的优缺点
这是我的观点
要求:英语作答,不能写Verilog/VHDL(除非要求,其实没有一道允许),必须用门电路
或状态机表示。
1. 设计A[9:0]*101.10111的电路,要求用尽可能少的门。
2. 设计地址生成器,要求依次输出以下序列:
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
3. 设计一个优先级电路Status_A,Status_B,Status_C……,已知Status_A状态优先
级大于Status_B,Status_C……,Status_B状态优先级大于Status_C……,依此类推。检测
出Status_A,则无视其它状态,否则检测Status_B,依此类推。
4. 什么是CTS?为什么要CTS
5. 四道True or False
其中两道:T上升,performance上升?
Worst Case 指的是高温高压?
6. ideal时钟脚本具体电路综合时需要针对性作哪些设置。
A: 综合脚本的一些问题。关于时钟的一些设置。 布图前:creat_clock
set_clock_latency
set_clock_transition
set_clock_uncertainty
布图后:
creat_clock
set_propagated_clock
set_clock_uncertainty
7. 问图中clock gating有什么问题?如何改良?
注:这张图是修改后的图,原图是一个正latch或者理解为FF。
此外,这张图直接找来的,最后的那个反相器应该是没有的,或者前面是NAND。
8. 读report_timing的表,回答:
1)是setup time report还是hold time report?
2)时钟频率多少?
3)如何消除表中的violation?
9. 温度上升or下降时性能下降,问降低Vdd和降低频率去改良首选那种?why?
10. 详细论述为什么clock gating可以降低功耗?
凌汛科技
1、名词解释:CMOS,ESD,Latch-up,HDTV,WiMAX
2、解释setup time和hold time
当两者都出现violation时,在保证电路功能的前提下一定要fix哪一种?
3、列出IC设计中节省功耗的办法
4、解释半导体工艺过程中的天线效应,列出你所知道的解决方案
5、用perl/tcl/shell编程
匹配文件timing.rpt中所有包含VIOLATION的行,按数值大小排序后输出匹配到文件temp