Section 7.8  Sequential Programmable Devices    343
and bus standards. (See  Fig.   7.30   .) Each IOB has three registers that can function as 
D ‐type flip‐flops or as level‐sensitive latches. One register ( TFF ) can be used to reg-
ister the signal that (synchronously) controls the programmable output buffer. A sec-
ond register ( OFF ) can be programmed to register a signal from the internal logic. 
(Alternatively, a signal from the internal logic can pass directly to the output buffer.) 
The third device can register the signal coming from the I/O pad. (Alternatively, this 
EC
CK
D
Q
S
R
EC
CK
D
Q
S
R
Carry
and
Control
Logic
Carry
and
Control
Logic
I1
I2
I3
I4
F1
F2
F3
F4
I1
I2
I3
I4
G1
G2
G3
G4
O
Lookup
Table
O
Lookup
Table
BX
CIN
CLK
CE
F5IN
BY
SR
XB
X
XQ
COUT
YB
Y
YQ
Logic Cell
FIGURE 7.29  
Spartan II CLB slice       
How to convert pdf into powerpoint - C# Create PDF from PowerPoint Library to convert pptx, ppt to PDF in C#.net, ASP.NET MVC, WinForms, WPF
Online C# Tutorial for Creating PDF from Microsoft PowerPoint Presentation
how to convert pdf file to powerpoint presentation; pdf into powerpoint
How to convert pdf into powerpoint - VB.NET Create PDF from PowerPoint Library to convert pptx, ppt to PDF in vb.net, ASP.NET MVC, WinForms, WPF
VB.NET Tutorial for Export PDF file from Microsoft Office PowerPoint
convert pdf into powerpoint; how to change pdf to powerpoint format
344    Chapter 7  Memory and Programmable Logic
signal can pass directly to the internal logic.) A common clock drives each register, 
but each has an independent clock enable. A programmable delay element on the 
input path can be used to eliminate the pad‐to‐pad hold time.   
Xilinx Virtex FPGAs 
The Virtex device series  
7
is the leading edge of Xilinx technology. This family of 
devices addresses four key factors that influence the solution to complex system‐level 
and system‐on‐chip designs: (1) the level of integration, (2) the amount of embedded 
memory, (3) performance (timing), and (4) subsystem interfaces. The family targets 
applications requiring a balance of high‐performance logic, serial connectivity, signal 
processing, and embedded processing (e.g., wireless communications). Process rules 
7    Virtex, Virtex‐II, II Platform, II‐Pro/Pro X, and Virtex‐5 Multi‐Platform FPGA. 
EC
CK
D
Q
SR
EC
CK
D
Q
SR
EC
CK
D
Q
SR
TFF
OFF
IFF
Programmable
Bias &
ESD Network
Programmable
output buffer
Programmable
Delay
Programmable
input buffer
Internal
Reference
Package Pin
I/O
Package Pin
V
CCO
VCC
OE
Package Pin
I/O
To Next
I/O
To Other
External
V
REF
Inputs of 
Banks
ICE
I
OCE
O
T
CLK
TCE
SR
IQ
FIGURE 7.30  
Spartan II IOB       
Online Convert PowerPoint to PDF file. Best free online export
Convert a PPTX/PPT File to PDF. Just upload your file by clicking on the blue button or drag-and-drop your pptx or ppt file into the drop area.
how to convert pdf into powerpoint on; how to change pdf file to powerpoint
C# PDF insert text Library: insert text into PDF content in C#.net
Parameters: Name, Description, Valid Value. value, The char wil be added into PDF page, 0
convert pdf to editable ppt; converting pdf to powerpoint online
Section 7.8  Sequential Programmable Devices    345
for leading‐edge Virtex parts stand at 65 nm, with a 1‐V operating voltage. The rules 
allow up to 330,000 logic cells and over 200,000 internal flip‐flops with clock enable, 
together with over 10 Mb of block RAM, and 550‐MHz clock technology packed into 
a single die.   
The Virtex family incorporates physical (electrical) and protocol support for 
20different I/O standards, including LVDS and LVPECL, with individually program-
mable pins. Up to 12 digital clock managers provide support for frequency synthesis 
and phase shifting in synchronous applications requiring multiple clock domains and 
high‐frequency I/O. The Virtex architecture is shown in  Fig.   7.31   , and its IOB is shown 
in  Fig.   7.32   .     
DCM
DCM
B
l
o
c
k
S
e
l
e
c
t
R
A
M
B
l
o
c
k
S
e
l
e
c
t
R
A
M
M
u
l
t
i
p
l
i
e
r
M
u
l
t
i
p
l
i
e
r
B
l
o
c
k
S
e
l
e
c
t
R
A
M
B
l
o
c
k
S
e
l
e
c
t
R
A
M
IOB
M
u
l
t
i
p
l
i
e
r
M
u
l
t
i
p
l
i
e
r
Global
Clock Mux
DCM: Clock Manager
CLBs
CLBs
CLBs
FIGURE 7.31  
Virtex II overall architecture       
C# PDF Convert to Tiff SDK: Convert PDF to tiff images in C#.net
with specified zoom value and save it into stream The magnification of the original PDF page size Description: Convert to DOCX/TIFF with specified resolution and
how to convert pdf to powerpoint slides; online pdf converter to powerpoint
RasterEdge XDoc.PowerPoint for .NET - SDK for PowerPoint Document
Convert. Convert PowerPoint to PDF. Convert PowerPoint to ODP/ ODP to PowerPoint. Document & Page Process. PowerPoint Page Edit. Insert Pages into PowerPoint File
how to convert pdf to ppt for; changing pdf to powerpoint file
346    Chapter 7  Memory and Programmable Logic
PROBLEMS 
Answers to problems marked with * appear at the end of the book. 
 
