微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > FPGA,CPLD和ASIC > 在verilog中嵌套写case语句好不好

在verilog中嵌套写case语句好不好

时间:10-02 整理:3721RD 点击:
诸位DX,
在verilog中嵌套写case语句好不好,很少看到类似的代码,应该能综合。

随便写。不要小看现在的综合工具。只要便于阅读就好了。这个属于coding style

意见同上。暂时没有发现有什么问题。

我也很担心内嵌的case语句能不能百分之百赋值正确!

流控制语句的嵌套最好不要超过三个。
个人意见,仅供参考

高手,学习一下

还没见过这么写的,阅读性太差

看看你的综合出的目标电路,试试修改一下case的分支条件的命令字,也许可以不用多层嵌套

多重嵌套不好好优化的话 频率上不去的!

agreed.  it's just coding style.
However, bear in mind that the default rule for lint tools always requires you to write a "default" case, but then coverage tools would complain about those default cases, so I'd suggest you to avoid it instead.

rtl code 写的越傻,功能越独立,越简单,越好。这样做,如果后端出了问题,前端改起来也会很容易。要是把逻辑写成一锅粥的话,说明你还是没有明白这其中的真谛啊

CASE你想用来干什么
为什么不用状态机呢?

verilog里不能嵌套用CASE吗?

這是 Style 問題。
不過不好的 Style 的確會造成困擾。
但還是要看公司有沒有一致的規定,畢竟問題還是出在同僚,以及接手的工程師,是否能狗瞭解,以及方便他們繼續發展。
所以是不是有一種 Style 真的比較好用?我也沒有把握。
不過,簡單講,如果一行能寫完的事情,搞成10行,應該沒好處吧?

应该没有什么问题,看软件是否支持了。

最好不要这样,一是阅读性不好,而是在在综合的时候会有意想不到结果

還是嚴格一點吧

功能仿真没问题的话,综合器肯定是可以的。

我个人觉得最好不要这样写,可读性差,综合结果也不可控。嵌套的case语句完全可以独立出来写在一个新的进程里,把作为条件触发他们的上一层case语句作为新进程的敏感列表。如果嵌套的case语句是描述状态机的话,这个状态机也完全可以重新设计,拆分成几个子状态机。总之,我觉得这种写法是完全可以避免的。

能否给个例子
能否给个例子


学习中。

顶10楼,嵌套多了跑频是个问题,



    综合肯定是没有问题的!
但是代码尽量简洁!可读性强!

你可以定义一个中间变量来减少case的层次!

多重case导致组合逻辑成倍增加,不利于时序收敛,不如改为几个case并行

要想频率跑得快,不要多重嵌套。xilinx推荐的是if...else...不超过3层嵌套。case嵌套能简化成parallel最好

太多会影响电路频率

菜鸟学习了,随手就写都不知道还有这么多的注意事项呢。

可以 需要重点考虑延时问题了

一般比较少 不太建议这么写 楼里几位的建议还是挺好的

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top