mirror of https://github.com/YosysHQ/yosys.git
32 lines
698 B
Verilog
32 lines
698 B
Verilog
|
module grom_computer
|
||
|
(input clk, // Main Clock
|
||
|
input reset, // reset
|
||
|
output hlt,
|
||
|
output reg[7:0] display_out
|
||
|
);
|
||
|
|
||
|
wire [11:0] addr;
|
||
|
wire [7:0] memory_out;
|
||
|
wire [7:0] memory_in;
|
||
|
wire mem_enable;
|
||
|
wire we;
|
||
|
wire ioreq;
|
||
|
|
||
|
grom_cpu cpu(.clk(clk),.reset(reset),.addr(addr),.data_in(memory_out),.data_out(memory_in),.we(we),.ioreq(ioreq),.hlt(hlt));
|
||
|
|
||
|
assign mem_enable = we & ~ioreq;
|
||
|
|
||
|
ram_memory memory(.clk(clk),.addr(addr),.data_in(memory_in),.we(mem_enable),.data_out(memory_out));
|
||
|
|
||
|
always @(posedge clk)
|
||
|
begin
|
||
|
if(ioreq==1 && we==1)
|
||
|
begin
|
||
|
display_out <= memory_in;
|
||
|
`ifdef DISASSEMBLY
|
||
|
$display("Display output : %h", memory_in);
|
||
|
`endif
|
||
|
end
|
||
|
end
|
||
|
endmodule
|