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# 8369

3.1i XST - What types of Generate Blocks are supported in VHDL?


General Description:

What types of Generate Blocks are supported in VHDL?

(NOTE: The constructs reported below are supported in the 4.1i software release.)


Structural Generate:

This is supported by XST.

This is a concurrent statement that is replicated to produce multiple concurrent statements.

architecture block of register is

-- signal and component declarations


cell_array : for bit_index in 0 to 10 generate

signal data : std_logic;

cell_storage : D_flipflop

port map (clk=>clock, d=>data_in(bit_index),


cell_buffer : tristate_buffer

port map (a=>data_unbuffered, en=>out_enable,


end generate cell_array;

end architecture block;

VHDL supports two types of Generate Blocks, Structural and Process.

Process used in Generate:

This is not supported by XST.

The signals "ifetch_freq", "write_freq", and "read_freq", and the process "access_monitor" are only included in the design if the generic constant instrumented is true.

entity computer is

generic (instrumented : boolean :=false);

port (....);

end entity computer;

architecture block of computer is

-- signal and component declarations


instrumentation : if instrumented generate

signal ifetch_freq, write_freq, read_freq : real := 0.0;


access_monitor : process is


-- body of process statement

end process access_monitor;

end generate instrumentation;

end architecture block_level;
AR# 8369
Date Created 08/31/2007
Last Updated 01/19/2012
Status Archive
Type General Article