在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
12
返回列表 发新帖
楼主: zhyoisa

最近面试一些问题 请教

[复制链接]
发表于 2009-11-5 16:44:25 | 显示全部楼层
值得研究
发表于 2009-11-5 17:32:11 | 显示全部楼层
关于第一个问题,实际上还和综合工具有关。拿synplify来说,老一些的版本是有区别的,新的版本上可以综合成一样的。虽然如此,在写code时,还是保守一些好。
发表于 2009-11-5 21:55:20 | 显示全部楼层
第一个问题 case综合出来也多路选择器,路径要比if else出来的要短,这个主要是针对IC设计来说的,但是对于fpga设计来说,case和if else的实现可能都是一样的路径,因为fpga的实现是查找表。

第二个问题对于IC设计来说,因为不用考虑走线的延时,所以状态机的设计基本是二段式,但是对于fpga设计来说,走线延时很大,而且寄存器也比较多,所以建议用三段式。第一段always@(posedge clk)
  if(!rst) cur_state <= ILDE;
  else   cur_state <= next_state.
第二段:
always@(*)
begin
next_state =  cur_state  ;
case(cur_state)
3'b001 :  if()  next_state =   ;
3'b010 :  if()  next_state =   ;
3'b100 :  if()  next_state =   ;
default : next_state =  cur_state  ;
endcase
end
只用来描述状态跳转的。
第三段:
always@(posedge clk)
   if(!rst)
      control_signal <= 1'b0 ;
  else if (cur_state == )
       control_signal <= 1'b1;
   else
      control_signal <= 1'b0 ;
第三段描述各个状态下的控制信号的。
发表于 2009-11-5 22:16:50 | 显示全部楼层
2楼状态机回答有误
发表于 2009-11-6 17:45:31 | 显示全部楼层
3楼的 ,,,,,你忽悠人啊 被我识破了
发表于 2009-11-6 17:59:07 | 显示全部楼层
顶13楼的!
关于if else和case的问题,FPGA上的差别性确实会少一些,不过也取决于FPGA slice里所含的LUT的input数目和code中的分支数目,如果不是perfect match,综合优化的时候还是可能有差别的。

状态机学习了。
发表于 2009-11-8 18:24:10 | 显示全部楼层
16# layow
什么样的公司问这种问题啊??太学院派了。。。
发表于 2009-11-8 18:49:42 | 显示全部楼层
靠,都忘记玩了
发表于 2010-9-8 09:54:06 | 显示全部楼层


第一个问题,
if else和case并没有本质区别。如果条件互斥,if else一样可以综合出并行结构(并非mux,因为mux往往不是面积最小的结构)。如果条件不互斥,case一样可以综合出有优先级的结构。
第二个问题,
三段 ...
hover99 发表于 2009-11-3 09:48



为什么会有很多冗余逻辑?我觉得两段式三段式只是编码风格不同,不存在孰优孰劣。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条


小黑屋| 手机版| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-12-18 22:52 , Processed in 0.019863 second(s), 6 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表