Friday, 16 March 2012

Flip-Flop


A Flip-flop is a circuit that has two stable states and can be used to store state information.The circuit can be made to change state by signals applied to one or more control inputs and will have one or two outputs. It is the basic storage element in sequential logic.


Flip-flops are a fundamental building block of digital electronics systems used in computers, communications, and many other types of systems.They are used as data storage elements. Such data storage can be used for storage of state, and such a circuit is described as sequential logic.
Flip-flops can be either simple (transparent or asynchronous) or clocked (synchronous); the transparent ones are commonly called latches.The word latch is mainly used for storage elements, while clocked devices are described as flip-flops.


There are kindsof Flip-flops that can be divided into common types: D ("data" or "delay"), T ("toggle"), and JK types are the common ones.


D flip-flop 


 T flip-flop




JK flip-flop




By: Micheal Erik ROndero

Multiplexer (MUX)


        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.
An electronic multiplexer makes it possible for several signals to share one device or resource, for example one A/D converter or one communication line, instead of having one device per input signal.

        On the other hand, 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.
An electronic multiplexer can be considered as a multiple-input, single-output switch, and a demultiplexer as a single-input, multiple-output switch. The schematic symbol for a multiplexer is an isosceles trapezoid with the longer parallel side containing the input pins and the short parallel side containing the output pin.

        In digital circuit design, the selector wires are of digital value. In the case of a 2-to-1 multiplexer, a logic value of 0 would connect "Io" to the output while a logic value of 1 would connect "I1" to the output. In larger multiplexers, the number of selector pins is equal to [(log2(n)] where n is the number of inputs.
For example, 9 to 16 inputs would require no fewer than 4 selector pins and 17 to 32 inputs would require no fewer than 5 selector pins. The binary value expressed on these selector pins determines the selected input pin.
A 2-to-1 multiplexer has a Boolean equation where A and B are the two inputs, s is the selector input, and z is the output:


If this were to be placed in the truth table, this would be the result:


This truth table shows that when s=0 then z=A but when s=1 then z=B. A straightforward realization of this 2-to-1 multiplexer would need 2 AND gates, an OR gate, and a NOT gate.




By: Micheal Erik ROndero



Wednesday, 14 March 2012

READ ONLY MEMORY (ROM)


       A read-only memory (ROM) consisits of an array of semiconductor devices that are interconnected to store an array of binary data. Once binary data is stored in the ROM, it can be read out whenever desired, but the data that is stored cannot be changed under normal operating conditions. The figure below shows a block diagram of a ROM which has three input lines and four output lines. And the truth table which relates the ROM inputs and outputs.



       For each combination of input values on the three input lines, the corresponding pattern of 0’s and 1’s appears on the ROM output lines. For example, if the combination ABC = 010 is applied to the input lines, the pattern F0F1F2F3 = 0111 appears on the output lines. Each output patterns that is stored in a ROM is called words. Since the ROM given above has three input lines, we have 2³ = eight different combinations of input values. Each combination serves as an address.


       The figure above a ROM which has n input lines and m output lines contains an array of 2n words and each words is m bits long. The input lines serve as an address to select one of the 2n words. When an input combination is applied to the ROM, the pattern of 0’s and 1’s which is stored in the corresponding word in the memory appears at the output lines. For example on the figure above, if 00 . . . 11 is applied to the input (address lines) of the ROM, the word 110 . . . 010 will be selected and transfered to the output  lines. A 2n X m ROM can realize m functions of n variables because it can store a truth table with 2n rows and m coloumns. Typical sizes for commercially available ROMs range from 32 words X 4 bits to 512K words X 8 bits, or longer.


By: Jonald Sarmiento 



Programmable Logic Array (PLA)

A programmable logic array (PLA) performs the same basic function as a ROM. A PLA with n inputs and m outputs (as shown in the figure below) can realize m functions of n variables


The internal organization of the PLA is different from that of a ROM. The decoder is replaced with an AND array which realizes selected product terms needed to form the output functions, so a PLA implements a sum-of-products expression, while a ROM directly implements a truth table. A PLA can also be expressed by AND-OR array as shown below.






The contents of a PLA can be specified by a PLA table as shown above. The input side of the table specifies the product terms. The symbols 0,1, and – indicate whether a variable is complemented, not complemented, or not present in the corresponding product term. The output side of the table specifies which product terms appear in each output functions. A 1 or 0 indicates whether a given product term is present or not present in the corresponding output function. Thus the first row of the table indicates that the term A’B’ is present in output functions F0 and F2, and the second row indicates that AC’ is present in F0 and F1.



By: Jonald Sarmiento

Sunday, 11 March 2012

Hexadecimal Conversion



If you work with computer programming or computer engineering (or computer graphics, about which more later), you will encounter base-sixteen, or hexadecimal, math.
Decimal math does not have one single solitary digit that represents the value of "ten". Instead, we use two digits, a 1 and a 0: "10". But in hexadecimal math, the columns stand for multiples of sixteen! That is, the first column stands for how many units you have, the second column stands for how many sixteens, the third column stands for how many two hundred fifty-sixes (sixteen-times-sixteens), and so forth.

In base ten, we had digits 0 through 9. In base eight, we had digits 0 through 7. In base 4, we had digits 0 through 3. In any base system, you will have digits 0 through one-less-than-your-base. This means that, in hexadecimal, we need to have "digits" 0 through 15. To do this, we would need single solitary digits that stand for the values of "ten", "eleven", "twelve", "thirteen", "fourteen", and "fifteen". But we don't. So, instead, we use letters. That is, counting in hexadecimal, the sixteen "numerals" are:

0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F

In other words, A is "ten" in "regular" numbers, B is "eleven", C is "twelve", D is "thirteen", E is "fourteen", and "F" is fifteen.  It is this use of letters for digits that makes hexadecimal numbers look so odd at first. But the conversions work in the usual manner.
Here is an example of the conversion:
  • Convert 35710 to the corresponding hexadecimal number.
Here, I will divide repeatedly by 16, keeping track of the remainders as I go. (You might want to use some scratch paper for this.)

Reading off the digits, starting from the top and wrapping around the right-hand side, I see that 35710 = 16516.
  • Convert 16516 to the corresponding decimal number.
List the digits, and count them off from the RIGHT, starting with zero:
digits:  
1  6   5
numbering:  
2  1   0


Remember that each digit in the hexadecimal number represents how many copies you need of that power of sixteen, and convert the number to decimal:

1×162 + 6×161 + 5×160
     = 1×256 + 6×16 + 5×1
     = 256 + 96 + 5
     = 357
Then 16516 = 35710.
  • Convert 6393310 to the corresponding hexadecimal number.
I will divide repeatedly by 16, keeping track of my remainders:



From the long division, I can see that the hexadecimal number will have a "fifteen" in the sixteen-cubeds column, a "nine" in the sixteen-squareds column, an "eleven" in the sixteens column, and a "thirteen" in the ones column. But I cannot write the hexadecimal number as "1591113", because this would be confusing and imprecise. So I will use the letters for the "digits" that are otherwise too large, letting "F" stand in for "fifteen", "B" stand in for "eleven", and "D" stand in for "thirteen".   Copyright © Elizabeth Stapel 1999-2011 All Rights Reserved
Then 6393310 = F9BD16.

  • Convert F9BD to decimal notation.
I will list out the digits, and count them off from the RIGHT, starting at zero:
digits:  
F  9   B  D
numbering:  
3  2    1  0
Actually, it will probably be helpful to redo this, converting the alphabetic hexadecimal "digits" to their corresponding "regular" decimal values:
digits:  
15    9  11  13
numbering:  
  3    2   1    0
Now I'll do the multiplication and addition:
15×163 + 9×162 + 11×161 + 13×160
      = 15×4096 + 9×256 + 11×16 + 13×1
      = 61440 + 2304 + 176 + 13
      = 63933
As expected, F9BD = 6393310.

By: Kirk Macaraeg