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形狀的那種

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

     


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM