+ All Categories
Home > Documents > UltraRAM Readback and Writeback v1.0 LogiCORE IP Product Guide

UltraRAM Readback and Writeback v1.0 LogiCORE IP Product Guide

Date post: 17-Feb-2022
Category:
Upload: others
View: 16 times
Download: 0 times
Share this document with a friend
35
UltraRAM Readback and Writeback v1.0 LogiCORE IP Product Guide Vivado Design Suite PG356 (v1.0) August 6, 2021
Transcript

UltraRAM Readback andWriteback v1.0

LogiCORE IP Product GuideVivado Design Suite

PG356 (v1.0) August 6, 2021

Table of ContentsChapter 1: Introduction.............................................................................................. 4

Features........................................................................................................................................4IP Facts..........................................................................................................................................5

Chapter 2: Overview......................................................................................................6Navigating Content by Design Process.................................................................................... 6Core Overview..............................................................................................................................6Applications..................................................................................................................................7Unsupported Features................................................................................................................8Licensing and Ordering.............................................................................................................. 8

Chapter 3: Product Specification........................................................................... 9Performance and Resource Use................................................................................................9Port Descriptions.......................................................................................................................10

Chapter 4: Designing with the Core................................................................... 16General Design Guidelines.......................................................................................................16Clocking...................................................................................................................................... 17Resets..........................................................................................................................................17Protocol Description................................................................................................................. 17

Chapter 5: Design Flow Steps.................................................................................22Customizing and Generating the Core...................................................................................22Constraining the Core...............................................................................................................24Simulation.................................................................................................................................. 25Synthesis and Implementation................................................................................................25

Chapter 6: Example Design..................................................................................... 26Implementing the Example Design........................................................................................ 26Simulating the Example Design.............................................................................................. 27

Chapter 7: Test Bench.................................................................................................28

PG356 (v1.0) August 6, 2021 www.xilinx.comUltraRAM Read and Write Back v1.0 2Send Feedback

Demonstration Test Bench...................................................................................................... 28

Appendix A: Upgrading............................................................................................. 30

Appendix B: Debugging.............................................................................................31Finding Help on Xilinx.com...................................................................................................... 31Debug Tools............................................................................................................................... 32

Appendix C: Additional Resources and Legal Notices............................. 33Xilinx Resources.........................................................................................................................33Documentation Navigator and Design Hubs.........................................................................33References..................................................................................................................................33Revision History......................................................................................................................... 34Please Read: Important Legal Notices................................................................................... 34

PG356 (v1.0) August 6, 2021 www.xilinx.comUltraRAM Read and Write Back v1.0 3Send Feedback

Chapter 1

IntroductionThe Xilinx® UltraRAM is a high-density synchronous memory belonging to the 16 nm/UltraScale+™ family. Unlike block RAMs, UltraRAMs do not support readback and initializationfeatures. The UltraRAM Readback and Writeback IP core provides an optimized solution forreadback and writeback. It can be customized using the Vivado® IP customizers in the IP catalog.

FeaturesFollowing are the features of the UltraRAM Readback and Writeback IP:

• UltraRAM Port B is used for readback and writeback

• Separate Read Once Command supported on port A

• CDC Synchronizer can be Configurable depending on the source of input clocks

• Below commands are supported in readback and writeback.

○ Start (Location Selection)

○ Write Once

○ Write Batch

○ Read Once

○ Read Once on both the Ports

○ Configurable Read Batch

○ Configurable Restore

○ Exit

Chapter 1: Introduction

PG356 (v1.0) August 6, 2021 www.xilinx.comUltraRAM Read and Write Back v1.0 4Send Feedback

IP FactsLogiCORE™ IP Facts Table

Core Specifics

Supported Device Family1 UltraScale+™ families

Supported User Interfaces N/A

Resources N/A

Provided with Core

Design Files Encrypted RTL

Example Design Verilog

Test Bench Verilog

Constraints File Xilinx Constraints File

Simulation Model Verilog

Supported S/W Driver N/A

Tested Design Flows2

Design Entry Not Provided

Simulation For supported simulators, see the Xilinx Design Tools: Release Notes Guide.

Synthesis Not Provided

Support

Release Notes and Known Issues Master Answer Record: 75326

All Vivado IP Change Logs Master Vivado IP Change Logs: 72775

Xilinx Support web page

Notes:1. For a complete list of supported devices, see the Vivado® IP catalog.2. For the supported versions of third-party tools, see the Xilinx Design Tools: Release Notes Guide.

Chapter 1: Introduction

PG356 (v1.0) August 6, 2021 www.xilinx.comUltraRAM Read and Write Back v1.0 5Send Feedback

Chapter 2

Overview

Navigating Content by Design ProcessXilinx® documentation is organized around a set of standard design processes to help you findrelevant content for your current development task. All Versal™ ACAP design process DesignHubs can be found on the Xilinx.com website. This document covers the following designprocesses:

• Hardware, IP, and Platform Development: Creating the PL IP blocks for the hardwareplatform, creating PL kernels, functional simulation, and evaluating the Vivado® timing,resource use, and power closure. Also involves developing the hardware platform for systemintegration. Topics in this document that apply to this design process include:

• Port Descriptions

• Clocking

• Resets

• Customizing and Generating the Core

• Chapter 6: Example Design

Core OverviewThis product guide describes features of the Xilinx® UltraRAM Readback and WritebackLogiCORE™ IP and the functionality of the various commands in the design. In addition, the coreinterface and its customization options are defined in the following sections.

Chapter 2: Overview

PG356 (v1.0) August 6, 2021 www.xilinx.comUltraRAM Read and Write Back v1.0 6Send Feedback

Figure 1: Core Overview

URAM Readback

Cascade Inputs

Port A Outputs

Port B Outputs

Cascade Outputs

CCLK

VLD

DI

ConfigurationInterface

Port B Inputs

Sleep

CLK

Port A Inputs

URAM_LOCATION

X23250-121420

