Section 3.9  Hardware Description Language    113
implicitly specified by the description because the behavior of each logic gate is defined. 
Thus, an HDL-based model can be used to simulate the circuit that it represents.  
Gate Delays 
All physical circuits exhibit a propagation delay between the transition of an input and a 
resulting transition of an output. When an HDL model of a circuit is simulated, it is some-
times necessary to specify the amount of delay from the input to the output of its gates. 
In Verilog, the propagation delay of a gate is specified in terms of  time units  and by the 
symbol #. The numbers associated with time delays in Verilog are dimensionless. The 
association of a time unit with physical time is made with the timescale  compiler direc-
tive. (Compiler directives start with the ()   back quote, or grave accent, symbol.) Such a 
directive is specified before the declaration of a module and applies to all numerical 
values of time in the code that follows. An example of a timescale directive is 
   timescale 1ns/100ps   
The first number specifies the unit of measurement for time delays. The second number 
specifies the precision for which the delays are rounded off, in this case to 0.1 ns. If no 
timescale is specified, a simulator may display dimensionless values or default to a certain 
time unit, usually    1ns(=10
-9
s).   Our examples will use only the default time unit.   
HDL  Example   3.2    repeats the description of the simple circuit of  Example   3.1   , but 
with propagation delays specified for each gate. The  and, or , and  not  gates have a time 
delay of 30, 20, and 10 ns, respectively. If the circuit is simulated and the inputs change 
from  A ,  B ,    = 0    to  A ,  B ,    =1,    the outputs change as shown in  Table   3.5    (calculated 
by hand or generated by a simulator). The output of the inverter at  E  changes from 1 to 
0 after a 10-ns delay. The output of the AND gate at  w1  changes from 0 to 1 after a 30-ns 
delay. The output of the OR gate at  D  changes from 1 to 0 at    = 30 ns    and then changes 
back to 1 at    t= 50 ns.    In both cases, the change in the output of the OR gate results 
from a change in its inputs 20 ns earlier. It is clear from this result that although output 
D  eventually returns to a final value of 1 after the input changes, the gate delays produce 
a negative spike that lasts 20 ns before the final value is reached.  
Table 3.5 
Output of Gates after Delay 
Time Units 
(ns) 
Input 
Output 
ABC  
E w1 D  
Initial 
— 
0 0 0 
 0  1 
Change 
— 
1 1 1 
 0  1 
10 
1 1 1 
 0  1 
20 
1 1 1 
 0  1 
30 
1 1 1 
 1  0 
40 
1 1 1 
 1  0 
50 
1 1 1 
 1  1 
