Adaptec 1737100 Programmer Manual - Page 54

Expansion ROM Address Space, Memory Address Space, Parity

Page 54 highlights

AIC-6915 Ethernet LAN Controller Programmer's Manual Expansion ROM Address Space When in target mode, the AIC-6915 allows access to an 8-bit ROM/EEPROM (connected to the External Memory Interface port) through the expansion ROM address space. The AIC-6915 uses positive address decoding over EXROMCTL register (stored value), AD[31:02], CBE[3:0]_ (command) and FRAME_ to obtain the doubleword access decode and claim the transaction by asserting (DEVSEL_ = medium speed). For memory read from the expansion ROM space, the memory interface module of the AIC-6915 performs a burst of four consecutive read accesses from the ROM, incrementing automatically the address with values of 0, 1, 2, and 3 to assemble a 32-bit value. Usually this kind of transfer takes longer than 16 PCI clocks, so the memory interface requests the PCI target to retry the cycle. The transfer is completed only when all the data is available and ready in the memory interface module. The AIC-6915 does not support writes to expansion ROM space. Memory Address Space The AIC-6915 uses Base Address 0 to request an allocation of a 512-KBytes memory space block. AD[01:00] are excluded from the address decode and defaults to a word-aligned address. The value on AD[01:00] are used in the memory address space to indicate different memory address transfer modes. A value of 0h indicates linear address increment mode, while a value of 1h indicates address cache line toggle mode. Values 2h and 3h are reserved. The AIC-6915 only supports the linear address increment mode. As a target device, the AIC-6915 allows accesses to it's 512-KByte allocated memory space. The AIC-6915 uses positive address decoding over BASEADR0 register (stored value), AD[31:02], CBE[3:0]_ (command) and FRAME_ to obtain the doubleword access decode, then claims the transaction by asserting (DEVSEL_ = medium speed). The AIC-6915 uses the CBE[3:0]_ (data) value to complete the decode. Parity The AIC-6915 implements even parity that protects both the AD[31:00] and CBE[3:0]_ busses. PAR is generated by the agent that is sourcing the 32-bit address of the transaction and/or the data of the transaction and includes the CBE[3:0] values even if not sourcing them. The state of PAR is valid for the value on AD[31:00] and CBE[3:0] during the previous PCLK period, excluding turn-around cycles of AD[31:00] (for which the PAR is invalid). SERR_ The AIC-6915 asserts SERR_ when it detects an address parity error only if the PERRESPEN (Parity Error Response Enable, COMMAND register in PCI Configuration header) and SERRESPEN (System Error Response Enable, COMMAND register in PCI Configuration header) bits are set. SERR_ is restored only by a weak pull-up on the system board, and may take several PCLK periods to recover to a deasserted state. SERR_ is asserted for one PCLK period on an address errors. SERR_ is asserted two PCLK periods after the Address phase that contained the error. The AIC-6915 as a master does not monitor or assert SERR. 4-12

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78
  • 79
  • 80
  • 81
  • 82
  • 83
  • 84
  • 85
  • 86
  • 87
  • 88
  • 89
  • 90
  • 91
  • 92
  • 93
  • 94
  • 95
  • 96
  • 97
  • 98
  • 99
  • 100
  • 101
  • 102
  • 103
  • 104
  • 105
  • 106
  • 107
  • 108
  • 109
  • 110
  • 111
  • 112
  • 113
  • 114
  • 115
  • 116
  • 117
  • 118
  • 119
  • 120
  • 121
  • 122
  • 123
  • 124
  • 125
  • 126
  • 127
  • 128
  • 129
  • 130
  • 131
  • 132
  • 133
  • 134
  • 135
  • 136
  • 137
  • 138
  • 139
  • 140
  • 141
  • 142
  • 143
  • 144
  • 145
  • 146
  • 147
  • 148
  • 149
  • 150
  • 151
  • 152
  • 153
  • 154
  • 155
  • 156
  • 157
  • 158
  • 159
  • 160
  • 161
  • 162
  • 163
  • 164
  • 165
  • 166
  • 167
  • 168
  • 169
  • 170
  • 171
  • 172
  • 173
  • 174
  • 175
  • 176
  • 177
  • 178
  • 179
  • 180
  • 181
  • 182
  • 183
  • 184
  • 185
  • 186
  • 187
  • 188
  • 189
  • 190

4-12
AIC-6915 Ethernet LAN Controller Programmer’s Manual
Expansion ROM Address Space
When in target mode, the AIC-6915 allows access to an 8-bit ROM/EEPROM (connected
to the External Memory Interface port) through the expansion ROM address space. The
AIC-6915 uses positive address decoding over
EXROMCTL
register (stored value),
AD[31:02], CBE[3:0]_
(command) and
FRAME_
to obtain the doubleword access decode and
claim the transaction by asserting (
DEVSEL_
= medium speed).
For memory read from the expansion ROM space, the memory interface module of the
AIC-6915 performs a burst of four consecutive read accesses from the ROM, incrementing
automatically the address with values of 0, 1, 2, and 3 to assemble a 32-bit value. Usually
this kind of transfer takes longer than 16 PCI clocks, so the memory interface requests the
PCI target to retry the cycle. The transfer is completed only when all the data is available
and ready in the memory interface module. The AIC-6915 does not support writes to
expansion ROM space.
Memory Address Space
The AIC-6915 uses Base Address 0 to request an allocation of a 512-KBytes memory space
block.
AD[01:00]
are excluded from the address decode and defaults to a word-aligned address.
The value on
AD[01:00]
are used in the memory address space to indicate different
memory address transfer modes. A value of 0h indicates linear address increment mode,
while a value of 1h indicates address cache line toggle mode. Values 2h and 3h are
reserved. The AIC-6915 only supports the linear address increment mode.
As a target device, the AIC-6915 allows accesses to it's 512-KByte allocated memory space.
The AIC-6915 uses positive address decoding over
BASEADR0
register (stored value),
AD[31:02], CBE[3:0]_
(command) and
FRAME_
to obtain the doubleword access decode,
then claims the transaction by asserting (
DEVSEL_
= medium speed). The AIC-6915 uses
the
CBE[3:0]_
(data) value to complete the decode.
Parity
The AIC-6915 implements even parity that protects both the
AD[31:00]
and C
BE[3:0]_
busses.
PAR
is generated by the agent that is sourcing the 32-bit address of the transaction
and/or the data of the transaction and includes the
CBE[3:0]
values even if not sourcing
them. The state of
PAR
is valid for the value on
AD[31:00]
and
CBE[3:0]
during the previous
PCLK period, excluding turn-around cycles of
AD[31:00]
(for which the
PAR
is invalid).
SERR_
The AIC-6915 asserts
SERR_
when it detects an address parity error only if the
PERRESPEN
(Parity Error Response Enable,
COMMAND
register in PCI Configuration
header) and
SERRESPEN
(System Error Response Enable,
COMMAND
register in PCI
Configuration header) bits are set.
SERR_
is restored only by a weak pull-up on the system
board, and may take several PCLK periods to recover to a deasserted state.
SERR_
is
asserted for one PCLK period on an address errors.
SERR_
is asserted two PCLK periods
after the Address phase that contained the error. The AIC-6915 as a master does not
monitor or assert
SERR
.