Explore 1.5M+ audiobooks & ebooks free for days

From $11.99/month after trial. Cancel anytime.

Digital Engineering: Complex System Design
Digital Engineering: Complex System Design
Digital Engineering: Complex System Design
Ebook233 pages2 hours

Digital Engineering: Complex System Design

Rating: 0 out of 5 stars

()

Read preview

About this ebook

The edition of this book takes the concept of embedded circuits to a higher level of functionality. The text is aimed at the design of a computer system from the concept of digital logic to the design of FPGAs ad CPUs. The text offers a detailed look at the circuitry needed to design a computer from an electrical and electronic perspective.

Suitable for those who are ready to design and program their own system

The book covers the following topics:
Combinational circuits
Instruction addressing
Digital techniques
Systems with memory
Arithmetic unit design
Control unit approaches
I/O interfaces
Sound and visual processing
CPU and FPGA design
LanguageEnglish
PublisherAuthorHouse UK
Release dateAug 20, 2024
ISBN9798823088794
Digital Engineering: Complex System Design
Author

S Mathioudakis

S.Mathioudakis originally studied psychology at degree level, before moving onto electrical engineering at Middlesborough University. Having graduated in both he still finds a keen interest in the subjects. In his spare time he enjoys writing science fiction as a hobby

Read more from S Mathioudakis

Related to Digital Engineering

Related ebooks

Computers For You

View More

Reviews for Digital Engineering

Rating: 0 out of 5 stars
0 ratings

0 ratings0 reviews

What did you think?

Tap to rate