7.1   The memory units that follow are specified by the number of words times the number of 
bits per word. How many address lines and input–output data lines are needed in each 
case? 
 
(a)      8K K *16        
(b)      2G G *8     
(c)      16M M *32        
(d)      256K K * 64        
 
7.2*   Give the number of bytes stored in the memories listed in Problem 7.1.   
 
7.3*   Word number 563 in the memory shown in  Fig.   7.3    contains the binary equivalent of 1,212. 
List the 10‐bit address and the 16‐bit memory content of the word.   
 
7.4   Show the memory cycle timing waveforms for the write and read operations. Assume a 
CPU clock of 150 MHz and a memory cycle time of 20 ns.   
 
7.5   Write a test bench for the ROM described in Example 7.1. The test program stores binary 
7 in address 5 and binary 5 in address 7. Then the two addresses are read to verify their 
stored contents.   
 
7.6   Enclose the    4* * 4    RAM of  Fig.   7.6    in a block diagram showing all inputs and outputs. 
Assuming three‐state outputs, construct an    8* * 8    memory using four    4* * 4    RAM units.   
Reg
OCK1
Reg
OCK2
DDR mux
3-State
Reg
OCK2
DDR mux
3-State
PAD
Reg
OCK1
Reg
ICK1
Reg
ICK2
Input
IOB
FIGURE 7.32  
Virtex IOB block       
C# PDF Convert to Word SDK: Convert PDF to Word library in C#.net
with specified zoom value and save it into stream The magnification of the original PDF page size Description: Convert to DOCX/TIFF with specified resolution and
convert pdf to powerpoint online no email; how to change pdf to powerpoint on
C# PDF insert image Library: insert images into PDF in C#.net, ASP
Import graphic picture, digital photo, signature and logo into PDF document. Merge several images into PDF. Insert images into PDF form field.
convert pdf to powerpoint with; convert pdf into ppt online
Problems    347
 
7.7*   A    16K K *4    memory uses coincident decoding by splitting the internal decoder into 
X ‐selection and  Y ‐selection. 
(a)   What is the size of each decoder, and how many AND gates are required for decoding 
the address?  
(b)   Determine the  X  and  Y  selection lines that are enabled when the input address is the 
binary equivalent of 6,000.     
 
