zoukankan      html  css  js  c++  java
  • [笔记] 简单的Testbench设计(八)

    一、Testbench三步走:

      1、对被测试设计的顶层接口进行例化;

      2、给被测试设计的输入接口添加激励;

      3、判断被测试设计的输出响应是否满足设计要求;

    二、简单的Testbench设计:

      1、 Testbench中的例化应该把input转换为reg;相应的output就应该转换成wire;

      2、 时钟的产生:

        方式一、    

    //	Define clk period 50MHz 20ns;
    //	Define "`timescale 1ns/ps"
    parameter PERIOD = 20ns;
    
    initial 
    	begin
    		clk=0;
    		forever
    			#(PERIOD/2)	clk = ~clk;
    	end
    	
    

        方式二、    

    //	Define clk period 50MHz 20ns;
    //	Define "`timescale 1ns/ps"
    parameter PERIOD = 20ns;
    
    always 
    	begin
    		#(PERIOD/2)	clk = 0;
    		#(PERIOD/2) clk = 1;
    	end
    

      3、复位的产生

        方式一、    

    initial
    	begin
    		rst_n = 0;
    		#100;		//100ns延时
    		rst_n = 1;	//撤销复位
    		...
    	end
    

        方式二、封装成一个Task,直接在需要的复位的时候调用即可;    

    initial
    	begin
    		reset_task(100);	//复位100ns;
    		...
    	end
    
    task reset_task;		
    	input[15:0] reset_time;		//复位时间
    	begin
    		reset = 0;
    		#reset_time;
    		reset = 1;
    	end
    endtask;
    

        

        

          

  • 相关阅读:
    CSS三大特性
    CSS选择器
    CSS(1)
    多媒体标签
    快捷键
    H5注意点(2)
    H5注意点(1)
    List详解
    求最大子串和以及其中一个子串(java)
    隧道项目
  • 原文地址:https://www.cnblogs.com/spartan/p/2220634.html
Copyright © 2011-2022 走看看