• 正文
  • 相关推荐
申请入驻 产业图谱

学习SystemVerilog第3天:枚举类型

06/12 08:50
133
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

欢迎各位朋友关注“郝旭帅电子设计团队”公众号,本公众号会定时更新相关技术类资料、软件等等,感兴趣的朋友可以浏览一下本公众号的其他“模块”,希望各位朋友都能在本公众号获得一些自己想要的“东西”。

本篇主要是学习SystemVerilog第3天:枚举类型

学习说明:基于已经有verilog基础来进行学习;如若对于verilog不熟悉,建议先学习verilog。

在设计时,有一些信号我们可以通过字符和数值的替代,来让代码的可读性更高;

例:状态机的设计;

在verilog中,设计一个简单的状态机:

设计了独热码的四个状态,跟随时钟不断的循环。

形成的RTL视图如下:

state形成了一个四位的寄存器

仿真图如下:

state确实按照我们的逻辑进行运行,但是是显示的数值,如果要是能够显示S0、S1等等就更好了(在有些设计时,我们定义的名字会更有意义一些,通过看数值,可能不直观发现在那个状态)。

我们可以利用一些特殊方式让他显示出S0、S1等等(转换为ASCII),但是比较麻烦。

利用Systemverilog的枚举类型来设计上述的例子:

SystemVerilog 中的枚举类型(enum)是一种用户自定义的数据类型,它允许用有意义的名称来表示一组整型常量,从而提高代码的可读性和可维护性。

形成的电路如下(同样利用了四个寄存器来实现):

仿真后的波形如下:

将能够显示我们枚举出来的字符。

此时我们在进行设计调试时,就比较直观的能够看出来在那个状态。

 

本篇内容中有部分资源来源于网络,如有侵权,请联系作者。

相关推荐