Page 146 - 3-2
P. 146

begin
              if(!reset) cs<=sen;
              else
                begin
                       cs<=ns;
                end
            end


            endmodule
            ----------------------------------------------------------------------
            module Booser (clk,reset,warning_sig,speaker1,speaker2,speaker3);


            input clk, reset, warning_sig;
            output speaker1,speaker2,speaker3;


            integer tempo_cnt, tone_cnt, addr;
            reg [27:0] tone[1:0];
            reg spk=0;


            parameter tempo=3000000;


            parameter       do = 50000000/261.625/2;
            parameter       do_ =   50000000/277.182/2;
            parameter    rae =      50000000/293.664/2;
            parameter       rae_=   50000000/311.127/2;
            parameter       mi = 50000000/329.627/2;
            parameter       pa  = 50000000/349.228/2;
            parameter       pa_ =   50000000/369.994/2;
            parameter       sol =   50000000/391.995/2;
            parameter       sol_=   50000000/415.304/2;
            parameter       ra =    50000000/440.000/2;
            parameter       ra_ =   50000000/466.163/2;
            parameter       si =    50000000/493.883/2;
            parameter       do_4=   50000000/523.251/2;


            assign speaker1 = spk;
            assign speaker2 = spk;
            assign speaker3 = spk;


            initial begin
                    tone[0]<=sol;
                    tone[1]<=do_;
            end


            always @(posedge clk, negedge reset) begin


                                                         - 146 -
   141   142   143   144   145   146   147   148   149   150   151