Altera SoCAL  16.0
The Altera SoC Abstraction Layer (SoCAL) API Reference Manual
 All Data Structures Variables Typedefs Groups
Register : Static Configuration Register - staticcfg

Description

This register controls configuration values which cannot be updated while transactions are flowing.

You should write once to this register with the membl and eccen fields set to your desired configuration, and then write to the register again with membl and eccen and the applycfg bit set. The applycfg bit is write only.

Register Layout

Bits Access Reset Description
[1:0] RW Unknown Memory Burst Length
[2] RW Unknown Use ECC Bits As Data
[3] RW Unknown Apply Configuration Changes
[31:4] ??? 0x0 UNDEFINED

Field : Memory Burst Length - membl

This field specifies the DRAM burst length. Write the following values to set the a burst length appropriate for the specific DRAM being used. "00" for burst length 2, "01" for burst length 4, "10" for burst length 8. If you set this, you must also set the membl field in the ctrlcfg register.

Field Access Macros:

#define ALT_SDR_CTL_STATICCFG_MEMBL_LSB   0
 
#define ALT_SDR_CTL_STATICCFG_MEMBL_MSB   1
 
#define ALT_SDR_CTL_STATICCFG_MEMBL_WIDTH   2
 
#define ALT_SDR_CTL_STATICCFG_MEMBL_SET_MSK   0x00000003
 
#define ALT_SDR_CTL_STATICCFG_MEMBL_CLR_MSK   0xfffffffc
 
#define ALT_SDR_CTL_STATICCFG_MEMBL_RESET   0x0
 
#define ALT_SDR_CTL_STATICCFG_MEMBL_GET(value)   (((value) & 0x00000003) >> 0)
 
#define ALT_SDR_CTL_STATICCFG_MEMBL_SET(value)   (((value) << 0) & 0x00000003)
 

Field : Use ECC Bits As Data - useeccasdata

This field allows the FPGA ports to directly access the extra data bits that are normally used to hold the ECC code. The interface width must be set to 24 or 40 in the dramifwidth register. If you set this, you must clear the eccen field in the ctrlcfg register.

Field Access Macros:

#define ALT_SDR_CTL_STATICCFG_USEECCASDATA_LSB   2
 
#define ALT_SDR_CTL_STATICCFG_USEECCASDATA_MSB   2
 
#define ALT_SDR_CTL_STATICCFG_USEECCASDATA_WIDTH   1
 
#define ALT_SDR_CTL_STATICCFG_USEECCASDATA_SET_MSK   0x00000004
 
#define ALT_SDR_CTL_STATICCFG_USEECCASDATA_CLR_MSK   0xfffffffb
 
#define ALT_SDR_CTL_STATICCFG_USEECCASDATA_RESET   0x0
 
#define ALT_SDR_CTL_STATICCFG_USEECCASDATA_GET(value)   (((value) & 0x00000004) >> 2)
 
#define ALT_SDR_CTL_STATICCFG_USEECCASDATA_SET(value)   (((value) << 2) & 0x00000004)
 

Field : Apply Configuration Changes - applycfg

Write with this bit set to apply all the settings loaded in SDR registers to the memory interface. This bit is write-only and always returns 0 if read.

Field Access Macros:

#define ALT_SDR_CTL_STATICCFG_APPLYCFG_LSB   3
 
#define ALT_SDR_CTL_STATICCFG_APPLYCFG_MSB   3
 
#define ALT_SDR_CTL_STATICCFG_APPLYCFG_WIDTH   1
 
#define ALT_SDR_CTL_STATICCFG_APPLYCFG_SET_MSK   0x00000008
 
#define ALT_SDR_CTL_STATICCFG_APPLYCFG_CLR_MSK   0xfffffff7
 
#define ALT_SDR_CTL_STATICCFG_APPLYCFG_RESET   0x0
 
#define ALT_SDR_CTL_STATICCFG_APPLYCFG_GET(value)   (((value) & 0x00000008) >> 3)
 
#define ALT_SDR_CTL_STATICCFG_APPLYCFG_SET(value)   (((value) << 3) & 0x00000008)
 

Data Structures

struct  ALT_SDR_CTL_STATICCFG_s
 

Macros

#define ALT_SDR_CTL_STATICCFG_OFST   0x5c
 

Typedefs

typedef struct
ALT_SDR_CTL_STATICCFG_s 
ALT_SDR_CTL_STATICCFG_t
 

Data Structure Documentation

struct ALT_SDR_CTL_STATICCFG_s

WARNING: The C register and register group struct declarations are provided for convenience and illustrative purposes. They should, however, be used with caution as the C language standard provides no guarantees about the alignment or atomicity of device memory accesses. The recommended practice for writing hardware drivers is to use the SoCAL access macros and alt_read_word() and alt_write_word() functions.

The struct declaration for register ALT_SDR_CTL_STATICCFG.

Data Fields
uint32_t membl: 2 Memory Burst Length
uint32_t useeccasdata: 1 Use ECC Bits As Data
uint32_t applycfg: 1 Apply Configuration Changes
uint32_t __pad0__: 28 UNDEFINED

Macro Definitions

#define ALT_SDR_CTL_STATICCFG_MEMBL_LSB   0

