1,verilog仿真语法模版_时钟激励

Clock stimulus

1,50%占空比单端时钟

1)使用always

   // Note: CLK must be defined as a reg when using this method

   parameter PERIOD = <value>;

   always begin

      CLK = 1'b0;

      #(PERIOD/2) CLK = 1'b1;

      #(PERIOD/2);

   end

2)使用forever

// Note: CLK must be defined as a wire when using this method

   parameter PERIOD = <value>;

   initial begin

      CLK = 1'b0;

      #(PERIOD/2);

      forever

         #(PERIOD/2) CLK = ~CLK;

   end       

2,非50%占空比单端时钟

1)使用always 

  // Note: CLK must be defined as a reg when using this method

   parameter PERIOD = <value>;

   parameter DUTY_CYCLE = <value_0.01_to_0.99>;

   always begin

      CLK = 1'b0;

      #(PERIOD-(PERIOD*DUTY_CYCLE)) CLK = 1'b1;

      #(PERIOD*DUTY_CYCLE);

   end

2)使用forever

   // Note: CLK must be defined as a wire when using this method

   parameter PERIOD = <value>;

   parameter DUTY_CYCLE = <value_0.01_to_0.99>;

   initial

      forever begin

         CLK = 1'b0;

         #(PERIOD-(PERIOD*DUTY_CYCLE)) CLK = 1'b1;

         #(PERIOD*DUTY_CYCLE);

      end

3,50%占空比差分时钟

1)使用always

   // Note: CLK_P and CLK_N must be defined as a reg when using this method

   parameter PERIOD = <value>;

   always begin

      CLK_P = 1'b0;

      CLK_N = 1'b1;

      #(PERIOD/2) CLK_P = 1'b1;

      CLK_N = 1'b0;

      #(PERIOD/2);

   end

2)使用forever

// Note: CLK_P and CLK_N must be defined as a wire when using this method

   parameter PERIOD = <value>;

   initial begin

      CLK_P = 1'b0;

      CLK_N = 1'b1;

      #(PERIOD/2);

      forever

         #(PERIOD/2) {CLK_P, CLK_N} = ~{CLK_P, CLK_N};

   end

4,非50%占空比差分时钟

1)使用always 

 // Note: CLK_P and CLK_N must be defined as a reg when using this method

   parameter PERIOD = <value>;

   parameter DUTY_CYCLE = <value_0.01_to_0.99>;

   always begin

      CLK_P = 1'b0;

      CLK_N = 1'b1;

      #(PERIOD-(PERIOD*DUTY_CYCLE)) CLK_P = 1'b1;

      CLK_N = 1'b0;

      #(PERIOD*DUTY_CYCLE);

   end

2)使用forever 

// Note: CLK_P and CLK_N must be defined as a wire when using this method

   parameter PERIOD = <value>;

   parameter DUTY_CYCLE = <value_0.01_to_0.99>;

   initial

      forever begin

         CLK_P = 1'b0;

         CLK_N = 1'b1;

         #(PERIOD-(PERIOD*DUTY_CYCLE)) CLK_P = 1'b1;

         CLK_N = 1'b0;

         #(PERIOD*DUTY_CYCLE);

      end

点赞加关注博主(ID:FPGA小飞)的博文,咱们一起学习、一起进步吧~

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值