Skip to content

Commit 6a4382d

Browse files
committed
Fixed resampling at 55/2 kHz
1 parent 3f518c6 commit 6a4382d

File tree

1 file changed

+31
-29
lines changed

1 file changed

+31
-29
lines changed

hdl/jt12_pcm.v

+31-29
Original file line numberDiff line numberDiff line change
@@ -8,39 +8,38 @@ module jt12_pcm(
88
output reg signed [8:0] pcm_resampled
99
);
1010

11-
reg [2:0] ratesel;
12-
reg [3:0] cnt8;
13-
reg wrcnt;
14-
reg last_zero, wrclr;
11+
// reg [2:0] ratesel;
12+
// reg [3:0] cnt8;
13+
// reg wrcnt, wrclr;
14+
reg last_zero;
1515
wire zero_edge = !last_zero && zero;
16-
16+
/*
1717
always @(posedge clk)
1818
if(rst) begin
1919
cnt8 <= 4'd0;
2020
wrclr <= 1'd0;
21-
ratesel <= 3'd0;
21+
ratesel <= 3'd1;
2222
wrcnt <= 1'b0;
2323
end else if(clk_en) begin
2424
if( pcm_wr ) begin
2525
if( wrcnt ) begin
26-
case( cnt8[3:2] )
27-
2'd3: ratesel <= 3'b111; // x8
28-
2'd2: ratesel <= 3'b011; // x4
29-
2'd1: ratesel <= 3'b001; // x2
30-
2'd0: ratesel <= 3'b000; // x1
31-
endcase
26+
// case( cnt8[3:2] )
27+
// 2'd3: ratesel <= 3'b111; // x8
28+
// 2'd2: ratesel <= 3'b011; // x4
29+
// 2'd1: ratesel <= 3'b001; // x2
30+
// 2'd0: ratesel <= 3'b000; // x1
31+
// endcase
3232
cnt8 <= 4'd0;
3333
wrcnt <= 1'b0;
3434
end
3535
else wrcnt <= 1'b1;
3636
end else
3737
if( cnt8!=4'hf && zero ) cnt8 <= cnt8 + 4'd1;
3838
end
39-
39+
*/
4040
// up-rate PCM samples
41-
reg zero_cen, zeroin_cen;
42-
reg rate1, rate2, rate4, rate8;
43-
reg cen1, cen2, cen4, cen8;
41+
reg rate1, rate2; //, rate4, rate8;
42+
reg cen1, cen2; //, cen4, cen8;
4443

4544
always @(posedge clk)
4645
if(rst)
@@ -50,37 +49,40 @@ always @(posedge clk)
5049
rate1 <= zero_edge;
5150
if(zero_edge) begin
5251
rate2 <= ~rate2;
53-
if(rate2) begin
54-
rate4 <= ~rate4;
55-
if(rate4) rate8<=~rate8;
56-
end
52+
// if(rate2) begin
53+
// rate4 <= ~rate4;
54+
// if(rate4) rate8<=~rate8;
55+
// end
5756
end
5857
end
5958

6059
always @(negedge clk) begin
6160
cen1 <= rate1;
6261
cen2 <= rate1 && rate2;
63-
cen4 <= rate1 && rate2 && rate4;
64-
cen8 <= rate1 && rate2 && rate4 && rate8;
62+
// cen4 <= rate1 && rate2 && rate4;
63+
// cen8 <= rate1 && rate2 && rate4 && rate8;
6564
end
6665

67-
wire signed [8:0] pcm2, pcm3, pcm1;
66+
wire signed [8:0] pcm3; //,pcm2, pcm1;
6867

69-
always @(posedge clk) if( clk_en )
70-
pcm_resampled <= ratesel[0] ? pcm3 : pcm;
68+
//always @(posedge clk) if( clk_en )
69+
// pcm_resampled <= ratesel[0] ? pcm3 : pcm;
70+
always @(*)
71+
pcm_resampled = pcm3;
7172

7273
// rate x2
73-
wire signed [8:0] pcm_in2 = ratesel[1] ? pcm2 : pcm;
74+
//wire signed [8:0] pcm_in2 = ratesel[1] ? pcm2 : pcm;
7475
jt12_interpol #(.calcw(10),.inw(9),.rate(2),.m(1),.n(2))
7576
u_uprate_3(
7677
.clk ( clk ),
7778
.rst ( rst ),
7879
.cen_in ( cen2 ),
7980
.cen_out( cen1 ),
80-
.snd_in ( pcm_in2 ),
81+
// .snd_in ( pcm_in2 ),
82+
.snd_in ( pcm ),
8183
.snd_out( pcm3 )
8284
);
83-
85+
/*
8486
// rate x2
8587
wire signed [8:0] pcm_in1 = ratesel[2] ? pcm1 : pcm;
8688
jt12_interpol #(.calcw(10),.inw(9),.rate(2),.m(1),.n(2))
@@ -103,5 +105,5 @@ u_uprate_1(
103105
.snd_in ( pcm ),
104106
.snd_out( pcm1 )
105107
);
106-
108+
*/
107109
endmodule // jt12_pcm

0 commit comments

Comments
 (0)