Verilog仿真文件(testbench)的编写

`timescale 1ns / 1ps

module tb_ip_clk();  //不需要声明端口

reg sys_clk;   //时钟和复位信号定义为reg类型,其他wire
reg sys_rst_n;
wire clk_100M;       
wire clk_100M_180;   
wire clk_50M;        
wire clk_25M;

initial begin
	sys_clk = 1'b0;
	sys_rst_n = 1'b0;
	#200
	sys_rst_n = 1'b1;
end
//初始化始终和复位信号

always #10 sys_clk = ~sys_clk;
//50MHz的时钟,每10ns翻转一次

ip_clk u(
 sys_clk,      
 sys_rst_n,    
 clk_100M,    
 clk_100M_180,
 clk_50M,     
 clk_25M      
);
//实例化需要仿真的文件
//变量取一样的名字,直接粘贴就好	          

endmodule

 

第二个是写好的veilog文件

`timescale 1ns / 1ps

module ip_clk(
	input  sys_clk,
	input  sys_rst_n,
	output  clk_100M,
	output  clk_100M_180,
	output  clk_50M,
	output  clk_25M
    );

wire  locked;
clk_wiz_0 instance_name
   (
    // Clock out ports
    .clk_out1_100M(clk_100M),     // output clk_out1_100M
    .clk_out2_100M_180(clk_100M_180),     // output clk_out2_100M_180
    .clk_out3_50M(clk_50M),     // output clk_out3_50M
    .clk_out4_25M(clk_25M),     // output clk_out4_25M
    // Status and control signals
    .reset(~sys_rst_n), // input reset
    .locked(locked),       // output locked
   // Clock in ports
    .clk_in1(sys_clk));      // input clk_in1
    
endmodule

 

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值