verilog的timescale 问题
0赞
发表于 2017/9/7 22:22:39
阅读(2843)
timescale包含时间单位和时间精度两部分。设定格式为`timescale timeunit / timeprecision
timeunit和timeprecision由值1、10、和100以及单位s、ms、us、ns、ps和fs组成。
如果设定`timescale 1ns/1ps,#100是相对时间,等价于#100ns,而#100.1111会被认为是#100.111ns,因为它的精度高于timescaled的时间精度,而被四舍五入。
是不是精度越高越好。这个是很奇葩的想法。很多模块仿真是需要特定的时钟范围要求。比如FIFO模块仿真你用1ps/1ps 你是仿真不了的,速度很卡,数据写入不正确。
如果你不设定timescale宏定义,verilog 是不知道你仿真单位是什么。 #10? 这个是10ns还是10ps还是10us?所以必须有timescale参数设定。