没有合适的资源?快使用搜索试试~ 我知道了~
首页《数字设计》第五版Verilog HDL入门指南
《数字设计:Verilog HDL入门》第五版是由M. Morris Mano(加州州立大学洛杉矶分校计算机工程名誉教授)和Michael D. Ciletti(科罗拉多泉斯普林斯大学电气与计算机工程名誉教授)共同编著的一本权威教材。本书是关于数字系统设计的精华资料,特别针对FPGA(现场可编程门阵列)的基础知识和数字电路理论进行了深入讲解,适合学习者作为入门和进阶的学习指南。 第五版的书籍内容全面,涵盖了电子数字计算机的电路设计、逻辑电路、逻辑设计以及数字集成电路等多个核心主题。它强调了Verilog硬件描述语言(Hardware Description Language)的使用,这是一种广泛应用于现代数字系统设计中的高级编程语言,能够帮助读者将抽象的算法转化为实际的硬件实现。 书中详细介绍了基本的逻辑门设计、触发器、组合逻辑电路、时序逻辑电路的设计方法,以及同步和异步电路的区别。此外,还涵盖模块化设计原则,如何利用模块重用性和接口设计来构建复杂的数字系统。对于FPGA编程,书中的章节会指导读者如何使用Verilog进行设计,并通过实例演示了如何在实际项目中应用这些概念。 值得注意的是,该书附有精心设计的索引,便于查找特定主题,同时提供了丰富的实践案例和习题,有助于读者巩固理论知识并提升实际操作能力。第五版还针对当前的技术趋势进行了更新,确保内容的时效性和实用性。 《数字设计》是一本既适合在校学生进行专业学习,也适合工程师进行自我提升的专业书籍,无论是在理论教学还是在工业实践中,都能提供宝贵的参考和指导。这是一本不容错过的数字系统设计经典之作,值得所有对这个领域感兴趣的人士珍藏和研读。
资源详情
资源推荐
![](https://csdnimg.cn/release/download_crawler_static/9076755/bg10.jpg)
xiv Preface
Chapter 4 outlines the formal procedures for the analysis and design of combina-
tional circuits. Some basic components used in the design of digital systems, such as
adders and code converters, are introduced as design examples. Frequently used digital
logic functions such as parallel adders and subtractors, decoders, encoders, and multi-
plexers are explained, and their use in the design of combinational circuits is illustrated.
HDL examples are given in gatelevel, dataflow, and behavioral models to show the
alternative ways available for describing combinational circuits in Verilog HDL. The
procedure for writing a simple test bench to provide stimulus to an HDL design is
presented.
Chapter 5 outlines the formal procedures for analyzing and designing clocked (syn-
chronous) sequential circuits. The gate structure of several types of flipflops is presented
together with a discussion on the difference between level and edge triggering. Specific
examples are used to show the derivation of the state table and state diagram when
analyzing a sequential circuit. A number of design examples are presented with empha-
sis on sequential circuits that use Dtype flipflops. Behavioral modeling in Verilog HDL
for sequential circuits is explained. HDL Examples are given to illustrate Mealy and
Moore models of sequential circuits.
Chapter 6 deals with various sequential circuit components such as registers, shift
registers, and counters. These digital components are the basic building blocks from
which more complex digital systems are constructed. HDL descriptions of shift registers
and counter are presented.
Chapter 7 deals with random access memory (RAM) and programmable logic
devices. Memory decoding and error correction schemes are discussed. Combinational
and sequential programmable devices such as ROMs, PLAs, PALs, CPLDs, and FPGAs
are presented.
Chapter 8 deals with the register transfer level (RTL) representation of digital sys-
tems. The algorithmic state machine (ASM) chart is introduced. A number of examples
demonstrate the use of the ASM chart, ASMD chart, RTL representation, and HDL
description in the design of digital systems. The design of a finite state machine to con-
trol a datapath is presented in detail, including the realistic situation in which status
signals from the datapath are used by the state machine that controls it. This chapter is
the most important chapter in the book as it provides the student with a systematic
approach to more advanced design projects.
Chapter 9 outlines experiments that can be performed in the laboratory with hard-
ware that is readily available commercially. The operation of the ICs used in the
experiments is explained by referring to diagrams of similar components introduced
in previous chapters. Each experiment is presented informally and the student is
expected to design the circuit and formulate a procedure for checking its operation
in the laboratory. The lab experiments can be used in a standalone manner too and
can be accomplished by a traditional approach, with a breadboard and TTL circuits,
or with an HDL/synthesis approach using FPGAs. Today, software for synthesizing
an HDL model and implementing a circuit with an FPGA is available at no cost from
vendors of FPGAs, allowing students to conduct a significant amount of work in their
personal environment before using prototyping boards and other resources in a lab.
![](https://csdnimg.cn/release/download_crawler_static/9076755/bg11.jpg)
Preface xv
Circuit boards for rapid prototyping circuits with FPGAs are available at a nominal
cost, and typically include push buttons, switches, sevensegment displays, LCDs, key-
pads, and other I/O devices. With these resources, students can work prescribed lab
exercises or their own projects and get results immediately.
Chapter 10 presents the standard graphic symbols for logic functions recommended
by an ANSI/IEEE standard. These graphic symbols have been developed for smallscale
integration (SSI) and mediumscale integration (MSI) components so that the user can
recognize each function from the unique graphic symbol assigned. The chapter shows
the standard graphic symbols of the ICs used in the laboratory experiments.
ACKNOWLEDGMENTS
We are grateful to the reviewers of Digital Design, 5e. Their expertise, careful reviews,
and suggestions helped shape this edition.
Dmitri Donetski, Stony Brook University
Ali Amini, California State University, Northridge
Mihaela Radu, Rose Hulman Institute of Technology
Stephen J Kuyath, University of North Carolina, Charlotte
Peter Pachowicz, George Mason University
David Jeff Jackson, University of Alabama
A. John Boye, University of Nebraska, Lincoln
William H. Robinson, Vanderbilt University
Dinesh Bhatia, University of Texas, Dallas
We also wish to express our gratitude to the editorial and publication team at Prentice
Hall/Pearson Education for supporting this edition of our text. We are grateful, too, for
the ongoing support and encouragement of our wives, Sandra and Jerilynn.
M. M M
Emeritus Professor of Computer Engineering
California State University, Los Angeles
M D. C
Emeritus Professor of Electrical and Computer Engineering
University of Colorado at Colorado Springs
![](https://csdnimg.cn/release/download_crawler_static/9076755/bg12.jpg)
This page intentionally left blank
![](https://csdnimg.cn/release/download_crawler_static/9076755/bg13.jpg)
1
Chapter 1
Digital Systems and Binary Numbers
1.1 DIGITAL SYSTEMS
Digital systems have such a prominent role in everyday life that we refer to the present
technological period as the digital age. Digital systems are used in communication, busi-
ness transactions, traffic control, spacecraft guidance, medical treatment, weather mon-
itoring, the Internet, and many other commercial, industrial, and scientific enterprises.
We have digital telephones, digital televisions, digital versatile discs, digital cameras,
handheld devices, and, of course, digital computers. We enjoy music downloaded to our
portable media player (e.g., iPod Touch™) and other handheld devices having high
resolution displays. These devices have graphical user interfaces (GUIs), which enable
them to execute commands that appear to the user to be simple, but which, in fact,
involve precise execution of a sequence of complex internal instructions. Most, if not all,
of these devices have a specialpurpose digital computer embedded within them. The
most striking property of the digital computer is its generality. It can follow a sequence
of instructions, called a program, that operates on given data. The user can specify and
change the program or the data according to the specific need. Because of this flexibil-
ity, generalpurpose digital computers can perform a variety of informationprocessing
tasks that range over a wide spectrum of applications.
One characteristic of digital systems is their ability to represent and manipulate dis-
crete elements of information. Any set that is restricted to a finite number of elements
contains discrete information. Examples of discrete sets are the 10 decimal digits, the
26 letters of the alphabet, the 52 playing cards, and the 64 squares of a chessboard. Early
digital computers were used for numeric computations. In this case, the discrete ele-
ments were the digits. From this application, the term digital computer emerged. Dis-
crete elements of information are represented in a digital system by physical quantities
![](https://csdnimg.cn/release/download_crawler_static/9076755/bg14.jpg)
2 Chapter 1 Digital Systems and Binary Numbers
called signals. Electrical signals such as voltages and currents are the most common.
Electronic devices called transistors predominate in the circuitry that implements these
signals. The signals in most presentday electronic digital systems use just two discrete
values and are therefore said to be binary. A binary digit, called a bit, has two values: 0
and 1. Discrete elements of information are represented with groups of bits called binary
codes. For example, the decimal digits 0 through 9 are represented in a digital system
with a code of four bits (e.g., the number 7 is represented by 0111). How a pattern of
bits is interpreted as a number depends on the code system in which it resides. To make
this distinction, we could write (0111)
2
to indicate that the pattern 0111 is to be inter-
preted in a binary system, and (0111)
10
to indicate that the reference system is decimal.
Then 0111
2
= 7
10
, which is not the same as 0111
10
, or one hundred eleven. The subscript
indicating the base for interpreting a pattern of bits will be used only when clarification
is needed. Through various techniques, groups of bits can be made to represent discrete
symbols, not necessarily numbers, which are then used to develop the system in a digital
format. Thus, a digital system is a system that manipulates discrete elements of informa-
tion represented internally in binary form. In today’s technology, binary systems are most
practical because, as we will see, they can be implemented with electronic components.
Discrete quantities of information either emerge from the nature of the data being
processed or may be quantized from a continuous process. On the one hand, a payroll
schedule is an inherently discrete process that contains employee names, social security
numbers, weekly salaries, income taxes, and so on. An employee’s paycheck is processed
by means of discrete data values such as letters of the alphabet (names), digits (salary),
and special symbols (such as $). On the other hand, a research scientist may observe a
continuous process, but record only specific quantities in tabular form. The scientist is
thus quantizing continuous data, making each number in his or her table a discrete
quantity. In many cases, the quantization of a process can be performed automatically
by an analogtodigital converter, a device that forms a digital (discrete) representation
of a analog (continuous) quantity.
The generalpurpose digital computer is the bestknown example of a digital system.
The major parts of a computer are a memory unit, a central processing unit, and input–
output units. The memory unit stores programs as well as input, output, and intermedi-
ate data. The central processing unit performs arithmetic and other dataprocessing
operations as specified by the program. The program and data prepared by a user are
transferred into memory by means of an input device such as a keyboard. An output
device, such as a printer, receives the results of the computations, and the printed results
are presented to the user. A digital computer can accommodate many input and output
devices. One very useful device is a communication unit that provides interaction with
other users through the Internet. A digital computer is a powerful instrument that can
perform not only arithmetic computations, but also logical operations. In addition, it can
be programmed to make decisions based on internal and external conditions.
There are fundamental reasons that commercial products are made with digital cir-
cuits. Like a digital computer, most digital devices are programmable. By changing the
program in a programmable device, the same underlying hardware can be used for many
different applications, thereby allowing its cost of development to be spread across a
wider customer base. Dramatic cost reductions in digital devices have come about
剩余564页未读,继续阅读
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://profile-avatar.csdnimg.cn/default.jpg!1)
shinejune
- 粉丝: 2
- 资源: 4
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![](https://csdnimg.cn/release/wenkucmsfe/public/img/voice.245cc511.png)
最新资源
- 解决本地连接丢失无法上网的问题
- BIOS报警声音解析:故障原因与解决方法
- 广义均值移动跟踪算法在视频目标跟踪中的应用研究
- C++Builder快捷键大全:高效编程的秘密武器
- 网页制作入门:常用代码详解
- TX2440A开发板网络远程监控系统移植教程:易搭建与通用解决方案
- WebLogic10虚拟内存配置详解与优化技巧
- C#网络编程深度解析:Socket基础与应用
- 掌握Struts1:Java MVC轻量级框架详解
- 20个必备CSS代码段提升Web开发效率
- CSS样式大全:字体、文本、列表样式详解
- Proteus元件库大全:从基础到高级组件
- 74HC08芯片:高速CMOS四输入与门详细资料
- C#获取当前路径的多种方法详解
- 修复MySQL乱码问题:设置字符集为GB2312
- C语言的诞生与演进:从汇编到系统编程的革命
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035111.png)
安全验证
文档复制为VIP权益,开通VIP直接复制
![](https://csdnimg.cn/release/wenkucmsfe/public/img/green-success.6a4acb44.png)