Page 629 - 3-2
P. 629

else
                                    STP<=STP+1;
                                    cnt<=0;
                            end
                            else            cnt<=cnt+1;
                    end
            end
            endmodule


            [serial]
            module serial(reset,clk,tx_out);// 송신 모드
            input reset,clk;
            output reg tx_out;
            reg clk_uart;// 데이터 송신 시작 신호
            reg [15:0] clk_count;//9600bps 마다 신호를 위한 카운트
            reg [7:0] tx_reg;// 송신할 데이터 보관
            reg tx_empty;// 송신 완료 신호
            reg [3:0] tx_cnt;// 전송하는 데이터의 비트수
            parameter baud_clk=16'd5625;
            always @ (posedge clk, negedge reset)
            if(reset==0)
            begin
                    clk_count<=0;
                    clk_uart<=0;
            end
            else
            begin
                    if(clk_count==baud_clk)
                    begin
                            clk_count<=0;
                            clk_uart<=1;
                    end
                    else
                    begin
                            clk_count<=clk_count+1;
                            clk_uart<=0;
                    end
            end
                    always @ (posedge clk, negedge reset)
            begin
            if(!reset)
            begin tx_reg<=0; tx_empty<=1; tx_out<=1; tx_cnt<=0; end
            else
            begin
                    if(clk_uart)


                                                         - 629 -
   624   625   626   627   628   629   630   631   632   633   634