Achronix Speedster22i PCIe User Manual
Page 48

UG030, April 26, 2013
48
Field Name
Default
Values
Description
Verilog Parameter
Address
000
32-bit Base Address Register
location and is created by setting
bits [2:0] == 000 of the starting
Base Address CfgX register. Bit[3]
is set to indicate a BAR is
prefetchable, but this bit should
only be set, for PCI Express
Devices, for 64-bit BARs. Bits
[31:4] are set to determine the size
of the BAR. The minimum BAR
size is 16 bytes although a
minimum of 4K bytes is
recommended. To determine the
BAR size, bits are set
consecutively from bit 31 down to
the last desired address bit to
implement. The remaining bits
are all set to zero. For example a
64Kbyte, not-prefetchable, 32-bit
Memory BAR is created by
setting Base Address CfgX =
0xFFFF0000.
A 32-bit I/O BAR uses one 32-bit
Base Address Register location
and is created by setting bits [1:0]
== 01 of the starting Base Address
CfgX register. Bits [31:4] are set to
determine the size of the BAR.
Bits[3:2] must be 0 and make the
minimum BAR size 16 bytes. To
determine the BAR size, bits are
set consecutively from bit 31
down to the last desired address
bit to implement. The remaining
bits are all set to zero. For
example a 256 byte, 32-bit I/O
BAR is created by setting Base
Address CfgX = 0xFFFFFF01. I/O
BARs should only be used to
implement legacy I/O functions.
A 64-bit Memory BAR uses two
32-bit Base Address Register
locations and is created by setting
bits [2:0] == 100 of the starting
Base Address CfgX register and
then using the next Base Address
E_ADDRESS_CFG0
Or
CFG_CONSTANTS_BAS
E_ADDRESS_CFG0,
CFG_CONSTANTS_BAS
E_ADDRESS_CFG1.
If Off, 0x00000000, else
=Base Address
BAR0 Size
64K
16-64G
BAR0 Width 32
32, 64
BAR0
Prefetchable
No
No, Yes (64
bit)
BAR0 Type
Memory
Memory/IO
BAR1
Enable
Yes
No, Yes
CFG_CONSTANTS_BAS
E_ADDRESS_CFG1
Or
CFG_CONSTANTS_BAS
E_ADDRESS_CFG2,
CFG_CONSTANTS_BAS
E_ADDRESS_CFG3
BAR1 Base
Address
0xFFFFE
000
BAR1 Size
8K
16-64G
BAR1 Width 32
32, 64
BAR1
Prefetchable
No
No, Yes (64
bit)
BAR1 Type
Memory
Memory/IO
BAR2
Enable
Off
Off, On
CFG_CONSTANTS_BAS
E_ADDRESS_CFG2
Or
CFG_CONSTANTS_BAS
E_ADDRESS_CFG3
Or
CFG_CONSTANTS_BAS
E_ADDRESS_CFG2,
CFG_CONSTANTS_BAS
E_ADDRESS_CFG3
Or
CFG_CONSTANTS_BAS
E_ADDRESS_CFG3,
CFG_CONSTANTS_BAS
E_ADDRESS_CFG4
Or
CFG_CONSTANTS_BAS
E_ADDRESS_CFG4,
CFG_CONSTANTS_BAS
E_ADDRESS_CFG5
BAR2 Base
Address
0xFFFFE
000
BAR2 Size
8k
128-64G
BAR2 Width 32
32, 64
BAR2
Prefetchable
No
No, Yes (64
bit)
BAR2
Type
Memory
Memory/IO