Category: 

What Is Sequential Logic?

Article Details
  • Written By: Geisha A. Legazpi
  • Edited By: Allegra J. Lingo
  • Last Modified Date: 13 September 2016
  • Copyright Protected:
    2003-2016
    Conjecture Corporation
  • Print this Article
Free Widgets for your Site/Blog
Built at the request of Dag Hammarskj√∂ld, the United Nations Headquarters has a meditation room dedicated to silence.   more...

October 1 ,  1890 :  Yosemite National Park was established.  more...

Sequential logic (SL) in digital circuit theory is the set of rules and implementations of circuits that rely on the current and past events of logic states and transitions to determine present logic states. Knowing about combinational logic (CL), the set of rules and implementation of circuits that rely on the actual logic levels, reveals the key points in sequential logic. Logic levels for binary computing usually refer to high or low. In positive logic, 1 is high and 0 is low. Logic circuits are made up of gates that may have one or more inputs and usually only one output.

A simple CL gate is known as the buffer and the inverter or NOT gate. The buffer output is always the same as the input, but the inverter output is always not the input. Other gates used in CL include the AND gate, NAND gate, and NOR gate. The AND gate outputs a 1 only if both inputs are 1. The NAND gate and NOR gate are, respectively, an AND gate and an OR gate, each with an inverter at the output.

Ad

Sequential logic uses latches that lock the output levels based on previous output levels and current input levels. Latches are usually built using two partner gates, which are either two NAND or NOR gates. The gates of these latches, or flip-flops, are locked into one of two states by the gate outputs that are fed back to the input of the partner gate. By changing the levels on the free inputs of the gates, a reversal of logic level is achieved. Sequential logic analysis involves both observing the initial output levels and observing the change in output levels based on the change in input levels.

In binary counters, there is edge detection circuitry in the clock input for each binary digit (bit) latch. Counters usually use a positive-edge detect for normal count-up. For instance, an 8-bit counter uses 8-bit latches.

Sequential logic makes use of cascaded bit latches to produce an asynchronous (async) digital counter. When a bit from the less-significant-bit (LSB) latch is made to clock the more significant bit (MSB), it is known as an async counter. In async, latches clock each other at slightly different times, while synchronous (sync) logic clocks all latches simultaneously. The async counter will suffer a maximum total ripple delay equal to one latch ripple delay multiplied by the number of bits in the counter. In sync logic, the bit latches in a digital counter are clocked simultaneously, thus the total ripple delay is equal to one latch ripple delay for any number of bits in the counter.

Ad

You might also Like

Recommended

Discuss this Article

Post your comments

exception 'Exception' with message 'error writing captcha: Duplicate entry '2147483647' for key 'PRIMARY'' in /ssd/www/wisegeek/public_html/_core/classes/public/Captcha.php:44
Stack trace:
#0 /ssd/www/wisegeek/public_html/_core/controls/public/ControlDiscussionPostBox.php(324): Captcha->createCaptcha()
#1 /ssd/www/wisegeek/public_html/framework/classes/Control.php(104): ControlDiscussionPostBox->preRender(false)
#2 /ssd/www/wisegeek/public_html/framework/classes/Control.php(149): Control->render()
#3 /ssd/www/wisegeek/public_html/tpl/default-nocustom-lu/pages/public/article/article.htm(526): Control->__toString()
#4 /ssd/www/wisegeek/public_html/framework/classes/Control.php(300): require('/ssd/www/wisege...')
#5 /ssd/www/wisegeek/public_html/framework/classes/Control.php(309): Control->requireTpl('pages/public/ar...', Object(PageArticleCom), true)
#6 /ssd/www/wisegeek/public_html/framework/classes/Control.php(131): Control->renderTpl('pages/public/ar...', Object(PageArticleCom))
#7 /ssd/www/wisegeek/public_html/framework/classes/FormDataControl.php(87): Control->renderTemplate()
#8 /ssd/www/wisegeek/public_html/framework/classes/Control.php(109): FormDataControl->renderTemplate()
#9 /ssd/www/wisegeek/public_html/framework/classes/ScriptPage.php(50): Control->render(false)
#10 /ssd/www/wisegeek/public_html/framework/classes/Control.php(149): ScriptPage->render()
#11 /ssd/www/wisegeek/public_html/framework/classes/Page.php(97): Control->__toString()
#12 /ssd/www/wisegeek/public_html/_core/classes/public/PublicFrontController.php(443): Page->processRequest()
#13 /ssd/www/wisegeek/public_html/_core/classes/public/PublicFrontController.php(7): PublicFrontController->renderPage()
#14 /ssd/www/wisegeek/public_html/index.php(11): PublicFrontController::run()
#15 {main}