Random Testcase Sample Code

Table B-5:sop_spacing (Bytes1, Err1, Addr1, EOP2, Err2, Addr2, Bytes2, num_cycles) Inputs (Continued)

R

Name

Range

Description

 

 

 

ERR2

0 or 1

Defines if the second packet should be terminated

 

 

with an EOP abort. If set to 0 the EOPs will be

 

 

calculated from Bytes1.

 

 

 

ADDR2

0 to 255

Channel on which the second packet should be

 

 

sent.

 

 

 

BYTES2

1 to 255

The number of bytes to send in the second burst.

 

 

 

NUM_CYCLES

0 to

The number of idle cycles between the first and

 

[5 - roundup

second burst.

 

(BYTES1/2)]

 

 

 

 

The send_status procedure is used to change the status for a particular channel.

Table B-6:send_status (channel, value) Inputs

Name

Range

Description

 

 

 

CHANNEL

0 to 255

Defines the channel whose status will be

 

 

updated.

 

 

 

VALUE

00,01,10,11

Defines the new status value to assign to the

 

 

selected channel.

 

 

 

The get_status procedure is called to check status of a specific channel. It will cause the status value of that channel to be returned to the Testcase.

Table B-7:get_status (channel) Inputs

Input

Range

Description

 

 

 

CHANNEL

0 to 255

Defines the channel whose status will be read.

 

 

 

Random Testcase Sample Code

The following code is an example that can be inserted into the pl4_testcase.v file to send randomized data to the Sink core. It should replace the default code used to send data. In addition to sending randomized data, it also randomly asserts each request signal.

wait (Reset_n == 1); @ (posedge RDClk2x);

//********************************************************************

******

//Sends out randomized data, idles, or training.

//It also randomly toggles TCIdleRequest, TCTrainingRequest,

//TCDIP4Request, TCDIP2Request, and TCSnkDip2ErrRequest //********************************************************************

******

forever begin

RandTask = {$random(`RANDOM_SEED + $time)} % 4;

SPI-4.2 v8.5 Getting Started Guide

www.xilinx.com

51

UG154 March 24, 2008

Page 51
Image 51
Xilinx UG154 manual Random Testcase Sample Code, Table B-7getstatus channel Inputs Range Description

UG154 specifications

Xilinx UG154 is a comprehensive user guide that provides in-depth information about the architecture, features, and technologies of Xilinx's FPGA (Field Programmable Gate Array) devices. This guide is particularly vital for developers, engineers, and designers who work with Xilinx products, as it serves as a key resource throughout the development lifecycle.

One of the main features of Xilinx UG154 is its coverage of the device architecture, which details the programmable logic cells, configurable interconnects, and I/O capabilities. Xilinx FPGAs are known for their flexibility and scalability, allowing designers to implement complex digital circuits and systems that can be modified post-manufacturing, enabling rapid prototyping and iterative design processes.

Another key aspect highlighted in UG154 is the technological advancements in the latest Xilinx architectures, such as UltraScale and UltraScale+. These architectures incorporate advanced process technologies, providing improved performance and power efficiency. High-speed serial transceivers, embedded processing capabilities, and extensive memory options are also discussed, showcasing how these features enhance system integration and reduce design time.

The guide also delves into Xilinx's software ecosystem, featuring the Vivado Design Suite, which streamlines the design process through integrated design tools and a unified development environment. The Vivado suite supports various high-level synthesis, simulation, and analysis tools, facilitating a smoother transition from concept to implementation.

In addition to hardware and software integration, UG154 covers the importance of IP cores, which are pre-designed functional blocks that can be easily integrated into FPGA designs. Xilinx provides a vast library of IP cores, ranging from basic logic functions to sophisticated signal processing algorithms, enabling engineers to accelerate development without sacrificing performance.

Another focus of UG154 is the emphasis on design best practices and optimization techniques that can be employed to maximize the capabilities of Xilinx devices. Topics such as timing closure, resource optimization, and power management are among the critical areas addressed, which help designers achieve the desired performance within the constraints of their applications.

Overall, Xilinx UG154 serves as a vital resource that equips engineers with the knowledge and tools necessary to leverage the full potential of Xilinx FPGAs. By understanding the features, technologies, and architectural characteristics detailed within this guide, designers can create innovative solutions across a range of applications, including telecommunications, automotive, aerospace, and industrial automation.