The IP primitive (URAM288_RDB) that implements the readback and writeback for UltraRAM isshown in the core overview diagram. There are additional input ports apart from the originalUltraRAM primitive, DI [31:0], VLD and CCLK, which are connected directly to theUSR_ACCESSE2 primitive. The URAM_LOCATION port provides the location/number for theUltraRAM and this can be checked while enabling WB/RB access. To provide the status of the IP,other configuration signals (CFGMODE and CFGBUSY) are generated in the IP. The UltraRAMReadback and Writeback LogiCORE IP core includes an instance of the URAM288 block and usesPort B for readback and writeback functions. The MUXes are configured to select the user logicto use Port B.

The readback/writeback logic is independent of the configuration interface used and operates atthe configuration clock frequency.

ApplicationsThe UltraRAM Readback and Writeback LogiCORE™ IP core is used in applications such asemulation platforms.

Chapter 2: Overview

PG356 (v1.0) August 6, 2021 www.xilinx.comUltraRAM Read and Write Back v1.0 7

CFGMODE

CFGBUSY

Send Feedback

Unsupported FeaturesThe following features are not supported in the core:

• Cascade mode

• Sleep mode

• Error correction code (ECC)

• OREG/IREG pipeline registers

Licensing and OrderingThis Xilinx® LogiCORE™ IP module is provided at no additional cost with the Xilinx Vivado®

Design Suite under the terms of the Xilinx End User License.

For more information about this core, visit the UltraRAM Readback and Writeback LogiCORE IP product web page.

Information about other Xilinx® LogiCORE™ IP modules is available at the Xilinx IntellectualProperty page. For information about pricing and availability of other Xilinx LogiCORE IP modulesand tools, contact your local Xilinx sales representative.

Chapter 2: Overview

PG356 (v1.0) August 6, 2021 www.xilinx.comUltraRAM Read and Write Back v1.0 8Send Feedback

Chapter 3

Product SpecificationThe functional block diagram of the core is shown in the following figure.

Figure 2: Core Block Diagram

URAM RDB MUX Module

URAM288

MUX

MUX

CLK

PORT A

PORT B

CCLK

CFGMODE

DATA, VLD

ConfigurationInterface

Config_sel_a

Config_sel_b

DOUTA

URAM Readback FSM

DOUTB

New Data Restore B

Restore Data B

UserInterface

FSM

Flop Stage2

Flop Stage1

Pulse Sync

Last Read Addr Port B

CFGBUSY

X23249-010621

Performance and Resource UsePerformance and resource utilization for the UltraRAM Readback and Writeback LogiCORE™ IPvaries depending on the configuration and features selected during core customization. Thefollowing table lists the performance and resource values for the default configuration.

Chapter 3: Product Specification

PG356 (v1.0) August 6, 2021 www.xilinx.comUltraRAM Read and Write Back v1.0 9Send Feedback

Table 1: Performance and Resource Use

ConfigurationResources Performance

LUTs FFs URAMs Max. Frequency(MHz)

Default Configuration 360 497 1 350

Port DescriptionsThe core interfaces are shown in the following figure.

Chapter 3: Product Specification

PG356 (v1.0) August 6, 2021 www.xilinx.comUltraRAM Read and Write Back v1.0 10Send Feedback

Figure 3: Core Ports

URAM Readback IP

DIN_A

ADDR_A

EN_A

RDB_WR_A

BWE_A

INJECT_SBITERR_A

INJECT_DBITERR_A

OREG_CE_A

OREG_ECC_CE_A

RST_A

CLK

SLEEP

DIN_B

ADDR_B

EN_B

RDB_WR_B

BWE_B

INJECT_SBITERR_B

INJECT_DBITERR_B

OREG_CE_B

OREG_ECC_CE_B

RST_B

CCLK

VLD

DI

DOUT_A

SBITERR_A

DBITERR_A

RDACCESS_A

DOUT_B

SBITERR_B

DBITERR_B

RDACCESS_B

CAS_OUT_RDACCESS_B

CAS_OUT_DBITERR_B

CAS_OUT_SBITERR_B

CAS_OUT_BW

E_B

CAS_OUT_RDB_W

R_B

CAS_OUT_EN

_B

CAS_OUT_ADDR_B

CAS_OUT_DO

UT_B

CAS_OUT_DIN

_B

CAS_OUT_RDACCESS_A

CAS_OUT_DBITERR_A

CAS_OUT_SBITERR_A

CAS_OUT_BW

E_A

CAS_OUT_RDB_W

R_A

CAS_OUT_EN

_A

CAS_OUT_ADDR_A

CAS_OUT_DO

UT_A

CAS_OUT_DIN

_ACAS_IN

_DIN_A

CAS_IN_DO

UT_A

CAS_OUT_ADDR_A

CAS_IN_EN

_A

CAS_IN_RDB_W

R_A

CAS_IN_BW

E_A

CAS_IN_SBITERR_A

CAS_IN_DBITERR_A

CAS_IN_RDACCESS_A

CAS_IN_DIN

_B

CAS_IN_DO

UT_B

CAS_OUT_ADDR_B

CAS_IN_EN

_B

CAS_IN_RDB_W

R_B

CAS_IN_BW

E_B

CAS_IN_SBITERR_B

CAS_IN_DBITERR_B

CAS_IN_RDACCESS_B

URAM_LOCATION

CFGMODE

CFGBUSY

X23246-121420

Chapter 3: Product Specification

PG356 (v1.0) August 6, 2021 www.xilinx.comUltraRAM Read and Write Back v1.0 11Send Feedback

Interface Ports (No Cascade)Table 2: Interface Ports (No Cascade)

Port Name I/O Width DescriptionCLK I 1 UltraRAM clock source

SLEEP I 1 Dynamic power gating control

Port A Interface

ADDR_A I 23 Port A address. ADDR_A[22:12] are only used incascade mode.

EN_A I 1 Port A enable. Enables or disables the read/writeaccess to the block RAM memory core.

