如果最先编译的文件没有定义timescale,则命令行参数定义的timescale起作用。如果后面编译的文件有定义了timescale,在其后编译的文件都是这个timescale,如果又有文件定义了新的timescale,则后面编译的文件用新定义的这个timescale,以此类推。也就是说总是最后定义的timescale对当前编译的文件起作用。不同的文件是可以使用不同的timescale的。
如果命令行参数没有定义timescale,最先编译的文件没有定义timescale,而后面有文件定义了timescale,则会报:ncelab: *F,CUMSTS: Timescale directive missing on one or more modules.此时可在命令行参数定义timescale。
如果所有文件都没有定义timescale,则目前实测(irun)的timescale是1ns / 1ps。用$printtimescale;可打印timescale的值。