**这是本文档旧的修订版!**

1. 定义一个系统级的config类, 如 syscfg. 在类中集中了所有的控制变量(总开关),这些变量决定了是否允许randomize,error injection, delay injection, 产生包的个数,等等,这样可以有效的消除一些不必要的callback。一般callback只是用于将某段代码开放给后面的维护人员以便进行一些复杂的修改之用。 2. main函数要尽量的简单清晰,尽量调用task,以便知道每一步做什么。 格式规定如下

virtual protected task main();  
     super.main  // 不需要fork join_noe 包裹   
     fork        // 并发多线程   
        while(1) begin  
            taskA;     //一定要有延迟或等待   
        end  
        while(1) begin  
            taskB;  
        end  
        while(1) begin  
            taskC;  
        end  
     join  
endtask  
 
virtual protected task main();  
     super.main  // 不需要fork join_noe 包裹  
     fork        // 并发多线程  
        while(1) begin  
            taskA;     //一定要有延迟或等待  
        end  
        while(1) begin  
            taskB;  
        end  
        while(1) begin  
            taskC;  
        end  
     join  
endtask