Ebfm_cfg_decode_bar procedure, Bfm shared memory access procedures, Shared memory constants – Altera Arria V Hard IP for PCI Express User Manual

Page 257: Ebfm_cfg_decode_bar procedure –35, Bfm shared memory access procedures –35, Shared memory constants –35, Bfm shared memory access

Advertising
background image

Chapter 17: Testbench and Design Example

17–35

BFM Procedures and Functions

December 2013

Altera Corporation

Arria V Hard IP for PCI Express

User Guide

ebfm_cfg_decode_bar Procedure

The

ebfm_cfg_decode_bar

procedure analyzes the information in the BAR table for

the specified BAR and returns details about the BAR attributes.

BFM Shared Memory Access Procedures

The following procedures and functions are in the Verilog HDL include file
altpcietb_bfm_driver.v

. These procedures and functions support accessing the BFM

shared memory.

Shared Memory Constants

The following constants are defined in altpcietb_bfm_driver.v. They select a data
pattern in the

shmem_fill

and

shmem_chk_ok

routines. These shared memory

constants are all Verilog HDL type

integer

.

Table 17–29. ebfm_cfg_decode_bar Procedure

Location

altpcietb_bfm_driver_rp.v

Syntax

ebfm_cfg_decode_bar(bar_table, bar_num, log2_size, is_mem, is_pref, is_64b)

Arguments

bar_table

Address of the Endpoint bar_table structure in BFM shared memory.

bar_num

BAR number to analyze.

log2_size

This argument is set by the procedure to the log base 2 of the size of the BAR. If the BAR is
not enabled, this argument will be set to 0.

is_mem

The procedure sets this argument to indicate if the BAR is a memory space BAR (1) or I/O
Space BAR (0).

is_pref

The procedure sets this argument to indicate if the BAR is a prefetchable BAR (1) or non-
prefetchable BAR (0).

is_64b

The procedure sets this argument to indicate if the BAR is a 64-bit BAR (1) or 32-bit BAR
(0). This is set to 1 only for the lower numbered BAR of the pair.

Table 17–30. Constants: Verilog HDL Type INTEGER

Constant Description

SHMEM_FILL_ZEROS

Specifies a data pattern of all zeros

SHMEM_FILL_BYTE_INC

Specifies a data pattern of incrementing 8-bit bytes (0x00, 0x01, 0x02, etc.)

SHMEM_FILL_WORD_INC

Specifies a data pattern of incrementing 16-bit words (0x0000, 0x0001, 0x0002, etc.)

SHMEM_FILL_DWORD_INC

Specifies a data pattern of incrementing 32-bit dwords (0x00000000, 0x00000001,
0x00000002, etc.)

SHMEM_FILL_QWORD_INC

Specifies a data pattern of incrementing 64-bit qwords (0x0000000000000000,
0x0000000000000001, 0x0000000000000002, etc.)

SHMEM_FILL_ONE

Specifies a data pattern of all ones

Advertising