Boolean Split

Description of the Boolean Split component in Schematic Editor, which is used to convert an unsigned integer value into binary signals using weighted binary code.

Component Icon

Figure 1. Boolean split icon

Description

Boolean split converts an unsigned integer value into one or more binary signals using weighted binary code. The input signal is always converted to an unsigned integer value before the Boolean split.

The length of the output signal is defined using the Output signal size property.

Table 1 illustrates the functionality of the component:

Table 1. Examples of a Boolean split of the unsigned integer 107.4
configuration settings for a size 5 signal output configuration settings for a size 8 signal output

in = 107.4

Output signal size = 5

The input will be converted to 107

in = 0110 1011b

in = 107.4

Output signal size = 8

The input will be converted to 107

in = 0110 1011b

corresponding outputs
out[0] = 1 out[0] = 1
out[1] = 1 out[1] = 1
out[2] = 0 out[2] = 0
out[3] = 1 out[3] = 1
out[4] = 0 out[4] = 0
out[5] = 1
out[6] = 1
out[7] = 0

If the input signal is scalar, the Output signal size can be up to 32. If the signal is vector, the Output signal size can be up to 32*(input signal length).

If the input signal is a vector of length 2, and the Output signal size is 32 or less, only the first input signal will be converted to Boolean and the second signal will be discarded. If the Output signal size is 35, the first signal will be converted to Boolean and only 3 bits of the second signal will be converted. This is illustrated in Table 2.

Table 2. Example of a Boolean split of a vector with length 2 into an output signal of size 35

in = [107, 55] = [0110 1011­b, 0011 0111b]

Output signal size = 35

contents of output signal
out[0] = in[0][0] = 1 out[32] = in[1][0] = 1
out[1] = in[0][1] = 1 out[33] = in[1][1] = 1
out[2] = in[0][2] = 0 out[34] = in[1][2] = 1
out[3] = in[0][3] = 1
out[4] = in[0][4] = 0
out[5] = in[0][5] = 1
...
out[31] = in[0][31] = 0

Ports

  • Input(in)
    • Input signal connected composed by unsigned integer values.
      • Supported types: uint.
      • Vector support: yes.
  • Output (out)
    • The output of the component, i.e. the result of the conversion of the input signal.
      • Supported types: uint, int, and real.
      • Vector support: yes

Properties

  • Output signal size
    • Define the vector size of the output signal.
  • Output signal type
    • Choose the output signal type. Available types are ‘real’, ‘int’, or ‘uint’.
  • Execution rate
    • Type in the desired signal processing execution rate. This value must be compatible with other signal processing components of the same circuit: the value must be a multiple of the fastest execution rate in the circuit. There can be up to four different execution rates, but they must all be multiple of the basic simulation timestep. To specify the execution rate, you can use either decimal (e.g. 0.001) or exponential values (e.g. 1e-3) in seconds. Alternatively, you can type in ‘inherit’ in which case the component will be assigned execution rate based on the execution rate of the components it is receiving input from.