问一道面试题--化简电路
时间:10-02
整理:3721RD
点击:
好像是trident 08 年的一道面试题, 有人指点一下么? thanks
----------------------------------------------------
化简代码使硬件尽可能少
always@ (sel or a or b or c)
if(sel)
y = a + b;
else
y = a + c;
----------------------------------------------------
化简代码使硬件尽可能少
always@ (sel or a or b or c)
if(sel)
y = a + b;
else
y = a + c;
tmp = (sel) ? b : C;
y = a + tmp;
谢谢 moore
这道题本身就是 纯 组合逻辑搭出来, 所以不需要用 always。
呵呵 有意思~··
assign y = a + (sel)?b:c;
assign y = sel? (a + b) : (a + c)
恩,我也是这么认为,综合出来的电路可以少用一个加法器
Y=s*(a+b)+!s*(a+c)=a+(s*b+!s*c)
对于最简单的逻辑实现,
没简化前需要2个或门+1个Mux+1个反相器
简化后只需1个或门+1个Mux+1个反相器
这是经典的2个加法器变1个加法器的问题,不过貌似现在的综合工具可以帮助进行化简了
assign y = a + sel ? b : c 由2个加法器减至1个加法器。
Y= a+b&sel+c&(~sel);
这个不妥。综合出来肯定是两个加法器和一个mux
学习了!
如果是考资源共享前面回答基本就对了
但是
对简化前综合出来的电路结构是无资源共享的(不省面积)
对简化后综合出来的电路结构是不一定资源共享的(不一定省面积)
不然认识就太浅了
