HOME       UP       PREV       FURTHER NOTES       NEXT (A Basic Micro-Controller)  

Memory Address Mapping and Decode

    -------  -----     -----------------------
    Start    End       Resource
    -------  -----     -----------------------
    0000     03FF      EPROM
    0400     3FFF      Unused images of EPROM
    4000     7FFF      RAM
    8000     BFFF      Unused
    C000     C001      Registers in the UART
    C002     FFFF      Unused images of the UART
    -------  -----     -----------------------

The following RTL describes the required glue logic:

  module address_decode(abus, rom_cs, ram_cs, uart_cs);
     input [15:14] abus;
     output rom_cs, ram_cs, uart_cs;

assign rom_cs = (abus == 2'b00); // 0x0000 assign ram_cs = (abus == 2'b01); // 0x4000 assign uart_cs = !(abus == 2'b11);// 0xC000 endmodule


(C) 2008-10, DJ Greaves, University of Cambridge, Computer Laboratory.