10 5 Programming Techniques in Verilog II5.1 Programming Techniques in Verilog II5.2 Dataflow Model of Circuits5.3 Dataflow Model of Combinational Circuits5.3.1 Adder and Subtractor5.3.2 Multiplexer5.3.3 Decoder5.3.4 Comparator5.4 Testbench5.4.1 Dataflow Model of the Half Adder and Testbench5.4.2 Dataflow Model of the Half Subtractor and Testbench5.4.3 Dataflow Model of 2 × 1 Mux and Testbench5.4.4 Dataflow Model of 4 × 1 Mux and Testbench5.4.5 Dataflow Model of 2-to-4 Decoder and TestbenchReview QuestionsMultiple Choice QuestionsReferences
11 6 Programming Techniques in Verilog II6.1 Programming Techniques in Verilog II6.2 Behavioral Model of Combinational Circuits6.2.1 Behavioral Code of a Half Adder Using If-else6.2.2 Behavioral Code of a Full Adder Using Half Adders6.2.3 Behavioral Code of a 4-bit Full Adder (FA)6.2.4 Behavioral Model of Multiplexer Circuits6.2.5 Behavioral Model of a 2-to-4 Decoder6.2.6 Behavioral Model of a 4-to-2 Encoder6.3 Behavioral Model of Sequential Circuits6.3.1 Behavioral Modeling of the D-Latch6.3.2 Behavioral Modeling of the D-F/F6.3.3 Behavioral Modeling of the J-K F/F6.3.4 Behavioral Modeling of the D-F/F Using J-K F/F6.3.5 Behavioral Modeling of the T-F/F Using J-K F/F6.3.6 Behavior Modeling of an S-R F/F Using J-K F/FReview QuestionsMultiple Choice QuestionsReferences
12 7 Digital Design Using Switches7.1 Switch-Level Model7.2 Digital Design Using CMOS Technology7.3 CMOS Inverter7.4 Design and Implementation of the Combinational Circuit Using Switches7.4.1 Types of Switches7.4.2 CMOS Switches7.4.3 Resistive Switches7.4.4 Bidirectional Switches7.4.5 Supply and Ground Requirements7.5 Logic Implementation Using Switches7.5.1 Digital Design with a Transmission Gate7.6 Implementation with Bidirectional Switches7.6.1 Multiplexer Using Switches7.7 Verilog Switch-Level Description with Structural-Level Modeling7.8 Delay Model with SwitchesReview QuestionsMultiple Choice QuestionsReferences
13 8 Advance Verilog Topics8.1 Delay Modeling and Programming8.1.1 Delay Modeling8.1.2 Distributed-Delay Model8.1.3 Lumped-Delay Model8.1.4 Pin-to-Pin-Delay Model8.2 User-Defined Primitive (UDP)8.2.1 Combinational UDPs8.2.2 Sequential UDPs8.2.3 Shorthands in UDP8.3 Task and Function8.3.1 Difference between Task and Function8.3.2 Syntax of Task and Function Declaration8.3.3 Invoking Task and Function8.3.4 Examples of Task Declaration and Invocation8.3.5 Examples of Function Declaration and InvocationReview QuestionsMultiple Choice QuestionsReferences
14 9 Programmable and Reconfigurable Devices9.1 Logic Synthesis9.1.1 Technology Mapping9.1.2 Technology Libraries9.2 Introduction of a Programmable Logic Device9.2.1 PROM, PAL and PLA9.2.2 SPLD and CPLD9.3 Field-Programmable Gate Array9.3.1 FPGA Architecture9.4 Shannon’s Expansion and Look-up Table9.4.1 2-Input LUT9.4.2 3-Input LUT9.5 FPGA Families9.6 Programming with FPGA9.6.1 Introduction to Xilinx Vivado Design Suite for FPGA-Based Implementations9.7 ASIC and Its ApplicationsReview QuestionsMultiple Choice QuestionsReferences
15 10 Project Based on Verilog HDLs10.1 Project Based on Combinational Circuit Design Using Verilog HDL10.1.1 Full Adder Using Switches at Structural Level Model10.1.2 Ripple-Carry Full Adder (RCFA)10.1.3 4-bit Carry Look-ahead Adder (CLA)10.1.4 Design of a 4-bit Carry Save Adder (CSA)10.1.5 2-bit Array Multiplier10.1.6 2 × 2 Bit Division Circuit Design10.1.7 2-bit Comparator10.1.8 16-bit Arithmetic Logic Unit10.1.9 Design and Implementation of 4 × 16 Decoder Using 2 × Decoder10.2 Project Based on Sequential Circuit Design Using Verilog HDL10.2.1 Design of 4-bit Up/down Counter10.2.2 LFSR Based 8-bit Test Pattern Generator10.3 Counter Design10.3.1 Random Counter that Counts Sequence like 2,4,6,8,2,8…and so On10.3.2 Use of Task at the Behavioral-Level Model10.3.3 Traffic Signal Light Controller10.3.4 Hamming Code(h,k) Encoder/DecoderReview QuestionsMultiple Choice QuestionsReferences
16 11 SystemVerilog11.1 Introduction11.2 Distinct Features of SystemVerilog11.2.1 Data Types11.2.2 Arrays11.2.3 Typedef11.2.4 Enum11.3 Always_type11.4 $log2c() Function11.5 System-Verilog as a Verification LanguageReview QuestionsMultiple Choice QuestionsReference
17 Index
List of Illustrations
1 Chapter 1Figure 1.1 Symbol of an AND gate.Figure 1.2 Symbol for an OR gate.Figure 1.3 Symbol for a NOT gate.Figure 1.4 Symbol for a NAND gate.Figure 1.5 Symbol for a NOR gate.Figure 1.6 Symbol for a NAND gate.Figure 1.7 Diagram of a combinational logic circuit.Figure 1.8 Block diagram of a H. adder.Figure 1.9 Circuit diagram of a half adder.Figure 1.10 Block diagram of a full adder.Figure 1.11 Full adder logic block.Figure 1.12 Half subtractor.Figure 1.13 Half subtractor logic block.Figure 1.14 Block diagram of the full subtractor.Figure 1.15 Full subtractor logic block.Figure 1.16 Block diagram of the multiplexer.Figure 1.17 Logic diagram of the multiplexer.Figure 1.18 Implementation of function.Figure 1.19 Block diagram of the de-multiplexer.Figure 1.20 1 × 4 de-multiplexer using logic gates.Figure 1.21 Block diagram of a 2 × 4 decoder.Figure 1.22 Logic diagram of a 2 × 4 decoder.Figure 1.23 Implementation of functions using the decoder.Figure 1.24 Block diagram of a 2-bit binary multiplier.Figure 1.25 Circuit diagram of a 2-bit multiplier.Figure 1.26 2-bit comparator block.
2 Chapter 2Figure 2.1 Clocked S-R F/F.Figure 2.2 Clocked D-F/F.Figure 2.3 Clocked J-K F/F.Figure 2.4 Master-slave of a J-K F/F.Figure 2.5 Clocked T-F/F.Figure 2.6 Excitation table of a) S-R, b) D, c) J-K and d) D- F/F.Figure 2.7 Characteristic table a) D-F/F and b) T-F/F.Figure 2.8 SISO shift register block diagram.Figure 2.9 SIPO shift register block diagram.Figure 2.10 PIPO shift register block diagram.Figure 2.11 PISO shift register block diagram.Figure 2.12 3-bit Synchronous up-counter with J-K F/F.Figure 2.13 3-bit ripple counter (up-counter).Figure 2.14 State diagram of a 3-bit up-counter.Figure 2.15 3-bit up-counter logic block.Figure 2.16 4-bit ring counter using D-F/F.Figure 2.17 4-bit Johnson counter using D-F/F.Figure 2.18 Mealy machine.Figure 2.19 Moore machine.Figure 2.20 Design 011 sequence using a Mealy machine.Figure 2.21 State-diagram representation of Moore model.Figure 2.22 Sequence circuit of 011 Mealy sequences.
3 Chapter 3Figure 3.1 Top-down design methodology.Figure 3.2 Bottom-up design methodology.Figure 3.3 Design flow chart.
4 Chapter 4Figure 4.1 Logic circuit.Figure 4.2 Logic circuit.Figure 4.3 Block diagram of a half adder.Figure 4.4 Logic circuit of half adder.Figure 4.5 Logic circuit of half adder using a NAND gate.Figure 4.6 Logic circuit of half adder using NOR gate.Figure 4.7 Block diagram of a full adder.Figure 4.8 Logic circuit of a full adder.Figure 4.9 Block diagram of a half subtractor.Figure 4.10 Logic circuit of a full subtractor.Figure 4.11 Logic circuit of a half subtractor using a NAND gate.Figure 4.12 Logic circuit of the half subtractor using a NOR gate.Figure 4.13 Block diagram of a full subtractor.Figure 4.14 Logic circuit of a full subtractor.Figure 4.15 Block diagram of a 2 × 1 multiplexer.Figure 4.16 Logic circuit of a 2 × 1 multiplexer.Figure 4.17 Block diagram of a 4 × 1 multiplexer.Figure 4.18 Logic circuit of a 4 × 1 multiplexer.Figure 4.19 Block diagram of 1 × 2 de-multiplexer.Figure 4.20 Logic circuit of a 1 × 2 de-multiplexer.Figure 4.21 Block diagram of 2-to-4 decoder.Figure