📄 linear2ulaw.v
字号:
// Filename: linear2ulaw.v// Input 16-bit linear integer value// Output 8-bit ulaw valuemodule linear2ulaw(clk,ulaw);input clk;//output[15:0] linear;output[7:0] ulaw;//input[15:0] linear;//output[7:0] ulaw;//reg clk;//integer[15:0] linear;//reg[15:0] linear;reg[7:0] ulaw;reg[15:0] temp;reg[7:0] segment,quant;reg sign;integer linear,i,j;//integer k; /*alwaysbegin for(i=0;i<256;i=i+1) linear=i;end*/ always @(posedge clk)begin //for(linear=0;linear<"16h0FF";linear=linear+1) // linear="16h21"; //temp_linear = linear; if(linear >= 0) begin //temp_linear <= temp_linear; sign = 0; end else begin linear= 0-linear; sign = 1; end linear = linear+33; //temp_output = temp_linear; for(i=0;i<16;i=i+1) begin if(linear[i]==1) j=i; end segment = 11-j; quant = (linear>>segment)&"8h0F"; segment = segment-1; segment = segment<<4; temp = segment + quant ; ulaw=temp; ulaw[0] = sign;endendmodule
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -