Logic lab allows you to simulate and display logic conditions using:

 

  • Logic Operators
  • Segment Decoders 
  • Binary Encoding & Decoding
  • ALU & Magnitude comparer

 

What can I build with LogicLab?

LogicLab can be used to perform logical operations in an application based on events that occur.  These events fed into the LogicLab component set can help determine a course of action to take or display this information in the form of an LED or other component.  Logic data can be visualised in the form of a segmental display and logical operations can be performed using little or no code.

 

LogicLab_illustration

LogicLab Demo


Our component libraries come in 3 versions a VCL - Firemonkey version (for Delphi / C++ Builder / RAD Studio 10.3 or higher), an MFC compatible Visual C++ version, and a .NET 4.0 supporting Visual Studio 2005 or higher.
 
The RAD Studio version is a set of native VCL and Firemonkey components of which all include now the powerful Mitov Runtime.
 
The Visual C++ version is a set of native Visual C++ classes (components).
 
The NET 4.0 (4.5 and higher compatible) version is a set of managed .NET components.  The .NET version has the same performance as the native versions, and supports all the Microsoft .NET languages including Visual Basic, C#, J#, F# and C++/CLI.
 
Due to the unique architecture of the OpenWire platform, the components are implemented the same way in Managed .NET and native Windows (32 and 64 bit) environments. The code to control a component from VB.NET, C++/CLI, C#, and J#, Visual C++ MFC, Delphi, and C++ Builder is almost identical. This allows the developers to migrate and share code between the different environments thus significantly improving the productivity.
 
OpenWire Libraries: for fast, complex data stream processing with almost zero lines of code!
RAD Studio XE8 Delphi XE8 C++ Builder XE8 RAD Studio 10 Seattle Delphi 10 Seattle C++ Builder 10 Seattle

Generic Filters

TLGenericFilter TLGenericFilter

User defined timing filter

Logic tools

LLOr LLOr

Or logic operator

LLAnd LLAnd

Logic lab and operator

LLXor LLXor

Logic lab Xor operator

LLInverter LLInverter

Logic lab value inverter

LLTFlipFlop LLTFlipFlop

Logic lab flip flop component

LLSource

Logic lab source component

LLSink LLSink

Logic lab sink component

LLRandomGenerator LLRandomGenerator

Logic lab random value generator

LLMerger LLMerger

Logic lab value merger

LLSplitter LLSplitter

Logic lab value splitter

LLJKFlipFlop LLJKFlipFlop

The JK flip-flop augments the behavior of the SR flip-flop (J=Set, K=Reset) by interpreting the S = R = 1 condition as a "flip" or toggle command. Specifically, the combination J = 1, K = 0 is a command to set the flip-flop; the combination J = 0, K = 1 is a command to reset the flip-flop; and the combination J = K = 1 is a command to toggle the flip-flop, i.e., change its output to the logical complement of its current value. Setting J = K = 0 does NOT result in a D flip-flop, but rather, will hold the current state. To synthesize a D flip-flop, simply set K equal to the complement of J. Similarly, to synthesize a T flip-flop, set K equal to J. The JK flip-flop is therefore a universal flip-flop, because it can be configured to work as an SR flip-flop, a D flip-flop, or a T flip-flop.

LLRam LLRam

Random access memory component

LLRom LLRom

Read only memory component

LLSegmentDecoder LLSegmentDecoder

Segment Decoder component

LLDecoder LLDecoder

Decoder component

LLEncoder LLEncoder

Encoder component

LLFromGrayCode LLFromGrayCode

Convert from Gray Code

LLToGrayCode LLToGrayCode

Convert to Gray code

LLBinaryCounter LLBinaryCounter

A binary counter can be constructed from JK Flip Flops by taking the output of one cell to the clock input of the next. The J and K inputs of each flip-flop are set to 1 to produce a toggle at each cycle of the clock input. For each two toggles of the first cell, a toggle is produced in the second cell, and so on down to the fourth cell. This produces a binary number equal to the number of cycles of the input clock signal. This device is sometimes called a "ripple through" counter.

LLBitShifter LLBitShifter

The bit shifts are sometimes considered bitwise operations, because they operate on the binary representation of an integer instead of its numerical value; however, the bit shifts do not operate on pairs of corresponding bits, and therefore cannot properly be called bit-wise. In these operations the digits are moved, or shifted, to the left or right. Registers in a computer processor have a fixed width, so some bits will be "shifted out" of the register at one end, while the same number of bits are "shifted in" from the other end; the differences between bit shift operators lie in how they determine the values of the shifted-in bits.

LLBarrelShifter LLBarrelShifter

A barrel shifter is a digital circuit that can shift a data word by a specified number of bits in one clock cycle. It can be implemented as a sequence of multiplexers (mux.), and in such an implementation the output of one mux is connected to the input of the next mux in a way that depends on the shift distance.

LLMultiplexer LLMultiplexer

In electronics, a multiplexer (or mux) is a device that selects one of several analog or digital input signals and forwards the selected input into a single line.  A multiplexer of 2n inputs has n select lines, which are used to select which input line to send to the output. Multiplexers are mainly used to increase the amount of data that can be sent over the network within a certain amount of time and bandwidth. A multiplexer is also called a data selector.

LLDemultiplexer LLDemultiplexer

A demultiplexer (or demux) is a device taking a single input signal and selecting one of many data-output-lines, which is connected to the single input. A multiplexer is often used with a complementary demultiplexer on the receiving end.

LLMagnitudeComparer LLMagnitudeComparer

A digital comparator or magnitude comparator is a hardware electronic device that takes two numbers as input in binary form and determines whether one number is greater than, less than or equal to the other number.

LLAdder LLAdder

In electronics, an adder or summer is a digital circuit that performs addition of numbers. In many computers and other kinds of processors, adders are used not only in the arithmetic logic unit(s), but also in other parts of the processor, where they are used to calculate addresses, table indices, and similar operations.

LLALU LLALU

In digital electronics, an arithmetic logic unit (ALU) is a digital circuit that performs integer arithmetic and logical operations

Other

ULLabel ULLabel Rotatable label
ULImage ULImage GDI+ Image
OpenWireStudio OpenWireStudio

Loads, executes, and exchanges data with OpenWire Studio projects

Timing components

TLWatchDogTimer TLWatchDogTimer

Implements a Watch Dog Timer.

TLMainThredEvent TLMainThredEvent

Allows other threads to generate main thread notifications.

TLClockGen TLClockGen

Provides clock for other components.

TLThreadEvent TLThreadEvent

Use this component to execute code in a separated thread

TLStopWatch TLStopWatch

Use this component to implement a Stop Watch

TLFrequencyMeter TLFrequencyMeter

Use this component to implement a Frequency meter

TLCounter TLCounter

Use this component to implement a Counter

Visualization

ILLevelLed ILLevelLed

LED control with gradually changing intensity and/or color based on the input value

ILLed ILLed

LED control with On/Off states

ILMultiLed ILMultiLed

LED control with multiple states

ILSegmentIndicator ILSegmentIndicator

7, 9, 14 or 16 segment indicator

Video Layers

ULLabelLayer ULLabelLayer Layer drawing rotatable label
ULImageLayer ULImageLayer Layer drawing image
ILMultiLedLayer ILMultiLedLayer

Layer drawing LED control with multiple states

ILLevelLedLayer ILLevelLedLayer

Layer drawing LED control with gradually changing intensity and/or color based on the input value

ILLedLayer ILLedLayer

Layer drawing LED control with On/Off states

ILSegmentIndicatorLayer ILSegmentIndicatorLayer

Layer drawing 7, 9, 14 or 16 segment indicator

Matrix Layers

ULExternalLabelMatrixLayer ULExternalLabelMatrixLayer Matrix layer drawing external text label
ULImageMatrixLayer ULImageMatrixLayer Matrix layer drawing image
ILExternalMultiLedMatrixLayer ILExternalMultiLedMatrixLayer

Matrix layer drawing LED control with multiple states

ILExternalLevelLedMatrixLayer ILExternalLevelLedMatrixLayer

Matrix layer drawing LED control with gradually changing intensity and/or color based on the input value

ILExternalLedMatrixLayer ILExternalLedMatrixLayer

Matrix layer drawing LED control with On/Off states

ILExternalSegmentIndicatorMatrixLayer ILExternalSegmentIndicatorMatrixLayer

Matrix layer drawing 7, 9, 14 or 16 segment indicator

Control Element

ULAnalogLabelElement ULAnalogLabelElement Component element drawing analog label
ULTimeLabelElement ULTimeLabelElement Component element drawing time label
ULExternalLabelElement ULExternalLabelElement Component element drawing external text label
ULImageElement ULImageElement Component element drawing image
ILExternalLedElement ILExternalLedElement

Component element drawing external LED control with On/Off states

ILTimeDetectLedElement ILTimeDetectLedElement

Component element drawing internal time triggered LED control

ILLevelLedElement ILLevelLedElement

Component element drawing internal data LED control with gradually changing intensity and/or color based on the input value

ILLevelDetectLedElement ILLevelDetectLedElement

Component element drawing internal level triggered LED control

ILExternalMultiLedElement ILExternalMultiLedElement

Component element drawing external data LED control with multiple states

ILExternalLevelLedElement ILExternalLevelLedElement

Component element drawing external data LED control with gradually changing intensity and/or color based on the input value

ILExternalSegmentIndicatorElement ILExternalSegmentIndicatorElement

Component element drawing external data 7, 9, 14 or 16

LogicLab: What's New

New in Version 8.0.0.108 (released on 2024-02-21)

  • Improved C++ Builder support
  • Improved Design time Performance

New in Version 8.0.0.101 (released on 2023-12-06)

  • Added Delphi 12 support
  • Redesigned installation not requiring Admin privileges when compiling the libraries
  • Improved Performance
  • Added Sets support
  • Improved Mitov TypeInfo
  • Improved Dynamic Type Info
  • Improved Mitov Design Time API
  • Redesigned Persistent Collection Editor
  • Modernized Dialogs
  • Improved Win64 support
  • Improved Container Classes
  • Added TDirecory helper
  • Large number of bug fixes
  • Improved Property and Component Editors

New in Version 8.0.0. 77 (released on 2022-04-30)

  • Updated maintenance release for RAD Studio/Delphi 11.0/11.1 Alexandria with minor improvements

New in Version 8.0.0. 74 (released on 2022-04-25)

  • Updated maintenance release for RAD Studio/Delphi 10.4 Sydney with minor improvements

New in Version 8.0.0. 73 (released on 2022-04-20)

  • Updated maintenance release for RAD Studio/Delphi 10.3 Rio with minor improvements

New in Version 8.0.0. 69 (released on 2022-03-28)

  • Added support of indexed list collection enumebarbles
  • Improved MAC64 support
  • Improved OpenWire Graphical Editor
  • Improved performance

New in Version 8.0.0. 63 (released on 2022-03-09)

  • Updated maintenance release for RAD Studio/Delphi 10.4 Sydney

New in Version 8.0.0. 62 (released on 2022-03-08)

  • Updated maintenance release for RAD Studio/Delphi 10.3 Rio

New in Version 8.0.0. 59 (released on 2022-03-02)

  • Improved RAD Studio 11 compatibility
  • Improved RGBW and RGBWAlpha color support
  • Improved Execute Process implementation
  • Improved support for OpenWire State pins

 

New in Version 8.0.0. 48 (released on 2022-01-28)

  • Added basic RGBW and RGBWAlpha support
  • Number os small design time bug fixes

New in Version 8.0.0. 43 (released on 2021-12-21)

  • Improved RAD Studio 11 compatibility
  • Improved Mitov.Runtime collections
  • Improved performance
  • Improved Dynamic Type Info support
  • Improved Visual Live Binding support
  • Improved elements editor
 

New in Version 8.0.0. 36 (released on 2021-10-11)

  • Added RAD Studio 11 support
  • Improved Performance
  • Improved Property Editors
  • Improved Debugger Visualizers
  • Added more Format Converters
  • Improved JSON support
  • Improved Boolean Random Generator

New in Version 8.0.0. 27 (released on 2021-06-20)

  • Improved RAD Studio 10.4 Sydney support
  • Improved Dynamic Type Info implementation

New in Version 8.0.0. 21 (released on 2021-05-12)

  • Added RAD Studio 10.4 Sydney support
  • Improved Dynamic Type Info implementation

New in Version 8.0.0. 0 (released on 2020-11-26)

  • Redesigned Visual C++ support
  • Added Byte and Char visual live bindings
  • Significantly improved loading execution, and editing speed
  • Significantly improved JSON support
  • Improved IGDIPlus rendering performance
  • Modified to use interface class function methods instead of constructors
  • Redesigned pin path collection to significantly improve the speed
  • Redesigned to set pin and properties owner fields on creation
  • Improved pin information caching
  • CreateLock replaced by Create with Lock parameter
  • Improved FMX Design Time support
  • Improved FMX support

 

New in Version 7.8.3.72 (released on 2020-09-24)

  • Updated to RAD Studio 10.3 Rio Update 3
  • Added support for Boolean Buffers
  • Improved buffer visualizers
  • Added Audio and Video support to the Packet and Structure components
  • Added UnpackedOutputPin to the Split Structure and Unpacket components
  • Improved Unpacket implementation
  • Improved Visual Live Bindings
  • Significantly redesigned OpenWire Editor
  • Added initial Quaternion and 3D Point support
  • Added OSX64 support
  • Improved overall performance and stability
  • Added option to use Const anonymous methods for improved performance
  • Improved FMX compatibility and support
  • Simplified JSON API
  • Improved JSON implementation
  • Improved sockets implementation
  • Added Sockets Multicast support
  • Significantly improved Execute Process implementation
  • Added support TStrings reverse enumerators and Query interface trough class helper
  • Improved Dynamic Type Info implementation
  • Improved Property Collection and Component Collection editors
  • Improved Property editors

New in Version 7.8.2.288 (released on 2018-12-21)

  • Added RAD Studio 10.3 Rio support
  • Improved Dynamic Type Info implementation
  • Improved property editors

New in Version 7.8.2.271 (released on 2018-11-12)

  • Added Linux support
  • Added iOS support
  • Added RAD Studio 10.2 Tokyo support
  • Improved MAC, and Android compatibility
  • Improved overlay window design for the LED components
  • Added OnTextChanged to TULLabel
  • Improved bindings API
  • Pins converted to use the new Mitov.Runtime serialization
  • Added OWRequiredPinAttribute support
  • Added TOWIntToCardinalFormatConverter and TOWCardinalToIntegerFormatConverter
  • Added TOWRealToRealComplexFormatConverter
  • Added TOWRealListStatePin and TOWIntegerListStatePin
  • Added Execute Process
  • Added Command Line parsing and Process Execute
  • Added option to disable the design time extentions
  • Added Socket Binding
  • Redesigned JSON Serialization
  • Added TPeriodicThread
  • Added initial Dynamic Type Info implementation
  • Added GetIndexedSubProperty in the RTTI
  • Added GetType for TObject in the RTTI
  • Added support for both object and class in TMethodInfo.Invoke in the RTTI
  • Enchanced Query functionality
  • Added IPairCollection
  • IArrayWriter renamed to ISequentialWriter
  • IArrayReader renamed to ISequentialReader
  • Improved Serialization Readers
  • Added Reserialize
  • Improved design time property editors support
  • Added option to replace property collection items while keeping all compatible settings
  • Added filtering for property collections
  • Added support for categorized list property selection
  • Added TreeView filtering support
  • Updated to use the latest Delphi language features

New in Version 7.8.0.0 (released on 2016-05-03)

  • Added RAD Studio 10.1 Berlin support
  • Added Visual Live Binding property editors
  • Added Reset to Default property editors
  • Added Enum property editors
  • Added Class events property editors
  • Added Multi-Event property editors
  • Added Make/Split Structure components

New in Version 7.7.0.0 (released on 2015-10-28)

  • Added 10 Seattle support
  • Added support for VS2015
  • Added TOWBoolToIntFormatConverter
  • Improved threading support
  • Improved OpenWire Editor
  • Clock pins changed to MiltiSink
  • Improved Design Time Editors
  • Improved JSON support
  • Improved collections
  • Added more Live Binding types
  • Added support for hosting OpenWire Studio projects
  • Added serialization support in the buffers
     

New in Version 7.6.0.0 (released on 2015-04-17)

  • Added TTLGenericFilter
  • Added more visual live binding types
  • Significantly improved property Delphi editors

New in Version 7.5.0.0 (released on 2014-11-18)

  • Improved Memory components.
  • Improved components design
  • Includes the free Mitov.Runtime
  • Added XE7 support

New in Version 7.0.0.0 (released on 2014-04-21)

  • This is the first release
( Click to view Larger images. )
These demos are executable after downloading.
Also see:   Demo source code downloads

LogicLab Examples

Logic Lab Demo Logic Lab Demo
Logic Lab IDE Logic Lab IDE

LogicLab: Frequently Asked Questions

Q: Do I have to purchase LogicLab?
A:

LogicLab is free for non commercial purposes. This means that you can use it for personal pleasure, hobby, or evaluation purposes. If you are student you can also use it for free for your educational needs including school projects. If you are a tutor at present you also can use it for free for your classes. However in the near future a low cost tutor license will be available, and you will have to purchase it. Your students however will not need license to use the product at class.

LogicLab Installers

Firemonkey and VCL Installer: LogicLab 8.0.0.108 VCL and FireMonkey for 12.0 Athens
Updated on 2024-02-22, downloaded 17 times.
Firemonkey and VCL Installer: LogicLab 8.0.0.77 VCL and FireMonkey 32 & 64 bit support for 11.X Alexandria
Updated on 2022-05-01, downloaded 111 times.
Firemonkey and VCL Installer: LogicLab 8.0.0.74 VCL and FireMonkey 32 & 64 bit support for 10.4 Sydney Update 2
Updated on 2022-04-25, downloaded 71 times.
Firemonkey and VCL Installer: LogicLab 8.0.0.73 VCL and FireMonkey 32 & 64 bit support for 10.3 Rio Update 3
Updated on 2022-04-20, downloaded 88 times.
Visual C++ Installer: LogicLab 8.0.0.0 for Visual C++ MFC
Updated on 2020-11-26, downloaded 102 times.
.NET Installer: LogicLab 8.0.0.1 for Microsoft .NET 4.0 (4.5 and 4.6 compatible)
Updated on 2020-11-27, downloaded 396 times.

Legacy Firemonkey and VCL Installer: LogicLab 7.8.2.288 VCL and FireMonkey 32 & 64 bit support for 10.2 Tokyo and 10.3 Rio
Updated on 2018-12-22, downloaded 262 times.
Legacy Firemonkey and VCL Installer: LogicLab 7.8.2.0 VCL and FireMonkey 32 & 64 bit support for XE8 to 10.1 Berlin
Updated on 2016-06-06, downloaded 712 times.
Legacy Firemonkey and VCL Installer: LogicLab 7.7.0.0 VCL and FireMonkey 32 & 64 bit support for XE7 to 10 Seattle
Updated on 2015-10-28, downloaded 484 times.
Legacy Firemonkey and VCL Installer: LogicLab 7.6.1.0 VCL and FireMonkey 32 & 64 bit support for XE6 to XE8
Updated on 2015-06-11, downloaded 502 times.
Legacy Firemonkey and VCL Installer: LogicLab 7.5.0.0 VCL and FireMonkey 32 & 64 bit support for XE4 to XE7
Updated on 2014-11-18, downloaded 529 times.
Legacy Firemonkey and VCL Installer: LogicLab 7.0.0.0 VCL and FireMonkey 32 & 64 bit support for XE3 to XE6
Updated on 2014-04-22, downloaded 563 times.