7.8*     (a)    How many    32K K *8 RAM    chips are needed to provide a memory capacity of 256K 
bytes?  
 
(b)   How many lines of the address must be used to access 256K bytes? How many of these 
lines are connected to the address inputs of all chips?  
 
(c)   How many lines must be decoded for the chip select inputs? Specify the size of the 
decoder.     
 
7.9   A DRAM chip uses two‐dimensional address multiplexing. It has 13 common address pins, 
with the row address having one bit more than the column address. What is the capacity 
of the memory?   
 
7.10*   Given the 8‐bit data word 01011011, generate the 13‐bit composite word for the Hamming 
code that corrects single errors and detects double errors.   
 
7.11*   Obtain the 15‐bit Hamming code word for the 11‐bit data word 11001001010.   
 
7.12*   A 12‐bit Hamming code word containing 8 bits of data and 4 parity bits is read from 
memory. What was the original 8‐bit data word that was written into memory if the 12‐bit 
word read out is as follows: 
 
(a)   000011101010   
(b)   101110000110  
(c)   101111110100     
 
7.13*   How many parity check bits must be included with the data word to achieve single‐error 
correction and double‐error detection when the data word contains 
 
(a)   16 bits.     
(b)   32 bits.  
(c)   48 bits.     
 
7.14   It is necessary to formulate the Hamming code for four data bits,    D
3
,D
5
,D
6
,    and    D
7
,    
together with three parity bits,    P
1
,P
2
,    and    P
4
.    
 
(a)  * Evaluate the 7‐bit composite code word for the data word 0010.  
 
(b)   Evaluate three check bits,    C
4
,C
2
,    and    C
1
,    assuming no error.  
 
(c)   Assume an error in bit    D
5
during writing into memory. Show how the error in the bit 
is detected and corrected.  
 
(d)   Add parity bit    P
8
to include double‐error detection in the code. Assume that errors 
occurred in bits    P
2
and    D
5
.    Show how the double error is detected.     
 
7.15   Using    64 *  8    ROM chips with an enable input, construct a    512 *  8    ROM with eight chips 
and a decoder.   
 
7.16*   A ROM chip of    4,096* * 8 bits    has two chip select inputs and operates from a 5‐V power 
supply. How many pins are needed for the integrated circuit package? Draw a block dia-
gram, and label all input and output terminals in the ROM.      
 
7.17   The    32 2 *6    ROM, together with the    20    line, as shown in Fig. P7.17, converts a six‐bit binary 
number to its corresponding two‐digit BCD number. For example, binary 100001 converts 
to BCD 011 0011 (decimal 33). Specify the truth table for the ROM.   
C# PDF File Split Library: Split, seperate PDF into multiple files
Divide PDF File into Two Using C#. This is an C# example of splitting a PDF to two new PDF files. Split PDF Document into Multiple PDF Files in C#.
how to convert pdf to powerpoint on; convert pdf document to powerpoint
C# PDF Page Insert Library: insert pages into PDF file in C#.net
from the ability to inserting a new PDF page into existing PDF or pages from various file formats, such as PDF, Tiff, Word, Excel, PowerPoint, Bmp, Jpeg
converting pdf to powerpoint online; how to change pdf to powerpoint format
348    Chapter 7  Memory and Programmable Logic
 
7.18*   Specify the size of a ROM (number of words and number of bits per word) that will 
accommodate the truth table for the following combinational circuit components: 
(a)   a binary multiplier that multiplies two 4‐bit binary words,  
(b)   a 4‐bit adder–subtractor,  
(c)   a quadruple two‐to‐one‐line multiplexer with common select and enable inputs, and  
(d)   a BCD‐to‐seven‐segment decoder with an enable input.     
 
7.19   Tabulate the PLA programming table for the four Boolean functions listed below. Mini-
mize the numbers of product terms. 
A(xyz) = = ∑(1, 3, 5, 6)
B(xyz) = = ∑(0, 1, 6, 7)
C(xyz) = = ∑(3, 5)
D(xyz) = = ∑(1, 2, 4, 5, 7)     
 
