Verilog中的数值与有符号数无符号数

写了个AM调制的代码,载波和调制波都做了幅度控制(搞复杂了)

记录1:

说明:carrier_wave2为 wire signed [9:0] modulate_wave2;

          modulate_wave2为wire signed [9:0] modulate_wave2;

          wave2_out也是有符号的wire signed [19:0] wave2_out;

这条语句

assign wave2_out=carrier_wave2*(modulate_wave2+256);   //好用

换成:

wire [15:0] mod_halfamp3=256;

assign wave2_out=carrier_wave2*(modulate_wave2+mod_halfamp3);

这个写法就输出波形不对!

后来修正一下mod_halfamp3为signed就可以了 ,即:wire signed [15:0] mod_halfamp3=256;

看来quartus ii 默认做的是有符号数的运算,原因有待进一步测试。

记录2:

wire signed [9:0] carrier_wave0;
wire             [9:0] modulate_wave0;
wire signed [19:0] wave0_out;

语句assign wave0_out=carrier_wave0*$signed(modulate_wave0);好用

波形为正弦波

换成assign  wave0_out=carrier_wave0*modulate_wave0;

波形就变为nunununununu形状的那种

 我是真的真的不明白~~~

     

Verilog中的数值与有符号数无符号数

上一篇:NVIDIA Jetson Xavier NX入门(2)——开机设置和远程登录


下一篇:Lambda表达式示例