X-Git-Url: http://git.joshuawise.com/firearm.git/blobdiff_plain/1e66d5d1256a0e765f54201160b659ab2574b7d9..1d97a0955e863b7dc7bbe4350bcef8c2047768d8:/Terminal.v diff --git a/Terminal.v b/Terminal.v new file mode 100644 index 0000000..9dc5a21 --- /dev/null +++ b/Terminal.v @@ -0,0 +1,33 @@ +module Terminal( + input clk, + + input cp_req, + input [31:0] cp_insn, + output reg cp_ack, + output reg cp_busy, + input cp_rnw, + output reg [31:0] cp_read = 0, + input [31:0] cp_write); + + /* Terminal pretends to be cp5. */ + reg towrite = 0; + reg [7:0] data = 0; + + always @(*) + begin + towrite = 0; + data = 8'hxx; + cp_ack = 0; + cp_busy = 0; + if (cp_req && (cp_rnw == 0) && (cp_insn[27:24] == 4'b1110) && (cp_insn[19:16] == 4'b0000) && (cp_insn[11:8] == 4'h5)) + begin + towrite = 1; + data = cp_write[7:0]; + cp_ack = 1; + end + end + + always @(posedge clk) + if (towrite) + $c("{extern void term_output(unsigned char d); term_output(",data,");}"); +endmodule