加班猫

如果我那天发财了,我会告诉你,我比你强的地方就是,我知道你不知道,你知道的都是废话。

verilog的timescale 问题

0
阅读(191) 评论(0)

        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参数设定。