首页 > 技术文章 > 【短篇】Verilog中 嵌套三目运算符(嵌套if-else) 和 函数case结构 的比较

stevechekblain 2020-11-22 10:36 原文

本文是龙芯杯日志的一篇扩展短文,日志指路:【【龙芯杯日志】2020/11/19-2020/11/21: 单周期CPU】

在写单周期cpu的cu和alu时,涉及到命令解码的代码中,会出现通过指令操作码和功能码判断指令类型,并分配统一的指令ID的过程。

教材PPT中给出了这样的写法:(其中的宏定义在之前的一篇文章有提到)

1

查看这个写法的RTL实现,是这样的:(框出部分是上述代码的实现)

2

可以看到,上述写法在RTL中实现为一系列串级MUX,使得门电路结构复杂,路径变长。

从上一届代码中学到了函数case结构的写法:

3

相应的RTL实现:(框出部分是上述代码的实现)

4

新写法的实现只使用了一个MUX,电路结构得到了简化。

推荐阅读