Convert pdf to 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
export pdf to powerpoint; how to change pdf to powerpoint format
Convert pdf to 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
pdf into powerpoint; how to convert pdf slides to powerpoint
114    Chapter 3  Gate-Level Minimization
In order to simulate a circuit with an HDL, it is necessary to apply inputs to the circuit 
so that the simulator will generate an output response. An HDL description that provides 
the stimulus to a design is called a  test bench.  The writing of test benches is explained in 
more detail at the end of Section 4.12. Here, we demonstrate the procedure with a simple 
example without dwelling on too many details. HDL  Example   3.3    shows a test bench for 
simulating the circuit with delay. (Note the distinguishing name  Simple_Circuit_prop_
delay .) In its simplest form, a test bench is a module containing a signal generator and 
an instantiation of the model that is to be verified. Note that the test bench ( t_Simple_
Circuit_prop_delay ) has no input or output ports, because it does not interact with its 
environment. In general, we prefer to name the test bench with the prefix  t_  concatenated 
with the name of the module that is to be tested by the test bench, but that choice is left 
to the designer. Within the test bench, the inputs to the circuit are declared with keyword 
reg  and the outputs are declared with the keyword  wire . The module  Simple_Circuit_
prop_delay  is instantiated with the instance name M1. Every instantiation of a module 
must include a unique instance name. Note that using a test bench is similar to testing 
actual hardware by attaching signal generators to the inputs of a circuit and attaching 
HDL Example 3.2 (Gate-Level Model with Propagation Delays) 
// Verilog model of simple circuit with propagation delay
module Simple_Circuit_prop_delay (A, B, C, D, E);
output D, E;
input A, B, C;
wire w1;
and 
#(30) G1 (w1, A, B);
not 
#(10) G2 (E, C);
or 
#(20) G3 (D, w1, E);
endmodule
HDL Example 3.3 (Test Bench) 
// Test bench for Simple_Circuit_prop_delay
module  t_Simple_Circuit_prop_delay;
wire D, E;
reg 
A, B, C;
Simple_Circuit_prop_delay M1 (A, B, C, D, E); // Instance name required
initial
begin
A = 1'b0; B = 1'b0; C = 1'b0;
#100 A = 1'b1; B = 1'b1; C = 1'b1;
end
initial #200 $finish;
endmodule
Online Convert PowerPoint to PDF file. Best free online export
Download Free Trial. Convert a PPTX/PPT File to PDF. Then just wait until the conversion from Powerpoint to PDF is complete and download the file.
convert pdf to powerpoint online for; convert pdf pages into powerpoint slides
C# PDF Convert to Jpeg SDK: Convert PDF to JPEG images in C#.net
C# PDF - Convert PDF to JPEG in C#.NET. C#.NET PDF to JPEG Converting & Conversion Control. Convert PDF to JPEG Using C#.NET. Add necessary references:
export pdf into powerpoint; how to change pdf to powerpoint on
Section 3.9  Hardware Description Language    115
probes (wires) to the outputs of the circuit. (The interaction between the signal genera-
tors of the stimulus module and the instantiated circuit module is illustrated in  Fig.   4.36   .) 
Hardware signal generators are not used to verify an HDL model:  The entire simula-
tion exercise is done with software models executing on a digital computer under the 
direction of an HDL simulator. The waveforms of the input signals are abstractly modeled 
(generated) by Verilog statements specifying waveform values and transitions. The  initial  
keyword is used with a set of statements that begin executing when the simulation is ini-
tialized; the signal activity associated with  initial  terminates execution when the last state-
ment has finished executing. The  initial  statements are commonly used to describe 
waveforms in a test bench. The set of statements to be executed is called a  block statement  
and consists of several statements enclosed by the keywords  begin  and  end.  The action 
specified by the statements begins when the simulation is launched, and the statements 
are executed in sequence, left to right, from top to bottom, by a simulator in order to 
provide the input to the circuit. Initially,    A, B= 0.    ( A, B,  and  C  are each set to    1′b0,    
which signifies one binary digit with a value of 0.) After 100 ns, the inputs change to 
AB, C= 1.    After another 100 ns, the simulation terminates at time 200 ns. A second 
initial  statement uses the  $finish  system task to specify termination of the simulation. If a 
statement is preceded by a delay value (e.g., #100), the simulator postpones executing the 
statement until the specified time delay has elapsed. The timing diagram of waveforms 
that result from the simulation is shown in Figure 3.36. The total simulation generates 
waveforms over an interval of 200 ns. The inputs  A, B,  and  C  change from 0 to 1 after 100 
ns. Output  E  is unknown for the first 10 ns (denoted by shading), and output  D  is unknown 
for the first 30 ns. Output  E  goes from 1 to 0 at 110 ns. Output  D  goes from 1 to 0 at 130 
ns and back to 1 at 150ns, just as we predicted in  Table   3.5   .    
Boolean Expressions 
Boolean equations describing combinational logic are specified in Verilog with a con-
tinuous assignment statement consisting of the keyword  assign  followed by a Boolean 
expression. To distinguish arithmetic operators from logical operators, Verilog uses the 
symbols (&), (/), and (
&
) for AND, OR, and NOT (complement), respectively. Thus,to 
Name
0.0 ns
58.0 ns
116.0 ns
174.0 ns
A
B
C
D
E
FIGURE 3.36 
Simulation output of HDL  Example   3.3          
VB.NET PDF Convert to Jpeg SDK: Convert PDF to JPEG images in vb.
Convert PDF to Image; Convert Word to PDF; Convert Excel to PDF; Convert PowerPoint to PDF; Convert Image to PDF; Convert Jpeg to PDF;
add pdf to powerpoint presentation; image from pdf to ppt
VB.NET PDF Convert to HTML SDK: Convert PDF to html files in vb.
Convert PDF to HTML. |. Home ›› XDoc.PDF ›› VB.NET PDF: PDF to HTML. Convert PDF to HTML in VB.NET Demo Code. Add necessary references:
converting pdf to ppt; convert pdf to editable ppt
116    Chapter 3  Gate-Level Minimization
describe the simple circuit of  Fig.   3.35    with a Boolean expression, we use the statement 
assign D= (A&& B)(!C);   
HDL  Example   3.4    describes a circuit that is specified with the following two Boolean 
expressions: 
E = A +  B BD   
F = BC +  BCD′ ′    
The equations specify how the logic values  E  and  F  are determined by the values of 
A,B, C,  and  D . 
HDL Example 3.4 (Combinational Logic Modeled with Boolean Equations) 
// Verilog model: Circuit with Boolean expressions
module Circuit_Boolean_CA (E, F, A, B, C, D);
output 
E, F;
input 
A, B, C, D;
assign E = A || (B && C) || ((!B) && D);
assign F = ((!B) && C) || (B && (!C) && (!D));
endmodule
The circuit has two outputs  E  and  F  and four inputs  A, B, C,  and  D . The two  assign  
statements describe the Boolean equations. The values of  E  and  F  during simulation are 
determined dynamically by the values of  A ,  B ,  C , and  D . The simulator detects when the 
test bench changes a value of one or more of the inputs. When this happens, the simula-
tor updates the values of  E  and  F . The continuous assignment mechanism is so named 
because the relationship between the assigned value and the variables is permanent. The 
mechanism acts just like combinational logic, has a gate-level equivalent circuit, and is 
referred to as  implicit combinational logic . 
We have shown that a digital circuit can be described with HDL statements, just as 
it can be drawn in a circuit diagram or specified with a Boolean expression. A third 
alternative is to describe combinational logic with a truth table.  
User-Defined Primitives 
The logic gates used in Verilog descriptions with keywords  and, or,  etc., are defined by 
the system and are referred to as  system primitives. (Caution: Other languages may use 
these words differently . )  The user can create additional primitives by defining them in 
tabular form. These types of circuits are referred to as  user-defined primitives  (UDPs). 
One way of specifying a digital circuit in tabular form is by means of a truth table. UDP 
descriptions do not use the keyword pair  module  . . .  endmodule.  Instead, they are 
declared with the keyword pair  primitive  . . .  endprimitive.  The best way to demonstrate 
a UDP declaration is by means of an example. 
C# powerpoint - Convert PowerPoint to PDF in C#.NET
C# PowerPoint - Convert PowerPoint to PDF in C#.NET. C# Demo: Convert PowerPoint to PDF Document. Add references: RasterEdge.Imaging.Basic.dll.
embed pdf into powerpoint; convert pdf document to powerpoint
C# PDF Convert to HTML SDK: Convert PDF to html files in C#.net
Convert PDF to HTML. |. C#.NET PDF SDK - Convert PDF to HTML in C#.NET. How to Use C# .NET XDoc.PDF SDK to Convert PDF to HTML Webpage in C# .NET Program.
how to change pdf to powerpoint format; table from pdf to powerpoint
Section 3.9  Hardware Description Language    117
HDL  Example   3.5    defines a UDP with a truth table. It proceeds according to the 
following general rules: 
•    It is declared with the keyword  primitive , followed by a name and port list.  
•    There can be only one output, and it must be listed fi rst in the port list and declared 
with keyword  output .  
•    There can be any number of inputs. The order in which they are listed in the  input
declaration must conform to the order in which they are given values in the table that 
follows.  
•   The truth table is enclosed within the keywords  table  and  endtable.   
•    The values of the inputs are listed in order, ending with a colon (:). The output is al-
ways the last entry in a row and is followed by a semicolon (;).  
•   The declaration of a UDP ends with the keyword  endprimitive.    
HDL Example 3.5 (User-Defined Primitive) 
// Verilog model: User-defined Primitive
primitive UDP_02467 (D, A, B, C);
output D;
input  A, B, C;
//Truth table for D 5 f (A, B, C) 5 ∑(0, 2, 4, 6, 7);
table 
// 
// Column header comment
1;
0;
1;
0;
1;
0;
1;
1;
endtable 
endprimitive 
// Instantiate primitive
// Verilog model: Circuit instantiation of Circuit_UDP_02467
module Circuit_with_UDP_02467 (e, f, a, b, c, d);
output 
e, f;
input 
a, b, c, d
UDP_02467 
(e, a, b, c);
and 
(f, e, d); 
// Option gate instance name omitted
endmodule
VB.NET PDF Convert to Word SDK: Convert PDF to Word library in vb.
VB.NET PDF - Convert PDF to MS Office Word in VB.NET. VB.NET Tutorial for How to Convert PDF to Word (.docx) Document in VB.NET. Best
change pdf to powerpoint; conversion of pdf into ppt
VB.NET PDF Convert to Tiff SDK: Convert PDF to tiff images in vb.
VB.NET PDF - Convert PDF to TIFF Using VB in VB.NET. Free VB.NET Guide to Render and Convert PDF Document to TIFF in Visual Basic Class.
convert pdf file into ppt; how to convert pdf to powerpoint on
118    Chapter 3  Gate-Level Minimization
Note that the variables listed on top of the table are part of a comment and are shown 
only for clarity. The system recognizes the variables by the order in which they are listed 
in the input declaration. A user-defined primitive can be instantiated in the construction 
of other modules (digital circuits), just as the system primitives are used. For example, 
the declaration 
Circuit _with _UDP_ 02467 (E, F, A, B, C, D);   
will produce a circuit that implements the hardware shown in  Figure   3.37   . 
Although Verilog HDL uses this kind of description for UDPs only, other HDLs and 
computer-aided design (CAD) systems use other procedures to specify digital circuits 
in tabular form. The tables can be processed by CAD software to derive an efficient gate 
structure of the design. None of Verilog’s predefined primitives describes sequential 
logic. The model of a sequential UDP requires that its output be declared as a  reg  data 
type, and that a column be added to the truth table to describe the next state. So the 
columns are organized as inputs : state : next state. 
In this section, we introduced the Verilog HDL and presented simple examples to 
illustrate alternatives for modeling combinational logic. A more detailed presentation 
of Verilog HDL can be found in the next chapter. The reader familiar with combina-
tional circuits can go directly to Section 4.12 to continue with this subject.    
PROBLEMS 
(Answers to problems marked with * appear at the end of the text.) 
 
3.1*   Simplify the following Boolean functions, using three-variable maps: 
(a)      F1x, yz2 = ∑10,2,4,52      
(b)      F1x, yz2 = ∑10,2,4,5,62     
(c)      F1x, yz2 = ∑10,1,2,3,52      
(d)   F1x, y, z2 = = ∑11, 2, 3, 72     
 
3.2   Simplify the following Boolean functions, using three-variable maps: 
(a)  *    F (xyz) =∑(0, 1, 5, 7)      
(b)  *    F (x,y,z)= = ∑(1,2,3,6,7)     
(c)      F1x, yz2 =∑12,3,4,52      
(d)      F1x, yz2 = = ∑11,2,3,5,6,72     
(e)      F1x, yz2 =∑10,2,4,62      
(f)      F1x, yz2 = = ∑13,4,5,6,72        
 
3.3*   Simplify the following Boolean expressions, using three-variable maps: 
(a)  *    xy +xyz′ ′ +xyz      
(b)  *    xy′+ yzxyz     
(c)  *    F1x,y,z2 =x+yz′+ yz      
(d)      F1x,y,z2 = xyz xyz′ + xyz        
A
E
F
B
C
D
UDP_02467
FIGURE 3.37 
Schematic for  Circuit with_UDP_02467        
Problems    119
 
3.4   Simplify the following Boolean functions, using  Karnaugh  maps: 
(a)  *    F (x,y,z)= = ∑(2,3,6,7)      
(b)  *     F (A,B,C,D) = ∑(4,6,7,15)     
(c)  *    F (A,B,C,D)= = ∑(3,7,11,13,14,15)        (d)  *    F (w,x,y,z)= = ∑(2,3,12,13,14,15)     
(e)       (w, xyz) =∑(11,12,13,14,15)          (f)       F (wxyz) =∑(8, 10, 12, 13, 14)        
 
3.5   Simplify the following Boolean functions, using four-variable maps: 
(a)  *    F (w,x,y,z) = ∑ (1,4,5,6,12,14,15)     
(b)       (A, BCD) = = ∑(2,3,6,7,12,13,14)     
(c)       (w, xyz) = = ∑(1,3,4,5,6,7,9,11,13,15)     
(d)  *    F (ABCD) = = ∑ (0, 2, 4, 5, 6, 7, 8, 10, 13, 15)        
 
3.6   Simplify the following Boolean expressions, using four-variable maps: 
(a)  *    ABCD′+ACD′+ BCD′ +ABCDBCD     
(b)  *    x+wxy′+ w(xyxy′)     
(c)       ABCDABD ABC′+ ABCD+ ABC     
(d)       ABCD +  BCD + ACD +  ABCD +  ACD′        
 
3.7   Simplify the following Boolean expressions, using four-variable maps: 
(a)  *    wzxzxywxz     
(b)       AD′+ BC+BCD′ +BCD     
(c)  *    AB+BCD′ ′ +BCD +ACD′+ AB+ABCD     
(d)       wxy + xz + wxz + wx        
 
3.8   Find the minterms of the following Boolean expressions by first plotting each function in 
a map: 
(a)  *    xy +yz +xyz      
(b)  *    C+ABC′ ′ +ABD′+ ABD     
(c)       wyzwx′+ wxz      
(d)       AACD+BCD BCD        
 
3.9   Find all the prime implicants for the following Boolean functions, and determine which 
are essential: 
(a)  *    (w, x, yz) = = ∑(0,2,4,5,6,7,8,10,13,15)     
(b)  *    F (A,B,C,D)= = ∑ (0,2,3,5,7,8,10,11,14,15)     
(c)       F1A,B,C,D2 = ∑12,3,4,5,6,7,9,11,12,132     
(d)       F1w, x, y, z2 = ∑11,3,6,7,8,9,12,13,14,152     
(e)       F1A,B,C,D2 = = ∑10,1,2,5,7,8,9,10,13,152     
(f)       F1w,x,y,z2 = = ∑10,1,2,5,7,8,10,152        
 
3.10   Simplify the following Boolean functions by first finding the essential prime implicants: 
(a)       F1w,x,y,z2 = ∑10,2,5,7,8,10,12,13,14,152     
(b)       F(A, B, C, D) = = ∑(0, 2, 3, 5, 7, 8, 10, 11, 14, 15)     
(c)  *    F(A, B, C, D) = = ∑(1, 3, 4, 5, 10, 11, 12, 13, 14, 15)     
(d)       F1w,x,y,z2 = ∑10,1,4,5,6,7,9,11,14,152     
(e)       F1A,B,C,D2 = = ∑10,1,3,7,8,9,10,13,152     
(f)       F1w,x,y,z2 = ∑10,1,2,4,5,6,7,10,152        
 
3.11   Convert the following Boolean function from a sum-of-products form to a simplified 
product-of-sums form. 
F1x, y, z2 = ∑10,1,2,5,8,10,132     
120    Chapter 3  Gate-Level Minimization
 
3.12   Simplify the following Boolean functions: 
(a)  *    F1A, B, C, D2 =11, 3, 5, 7, 13, 152     
(b)       F1A,B,C,D2 =11, 3, 6, 9, 11, 12, 142        
 
3.13   Simplify the following expressions to (1) sum-of-products and (2) products-of-sums: 
(a)  *    xz′+ yz′+ yz′ +xy     
(b)       ACD′ ′ +C+AB′+ ABCD     
(c)       1A′+ D′21A′ ′ + B′ + C′21A′ ′ + B′ ′ + C21B′ ′ + D′2     
(d)       BCD′ ′ +ABC′ +ACD        
 
3.14   Give three possible ways to express the following Boolean function with eight or fewer literals: 
ABCABCD ABC′+ ACD     
 
3.15   Simplify the following Boolean function  F , together with the don’t-care conditions  d , and 
then express the simplified function in sum-of-minterms form: 
(a)       F1x,y,z2 = ∑10, 1, 4, 5, 62      
(b)  *    F (A, B, C, D) = = ∑ (0, 6, 8, 13, 14)
d1x,y,z2 = ∑12,3,72 
d(A, B, C, D) = = ∑ (2, 4, 10)     
(c)       F1A,B,C,D2= = ∑15, 6, 7, 12, 14, 15, 2        (d)       F1A,B,C,D2 = = ∑14, 12, 7, 2, 10,2
d1A,B,C,D2 = ∑13, 9, 11, 152 
d1A,B,C,D2 = ∑10, 6, 82        
 
3.16   Simplify the following functions, and implement them with two-level NAND gate circuits: 
(a)        F1A,B,C,D2 =ACD′ ′ + AABC ABACD     
(b)        F1A,B,C,D2 =ABCDCD +ACD     
(c)        F1A,B,C2 = = 1A′ ′ +C′+D′21A′+ C′21C′+ D′2     
(d)        F1A,B,C,D2 =A′+ +D′+ BC        
 
3.17*   Draw a NAND logic diagram that implements the complement of the following function: 
F1A,B,C,D2 = ∑10, 1, 2, 3, 6, 10, 11, 142     
 
3.18   Draw a logic diagram using only two-input NOR gates to implement the following function: 
F1A,B,C,D2 =(A{B)'(C{D     
 
3.19   Simplify the following functions, and implement them with two-level NOR gate circuits: 
(a)  *    =wx′ ′ +yz′+ wyz     
(b)       F1w,x,y,z2 = ∑10, 3, 12, 152     
(c)       F (xyz) =[(xy)(=z)]′        
 
3.20   Draw the multiple-level NOR circuit for the following expression: 
CD1+C2+ 1BC′+ DE′2     
 
3.21   Draw the multiple-level NAND circuit for the following expression: 
w1++z2 + xyz     
 
3.22   Convert the logic diagram of the circuit shown in  Fig.   4.4    into a multiple-level NAND circuit.   
 
3.23   Implement the following Boolean function  F , together with the don’t-care conditions  d , 
using no more than two NOR gates: 
F1A,B,C,D2 = ∑12, 4, 10, 12, 14, 2
d1A,B,C,D2 = = ∑10, 1, 5, 82   
Assume that both the normal and complement inputs are available.   
Problems    121
 
3.24   Implement the following Boolean function  F , using the two-level forms of logic (a) NAND-
AND, (b) AND-NOR, (c) OR-NAND, and (d) NOR-OR: 
F1A,B,C,D2 = ∑10, 4, 8, 9, 10, 11, 12, 142     
 
3.25   List the eight degenerate two-level forms and show that they reduce to a single operation. 
Explain how the degenerate two-level forms can be used to extend the number of inputs 
to a gate.   
 
3.26   With the use of maps, find the simplest sum-of-products form of the function  F = fg , where 
fabc′ +cacd′ +bcz   
and 
g= 1a+c′+ d′21b′+ c′+ d21a′+ cd′2     
 
3.27   Show that the dual of the exclusive-OR is also its complement.   
 
3.28   Derive the circuits for a three-bit parity generator and four-bit parity checker using an odd 
parity bit.   
 
3.29   Implement the following four Boolean expressions with three half adders: 
=A{B{C
=ABC +ABC
=ABC′+(A′ +B′)C
=ABC     
 
3.30*   Implement the following Boolean expression with exclusive-OR and AND gates: 
=ABCD′ +ABCD′ +ABC+ABCD     
 
3.31   Write a Verilog gate-level description of the circuit shown in 
(a)    Fig.   3.20   (a)   
(b)    Fig.   3.20   (b)   
(c)    Fig.   3.21   (a)  
(d)    Fig.   3.21   (b)   
(e)    Fig.   3.24      
(f)    Fig.   3.25        
 
3.32   Using continuous assignment statements, write a Verilog description of the circuit 
shownin 
(a)    Fig.   3.20   (a)   
(b)    Fig.   3.20   (b)   
(c)    Fig.   3.21   (a)  
(d)    Fig.   3.21   (b)     
(e)    Fig.   3.24        
(f)    Fig.   3.25        
 
3.33   The exclusive-OR circuit of  Fig.   3.30   (a) has gates with a delay of 3 ns for an inverter, a 6ns 
delay for an AND gate, and a 8 ns delay for an OR gate. The input of the circuit goes from 
xy =  00 to  xy =  01. 
(a)   Determine the signals at the output of each gate from  t =  0 to  t =  50 ns.  
(b)   Write a Verilog gate-level description of the circuit, including the delays.  
(c)   Write a stimulus module (i.e., a test bench similar to HDL  Example   3.3   ), and simulate 
the circuit to verify the answer in part (a).     
 
3.34   Using continuous assignments, write a Verilog description of the circuit specified by the 
following Boolean functions: 
Out_1 = 1B′2C′1D2
Out_2= 1CDBCDCD′21A′+ B2
Out_3 = 1AB +C2+BC   
Write a test bench and simulate the circuit’s behavior.   
122    Chapter 3  Gate-Level Minimization
 
3.35*   Find the syntax errors in the following declarations (note that names for primitive gates 
are optional):  
module Exmpl-3(A, B, C, D, F) 
// Line 1 
inputs 
A, B, C, Output D, F, 
// Line 2 
output 
// Line 3 
and 
g1(A, B, D); 
// Line 4 
 not 
(D, A, C), 
// Line 5 
OR 
(F, B; C); 
// Line 6 
endmodule;  
// Line 7 
 
3.36   Draw the logic diagram of the digital circuit specified by the following Verilog description: 
(a) module Circuit_A (A, B, C, D, F); 
input 
A, B, C, D; 
output 
F; 
wire 
w, x, y, z, a, d; 
or 
(x, B, C, d); 
 and 
(y, a ,C); 
and 
(w, z ,B); 
and 
(z, y, A); 
or 
(F, x, w); 
not 
(a, A); 
not 
(d, D);  
endmodule
(b)     module Circuit_B (F1, F2, F3, A0, A1, B0, B1); 
output 
F1, F2, F3; 
input 
A0, A1, B0, B1; 
nor 
(F1, F2, F3); 
or 
(F2, w1, w2, w3); 
and 
(F3, w4, w5); 
and 
(w1, w6, B1); 
 or 
(w2, w6, w7, B0); 
and 
(w3, w7, B0, B1); 
not 
(w6, A1); 
not 
(w7, A0); 
xor 
(w4, A1, B1); 
xnor 
(w5, A0, B0); 
endmodule
(c)     module Circuit_C (y1, y2, y3, a, b); 
output y1, y2, y3; 
input a, b; 
assign y1 = a || b; 
and (y2, a, b); 
assign y3 = a && b; 
endmodule
Documents you may be interested
Documents you may be interested