RDB_WR_A I 1 Port A read or write mode input select. Read (BAR)is active-Low (0 = read and 1 = write).

BWE_A I 9 Port A byte write enable.

DIN_A I 72 Port A write data in.

INJECT_SBITERR_A I 1 Port A single-bit error injection during write.

INJECT_DBITERR_A I 1 Port A double-bit error injection during write.

OREG_CE_A I 1 Port A SRAM array core block read output pipelineregister CLK enable.

OREG_ECC_CE_A I 1 Port A ECC decoder output pipeline register CLKenable.

RST_A I 1 Asynchronous or synchronous reset for port Aoutput registers. Reset has priority over CE.

DOUT_A O 72 Port A read data out.

RDACCESS_A O 1 Port A read status output.

SBITERR_A O 1 Port A single-bit error output status.

DBITERR_A O 1 Port A double-bit error output status.

Port B Interface

ADDR_B I 23 Port B address. ADDR_B[22:12] are only used incascade mode.

EN_B I 1 Port B enable. Enables or disables the read/writeaccess to the block RAM memory core.

BWE_B I 9 Port B byte write enable.

DIN_B I 72 Port B write data in.

INJECT_SBITERR_B I 1 Port B single-bit error injection during write.

INJECT_DBITERR_B I 1 Port B double-bit error injection during write.

OREG_CE_B I 1 Port B SRAM array core block read output pipelineregister CLK enable.

OREG_ECC_CE_B I 1 Port B ECC decoder output pipeline register CLKenable.

RST_B I 1 Asynchronous or synchronous reset for port Boutput registers. Reset has priority over CE.

DOUT_B O 72 Port B read data out.

RDACCESS_B O 1 Port B read status output.

SBITERR_B O 1 Port B single-bit error output status.

Chapter 3: Product Specification

PG356 (v1.0) August 6, 2021 www.xilinx.comUltraRAM Read and Write Back v1.0 12Send Feedback

