Logic Block Control

For more detail, see TAN2016005 Using Logic Blocks

A Logic Block is a collection of combinatorial logic and latches that allows the user to create new, custom signals inside the camera. Each Logic Block is comprised of 2 lookup tables (LUT) with programmable inputs, truth tables and a flip flop output. There is a LUT for both the D input (Value LUT) and the enable input (Enable LUT) of the flip flop. Both LUTs have 3 inputs and thus have 8 configuration bits for their truth table.

crossbar LUT

To configure the LUTs first select either the Value or Enable LUT using the LogicBlockLUTSelector, then use the LogicBlockLUTInput to configure the different inputs into the LUT - note that the Value and Enable LUT share the inputs so setting the inputs on one will affect the other. The LogicBlockLUTInputSource selects the internal signal to be used and the LogicBlockLUTInputActivation selects what level or edge to be considered a positive input into the LUT. Once the inputs to the LUT have been selected the entries in the truth table can be configure either individually using the LogicBlockLUTRowIndex and LogicBlockLUTOutput or all at once using the LogicBlockLUTOutputValueAll

The following truth table show a simple AND of Input1 and Input2 while Input0 is not considered ("DON'T CARE").

Truth Table

To program this function into a LUT write the value of 0xC0 (1100 0000b) to the LogicBlockLUTOutputValueAll.

The details of the output Flip Flop output are shown in the following table. The previous value of the Value LUT will remain on the output until the Enable LUT is set at which point the output will be updated to the new value of the Value LUT. This allows latching of a given signal. To effectively bypass the output latch and pass the Value LUT signal through continuously simple program the Enable LUT truth table to all 1's (LogicBlockLUTOutputValueAll = 0xFF)

Flip Flop

Summary Table

Name Interface Access Visibility Description
Logic Block Selector IEnumeration Guru Selects which LogicBlock to configure
Logic Block LUT Selector [Logic Block Selector] IEnumeration Guru Selects which LogicBlock LUT to configure
Logic Block LUT Input Selector [Logic Block LUT Selector] IEnumeration Guru Controls which LogicBlockLUT Input Source & Activation to access.
Logic Block LUT Input Source [Logic Block LUT Input Selector] IEnumeration RW Guru Selects the source for the input into the Logic LUT.
Logic Block LUT Input Activation [Logic Block LUT Input Selector] IEnumeration Guru Selects the activation mode of the Logic Input Source signal.
Logic Block LUT Output Value All [Logic Block LUT Selector] IInteger Guru Sets the value of all the output bits in the selected LUT.
Logic Block LUT Row Index [Logic Block LUT Selector] IInteger Guru Controls the row of the truth table to access in the selected LUT.
Logic Block LUT Output Value [Logic Block LUT Row Index] IBoolean Guru Controls the output column of the truth table for the selected LogicBlockLUTRowIndex.

Logic Block Control Features


Logic Block Selector

Selects which LogicBlock to configure

Property Value
Name LogicBlockSelector
Interface IEnumeration
Access
Visibility Guru

Enumeration Values
LogicBlock0
LogicBlock1

Logic Block LUT Selector

Selects which LogicBlock LUT to configure

Property Value
Name LogicBlockLUTSelector [Logic Block Selector]
Interface IEnumeration
Access
Visibility Guru

Enumeration Values
Value
Enable

Logic Block LUT Input Selector

Controls which LogicBlockLUT Input Source & Activation to access.

Property Value
Name LogicBlockLUTInputSelector [Logic Block LUT Selector]
Interface IEnumeration
Access
Visibility Guru

Enumeration Values
Input0
Input1
Input2
Input3

Logic Block LUT Input Source

Selects the source for the input into the Logic LUT.

Property Value
Name LogicBlockLUTInputSource [Logic Block LUT Input Selector]
Interface IEnumeration
Access RW
Visibility Guru

Enumeration Values
Zero
Line0
Line1
Line2
Line3
Line4
Line5
Line6
UserOutput0
UserOutput1
UserOutput2
UserOutput3
Counter0Start
Counter1Start
Counter0End
Counter1End
LogicBlock0
LogicBlock1
ExposureStart
ExposureEnd
FrameTriggerWait
AcquisitionActive

Logic Block LUT Input Activation

Selects the activation mode of the Logic Input Source signal.

Property Value
Name LogicBlockLUTInputActivation [Logic Block LUT Input Selector]
Interface IEnumeration
Access
Visibility Guru

Enumeration Values
LevelLow
LevelHigh
FallingEdge
RisingEdge
AnyEdge

Logic Block LUT Output Value All

Sets the value of all the output bits in the selected LUT.

Property Value
Name LogicBlockLUTOutputValueAll [Logic Block LUT Selector]
Interface IInteger
Access
Unit
Visibility Guru

Logic Block LUT Row Index

Controls the row of the truth table to access in the selected LUT.

Property Value
Name LogicBlockLUTRowIndex [Logic Block LUT Selector]
Interface IInteger
Access
Unit
Visibility Guru

Logic Block LUT Output Value

Controls the output column of the truth table for the selected LogicBlockLUTRowIndex.

Property Value
Name LogicBlockLUTOutputValue [Logic Block LUT Row Index]
Interface IBoolean
Access
Visibility Guru