The Least Significant Bit (LSB) position of the ALT_SDR_CTL_STATICCFG_MEMBL register field.

#define ALT_SDR_CTL_STATICCFG_MEMBL_MSB   1

The Most Significant Bit (MSB) position of the ALT_SDR_CTL_STATICCFG_MEMBL register field.

#define ALT_SDR_CTL_STATICCFG_MEMBL_WIDTH   2

The width in bits of the ALT_SDR_CTL_STATICCFG_MEMBL register field.

#define ALT_SDR_CTL_STATICCFG_MEMBL_SET_MSK   0x00000003

The mask used to set the ALT_SDR_CTL_STATICCFG_MEMBL register field value.

#define ALT_SDR_CTL_STATICCFG_MEMBL_CLR_MSK   0xfffffffc

The mask used to clear the ALT_SDR_CTL_STATICCFG_MEMBL register field value.

#define ALT_SDR_CTL_STATICCFG_MEMBL_RESET   0x0

The reset value of the ALT_SDR_CTL_STATICCFG_MEMBL register field is UNKNOWN.

#define ALT_SDR_CTL_STATICCFG_MEMBL_GET (   value)    (((value) & 0x00000003) >> 0)

Extracts the ALT_SDR_CTL_STATICCFG_MEMBL field value from a register.

#define ALT_SDR_CTL_STATICCFG_MEMBL_SET (   value)    (((value) << 0) & 0x00000003)

Produces a ALT_SDR_CTL_STATICCFG_MEMBL register field value suitable for setting the register.

#define ALT_SDR_CTL_STATICCFG_USEECCASDATA_LSB   2

The Least Significant Bit (LSB) position of the ALT_SDR_CTL_STATICCFG_USEECCASDATA register field.

#define ALT_SDR_CTL_STATICCFG_USEECCASDATA_MSB   2

The Most Significant Bit (MSB) position of the ALT_SDR_CTL_STATICCFG_USEECCASDATA register field.

#define ALT_SDR_CTL_STATICCFG_USEECCASDATA_WIDTH   1

The width in bits of the ALT_SDR_CTL_STATICCFG_USEECCASDATA register field.

#define ALT_SDR_CTL_STATICCFG_USEECCASDATA_SET_MSK   0x00000004

The mask used to set the ALT_SDR_CTL_STATICCFG_USEECCASDATA register field value.

#define ALT_SDR_CTL_STATICCFG_USEECCASDATA_CLR_MSK   0xfffffffb

The mask used to clear the ALT_SDR_CTL_STATICCFG_USEECCASDATA register field value.

#define ALT_SDR_CTL_STATICCFG_USEECCASDATA_RESET   0x0

The reset value of the ALT_SDR_CTL_STATICCFG_USEECCASDATA register field is UNKNOWN.

#define ALT_SDR_CTL_STATICCFG_USEECCASDATA_GET (   value)    (((value) & 0x00000004) >> 2)

Extracts the ALT_SDR_CTL_STATICCFG_USEECCASDATA field value from a register.

#define ALT_SDR_CTL_STATICCFG_USEECCASDATA_SET (   value)    (((value) << 2) & 0x00000004)

Produces a ALT_SDR_CTL_STATICCFG_USEECCASDATA register field value suitable for setting the register.

#define ALT_SDR_CTL_STATICCFG_APPLYCFG_LSB   3

The Least Significant Bit (LSB) position of the ALT_SDR_CTL_STATICCFG_APPLYCFG register field.

#define ALT_SDR_CTL_STATICCFG_APPLYCFG_MSB   3

The Most Significant Bit (MSB) position of the ALT_SDR_CTL_STATICCFG_APPLYCFG register field.

#define ALT_SDR_CTL_STATICCFG_APPLYCFG_WIDTH   1

The width in bits of the ALT_SDR_CTL_STATICCFG_APPLYCFG register field.

#define ALT_SDR_CTL_STATICCFG_APPLYCFG_SET_MSK   0x00000008

The mask used to set the ALT_SDR_CTL_STATICCFG_APPLYCFG register field value.

#define ALT_SDR_CTL_STATICCFG_APPLYCFG_CLR_MSK   0xfffffff7

The mask used to clear the ALT_SDR_CTL_STATICCFG_APPLYCFG register field value.

#define ALT_SDR_CTL_STATICCFG_APPLYCFG_RESET   0x0

The reset value of the ALT_SDR_CTL_STATICCFG_APPLYCFG register field is UNKNOWN.

#define ALT_SDR_CTL_STATICCFG_APPLYCFG_GET (   value)    (((value) & 0x00000008) >> 3)

Extracts the ALT_SDR_CTL_STATICCFG_APPLYCFG field value from a register.

#define ALT_SDR_CTL_STATICCFG_APPLYCFG_SET (   value)    (((value) << 3) & 0x00000008)

Produces a ALT_SDR_CTL_STATICCFG_APPLYCFG register field value suitable for setting the register.

#define ALT_SDR_CTL_STATICCFG_OFST   0x5c

The byte offset of the ALT_SDR_CTL_STATICCFG register from the beginning of the component.

Typedef Documentation

The typedef declaration for register ALT_SDR_CTL_STATICCFG.