Skip to content

Commit b6a4ba5

Browse files
committed
feat: main module corrections
1 parent 364778c commit b6a4ba5

File tree

1 file changed

+17
-11
lines changed

1 file changed

+17
-11
lines changed

src/tt_um_waves.v

Lines changed: 17 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -178,7 +178,7 @@ module tt_um_waves (
178178
);
179179

180180
// Wave Generator
181-
wire [7:0] wave_gen_output;
181+
//wire [7:0] wave_gen_output;
182182
wave_generator wave_gen_inst (
183183
.clk(clk),
184184
.rst_n(rst_n),
@@ -194,25 +194,32 @@ white_noise_generator noise_gen_inst (
194194
.clk(clk),
195195
.rst_n(rst_n),
196196
.noise_out(noise_out),
197-
.ena(white_noise_en) // Enable when white noise is selected
197+
.ena(white_noise_en & ena) // Enable when white noise is selected
198198
);
199199

200200

201201
// Select Waveform Output
202202
//wire [7:0] wave_gen_output;
203-
assign wave_gen_output = (wave_select == 3'b000) ? tri_wave_out :
204-
(wave_select == 3'b001) ? saw_wave_out :
205-
(wave_select == 3'b010) ? sqr_wave_out :
206-
(wave_select == 3'b011) ? sine_wave_out :
207-
8'd0;
203+
reg [7:0] wave_gen_output;
204+
always @(*) begin
205+
case (wave_select)
206+
3'b000: wave_gen_output = tri_wave_out;
207+
3'b001: wave_gen_output = saw_wave_out;
208+
3'b010: wave_gen_output = sqr_wave_out;
209+
3'b011: wave_gen_output = sine_wave_out;
210+
default: wave_gen_output = 8'd0;
211+
endcase
212+
end
208213

209-
// Select Waveform (Using `noise_out` instead of manually generating noise)
214+
// Select Waveform
210215
wire [7:0] selected_wave;
211216
assign selected_wave = (white_noise_en) ? noise_out : wave_gen_output;
212217

213218
// Apply ADSR Envelope
214-
wire [7:0] scaled_wave;
215-
assign scaled_wave = (selected_wave * adsr_amplitude) >> 8;
219+
reg [7:0] scaled_wave;
220+
always @(*) begin
221+
scaled_wave = (selected_wave * adsr_amplitude) >> 8;
222+
end
216223

217224
// I2S Output
218225
wire i2s_sck, i2s_ws, i2s_sd;
@@ -236,7 +243,6 @@ white_noise_generator noise_gen_inst (
236243
// Assign Outputs
237244
assign uio_out = 8'b0;
238245
assign uio_oe = 8'b0;
239-
240246
endmodule
241247

242248

0 commit comments

Comments
 (0)