欢迎各位朋友关注“郝旭帅电子设计团队”公众号,本公众号会定时更新相关技术类资料、软件等等,感兴趣的朋友可以浏览一下本公众号的其他“模块”,希望各位朋友都能在本公众号获得一些自己想要的“东西”。
本篇主要是学习SystemVerilog第3天:枚举类型
学习说明:基于已经有verilog基础来进行学习;如若对于verilog不熟悉,建议先学习verilog。
在设计时,有一些信号我们可以通过字符和数值的替代,来让代码的可读性更高;
例:状态机的设计;
在verilog中,设计一个简单的状态机:
设计了独热码的四个状态,跟随时钟不断的循环。
形成的RTL视图如下:
state形成了一个四位的寄存器。
仿真图如下:
state确实按照我们的逻辑进行运行,但是是显示的数值,如果要是能够显示S0、S1等等就更好了(在有些设计时,我们定义的名字会更有意义一些,通过看数值,可能不直观发现在那个状态)。
我们可以利用一些特殊方式让他显示出S0、S1等等(转换为ASCII),但是比较麻烦。
利用Systemverilog的枚举类型来设计上述的例子:
SystemVerilog 中的枚举类型(enum)是一种用户自定义的数据类型,它允许用有意义的名称来表示一组整型常量,从而提高代码的可读性和可维护性。
形成的电路如下(同样利用了四个寄存器来实现):
仿真后的波形如下:
将能够显示我们枚举出来的字符。
此时我们在进行设计调试时,就比较直观的能够看出来在那个状态。
本篇内容中有部分资源来源于网络,如有侵权,请联系作者。
133