Цитата:
// Mem model
parameter Pentagon128 = 0;
//parameter Pentium4VI = 1 ???????????????????????
parameter Pentagon512 = 2;
parameter Scropion256 = 3;
parameter Kay256 = 4;
parameter Kay1024 = 5;
parameter Quorum128 = 6;
parameter P1024SL = 7;
.........
// IO Decoder
wire WriteFE = (!IOWRn && EA == 16'bxxxx_xxxx_xxxx_xxx0);
wire Write7FFD = (!IOWRn &&
(MMODE == Quorum128) ? EA == 16'b0xxx_xxxx_xxx1_1x0x :
(MMODE == Kay256) ? EA == 16'b01xx_xxxx_xxxx_xx01 :
(MMODE == Kay1024) ? EA == 16'b01xx_xxxx_xxxx_xx01 :
(MMODE == Scropion256) ? EA == 16'b01xx_xxxx_xx1x_xx01 :
EA == 16'b0xxx_xxxx_xxxx_xx0x // Pentagon
);
wire WriteEFF7 = (!IOWRn && EA == 16'b1110_xx11_1xxx_0111);
wire Write1FFD = (!IOWRn &&
(MMODE == Kay256) ? EA == 16'b00xx_xxxx_xxxx_xx01 :
(MMODE == Kay1024) ? EA == 16'b00xx_xxxx_xxxx_xx01 :
(MMODE == Scropion256) ? EA == 16'b00xx_xxxx_xx1x_xx01 :
1'b1 // Disable
);
............
// Page detector
reg [5:0] PAGE;
always @ *
begin
case (MMODE)
Pentagon512 : PAGE = {1'b0, P7FFD[7:6], P7FFD[2:0]};
Scropion256 : PAGE = {2'b00, P1FFD[4], P7FFD[2:0]};
Kay256 : PAGE = {2'b00, P1FFD[4], P7FFD[2:0]};
Kay1024 : PAGE = {P7FFD[6], P1FFD[6], P1FFD[4], P7FFD[2:0]};
P1024SL : PAGE = (M128) ?
{3'b000, P7FFD[2:0]} :
{P7FFD[7:5], P7FFD[2:0]};
default : PAGE = {3'b000, P7FFD[2:0]};
endcase
end
wire Page5 = EA[15:13] == 3'b010 || (EA[15:13] == 3'b110 && PAGE == 5);
wire Page7 = EA[15:13] == 3'b110 && PAGE == 7;
В общем есть одно вакантное место на режим, тот который щас пень4, нада что то придумать из популярного на замещение этого места.