input wr,
input rd,
input [15:0] addr,
- input [7:0] data,
+ inout [7:0] data,
output reg serial);
+
+ wire decode = (addr == `MMAP_ADDR);
+
+ wire [7:0] odata;
+ assign data = (rd && decode) ? odata : 8'bzzzzzzzz;
reg [7:0] data_stor = 0;
reg [15:0] clkdiv = 0;
reg data_end = 0;
reg [3:0] diqing = 4'b0000;
- wire new = (wr) && (!have_data) && (addr == `MMAP_ADDR);
+ wire new = (wr) && (!have_data) && decode;
+
+ assign odata = have_data ? 8'b1 : 8'b0;
always @ (negedge clk)
begin