【问题标题】:Is randomize an inbuilt function in SystemVerilog?随机化 SystemVerilog 中的内置函数吗?
【发布时间】:2021-05-18 14:27:19
【问题描述】:
class sample;
  randc bit[2:0]count;
endclass

module top;
  sample sample_test;
  initial begin
    sample_inst=new();
    repeat(20) begin
      sample_inst.randomize();
      sample.print();// this is assumed to be written in class
    end
  end
endmodule 

我了解randrandc 是什么,但我不明白我们如何能够使用randomize() 而无需在SystemVerilog 类中编写函数。我认为它是一个内置功能。我在网上看到很多代码在课堂上没有写randomize函数。

【问题讨论】:

    标签: system-verilog


    【解决方案1】:

    是的,randomize 是一个内置函数,定义在 IEEE Std 1800-2017,第 18.6.1 节 Randomize()

    对象中的变量使用 randomize() 类进行随机化 方法。每个类都有一个内置的 randomize() 虚方法, 声明如下:

    virtual function int randomize();
    

    这意味着你在网上看到的所有代码示例都没有声明randomize 函数。

    提供IEEE Std 的免费副本。这应该是您获取所有信息的第一个来源。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-04-15
      • 1970-01-01
      相关资源
      最近更新 更多