Table 2: Interface Ports (No Cascade) (cont'd)

Port Name I/O Width DescriptionDBITERR_B O 1 Port B double-bit error output status.

Additional PortsTable 3: Additional Ports

Port Name I/O Width DescriptionConfiguration Interface

CCLK I 1 Configuration Clock. Entire read/writeback works onthis clock.

DI I 32 Configuration Data Interface

VLD I 1 Configuration valid to indicate the valid data on DI.

URAM_LOCATION I 22 Location of the URAM instance ID.In the start command if

Sync_Word = AA, IP enabled for WB/RB access.Sync_Word = AC, IP enabled for WB/RB accessonly if Location Instance ID matches withURAM_LOCATION

CFGMODE O 1 Configuration Mode enable. Indicates the IP isenabled for WB/RB access.

CFGBUSY O 1 Configuration Busy. Indicates that the IP is busy inprocessing WB/RB commands when theConfiguration mode is enabled.

Interface Ports (Cascade)Table 4: Interface Ports (Cascade)

Port Name I/O Width DescriptionPort A Cascade Interface

CAS_IN_ADDR_A I 23 Port A input address input. In cascade mode,connect this port to CAS_OUT_ADDR_A.

CAS_IN_EN_A I 1 Port A input enable input. In cascade mode connectthis port to CAS_OUT_EN_A.

CAS_IN_BWE_A I 9 Port A input write mode port byte write enable. Incascade mode, connect this port toCAS_OUT_BWE_A.

CAS_IN_RDB_WR_A I 1 Port A input read/write mode select. In cascademode, connect this port to CAS_OUT_RDB_WR_A.

CAS_IN_DIN_A I 72 Port A input write mode. In cascade mode, connectthis port to CAS_OUT_DIN_A.

CAS_IN_DOUT_A I 72 Port A input read mode data output. In cascademode, connect this port to CAS_OUT_DOUT_A.

CAS_IN_RDACCESS_A I 1 Port A input read mode read status. In cascademode, connect this port to CAS_OUT_RDACCESS_A.

Chapter 3: Product Specification

PG356 (v1.0) August 6, 2021 www.xilinx.comUltraRAM Read and Write Back v1.0 13Send Feedback

Table 4: Interface Ports (Cascade) (cont'd)

Port Name I/O Width DescriptionCAS_IN_SBITERR_A I 1 Port A input read mode single-bit error flag input. In

cascade mode, connect this port toCAS_OUT_SBITERR_A.

CAS_IN_DBITERR_A I 1 Port A input read mode double-bit error flag input.In cascade mode, connect this port toCAS_OUT_SBITERR_A.

CAS_OUT_ADDR_A O 23 Port A output address. In cascade mode, connectthis port to CAS_IN_ADDR_A.

CAS_OUT_EN_A O 1 Port A output enable. In cascade mode, connect thisport to CAS_IN_EN_A.

CAS_OUT_RDB_WR_A O 1 Port A output read/write mode select. In cascademode, connect this port to CAS_IN_RDB_WR_A.

CAS_OUT_BWE_A O 9 Port A output write mode byte write enable. Incascade mode, connect this port to CAS_IN_BWE_A.

CAS_OUT_DIN_A O 72 Port A output write mode data. In cascade mode,connect this port to CAS_IN_DIN_A.

CAS_OUT_DOUT_A O 72 Port A output read mode data. In cascade mode,connect this port to CAS_IN_DOUT_A.

CAS_OUT_RDACCESS_A O 1 Port A output read mode read status flag. Incascade mode, connect this port toCAS_IN_RDACCESS_A.

CAS_OUT_SBITERR_A O 1 Port A output read single-bit error flag. In cascademode, connect this port to CAS_IN_SBITERR_A.

CAS_OUT_DBITERR_A O 1 Port A output read mode double-bit error flag. Incascade mode, connect this port toCAS_IN_DBITERR_A.

Port B Cascade Interface

CAS_IN_ADDR_B I 23 Port B input address input. In cascade mode,connect this port to CAS_OUT_ADDR_B.

CAS_IN_EN_B I 1 Port B input enable input. In cascade mode, connectthis port to CAS_OUT_EN_B.

CAS_IN_BWE_B I 9 Port B input write mode port byte write enable. Incascade mode, connect this port toCAS_OUT_BWE_B.

CAS_IN_RDB_WR_B I 1 Port B input read/write mode select. In cascademode, connect this port to CAS_OUT_RDB_WR_B.

CAS_IN_DIN_B I 72 Port B input write mode. In cascade mode, connectthis port to CAS_OUT_DIN_B.

CAS_IN_DOUT_B I 72 Port B input read mode data output. In cascademode, connect this port to CAS_OUT_DOUT_B.

CAS_IN_RDACCESS_B I 1 Port B input read mode read status. In cascademode, connect this port to CAS_OUT_RDACCESS_B.

CAS_IN_SBITERR_B I 1 Port B input read mode single-bit error flag input. Incascade mode, connect this port toCAS_OUT_SBITERR_B.

CAS_IN_DBITERR_B I 1 Port B input read mode double-bit error flag input.In cascade mode, connect this port toCAS_OUT_DBITERR_B.

CAS_OUT_ADDR_B O 23 Port B output address. In cascade mode, connectthis port to CAS_IN_ADDR_B.

Chapter 3: Product Specification

PG356 (v1.0) August 6, 2021 www.xilinx.comUltraRAM Read and Write Back v1.0 14Send Feedback

Table 4: Interface Ports (Cascade) (cont'd)

Port Name I/O Width DescriptionCAS_OUT_EN_B O 1 Port A output enable. In cascade mode, connect this

port to CAS_IN_EN_B.

CAS_OUT_BWE_B O 9 Port B output write mode byte write enable. Incascade mode, connect this port to CAS_IN_BWE_B.

CAS_OUT_RDB_WR_B O 1 Port B output read/write mode select. In cascademode, connect this port to CAS_IN_RDB_WR_B.

CAS_OUT_DIN_B O 72 Port B output write mode data. In cascade mode,connect this port to CAS_IN_DIN_B.

CAS_OUT_DOUT_B O 72 Port B output read mode data. In cascade mode,connect this port to CAS_IN_DOUT_B.

CAS_OUT_RDACCESS_B O 1 Port B output read mode read status flag. Incascade mode, connect this port toCAS_IN_RDACCESS_B.

CAS_OUT_SBITERR_B O 1 Port B output read single-bit error flag. In cascademode, connect this port to CAS_IN_SBITERR_B.

CAS_OUT_DBITERR_B O 1 Port B output read mode double-bit error flag. Incascade mode, connect this port toCAS_IN_DBITERR_B.

Chapter 3: Product Specification

PG356 (v1.0) August 6, 2021 www.xilinx.comUltraRAM Read and Write Back v1.0 15Send Feedback

Chapter 4

Designing with the CoreThis section includes guidelines and additional information to facilitate designing with the core.

General Design GuidelinesThe basic blocks in UltraRAM Readback and Writeback LogiCORE™ IP are URAM288 (UltraRAMPrimitive), URAM RDB_WRB_FSM, and URAM RDB_MUX.

Use the Example DesignEach instance of the uram_rd_back core created by the Vivado design tool is delivered with anexample design that can be implemented in a device and then simulated. This design can be usedas a starting point for your own design or can be used to sanity-check your application in theevent of difficulty. See the Example Design content for information about using and customizingthe example designs for the core.

Related Information

Example Design

Registering SignalsTo simplify timing and increase system performance in a programmable device design, keep allinputs and outputs registered between the user application and the core. This means that allinputs and outputs from the user application should come from, or connect to, a flip-flop. Whileregistering signals might not be possible for all paths, it simplifies timing analysis and makes iteasier for the Xilinx® tools to place and route the design.

Recognize Timing Critical SignalsThe constraints provided with the example design identify the critical signals and timingconstraints that should be applied.

Chapter 4: Designing with the Core

PG356 (v1.0) August 6, 2021 www.xilinx.comUltraRAM Read and Write Back v1.0 16Send Feedback

Make Only Allowed ModificationsYou should not modify the core. Any modifications can have adverse effects on system timingand protocol compliance. Supported user configurations of the core can only be made byselecting the options in the customization IP dialog box when the core is generated.

ClockingThe IP core operates with two clocks, CLK and CCLK. By default, UltraRAM memory is accessedusing the user clock (CLK). While accessing memory contents from backdoor, the configurationclock, (CCLK) is used.

ResetsThe IP core uses reset for both the ports of UltraRAM, namely RST_A and RST_B. Writeback orReadback is implemented to use on Port B of URAM primitive where RST_B can be used as resetfor Configuration Access.

Protocol Description

URAM288 (UltraRAM Primitive)The UltraRAM URAM288 primitive is the basic building block for all UltraRAM configurations.The URAM288 primitive supports all possible configurations including cascade and ECC. TheURAM288 primitive is shown in the following figure.

Chapter 4: Designing with the Core

PG356 (v1.0) August 6, 2021 www.xilinx.comUltraRAM Read and Write Back v1.0 17Send Feedback

Figure 4: UltraRAM URAM288 Primitive

DIN_A

ADDR_A

EN_A

RDB_WR_A

BWE_A

INJECT_SBITERR_A

INJECT_DBITERR_A

OREG_CE_A

OREG_ECC_CE_A

RST_A

SLEEP

CLK

DIN_B

ADDR_B

EN_B

RDB_WR_B

BWE_B

INJECT_SBITERR_B

INJECT_DBITERR_B

OREG_CE_B

OREG_ECC_CE_B

RST_B

72

23

9DOUT_A

SBITERR_A

DBITERR_A

RDACCESS_A

DOUT_B

SBITERR_B

DBITERR_B

RDACCESS_B

72

72

72

23

9

CAS_OUT_DIN

_A

CAS_OUT_DO

UT_A

CAS_OUT_ADDR_A

CAS_OUT_EN

_A

CAS_OUT_RDB_W

R_A

CAS_OUT_BW

E_A

CAS_OUT_SBITERR_A

CAS_OUT_DBITERR_A

CAS_OUT_RDACCESS_A

CAS_OUT_DIN

_B

CAS_OUT_DO

UT_B

CAS_OUT_ADDR_B

CAS_OUT_EN

_B

CAS_OUT_RDB_W

R_B

CAS_OUT_BW

E_B

CAS_OUT_SBITERR_B

CAS_OUT_DBITERR_B

CAS_OUT_RDACCESS_B

72 72 23

72 72

CAS_IN_DIN

_A

CAS_IN_DO

UT_A

CAS_IN_ADDR_A

CAS_IN_EN

_A

CAS_IN_RDB_W

R_A

CAS_IN_BW

E_A

CAS_IN_SBITERR_A

CAS_IN_DBITERR_A

CAS_IN_RDACCESS_A

CAS_IN_DIN

_B

CAS_IN_DO

UT_B

CAS_IN_ADDR_B

CAS_IN_EN

_B

CAS_IN_RDB_W

R_B

CAS_IN_BW

E_B

CAS_IN_SBITERR_B

CAS_IN_DBITERR_B

CAS_IN_RDACCESS_B

7272 239 9

9 923 2372 72

X23367-101519

Chapter 4: Designing with the Core

PG356 (v1.0) August 6, 2021 www.xilinx.comUltraRAM Read and Write Back v1.0 18Send Feedback

URAM RDB MUXThe URAM RDB MUX is used to select the URAM288 primitive inputs between user inputs andthe configuration inputs generated from the URAM RDB FSM. When accessing the memory fromthe configuration interface, both user ports are disabled from accessing the memory.

UltraRAM Readback Writeback FSMThe main block of the IP is the UltraRAM readback writeback finite state machine (FSM) whichcontrols the readback and writeback operations to the UltraRAM. This block is in the separateclock domain and completely independent from the user logic. It operates with the configurationclock (CCLK) which is separate from the user clock (CLK).

Based on the data value on data input (DI) interface, all the communication between the debughost and/or USER_ACCESS primitive and to the IP is performed through one of four differenttypes of frames as described below:

• Location frame (Type 10): This frame is sent by the debug hosts to select a specific UltraRAMbased on its XY location. All successive frames after the location frame targets the sameURAM until the exit command is sent. Location Frame is also called start frame.This is thestarting frame to the IP to enable IP for WB/RB access.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

TYP SYNC_WORD URAM_LOC_XY

• SYNC_WORD: Sync_Word = 0xAA, IP enabled for WB/RB access. Sync_Word = AC, IPenabled for WB/RB access only if Location Frame (URAM_LOC_XY) matches withURAM_LOCATION input port.

• URAM_LOC_XY: URAM location number.

• Command frame (Type 11): This frame specifies one of the below commands and theUltraRAM address at which readback or writeback needs to be performed.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

TYP CMD URAM_ADDR

11 0x6A, (0x7A-0x7F) (23-bit address)

• URAM_ADDR: Address (Starting Address) of the URAM location to access.

• CMD: Specifies type of the command.

CMD Type6A Read Once Port A

7A Read Once Port B

7B Read Batch Port B

Chapter 4: Designing with the Core

PG356 (v1.0) August 6, 2021 www.xilinx.comUltraRAM Read and Write Back v1.0 19Send Feedback

CMD Type7C Write Once Port B

7D Write Batch Port B

7E Restore Port B

7F Exit

37* Read Once to Both the Ports

Note: The type of command identified by bits [29:23] from command frame for all commands exceptRead Once to both ports. Read once to Both the ports command identified by only [29:24] bits fromcommand frame and [23:0] bits used to select the address on each port ([23:12] bits to Port B addressand [11:0] bits to Port A address)

• Data frame (Type 00): This frame is typically sent after the command frame and specifies thedata to be written (in the case of Write Once or Write Batch Command).

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

TYP DATA

Note: The UltraRAM primitive supports 72-bit data. The FSM waits until the complete data is receivedfrom the configuration interface, that is, an UltraRAM data width of 72 bits (DI is for 32-bit out ofwhich 30 bits are actual data) is received. To write 72 bits (one write) to the memory, three datacommands from the configuration interface are needed so that a complete row of a memory can beaccessed. Inputs required for one write to the UltraRAM are generated by the UltraRAM readback FSMmodule after receiving the complete data (72- bit).

• Data End frame (Type 01): This frame is the last frame sent during a command sequence. Forexample, Number of Reads during Read Batch Command and the Write Sequence End duringWrite Batch Command.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

TYP DATA END

Table 5: Readback/Writeback Commands and Latency

S.No Command Name Execution Latency in IP (No.of Clocks) Description

1 Start 2 Sync_Word = AA, IP enabled for WB/RB accessSync_Word = AC, IP enabled for WB/RB accessonly if Location Frame matches

2 Write Once 3 Clock Cycles from Last data Overall Command Execution: 6 Clock Cycles (ifall data commands are continuous)

3 Write Batch 3 Clock Cycles from data end Overall Command Execution: 4 + No. of Datacommands (if all data commands arecontinuous)

4 Read Once 3 Read Once Supported for both the ports (PortA/B)

5 Read Batch 4 + (N-1)*D N = Number of ReadsD = Delay between each read

Chapter 4: Designing with the Core

PG356 (v1.0) August 6, 2021 www.xilinx.comUltraRAM Read and Write Back v1.0 20Send Feedback

Table 5: Readback/Writeback Commands and Latency (cont'd)

S.No Command Name Execution Latency in IP (No.of Clocks) Description

6 Restore 15 Restore command will perform "Read, Write,Read, Write" to the same URAM location (lastread address from Port B user interface)

7 Exit 3

8 Read Once on BothPorts

3 Read Once on both the ports with differentaddresses.

Notes:1. WB/RB access can be started with the Start command and end with the Exit command. All other commands in

between Start and Exit can be accessed in any order.

Restore Command Description

IP has the ability to store the last read address and data from the Port B user interface to restorethe same values on Port B output interface when Restore command is executed from backdooraccess. The following shows the sequence:

1. First Read to get the new value present in the URAM and restore this new value

2. First Write is to write the Old read value (last read data from the Port B user interface)

3. Second Read to present the restored read value (from the user interface)

4. Then Second Write to write the new data value again

Multi-URAM Configuration

In the multi-URAM configuration, the IP can be used in multi-instance configurations by sharingthe configuration interface. All or few URAM instances can be accessed for write/read back atthe same time.

• Accessing All URAM Instances: All instances connected to configuration interface can beselected by sending a start command with Sync_Word AA. All other commands received by allURAM instances will respond similarly and all instances can exit upon receiving Exit command.

• Accessing One or Few URAM Instances: Individual instances can be selected through theStart command (with Sync_Word = AC and URAM_LOC_XY == URAM_LOCATION). Othercommands can be received and processed by the instances which are enabled. Exit commandwill exit the write/read back access for all instances.

Chapter 4: Designing with the Core

PG356 (v1.0) August 6, 2021 www.xilinx.comUltraRAM Read and Write Back v1.0 21Send Feedback

Chapter 5

Design Flow StepsThis section describes customizing and generating the core, constraining the core, and thesimulation, synthesis, and implementation steps that are specific to this IP core. More detailedinformation about the standard Vivado® design flows and the IP integrator can be found in thefollowing Vivado Design Suite user guides:

• Vivado Design Suite User Guide: Designing IP Subsystems using IP Integrator (UG994)

• Vivado Design Suite User Guide: Designing with IP (UG896)

• Vivado Design Suite User Guide: Getting Started (UG910)

• Vivado Design Suite User Guide: Logic Simulation (UG900)

Customizing and Generating the CoreThis section includes information about using Xilinx® tools to customize and generate the core inthe Vivado® Design Suite.

If you are customizing and generating the core in the Vivado IP integrator, see the Vivado DesignSuite User Guide: Designing IP Subsystems using IP Integrator (UG994) for detailed information. IPintegrator might auto-compute certain configuration values when validating or generating thedesign. To check whether the values do change, see the description of the parameter in thischapter. To view the parameter value, run the validate_bd_design command in the Tclconsole.

You can customize the IP for use in your design by specifying values for the various parametersassociated with the IP core using the following steps:

1. Select the IP from the IP catalog.

2. Double-click the selected IP or select the Customize IP command from the toolbar or right-click menu.

For details, see the Vivado Design Suite User Guide: Designing with IP (UG896) and the VivadoDesign Suite User Guide: Getting Started (UG910).

Figures in this chapter are illustrations of the Vivado IDE. The layout depicted here might varyfrom the current version.

Chapter 5: Design Flow Steps

PG356 (v1.0) August 6, 2021 www.xilinx.comUltraRAM Read and Write Back v1.0 22Send Feedback

UltraRAM Readback IP Basic OptionsThe following figure shows a single page which defines the component name and providesconfiguration options for UltraRAM.

Figure 5: UltraRAM Readback Writeback Customize IP Dialog Box

• Enable Restore: Enables restore command support when selected. Default Value is True.

• Disable CDC Logic: Disables CDC logic between Read Back FSM and URAM Primitive. DefaultValue is False.

• Enable Read Batch: Enables Read Batch command Support when selected. Default Value isTrue.

• URAM Primitive Input Register: When selected, adds register stage at URAM Primitive inputs.Default Value is False.

User ParametersThe following table shows the relationship between the fields in the Vivado® IDE and theuserparameters (which can be viewed in the Tcl Console).

Chapter 5: Design Flow Steps

PG356 (v1.0) August 6, 2021 www.xilinx.comUltraRAM Read and Write Back v1.0 23Send Feedback

Table 6: User Parameters

Vivado IDE Parameter/ValueCross Ref to TableNote User Parameter/Value Default Value

Enable Restore ENABLE_RESTORE TrueDisable CDC Logic DISABLE_CDC FalseEnable Read Batch ENABLE_READ_BATCH TrueURAM Primitive Input Register URAM_INPUT_REGISTER False

For a detailed description of all other user parameters, see the UltraRAM attributes section in theUltraScale Architecture Memory Resources User Guide (UG573).

Output GenerationFor details, see the Vivado Design Suite User Guide: Designing with IP (UG896).

Constraining the CoreRequired Constraints

This section is not applicable for this IP core.

Device, Package, and Speed Grade Selections

This section is not applicable for this IP core.

Clock Frequencies

This section is not applicable for this IP core.

Clock Management

This section is not applicable for this IP core.

Clock Placement

This section is not applicable for this IP core.

Banking

This section is not applicable for this IP core.

Chapter 5: Design Flow Steps

PG356 (v1.0) August 6, 2021 www.xilinx.comUltraRAM Read and Write Back v1.0 24Send Feedback

Transceiver Placement

This section is not applicable for this IP core.

I/O Standard and Placement

This section is not applicable for this IP core.

SimulationFor comprehensive information about Vivado® simulation components, as well as informationabout using supported third-party tools, see the Vivado Design Suite User Guide: Logic Simulation(UG900).

Synthesis and ImplementationFor details about synthesis and implementation, see the Vivado Design Suite User Guide: Designingwith IP (UG896).

Chapter 5: Design Flow Steps

PG356 (v1.0) August 6, 2021 www.xilinx.comUltraRAM Read and Write Back v1.0 25Send Feedback

Chapter 6

Example DesignThe following figure shows the example design for the UltraRAM Readback and Writeback IP. Forinformation on the VCU118-based reference design, see AR 75326.

Figure 6: Core Example Design

UserInterface

IOBs

URAM Read Backup IP

Core

Example Design

X23248-120320

The example design comprises the following:

• An instance of the UltraRAM Readback and Writeback LogiCORE™ IP.

During simulation, the core is instantiated as a black box. It is replaced during implementationwith the structural netlist model generated by the Vivado® IP catalog IP customizer for timingsimulation or a behavioral model for the functional simulation.

• Global clock buffers for top-level port clock signals.

Implementing the Example DesignTo implement the example design, follow these steps:

1. After generating a core, right-click on the generated core and click Open IP Example Design.

2. In the example project tab, click the Run Synthesis and Run Implementation options toimplement the example design.

Chapter 6: Example Design

PG356 (v1.0) August 6, 2021 www.xilinx.comUltraRAM Read and Write Back v1.0 26Send Feedback

Simulating the Example DesignThe UltraRAM Readback and Writeback IP core provides a quick way to simulate and observethe behavior of the core by using the provided example design. There are five differentsimulation types:

• Behavioral

• Post-Synthesis Functional

• Post-Synthesis Timing

• Post-Implementation Functional

• Post-Implementation Timing

Chapter 6: Example Design

PG356 (v1.0) August 6, 2021 www.xilinx.comUltraRAM Read and Write Back v1.0 27Send Feedback

Chapter 7

Test BenchThis chapter contains information about the test bench provided in the Vivado® Design Suite.The following figure shows a block diagram of the subsystem test bench.

Figure 7: UltraRAM Readback Test Bench

Test Bench Top

ClockGenerator

Checker

DataGenerator

ProtocolController

DataChecker

UserInterface

IOBs

URAM Read Backup IP

Core

Example Design

Test Bench Wrapper

X23247-120320

Demonstration Test Bench

Test Bench FunctionalityThe demonstration test bench is a Verilog-HDL file that can be used to exercise the exampledesign and the core itself. The test bench consists of the following:

• Clock generators

• Data generator module

Chapter 7: Test Bench

PG356 (v1.0) August 6, 2021 www.xilinx.comUltraRAM Read and Write Back v1.0 28Send Feedback

• Data verifier module

• Module to control data generator and verifier

The demonstration test bench in a core performs the following tasks:

• Input clock signals are generated.

• A reset is applied to the example design.

• Pseudo random data is generated and given as input to the UltraRAM Readback andWriteback IP.

Commands that are supported by the IP are verified in the following sequence:

1. Normal Writes to Port A.

2. Normal Reads to Port A and compare with the write data from previous step in exampledesign checker (dverif).

3. Normal Writes to Port B.

4. Normal Reads to Port B and compare with the write data from previous step in exampledesign checker (dverif).

5. Writeback/Readback Sequence performed from example design to configuration interface(DI, VLD):

a. Start Command. CFG_MODE signal asserts from IP and it will be the select signal forBUFGMUX in example design.

b. Set of Write Once Commands to Port B.

c. Write Batch Command (Write Data to multiple URAM locations) to Port B.

d. Set of Read Once Commands to Port B. Read data from IP compared with the datawritten through Write Once Commands.

e. Set of Read Once Commands to Port A.

f. Set of Read Once Commands to both the ports using command ('h37)

g. Read Batch Command (Read to multiple locations of URAM) to Port B. Read data from IPcompared with the data written through Write Batch Command.

h. Restore Command to Port B.

i. Exit Command.

Messages and WarningsWhen the functional or timing simulation has completed successfully, the test bench displays thefollowing message. It is safe to ignore this message.

Failure: Test Completed Successfully

Chapter 7: Test Bench

PG356 (v1.0) August 6, 2021 www.xilinx.comUltraRAM Read and Write Back v1.0 29Send Feedback

Appendix A

UpgradingThis appendix is not applicable for the first release of the core.

Appendix A: Upgrading

PG356 (v1.0) August 6, 2021 www.xilinx.comUltraRAM Read and Write Back v1.0 30Send Feedback

Appendix B

DebuggingThis appendix includes details about resources available on the Xilinx® Support website anddebugging tools.

Finding Help on Xilinx.comTo help in the design and debug process when using the core, the Xilinx Support web pagecontains key resources such as product documentation, release notes, answer records,information about known issues, and links for obtaining further product support. The XilinxCommunity Forums are also available where members can learn, participate, share, and askquestions about Xilinx solutions.

DocumentationThis product guide is the main document associated with the core. This guide, along withdocumentation related to all products that aid in the design process, can be found on the XilinxSupport web page or by using the Xilinx® Documentation Navigator. Download the XilinxDocumentation Navigator from the Downloads page. For more information about this tool andthe features available, open the online help after installation.

Answer RecordsAnswer Records include information about commonly encountered problems, helpful informationon how to resolve these problems, and any known issues with a Xilinx product. Answer Recordsare created and maintained daily ensuring that users have access to the most accurateinformation available.

Answer Records for this core can be located by using the Search Support box on the main Xilinxsupport web page. To maximize your search results, use keywords such as:

• Product name

• Tool message(s)

• Summary of the issue encountered

Appendix B: Debugging

PG356 (v1.0) August 6, 2021 www.xilinx.comUltraRAM Read and Write Back v1.0 31Send Feedback

A filter search is available after results are returned to further target the results.

Master Answer Record for the Core

AR 75326.

Technical SupportXilinx provides technical support on the Xilinx Community Forums for this LogiCORE™ IP productwhen used as described in the product documentation. Xilinx cannot guarantee timing,functionality, or support if you do any of the following:

• Implement the solution in devices that are not defined in the documentation.

• Customize the solution beyond that allowed in the product documentation.

• Change any section of the design labeled DO NOT MODIFY.

To ask questions, navigate to the Xilinx Community Forums.

Debug ToolsThere are many tools available to address uram_rd_back design issues. It is important to knowwhich tools are useful for debugging various situations.

Vivado Design Suite Debug FeatureThe Vivado® Design Suite debug feature inserts logic analyzer and virtual I/O cores directly intoyour design. The debug feature also allows you to set trigger conditions to capture applicationand integrated block port signals in hardware. Captured signals can then be analyzed. Thisfeature in the Vivado IDE is used for logic debugging and validation of a design running in Xilinx®

devices.

The Vivado logic analyzer is used to interact with the logic debug LogiCORE IP cores, including:

• ILA 2.0 (and later versions)

• VIO 2.0 (and later versions)

See the Vivado Design Suite User Guide: Programming and Debugging (UG908).

Appendix B: Debugging

PG356 (v1.0) August 6, 2021 www.xilinx.comUltraRAM Read and Write Back v1.0 32Send Feedback

Appendix C

Additional Resources and LegalNotices

Xilinx ResourcesFor support resources such as Answers, Documentation, Downloads, and Forums, see XilinxSupport.

Documentation Navigator and Design HubsXilinx® Documentation Navigator (DocNav) provides access to Xilinx documents, videos, andsupport resources, which you can filter and search to find information. To open DocNav:

• From the Vivado® IDE, select Help → Documentation and Tutorials.

• On Windows, select Start → All Programs → Xilinx Design Tools → DocNav.

• At the Linux command prompt, enter docnav.

Xilinx Design Hubs provide links to documentation organized by design tasks and other topics,which you can use to learn key concepts and address frequently asked questions. To access theDesign Hubs:

• In DocNav, click the Design Hubs View tab.

• On the Xilinx website, see the Design Hubs page.

Note: For more information on DocNav, see the Documentation Navigator page on the Xilinx website.

ReferencesThese documents provide supplemental material useful with this guide:

Appendix C: Additional Resources and Legal Notices

PG356 (v1.0) August 6, 2021 www.xilinx.comUltraRAM Read and Write Back v1.0 33Send Feedback

1. UltraScale Architecture Memory Resources User Guide (UG573)

2. UltraScale Architecture Libraries Guide (UG974)

3. UltraScale Architecture Clocking Resources User Guide (UG572)

Revision HistoryThe following table shows the revision history for this document.

Section Revision Summary08/06/2021 Version 1.0

Core Overview Updated figure with CFGMODE and CGFBUSY configurationsignals.

UltraRAM Readback Writeback FSM Updated CMD and Readback/Writeback Commands andLatency.

Chapter 5: Design Flow Steps • Updated UltraRAM Readback Writeback Customize IPDialog figure and added description.

• Updated User Parameters.

Test Bench Functionality Added 'h37 command.

Please Read: Important Legal NoticesThe information disclosed to you hereunder (the "Materials") is provided solely for the selectionand use of Xilinx products. To the maximum extent permitted by applicable law: (1) Materials aremade available "AS IS" and with all faults, Xilinx hereby DISCLAIMS ALL WARRANTIES ANDCONDITIONS, EXPRESS, IMPLIED, OR STATUTORY, INCLUDING BUT NOT LIMITED TOWARRANTIES OF MERCHANTABILITY, NON-INFRINGEMENT, OR FITNESS FOR ANYPARTICULAR PURPOSE; and (2) Xilinx shall not be liable (whether in contract or tort, includingnegligence, or under any other theory of liability) for any loss or damage of any kind or naturerelated to, arising under, or in connection with, the Materials (including your use of theMaterials), including for any direct, indirect, special, incidental, or consequential loss or damage(including loss of data, profits, goodwill, or any type of loss or damage suffered as a result of anyaction brought by a third party) even if such damage or loss was reasonably foreseeable or Xilinxhad been advised of the possibility of the same. Xilinx assumes no obligation to correct anyerrors contained in the Materials or to notify you of updates to the Materials or to productspecifications. You may not reproduce, modify, distribute, or publicly display the Materialswithout prior written consent. Certain products are subject to the terms and conditions ofXilinx's limited warranty, please refer to Xilinx's Terms of Sale which can be viewed at https://

Appendix C: Additional Resources and Legal Notices

PG356 (v1.0) August 6, 2021 www.xilinx.comUltraRAM Read and Write Back v1.0 34

01/21/2021 Version 1.0

Initial release. N/A

Send Feedback

www.xilinx.com/legal.htm#tos; IP cores may be subject to warranty and support terms containedin a license issued to you by Xilinx. Xilinx products are not designed or intended to be fail-safe orfor use in any application requiring fail-safe performance; you assume sole risk and liability foruse of Xilinx products in such critical applications, please refer to Xilinx's Terms of Sale which canbe viewed at https://www.xilinx.com/legal.htm#tos.

AUTOMOTIVE APPLICATIONS DISCLAIMER

AUTOMOTIVE PRODUCTS (IDENTIFIED AS "XA" IN THE PART NUMBER) ARE NOTWARRANTED FOR USE IN THE DEPLOYMENT OF AIRBAGS OR FOR USE IN APPLICATIONSTHAT AFFECT CONTROL OF A VEHICLE ("SAFETY APPLICATION") UNLESS THERE IS ASAFETY CONCEPT OR REDUNDANCY FEATURE CONSISTENT WITH THE ISO 26262AUTOMOTIVE SAFETY STANDARD ("SAFETY DESIGN"). CUSTOMER SHALL, PRIOR TO USINGOR DISTRIBUTING ANY SYSTEMS THAT INCORPORATE PRODUCTS, THOROUGHLY TESTSUCH SYSTEMS FOR SAFETY PURPOSES. USE OF PRODUCTS IN A SAFETY APPLICATIONWITHOUT A SAFETY DESIGN IS FULLY AT THE RISK OF CUSTOMER, SUBJECT ONLY TOAPPLICABLE LAWS AND REGULATIONS GOVERNING LIMITATIONS ON PRODUCTLIABILITY.

Copyright

© Copyright 2019–2021 Xilinx, Inc. Xilinx, the Xilinx logo, Alveo, Artix, Kintex, Spartan, Versal,Virtex, Vivado, Zynq, and other designated brands included herein are trademarks of Xilinx in theUnited States and other countries. All other trademarks are the property of their respectiveowners.

Appendix C: Additional Resources and Legal Notices

PG356 (v1.0) August 6, 2021 www.xilinx.comUltraRAM Read and Write Back v1.0 35Send Feedback


Recommended