Channels

Top  Previous  Next

Unfortunately, System Generator supports only those types defined in the IEEE.STD package; in particular, it does not support record types. This means that you cannot use the convenient Diamond types described earlier; to create a channel you must implement all of the signals explicitly. The simplest approach is to name the signals in the same way as you would using record types, but replacing '.' with '_'. For example, the data bus would be ' x_chan_in_0_Data'. The ports are implemented using Gateway In and Gateway Out elements.

 

Each input channel is specified as follows:

 


Gateway In

Bus Size


x_chan_in_index_data

64 bits


x_chan_in_index_ready

1 bit


x_chan_in_index_write

1 bit


x_chan_in_index_validwords

2 bits

 

 


Gateway Out

Bus Size


y_chan_in_index_ready

1 bit

 

Each output channel is specified as follows:

 


Gateway In

Bus Size


y_chan_out_index_ready

1 bit

 


Gateway Out

Bus Size


x_chan_out_index_data

64 bits


x_chan_out_index_ready

1 bit


x_chan_out_index_write

1 bit


x_chan_out_index_validwords

2 bits

 

index represents the channel number, the only variable part of the name. Both input and output are numbered from zero and the channel numbers must be continuous.

 

You must still provide a package file that declares the task’s component; this declaration must use a record type—it is not looked at by System Generator.

 

Dragons003You shouldn’t specify any IOB Location Constraints when using System Generator.