Forum Discussion
Altera_Forum
Honored Contributor
14 years agoreal variable data type values
Hi Everybody,
I am designing pre_emphasis filter for speech recognition system, when I simulate the module in ModelSim it work and give the right output, but I couldn't compile it in Quartus II because real variable data type values are not supported in verilog Quartus II. This is the pre_emphasis filter code, I appreciate any suggestions to solve this problem. ====================================================== `define pre_emph_factor 0.975 module pre_emphasis ( in_samples, out_samples, clock, reset); input clock, reset; input [31:0]in_samples; output [31:0]out_samples; reg [31:0]prev_samples; reg [31:0]out_samples; always @(posedge clock or posedge reset) begin if(reset) begin out_samples <= 32'd0; prev_samples<=32'd0; end else begin out_samples = in_samples -`pre_emph_factor * prev_samples; prev_samples = in_samples; end end endmodule2 Replies
- Altera_Forum
Honored Contributor
Thank you Kaz for your helpful suggestion.
- Altera_Forum
Honored Contributor
I always use truncation myself instead of tool's support.
For .975 multiply by 31949 (.975 *2^15 and rounded to nearest integer) then discard 15 bits off result.