微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 微电子和IC设计 > IC验证交流 > 请问MODELSIM中,子模块和上层模块的`timescale定义不一致时,工具如何处理?

请问MODELSIM中,子模块和上层模块的`timescale定义不一致时,工具如何处理?

时间:10-02 整理:3721RD 点击:
在网上看了一下,似乎是各个模块的时间单位以本模块的定义为准,具有层次关系的模块之间取最小的时间精度,平级的模块之间互相不影响。不知道是不是这样的?
如果在顶层testbench中定义的时间精度是最小的,那么底层的所有设计模块的时间精度也会调整成和testbench一样的吗?
谢谢

如果最先编译的文件没有定义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的值。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top