- if(new) begin
- data_stor <= ~data;
- have_data <= 1;
- diqing <= 4'b0000;
- end else if (clkdiv == 0) begin
- diqing <= diqing + 1;
- if (have_data)
- case (diqing)
- 4'b0000: serial <= 1;
- 4'b0001: serial <= data_stor[0];
- 4'b0010: serial <= data_stor[1];
- 4'b0011: serial <= data_stor[2];
- 4'b0100: serial <= data_stor[3];
- 4'b0101: serial <= data_stor[4];
- 4'b0110: serial <= data_stor[5];
- 4'b0111: serial <= data_stor[6];
- 4'b1000: serial <= data_stor[7];
- 4'b1001: serial <= 0;
- 4'b1010: have_data <= 0;
+ if(tx_newdata) begin
+ tx_data <= data;
+ tx_state <= 4'b0000;
+ end else if (tx_clkdiv == 0) begin
+ tx_state <= tx_state + 1;
+ if (tx_busy)
+ case (tx_state)
+ 4'b0000: serial <= 0;
+ 4'b0001: serial <= tx_data[0];
+ 4'b0010: serial <= tx_data[1];
+ 4'b0011: serial <= tx_data[2];
+ 4'b0100: serial <= tx_data[3];
+ 4'b0101: serial <= tx_data[4];
+ 4'b0110: serial <= tx_data[5];
+ 4'b0111: serial <= tx_data[6];
+ 4'b1000: serial <= tx_data[7];
+ 4'b1001: serial <= 1;
+ 4'b1010: serial <= 1;