Achronix Speedster22i PCIe User Manual

Page 48

Advertising
background image

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

Advertising