CFU_CTL (CFU_CSR) Register

Versal Adaptive SoC Register Reference (AM012)

Document ID
AM012
Release Date
2023-08-29
Revision
1.3

CFU_CTL (CFU_CSR) Register Description

Register NameCFU_CTL
Relative Address0x000000001C
Absolute Address 0x00F12B001C (CFU_CSR)
Width32
TypemixedMixed types. See bit-field details.
Reset Value0x00000000
DescriptionCFU Control Register, requires CFU_MASK

CFU_CTL (CFU_CSR) Register Bit-Field Summary

Field NameBitsTypeReset ValueDescription
Reserved31:16razRead as zero0x0reserved for future use
gsr_gsc15rwNormal read/write0x01 to enable gsr fabric input to respect gsc=1 to not disturb static region. By default, gsr_gsc=0, gsr force en_globs=1 to ignore gsc=1, so it wipes out entire PL region during security reset event
slverr_en14rwNormal read/write0x0Enable or disable APB SLVERR during address decode failure. 0: SLVERR is disabled. For request address: Writes are ignored. Read returns 0. 1: SLVERR is enabled. For request address, SLVERR is asserted. Writes are ignored and read returns 0.
crc32_reset13rwNormal read/write0x01 to reset CFU_CRC_LIVE to 0
axi_error_en12rwNormal read/write0x01=enable generating AXI slave error if AXI data error (crc8, crc32) or CFRAME error detected. by default CFU doesn't generate AXI slave error.
flush_axi11rwNormal read/write0x0force AXI to generate response. In case, CFI is blocked but no error.
ssi_per_slr_pr10rwNormal read/write0x01=enable SSI device per SLR partial reconfig for PL. Meaning PL global signals (ghigh_b, grestore, gwe) are no longer wired-OR together
gcap_clk_en 9rwNormal read/write0x01=use gcap_clk to pipeline gcap. 0=use gcap directly.
status_sync_disable 8rwNormal read/write0x0This bit no longer controls anything, since CFU APB_CLK and CFI_CLK are now synchronous. 1=disable APB status synchronization. Multi-bits counter or FSM from CFU clock domain, must be synchronized to APB clock to read reliably. If disabled (to save power etc., not recommended), then the CFU domain status is directly sent to APB read, it could catch transient state value though.
ignore_cfi_error 7rwNormal read/write0x01=ignore cfi error. When cfi_error is asserted, all pending transactions are dropped, and CFI is stoppped. In order to readback CFRAME status, FW interrupt routing assert cframe_disable=1 first, then assert cfi_local_reset (also clear Axi switch, DMA as needed) to clean up previous pending transaction inside CFU. Lastly set ignore_cfi_error=1 to allow CFRAME ISR/IMR/IER/IDR to be accessed.
cframe_disable 6rwNormal read/write0x01=disable CFRAME engine. This bit is used to cleanly shutdown cframe engine before applying cfi_local_reset to avoid undesired asynchronous transtion noise.
qword_cnt_reset 5rwNormal read/write0x01=reset CFU_QWORD_CNT (number of QWORD received from stream port, debugging feature)
crc8_disable 4rwNormal read/write0x01=disable packet header crc8 check for ease of.
crc32_check 3rwNormal read/write0x0rising edge trigger CRC32 check for stream data. Live CRC32 is reset to 0
decompress 2rwNormal read/write0x01=enable decompress.
seu_go 1rwNormal read/write0x0Controls CFRAME SEU Engine stop/go
cfi_local_reset 0rwNormal read/write0x0CFU/CFI local reset, only reset FSM, flush pipeline etc. But retain programming registers and debugging status. Cframe_disable should be set prior to assert cfi_local_reset to ensure orderly shutdown CFRAME engine.