SystemVerilog 笔记与知识总结

2022-05-23

SystemVerilog 笔记与知识总结

本仓库提供了一份关于SystemVerilog的笔记和知识总结,特别适合IC验证领域的初学者。这份资源涵盖了SystemVerilog的核心概念和重点知识,帮助初学者快速上手并进行知识补充。

资源内容概述

1. 随机性(Randomization)

  • 关键词随机randrandc 表示周期随机性,随机完所有值再重复。
  • 预定义类随机函数:使用 std::randomize() 进行随机化。
  • 约束(Constraint):约束与随机变量一起在类中声明。
  • 伪随机数生成器(PRNG)
    • local:::只在 randomize 里出现,其他地方没有。
    • 伪随机数生成器通过特定算法生成一系列看似随机的数字,但实际上是确定的。
    • const:常数声明,最好赋初值,不可二次赋值。

2. 约束(Constraint)

  • inside{}:用于指定随机变量的取值范围。
  • 权重分布(dist)
    • dist :=:表示每一个值的权重相同。
    • dist :/:表示权重要平均分到值范围内的每一个值。
    • 使用 $ 表示最大值或最小值,例如 {[$:4]}
  • 条件约束
    • ->:如果箭头前面表达式的值大于0(等于1,为真),则触发后面的约束,相当于 if

适用人群

这份笔记和知识总结特别适合以下人群:

  • IC验证领域的初学者。
  • 希望快速掌握SystemVerilog核心概念的学习者。
  • 需要进行知识补充和复习的工程师。

如何使用

  1. 下载本仓库中的资源文件。
  2. 打开文件,按照章节顺序阅读,理解SystemVerilog的核心概念和重点知识。
  3. 结合实际项目或练习,加深对SystemVerilog的理解和应用。

贡献与反馈

如果您在使用过程中发现任何问题或有改进建议,欢迎提交Issue或Pull Request。我们期待您的反馈,以便不断完善这份资源。


希望这份笔记和知识总结能够帮助您在SystemVerilog的学习和应用中取得更好的进展!

下载链接

SystemVerilog笔记与知识总结