7.20   Tabulate the truth table for an    8* * 4    ROM that implements the Boolean functions 
A(xyz) = = ∑(0, 3, 4, 6)
B(xyz) = = ∑(0, 1, 4, 7)
C(xyz) = = ∑(1, 5)
D(xyz) = = ∑(0, 1, 3, 5, 7)   
Considering now the ROM as a memory. Specify the memory contents at addresses 1 and 4.   
 
7.21   Derive the PLA programming table for the combinational circuit that squares a three‐bit 
number. Minimize the number of product terms. (See  Fig.   7.12    for the equivalent ROM 
implementation.)   
 
7.22   Derive the ROM programming table for the combinational circuit that squares a 4‐bit 
number. Minimize the number of product terms.   
 
7.23   List the PLA programming table for the BCD‐to‐excess‐3‐code converter whose Boolean 
functions are simplified in Fig. 4.3.   
21
2
0
10
0
101
22
23
24
25
D
1
D
2
D
3
D
4
D
5
D
6
/
1
/
2
/
3
/
4
/
5
32× 6
ROM
FIGURE P7.17        
References    349
 
7.24   Repeat Problem 7.23, using a PAL.   
 
7.25*   The following is a truth table of a three‐input, four‐output combinational circuit:   
Inputs  
Outputs  
 
 
 
 
 
 
 
Tabulate the PAL programming table for the circuit, and mark the fuse map in a PAL 
diagram similar to the one shown in  Fig.   7.17   .   
 
