EE 308
Homework #8
Due Mar. 17, 1997
The design should have the following outputs:
| A[7..0] | Latched low byte of address |
| CS_MEMn | Low when 0x2000 <= A[15..0] <= 0x9FFF, E is high, and EXP_ENn is low. |
| CS_PIAn | Low when 0xB000 <= A[15..0] <= 0xB003, and EXP_ENn is low. |
| CS_2n | Low when 0xB100 <= A[15..0] <= 0xB1FF, E is high, and EXP_ENn is low. |
| CS_3n | Low when 0xB200 <= A[15..0] <= 0xB2FF, E is high, and EXP_ENn is low. |
| CS_4n | Low when 0xB300 <= A[15..0] <= 0xB3FF, E is high, and EXP_ENn is low. |
| CS_5n | Low when 0xB400 <= A[15..0] <= 0xB4FF, E is high, and EXP_ENn is low. |
| OEn | Low when E is high and R_W is high. |
| WEn | Low when E is high and R_W is low. |
Here is the beginning of the Altera program:
TITLE "Memory Expansion Decoder and Address Demultiplexer";
SUBDESIGN memexp
(
E : INPUT; % E-Clock %
R_W : INPUT; % R/W Line %
AS : INPUT; % Address Strobe %
EXP_ENn : INPUT; % Memory expansion enabled if low, %
% disabled if high %
AD[7..0] : INPUT; % Address/Data lines from HC11 %
A8 : INPUT; % High-order address lines from HC11 %
A9 : INPUT;
A10 : INPUT;
A11 : INPUT;
A12 : INPUT;
A13 : INPUT;
A14 : INPUT;
A15 : INPUT;
OEn : OUTPUT; % Output Enable to memory %
WEn : OUTPUT; % Write Enable to memory %
CS_MEMn : OUTPUT; % Chip Select for 32k RAM %
CS_PIAn : OUTPUT; % Chip Select for 68B21 PIA %
CS_2n : OUTPUT; % Chip Select for future expansion B100 -- B1FF %
CS_3n : OUTPUT; % Chip Select for future expansion B200 -- B2FF %
CS_4n : OUTPUT; % Chip Select for future expansion B300 -- B3FF %
CS_5n : OUTPUT; % Chip Select for future expansion B400 -- B4FF %
A0 : OUTPUT; % Demultiplexed low-order address bits %
A1 : OUTPUT;
A2 : OUTPUT;
A3 : OUTPUT;
A4 : OUTPUT;
A5 : OUTPUT;
A6 : OUTPUT;
A7 : OUTPUT;
)