verilog HDL 的相关问题

2024-12-04 22:18:12
推荐回答(3个)
回答1:

module traffic_lights u1
(.on( ),
.off( ),
.red_tics( ),
.amber_tics( ),
.green_tics( ),
.clock (),
.red( ),
.amber( ),
.green( ));
在程序中调用的话,以上这块要放到调用该程序的程序当中,然后再括号中写入wire型中间量(用来连接调用,被调用模块的,参考一下“例化”),u1是可以为被调用的模块起的工程名,当用多个被调用的模块时必须起工程名,可以随意起。

这个被调用的模块的输入就是其他程序要给你的信号。输出就是其他程序要用的这个程序输出信号。
有点说不清,看看书上的例化吧,很简单的。

回答2:

%是取模,就是余数,/是算商数。

signed constant关键在于计算顺序,和2补码。举例说第一个式子应该是
(-(4‘d12))%3.= (-(4’b1100))%3= 4'b100%3=1
第二个4’sd12=-4,-4‘sd12=-(-4)=4
第三个'sd12=32'd12,不写位数认为是32bit。

回答3:

程序有很多注释掉很多不该注释的东西(接口基本都被注释了),最主要的是#100 clock=0;#100 clock=1;这种语句在quartus下是不能被综合的的,只能在modelsim下才能编译通过。