【问题标题】:System-Verilog testbench generate 2 clocks same frequency 90 degrees out of phaseSystem-Verilog 测试台生成 2 个时钟,频率相同,相位相差 90 度
【发布时间】:2016-06-16 17:36:52
【问题描述】:

对于系统 verilog 测试平台,我需要使用参数创建 2 个时钟

Clock1 = 250MHz,起始相位 0°

时钟 2 = 250MHz,起始相位 90 度 w.r.t。时钟1

我尝试了以下方法,但它对时钟生成没有影响,并且两者仍处于同相状态。如何实现这种相移?

  parameter CLK_PERIOD = 4000; //250MHz = 4000ps

  initial
    Clock1 = 1'b0;
  always
    Clock1= #(CLK_PERIOD/2.0) ~Clock1;

  initial begin
    Clock2 = 1'b0;
    #1000; //to make it 90degrees out of phase with Clock1
  end
  always
    Clock2= #(CLK_PERIOD/2.0) ~Clock2;

【问题讨论】:

    标签: verilog clock system-verilog test-bench


    【解决方案1】:

    Clock2 initial 块内使用forever

    module tb;
      parameter CLK_PERIOD = 4000; //250MHz = 4000ps
      bit Clock1, Clock2;
      initial
        Clock1 = 1'b0;
      always
        Clock1= #(CLK_PERIOD/2.0) ~Clock1;
    
      initial begin
        Clock2 = 1'b0;
        #1000; //to make it 90degrees out of phase with Clock1
        forever Clock2= #(CLK_PERIOD/2.0) ~Clock2;
      end
    endmodule
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-10-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-10-27
      • 2013-12-11
      相关资源
      最近更新 更多