verilog testbench-产生时钟复位

最近在看vivado的官方例程,顺便总结一下比较常用且优雅的testbench代码。将这些代码封装一下,以后在仿真时直接调用,非常的方便。

产生单端时钟(tb_clockgen_single .v)

//-----------------------------------------------------------------------------
//  
//  Copyright (c) JoeJoe.
//
//  Project  : Common Testbench
//  Module   : tb_clockgen_single .v
//  Parent   : 
//  Children : none
//
//  Description: 
//    This is a general single clock generation module. It should be instantiated
//    and connected to both the DUT
//
//
//  Parameters:
//    None
//
//  Notes       : 
//
//  Multicycle and False Paths
//    None - this is a testbench file only, and is not intended for synthesis
//

`timescale 1ns/1ps

module tb_clockgen_single #
(
     parameter           PERIOD = 500 // 周期
)
(
     output reg      clk
);

//***************************************************************************
// Parameter definitions
//***************************************************************************

  
//***************************************************************************
// Register declarations
//***************************************************************************


//***************************************************************************
// Code
//***************************************************************************

    initial begin
        clk = 0;
        forever begin
            #(PERIOD/2.0)
            clk = ~clk;
        end // forever
    end // initial

endmodule

非常常见的时钟激励编写方式。时钟通过clk端口输出,周期通过参数传入。

产生差分时钟(tb_clo

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值