`include "hvsync_generator.v" module sound_psg(clk, reset, out, reg_sel, reg_data, reg_write); input clk, reset; input [3:0] reg_sel; // select register # input [7:0] reg_data; // data to write to register input reg_write; // write enable output [7:0] out; // output waveform parameter NVOICES = 4; reg outputs[0:NVOICES-1]; reg [11:0] count[0:NVOICES-1]; reg [7:0] register[0:15]; reg [5:0] div64; integer i; always @(posedge clk) begin // divide clock by 64 if (div64 == 0) begin out = 0; // initialize waveform output // generate code for each voice (0..NVOICES-1) for (i=0; i