`timescale 1ns / 1ps

module note_frequency(
    output [15:0] audio_sound,
    input [21:0] note_div,
    input clk,
    input rst_n
    );
    reg [21:0] clk_cnt, clk_cnt_next;
    reg b_clk, b_clk_next;

assign audio_sound = (b_clk == 1'b0) ? 16'h0000:16'h0800;

always@*    
    begin
    if(clk_cnt == note_div)
        begin   
        clk_cnt_next = 22'd0;
        b_clk_next = ~b_clk;
        end
    else
        begin
        clk_cnt_next = clk_cnt + 1'b1;
        b_clk_next = b_clk;
        end
    end
    
always@(posedge clk or negedge rst_n)
    if(~rst_n)
        begin
        clk_cnt <= 22'd0;
        b_clk <= 1'b0;
        end
    else
        begin
        clk_cnt <= clk_cnt_next;
        b_clk <= b_clk_next;
        end

endmodule

