9个回答
展开全部
前仿真用的,无法综合的。
例如:#5 data_in = data_tmp;
就是延迟5个时间单位后,在进行复制。
具体延迟多少,得看你的 timescale
`timescale n/n
根据这个来看你具体延迟的时间
例如:#5 data_in = data_tmp;
就是延迟5个时间单位后,在进行复制。
具体延迟多少,得看你的 timescale
`timescale n/n
根据这个来看你具体延迟的时间
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这得分情况的,如果出现在赋值语句前面或者中间,表示延时,比如:
#5 variable1 = xxxx;
varibale2 = #6 xxxx;
如果出现在模块实例化的时候,既可以表示延时,又可以表示对模块内部parameter的重新赋值,比如:
对于门电路,表示延时:Nand #(3,4) nand1(a,b,c)->输入a,b各延时3和4个单位
对于一般模块,表示对parameter的重新复制,如:
你定义了而一个子模块:
module sub_module(clk,rst,....);
parameter WIDTH=8;
parameter ADDR=5;
.....
...
endmodule
然后在一个顶层模块中实例化sub_module,但是你要改变sub_module中定义的parameter值,可以这样:
sub_module #(32,6) U1(clk,rst.....);
这样的话,WIDTH和ADDR就分别为32和6了
#5 variable1 = xxxx;
varibale2 = #6 xxxx;
如果出现在模块实例化的时候,既可以表示延时,又可以表示对模块内部parameter的重新赋值,比如:
对于门电路,表示延时:Nand #(3,4) nand1(a,b,c)->输入a,b各延时3和4个单位
对于一般模块,表示对parameter的重新复制,如:
你定义了而一个子模块:
module sub_module(clk,rst,....);
parameter WIDTH=8;
parameter ADDR=5;
.....
...
endmodule
然后在一个顶层模块中实例化sub_module,但是你要改变sub_module中定义的parameter值,可以这样:
sub_module #(32,6) U1(clk,rst.....);
这样的话,WIDTH和ADDR就分别为32和6了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
表示时延的意思,例如 #3表示延迟3个单位时间,#0表示延迟0个时间单位
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
前仿真用的,无法综合的。
for(i=1;i++;)
{#5 a=!a} 5个时间单位后a去反就实现了a的数据的定义,就不用在仿真的时候手动设定波形了。
for(i=1;i++;)
{#5 a=!a} 5个时间单位后a去反就实现了a的数据的定义,就不用在仿真的时候手动设定波形了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询