Other eBook Options:

- Presents design concepts and sound high-performance paradigms for data/signal processing and computing in 3D
- Extends classical computing paradigms toward 3D computing structures
- Examines the relationships between various data structures and their manipulation through design
- Covers the fundamentals of the intermediate data structure
- Explores techniques for natural computing, such as the evolutionary strategy for arbitrary logic network design and neural computing for elementary switching functions

*Solutions manual available for qualifying instructors*

*Emphasizes the Basic Principles of Computational Arithmetic and Computational Structure Design*Taking an interdisciplinary approach to the nanoscale generation of computer devices and systems,

*Covers All Stages of the Design Cycle, from Task Formulation to Molecular-Based Implementation*The book introduces the theoretical base and properties of various data structures, along with techniques for their manipulation, optimization, and implementation. It also assigns the computational properties of logic design data structures to 3D structures, furnishes information-theoretical measures and design aspects, and discusses the testability problem. The last chapter presents a nanoscale prospect for natural computing based on assorted computing paradigms from nature.

*Balanced Coverage of State-of-the-Art Concepts, Techniques, and Practices*

Up-to-date, comprehensive, and pragmatic in its approach, this text provides a unified overview of the relationship between the fundamentals of digital system design, computer architectures, and micro- and nanoelectronics.

**Introduction **

Computational paradigms for nanocomputing structures

Biological inspiration for computing

Self-assembly

Molecular computing devices

Fault tolerance

Computing in 3D

Multivalued processing

**Computational Nanostructures**

Introduction

Theoretical background

Analysis and synthesis

Implementation technologies

Predictable technologies

Nanoelectronic networks

Switch-based computing structures

Spatial computational nanostructures

**Binary Arithmetic**

Introduction

Positional numbers

Counting in a positional number system

Basic arithmetic operations in various number systems

Binary arithmetic

Radix-complement representations

Conversion of numbers in various radices

Overflow

Implementation of binary arithmetic

Other binary codes

Further study

**Residue Arithmetic**

Introduction

Residue arithmetic

Further study

**Graph-Based Data Structures**

Introduction

Graphs in discrete device and system design

Basic definitions

Tree-like graphs and decision trees

Voronoi diagrams

Further study

**Foundation of Boolean Data Structures**

Introduction

Definition of algebra over the set {0, 1}

Boolean functions

Fundamentals of computing Boolean functions

Proving the validity of Boolean equations

Gates

Local transformations

Properties of switching functions

Further study

**Boolean Data Structures**

Introduction

Data structure types

Relationships between data structures

The truth table

K-map

Cube data structure

Graphical data structure for cube representation

Logic networks

Networks of threshold gates

Binary decision trees

Decision diagrams

Further study

**Fundamental Expansions**

Introduction

Shannon expansion

Shannon expansion for symmetric Boolean functions

Techniques for computing symmetric functions

The logic Taylor expansion

Graphical representation of the fundamental expansions

Further study

**Arithmetic of the Polynomials**

Introduction

Algebra of the polynomial forms

GF(2) algebra

Relationship between standard SOP and polynomial forms

Local transformations for EXOR expressions

Factorization of polynomials

Validity check for EXOR networks

Fixed and mixed polarity polynomial forms

Computing the coefficients of polynomial forms

Decision diagrams

Techniques for functional decision tree construction

Functional decision tree reduction

Further study

**Optimization of Computational Structures**

Introduction

Minterm and maxterm expansions

Optimization of Boolean functions in algebraic form

Implementing SOP expressions using logic gates

Minimization of Boolean functions using K-maps

Boolean function minimization using decision diagrams

Optimization of Boolean functions using decision trees

Decision diagrams for symmetric Boolean functions

Measurement of the efficiency of decision diagrams

Representation of multi-output Boolean functions

Embedding decision diagrams into lattice structures

Further study

**Multivalued Data Structures**

Introduction

Representation of multivalued functions

Multivalued logic

Galois fields *GF*(*m*)

Fault models based on the concept of change

Polynomial representations of multivalued logic functions

Polynomial representations using arithmetic operations

Fundamental expansions

Further study

**Computational Networks**

Introduction

Data transfer logic

Implementation of Boolean functions using multiplexers

Demultiplexers

Decoders

Implementation of switching functions using decoders

Encoders

Design examples

Design example: magnitude comparator

Design example: BCD adder

The verification problem

Decomposition

Further study

**Sequential Logic Networks**

Introduction

Physical phenomena and data storage

Basic principles

Data structures for sequential logic networks

Latches

Flip-flops

Registers

Counters

Sequential logic network design

Mealy and Moore models of sequential networks

Data structures for analysis of sequential networks

Analysis of sequential networks with various types of flip-flops

Techniques for the synthesis of sequential networks

Redesign

Further study

**Memory Devices for Binary Data**

Introduction

Programmable devices

Random-access memory

Read-only memory

Memory expansion

Programmable logic

Field programmable gate arrays

Further study

**Spatial Computing Structures**

Introduction

The fundamental principles of 3D computing

Spatial structures

Hypercube data structure

Assembling of hypercubes

*N*-hypercube

Embedding a binary decision tree into an *N*-hypercube

Assembling *N*-hypercubes

Representation of *N*-hypercubes using **H**-tree

Spatial topological measurements

Further reading

**Linear Cellular Arrays**

Introduction

Linear arrays based on systolic computing paradigm

Spatial systolic arrays

Linear arrays based on linear decision diagrams

Linear models of elementary functions

Logic networks and linear decision diagrams

Linear models for logic networks

Linear models for multivalued logic networks

Linear word-level representation of multivalued functions using logic operations

3D computing arrays design

Further study

**Information and Data Structures**

Introduction

Information-theoretical measures

Information-theoretical measures

Information measures of elementary switching function of two variables

Information-theoretical measures in decision trees

Information-theoretical measures in multivalued functions

Ternary and pseudo-ternary decision trees

Further reading

**Design for Testability**

Introduction

Fault models

Controllability and observability

Functional decision diagrams for computing Boolean differences

Random testing

Design for testability techniques

Further study

**Error Detection and Error Correction**

Introduction

Channel models

The simplest error detecting network

Discrete memoryless channel

Linear block codes

Cyclic codes

Block codes

Arithmetic codes

Further study

**Natural Computing**

Introduction

Fundamentals of the intermediate data structures

Self-assembling

Fractal-based models for self-assembly

Logic network design using directed evolution

Neural-based computing

Further study

**Index**