X-Git-Url: http://git.joshuawise.com/firearm.git/blobdiff_plain/7282e8f84e4f5aecab6e57c2086785bbd6d48748..fb33d46774e2f2d95d54e7eb32754048624a63ca:/Terminal.v diff --git a/Terminal.v b/Terminal.v index dd041d0..0239dbf 100644 --- a/Terminal.v +++ b/Terminal.v @@ -7,7 +7,14 @@ module Terminal( output reg cp_busy, input cp_rnw, output reg [31:0] cp_read = 0, - input [31:0] cp_write); + input [31:0] cp_write +`ifdef verilator +`else + , output reg [8:0] sys_odata = 0, + input [8:0] sys_idata, + output reg sys_tookdata = 0 +`endif +); /* Terminal pretends to be cp5. */ reg towrite = 0; @@ -40,6 +47,17 @@ module Terminal( if (towrite) $c("{extern void term_output(unsigned char d); term_output(",data,");}"); else if (didread || !indata[8]) - indata = $c("({extern unsigned int term_input(); term_input();})"); + indata <= $c("({extern unsigned int term_input(); term_input();})"); +`else + always @(posedge clk) + begin + sys_odata <= {towrite,data}; + if (didread || !indata[8]) + begin + indata <= sys_idata; + sys_tookdata <= 1; + end else + sys_tookdata <= 0; + end `endif endmodule