7.26   Using the registered macrocell of  Fig.   7.19   , show the fuse map for a sequential circuit with 
two inputs  x  and  y  and one flip‐flop  A  described by the input equation 
D
A
=x{y{A
 
7.27   Modify the PAL diagram of  Fig.   7.16    by including three clocked  D ‐type flip‐flops between 
the OR gates and the outputs, as in  Fig.   7.19   . The diagram should conform with the block 
diagram of a sequential circuit. The modification will require three additional buffer–
inverter gates and six vertical lines for the flip‐flop outputs to be connected to the AND 
array through programmable connections. Using the modified registered PAL diagram, 
show the fuse map that will implement a three‐bit binary counter with an output carry.   
 
7.28   Draw a PLA circuit to implement the functions 
F
1
=A+AC +ABC
F
2
=(AC AB BC)′
 
7.29   Develop the programming table for the PLA described in Problem 7.26.    
REFERENCES  
1. 
H amming,  R. W. 1950. Error Detecting and Error Correcting Codes.  Bell Syst. Tech. J.  
29: 147–160. 
2. 
K itson,  B. 1984.  Programmable Array Logic Handbook . Sunnyvale, CA: Advanced Micro 
Devices.  
3. 
L in,  S. and D. J. C ostello,   jr . 2004.  Error Control Coding . 2 nd  ed. Englewood Cliffs, NJ: 
Prentice‐Hall.  
4. 
Memory Components Handbook. 1986. Santa Clara, CA: Intel. 
5. 
N elson,  V. P., H. T. N agle,  J. D. I rwin,  and B. D. C arroll . 1995.  Digital Logic Circuit 
Analysis and Design Upper Saddle River, NJ: Prentice Hall. 
350    Chapter 7  Memory and Programmable Logic
6. 
The Programmable Logic Data Book, 2nd ed. 1994. San Jose, CA: Xilinx, Inc. 
7. 
T occi,  R. J. and N. S. W idmer . 2004.  Digital Systems Principles and Applications 9th ed. 
Upper Saddle River, NJ: Prentice Hall. 
8. 
T rimberger,  S. M. 1994.  Field Programmable Gate Array Technology Boston: Kluwer 
Academic Publishers. 
9. 
W akerly,  J. F. 2006.  Digital Design: Principles and Practices 4th ed. Upper Saddle River, 
NJ: Prentice Hall.  
WEB SEARCH TOPICS 
FPGA  
Gate array  
Programmable array logic  
Programmable logic data book  
RAM  
ROM      
351
Chapter 8 
Design at the Register Transfer Level 
8.1    INTRODUCTION 
The behavior of many digital systems depends on the history of their inputs, and the 
conditions that determine their future actions depend on the results of previous actions. 
Such systems are said to have “memory.” A digital system is a sequential logic system 
constructed with flip‐flops and gates. Sequential circuits can be specified by means of 
state tables as shown in  Chapter   5   . To specify a large digital system with a state table is 
very difficult, because the number of states would be enormous. To overcome this dif-
ficulty, digital systems are designed via a modular approach. The system is partitioned 
into subsystems, each of which performs some function. The modules are constructed 
from such digital devices as registers, decoders, multiplexers, arithmetic elements, and 
control logic. The various modules are interconnected with datapaths and control signals 
to form a digital system. In this chapter, we will introduce a design methodology for 
describing and designing large, complex digital systems.  
8.2    REGISTER TRANSFER LEVEL NOTATION 
The modules of a digital system are best defined by a set of registers and the opera-
tions that are performed on the binary information stored in them. Examples of 
register operations are  shift  count  clear and  load . Registers are assumed to be the 
basic components of the digital system. The information flow and processing per-
formed on the data stored in the registers are referred to as  register transfer opera-
tions . We’ll see subsequently how a hardware description language (HDL) includes 
operators that correspond to the register transfer operations of a digital system. 
352    Chapter 8  Design at the Register Transfer Level
Adigital system is represented at the  register transfer level  (RTL) when it is specified 
by the following three components: 
 
1.   The set of registers in the system.  
 
2.   The operations that are performed on the data stored in the registers.  
 
3.   The control that supervises the sequence of operations in the system.   
A register is a connected group of flip‐flops that stores binary information and has the 
capability of performing one or more elementary operations. A register can load new 
information or shift the information to the right or the left. A counter is a register that 
increments a number by a fixed value (e.g., 1). A flip‐flop is a one‐bit register that can 
be set, cleared, or complemented. In fact, the flip‐flops and associated gates of any 
sequential circuit can be called registers by this definition. 
The operations executed on the information stored in registers are elementary oper-
ations that are performed in parallel on the bits of a data word during one clock cycle. 
The data produced by the operation may replace the binary information that was in the 
register before the operation executed. Alternatively, the result may be transferred to 
another register (i.e., an operation on a register may leave its contents unchanged). The 
digital circuits introduced in  Chapter   6    are registers that implement elementary opera-
tions. A counter with a parallel load is able to perform the increment‐by‐one and load 
operations. A bidirectional shift register is able to perform the shift‐right and shift‐left 
operations by shifting its contents by one or more bits in a specified direction. 
The operations in a digital system are controlled by signals that sequence the opera-
tions in a prescribed manner. Certain conditions that depend on results of previous 
operations may determine the sequence of future operations. The outputs of the control 
logic of a digital system are binary variables that initiate the various operations in the 
system’s registers. 
Information transfer from one register to another is designated in symbolic form by 
means of a replacement operator. The statement 
R2
d
R1   
denotes a transfer of the contents of register  R1  into register  R2 —that is, a replacement 
of the contents of register  R2  by the contents of register  R1 . For example, an eight‐bit 
register  R 2 holding the value 01011010 could have its contents replaced by  R 1 holding 
the value 10100101. By definition, the contents of the source register  R1  do not change 
after the transfer. They are merely copied to  R1 . The arrow symbolizes the transfer and 
its direction; it points from the register whose contents are being transferred and towards 
the register that will receive the contents. A control signal would determine when the 
operation actually executes. 
The controller in a digital system is a finite state machine (see Chapter 5) whose 
outputs are the control signals governing the register operations. In synchronous 
machines, the operations are synchronized by the system clock. For example, register 
R 2 might be synchronized to have its contents replaced at the positive edge of the clock. 
A statement that specifies a register transfer operation implies that a datapath (i.e., 
a set of circuit connections) is available from the outputs of the source register to the 
Documents you may be interested
Documents you may be interested