Review must be at least 10 words

    Book preview

    Digital Engineering - S Mathioudakis

    © 2024 S. Mathioudakis. All rights reserved.

    No part of this book may be reproduced, stored in a retrieval system, or transmitted by any means without the written permission of the author.

    Published by AuthorHouse 07/27/2024

    ISBN: 979-8-8230-8871-8 (sc)

    ISBN: 979-8-8230-8879-4 (e)

    Library of Congress Control Number: 2024914721

    Any people depicted in stock imagery provided by Getty Images are models, and such images are being used for illustrative purposes only.

    Certain stock imagery © Getty Images.

    Because of the dynamic nature of the Internet, any web addresses or links contained in this book may have changed since publication and may no longer be valid. The views expressed in this work are solely those of the author and do not necessarily reflect the views of the publisher, and the publisher hereby disclaims any responsibility for them.

    Contents

    Foreword

    Preface

    Part 1:   Combinational Systems and Procedures

    Chapter 1     Combinational Digital Circuits

    Chapter 2     Digital Circuits with Memory

    Chapter 3     Instructions and Addressing

    Chapter 4     Procedures, Datasets and Routines

    Part 2:   Designing Structures in a Computer System

    Chapter 5     Simple ALUs

    Chapter 6     Mathematical Procedures

    Chapter 7     Fetch Decode Cycle

    Chapter 8     Control Unit Stages and Interfacing

    Chapter 9     Input Output Systems

    Chapter 10   Designing I/O Procedures

    Chapter 11   Sound on an 8 bit System

    Chapter 12   Display and Image Processing

    Part 3:   CPU Structures and Design

    Chapter 13   Designing a Simple CPU

    Chapter 14   Designing an FPGA System

    Foreword

    This text book offers the reader an overview into creating a computer from an electrical design perspective. Throughout the book are a number of diagrams explaining how a computer would be designed as a circuit. The expectation of the author is to simplify the process of designing computers by explaining how it would be possible to implement a simple process. The book itself looks at a 16 bit computer with a few sets of instructions. Detailing the processes involved in design.

    This is the second text book of three which aim to explore computer science. The author hopes to finish the compendium with a book on software engineering, which explores the paradigms needed to create successful programs and programming structures.

    Preface

    The purpose of this textbook is to outline and explore some of the assumptions and structures, which underpin the design of digital systems. The intention is that the reader is then able to create their own processes and design their own digital circuits. The book achieves these aims in a number of ways, the system inside a computer is broken down into a number of structures, such as I/O communication and CPU design. Hopefully explaining how these parts work and what tasks they carry out during a programme or performing complex procedures. The book is split into a number of parts which look at digital logic design, creating the structures within components and finally deals with the subject of designing small systems. Each part tries to investigate how a computer might work at a basic level and describes other structures needed in larger computers like todays 64 bit machines.

    Throughout the text computer architecture is explained in a high level of detail, analysing designs and communicating how to create certain processes. The schematics formatted for the book describe the processes at the basis of transistor logic and the interfacing of components and data transfers. Although it is necessary to point out, that this is mainly to allow the reader to understand the process without being completely accurate. Most of the circuits explained here would actually work, but larger systems have moved on in such a way that older structures which the 16 bit machines used are no-longer necessary As this textbook mainly focuses on 16 bit machine processes, it may limit the reader in terms of their approach to the complex programming of todays sophisticated computers.

    The intention is that the information found within the writings should bring to light the basic design and structure of a computer system. Although the overall design appears less complicated than some computer processes. The design of a basic system should be able to be achieved. The approaches found here should provide enough insight to actually build a working computerised system.

    Part 1

    Combinational Systems

    and Procedures

    1

    Combinational Digital Circuits

    In this chapter you will look at the following

    • Logic gates

    • Truth tables and Kernaugh maps

    • Latches

    • Combinational logic systems

    1.1.1 What does combinational logic refer to?

    This is a term which describes a part of the process which computers use to infer meaningful data from simple logic structures. Computers tend to think by inputting a simple value as a binary 1 or 0 and re-determining this value or logic state as a new entity or definition. For example when computers analyse data the information may be presented as ‘0010 0110’ This will then be interpreted by a decoder and translated by the computer as a logic sequence or number etc, in binary this data could have a number of different representations depending on where the code was being used. Combinational logic describes some of the processes which are used to manipulate this data set. Essentially the combinational circuit or logic, will create the pathways or gates which allow the binary to be translated. These systems are used a lot inside computers as data is constantly being moved around the system, modified and processed.

    Not all systems use combinational logic for example some outputs such as audio and analogue systems, have no need to use logic states or digital sequences, as the information which the signal is trying to send does not need to use this form of translation. By the term digital logic system we mean anything which revaluates code and provides meaningful data from this analysis. For example a small computer may use a number of LCD segment displays to present the result of the calculation of two numbers. Combinational logic could be used here in a number of ways. The segment display would need a decoder to decode the binary and present the correct figure on the LCD. There would also be a number system in place which tells the computer what the value is from the initial binary code.

    For instance

    0110 = 6 in decimal

    1010 = 10 in decimal

    Or

    0100 = 4 on a segment display

    0111 = 7 on a segment display

    This basic form of binary shows that one system is interpreted by the computer as a different value. Meaning the data has it own value set and needs to be interpreted by the computers structure. Combinational logic provides a method of completing this calculus. Bringing about meaningful data through the manipulation of code. The above example had two uses for logic systems. Computers have many more of these types of processes which are completed in a number of ways throughout a simple program or routine. A principle of computer logic or combinational systems is creating methods of reducing complex structures into smaller numbers of gates or pathways. A computer designer ideally should create the process to use the simplest form or least number of pathways. Later in the chapter K maps will be used to reduce a problem involving digital pathways. This kind of technique is useful when designing encoders or instruction sets.

    1.2.1 Simple logic circuits

    The simplest circuits within combination logic are made out of logic gates. These can be used when a value is determined from a number of inputs. For example a logic gate would act like a switch which turns an outputted value to 1 or ‘on’ depending on the state of two inputs. In this instance we might use an AND gate which has two inputs and one output. If both inputs receive a signal there would be a return value output. A relay system might have a safety switch would act in a similar way, where it relies on both inputs to work. In fact within digital logic there are various forms of logic gates which work in different ways to reinterpret the value of a number of inputs. Logic gates are also not constrained by the number of inputs. The figure below shows the picture typically designated for each type of gate.

    001.jpg

    Fig: 1.2.1 three logic gates (AND, OR, NOT)

    As mentioned, each gate works slightly differently due to the mapping of the circuits inside the gate. For instance an OR gate will work if either input has a voltage source. Whereas the AND gate needs both voltages or the output would not be able to produce a signal. Due to the characteristics of each type of gate it is possible to create digital circuits with have a number of possible uses. Simple digital circuits are used to decode information. More complex types are used for decoding video and audio information. This is where a simple signal needs to be transformed into a better-quality digital output. The logic gates are used to re-evaluate a source signal by decoding the information. To explain how a logic gate works it is necessary to plot the expected output of a system against a truth table. Which states the logic input and the expected decoded output. Truth tables are not only useful within logic gates and are also used to solve larger processes. For instance it might be necessary to visualise an entire system, by creating a truth table which explores the expected output for each logic state.

    Fig: 1.2.1 Truth tables (AND, OR, NOT)

    1.2.2 Using transistors as logic gates

    Truth tables and logic gates are used to visually describe the process of simple systems. They are a graphical tool for exploring how they might appear on a circuit, or for evaluating the usages within a digital system. From a design perspective this is useful as it is possible to describe the process of a circuit. However from an electronic and engineering perspective, the logic gates, are seen as the application of small transistors connected inside a circuit. To develop this idea further the figure below describes a number of gates which create the same state as the truth table. Except here a voltage source needs to be applied for the circuit to work. The output will depend on the design of the logic gate. The design of these circuits can be easily created using transistors. This knowledge is essential for the careful design of digital systems, where circuits are able to be created from the connection of a few transistors. In fact integrated chips currently use this in the construction of logic states in IC chips.

    002.jpg

    Fig: 1.2.2 Transistor logic gates

    1.3.1 Abstraction of logic circuits

    Combinational logic can be represented in truth tables or through using other tools such as Kernaugh maps. Here a logic system can be designed by describing how the system is intended to work. For example binary code might need to be represented in a decimal format, or a MUX needs to create a binary sequence from the application of two processes being carried out at the same time. These types of examples could use a truth table to translate how the code might be presented to the signal source. Here the expected output could be predicted by the information presented to the inputs. If we look at the diagram below the digital logic here has three inputs A, B and C. while only having one output. This is represented within programming as the value ‘F’ or output.

    003.jpg

    Fig: 1.3.1 Digital logic first sequence

    In terms of abstraction of the data we can present the information

    Enjoying the preview?
    Page 1 of 1