verilog 中case() 语句综合结果

在代码开发过程中,我们经常用到case()语句,但是case()语句综合出来的到底是什么东西。下面我们一起看看。

代码:

综合后的RTL级:

 

 分析:

通过RTL级可以看到,case()语句生成了一个selector0选择器,该选择器具有四个SEL信号输入,分别为ModeSelect和0、1、2,进行比较的比较器Equal0、Equal1、Equal2的输出,还有一个是这三个比较器输出信号相或后的。该选择器还有四个数据输入,分别为FPD_signal、ExternalSignal、Logic_ECG_TRG、0。当选择信号SEL满足一定要求,则选择器输出相应的值。该选择器可以认为就是译码器。selector0该选择器是组合电路,它刚好在FPD_signal触发器和TriggerSignal触发器之间。则它的组合逻辑大小和延时,会影响这2个D触发器的时序以及时序余量。

总结:

case()语句综合出来的是选择器,且是组合逻辑,case()中分支的多少,会影响该电路的延时时间,从而影响设计的静态时序。理论上case()分支应该越少越好。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

cattao1989

这些都是一点一点仿真出来的

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值