Demos

These demos are executable after downloading.   Also see: Demo source code downloads

 

The libraries are licensed per developer, and there are no royalties required. Once you have purchased a developer license, you are free to distribute your final product without the need to pay any royalties or other fees as long as you comply with the following license agreement:
 
 
LICENSE - AGREEMENT
 
Users of the LabPacks Component Pack(Software) must accept these terms of license.
 
If you refuse to accept the terms of license, you may not use this software, and you have the right to return it within 30 days of the purchase date, and to receive your money back.
 
For your convenience a copy of this license agreement will be stored on your system during the installation.
 
This license grants you the following rights:
 
You have a non exclusive license to the Software. The Title and all intangible rights to the Software are the property of Mitov Software .  
 
You may install and use one copy of the Software per computer assuming only one and the same person will use the Software on all of the computers. You may distribute any application that includes Software without any additional royalties beyond your initial license registration fee.
 
You can also create a reasonable set of copies of the product on different types of media, such as CD Rom or Type Backup, as far as those copies are used only for your own back up protection.
 
Description of the limitations. 
 
You may not reverse engineer, decompile, or disassemble the Software.
 
The Software is licensed as a single product. You may not rent or lease the Software. You must treat the Software like any other copyrighted material except that you may either (a) a reasonable amount of copies of the Software solely for backup or archival purposes, or (b) install the Software multiple computers provided you keep the original solely for backup or archival purposes and only a single developer will use all of the copies.
 
You may not separate Delphi and C++ Builder components from this Software.
Each developer must have a valid license for the Software.
 
You may not create a competing component product using this Software.
 
Additional restriction to Delphi-VCL and C++ Builder components: 
 
You may not distribute the Delphi-VCL components in a DCU (Delphi Compiled Unit) format. You can distribute the component only as a part of your executable or dynamic link library program in a compiled form.
 
You may not distribute the C++ Builder components in OBJ format. You can distribute the component only as a part of your executable or dynamic link library program in a compiled form.
 
 
Mitov Software grants a limited warranty with these restrictions:
 
THE SOFTWARE IS SUPPLIED AS IT IS. MITOV SOFTWARE AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, WITH REGARD TO THE SOFTWARE. NO LIABILITY FOR CONSEQUENTIAL DAMAGES. TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, IN NO EVENT SHALL MITOV SOFTWARE OR ITS SUPPLIERS BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS, BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS) ARISING OUT OF THE USE OF OR INABILITY TO USE THE SOFTWARE.

News

February 21, 2024more...

NEW RELEASE: Updated RAD Studio/Delphi 12.0.0 Athens version of all the libraries has been released!

December 21, 2023more...

UPDATED: BMDThread Delphi components

December 6, 2023more...

NEW RELEASE: RAD Studio/Delphi 12.0.0 Athens version of all the libraries has been released!

March 9, 2022more...

NEW RELEASE: Updated RAD Studio/Delphi 10.4 Sydney version of all the libraries has been released!

March 7, 2022more...

NEW RELEASE: Updated RAD Studio/Delphi 10.3 Rio version of all the libraries has been released!

March 2, 2022more...

NEW RELEASE: Updated RAD Studio/Delphi 11.0 Alexandria version of all the libraries has been released!

January 28, 2022more...

NEW RELEASE: Updated RAD Studio/Delphi 10.4.2 Sydney version of all the libraries has been released!

January 28, 2022more...

NEW! OpenWire Studio version Beta 8.0.0.48 is released.

December 21, 2021more...

NEW RELEASE: Updated RAD Studio/Delphi 11.0.0 Alexandria version of all the libraries has been released!

October 11, 2021more...

NEW RELEASE: RAD Studio/Delphi 11.0 Alexandria version of all the libraries has been released!

May 12, 2021more...

NEW RELEASE: RAD Studio/Delphi 10.4.2 Sydney version of all the libraries has been released!


More News

Partners

Em
Alliancelogo2

Published

Torry_logo