We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

AR# 35350

Simulation models- What are the differences between behavioral and structural Simulation Models for FIFO and Block Memory Generator core?


The behavioral simulation models provide a simplified model of the core while the structural simulation models (UniSim) are an accurate modeling of the internal structure of the core. The behavioral simulation models are written purely in RTL and simulate faster than the structural simulation models and are ideal for functional debugging. Moreover, the memory is modeled in a two-dimensional array, making it easier to probe contents of the memory.

The structural simulation model uses primitive instantiations to model the behavior of the core more precisely. Use the structural simulation model to accurately model memory collision behavior and 'x' output generation. Note that simulation time is longer and debugging may be more difficult. The Simulation File options in the CORE Generator Project Options determine the type of functional simulation models generated.


The following table defines the differences between the two functional simulation models

Differences between Simulation Models

Behavioral Models

Structural Models (Unisim)

When core output is undefined

Never generates 'X'

Generates 'X' to match core

Out-of-range address access

Optionally flags a warning message

Generates 'X'

Collision behavior

Does not generate 'X' on output, and flags a warning message

Generates 'X' to match core

Byte-write collision behavior

Flags all byte-write collisions

Does not flag collisions if bytewrites do not overlap
AR# 35350
Date 12/15/2012
Status Active
Type General Article
  • FIFO Generator
  • Block Memory Generator
Page Bookmarked