|
|
Books > Computing & IT > Computer hardware & operating systems > General
Get started with FPGA programming using SystemVerilog, and develop
real-world skills by building projects, including a calculator and
a keyboard Key Features Explore different FPGA usage methods and
the FPGA tool flow Learn how to design, test, and implement
hardware circuits using SystemVerilog Build real-world FPGA
projects such as a calculator and a keyboard using FPGA resources
Book DescriptionField Programmable Gate Arrays (FPGAs) have now
become a core part of most modern electronic and computer systems.
However, to implement your ideas in the real world, you need to get
your head around the FPGA architecture, its toolset, and critical
design considerations. FPGA Programming for Beginners will help you
bring your ideas to life by guiding you through the entire process
of programming FPGAs and designing hardware circuits using
SystemVerilog. The book will introduce you to the FPGA and Xilinx
architectures and show you how to work on your first project, which
includes toggling an LED. You'll then cover SystemVerilog RTL
designs and their implementations. Next, you'll get to grips with
using the combinational Boolean logic design and work on several
projects, such as creating a calculator and updating it using FPGA
resources. Later, the book will take you through the advanced
concepts of AXI and show you how to create a keyboard using PS/2.
Finally, you'll be able to consolidate all the projects in the book
to create a unified output using a Video Graphics Array (VGA)
controller that you'll design. By the end of this SystemVerilog
FPGA book, you'll have learned how to work with FPGA systems and be
able to design hardware circuits and boards using SystemVerilog
programming. What you will learn Understand the FPGA architecture
and its implementation Get to grips with writing SystemVerilog RTL
Make FPGA projects using SystemVerilog programming Work with
computer math basics, parallelism, and pipelining Explore the
advanced topics of AXI and keyboard interfacing with PS/2 Discover
how you can implement a VGA interface in your projects Who this
book is forThis FPGA design book is for embedded system developers,
engineers, and programmers who want to learn FPGA and SystemVerilog
programming from scratch. FPGA designers looking to gain hands-on
experience in working on real-world projects will also find this
book useful.
Learn how to deploy and monitor databases in the cloud, manipulate
documents, visualize data, and build applications running on
MongoDB using Node.js Key Features Learn the fundamentals of NoSQL
databases with MongoDB Create, manage, and optimize a MongoDB
database in the cloud using Atlas Use a real-world dataset to gain
practical experience of handling big data Book DescriptionMongoDB
is one of the most popular database technologies for handling large
collections of data. This book will help MongoDB beginners develop
the knowledge and skills to create databases and process data
efficiently. Unlike other MongoDB books, MongoDB Fundamentals dives
into cloud computing from the very start - showing you how to get
started with Atlas in the first chapter. You will discover how to
modify existing data, add new data into a database, and handle
complex queries by creating aggregation pipelines. As you progress,
you'll learn about the MongoDB replication architecture and
configure a simple cluster. You will also get to grips with user
authentication, as well as techniques for backing up and restoring
data. Finally, you'll perform data visualization using MongoDB
Charts. You will work on realistic projects that are presented as
bitesize exercises and activities, allowing you to challenge
yourself in an enjoyable and attainable way. Many of these
mini-projects are based around a movie database case study, while
the last chapter acts as a final project where you will use MongoDB
to solve a real-world problem based on a bike-sharing app. By the
end of this book, you'll have the skills and confidence to process
large volumes of data and tackle your own projects using MongoDB.
What you will learn Set up and use MongoDB Atlas on the cloud
Insert, update, delete, and retrieve data from MongoDB Build
aggregation pipelines to perform complex queries Optimize queries
using indexes Monitor databases and manage user authorization
Improve scalability and performance with sharding clusters
Replicate clusters, back up your database, and restore data Create
data-driven charts and reports from real-time data Who this book is
forThis book is designed for people who are new to MongoDB. It is
suitable for developers, database administrators, system
administrators, and cloud architects who are looking to use MongoDB
for smooth data processing in the cloud. Although not necessary,
basic knowledge of a general programming language and experience
with other databases will help you grasp the topics covered more
easily.
Discover powerful ways to effectively solve real-world machine
learning problems using key libraries including scikit-learn,
TensorFlow, and PyTorch Key Features Learn and implement machine
learning algorithms in a variety of real-life scenarios Cover a
range of tasks catering to supervised, unsupervised and
reinforcement learning techniques Find easy-to-follow code
solutions for tackling common and not-so-common challenges Book
DescriptionThis eagerly anticipated second edition of the popular
Python Machine Learning Cookbook will enable you to adopt a fresh
approach to dealing with real-world machine learning and deep
learning tasks. With the help of over 100 recipes, you will learn
to build powerful machine learning applications using modern
libraries from the Python ecosystem. The book will also guide you
on how to implement various machine learning algorithms for
classification, clustering, and recommendation engines, using a
recipe-based approach. With emphasis on practical solutions,
dedicated sections in the book will help you to apply supervised
and unsupervised learning techniques to real-world problems. Toward
the concluding chapters, you will get to grips with recipes that
teach you advanced techniques including reinforcement learning,
deep neural networks, and automated machine learning. By the end of
this book, you will be equipped with the skills you need to apply
machine learning techniques and leverage the full capabilities of
the Python ecosystem through real-world examples. What you will
learn Use predictive modeling and apply it to real-world problems
Explore data visualization techniques to interact with your data
Learn how to build a recommendation engine Understand how to
interact with text data and build models to analyze it Work with
speech data and recognize spoken words using Hidden Markov Models
Get well versed with reinforcement learning, automated ML, and
transfer learning Work with image data and build systems for image
recognition and biometric face recognition Use deep neural networks
to build an optical character recognition system Who this book is
forThis book is for data scientists, machine learning developers,
deep learning enthusiasts and Python programmers who want to solve
real-world challenges using machine-learning techniques and
algorithms. If you are facing challenges at work and want
ready-to-use code solutions to cover key tasks in machine learning
and the deep learning domain, then this book is what you need.
Familiarity with Python programming and machine learning concepts
will be useful.
Gain proficiency in monitoring infrastructure along with focusing
on cloud backup and recovery Key Features Explore the 3-2-1 rule of
backups in Veeam to keep your data safe Gain in-depth knowledge of
NAS backups and Scale-Out Repositories to use in your virtual
environment Discover Veeam's monitoring and reporting utility -
Veeam ONE - along with Linux and Window's proxy Book
DescriptionVeeam is one of the leading modern data protection
solutions, and mastering this technology can help you to protect
your virtual environments effectively. This book guides you through
implementing modern data protection solutions for your cloud and
virtual infrastructure with Veeam. You will even gain in-depth
knowledge of advanced concepts such as DataLabs, cloud backup and
recovery, Instant VM Recovery, and Veeam ONE. This book starts by
taking you through Veeam essentials, including installation, best
practices, and optimizations for Veeam Backup & Replication.
You'll get to grips with the 3-2-1 rule to safeguard data along
with understanding how to set up a backup server, proxies,
repositories, and more. Later chapters go on to cover a powerful
feature of Veeam 10 - NAS backup. As you progress, you'll learn
about scale-out Repositories and best practices for creating them.
In the concluding chapters, you'll explore the new proxy option
available in both Linux and Windows. Finally, you'll discover
advanced topics such as DataLabs, cloud backup and recovery,
Instant VM Recovery, and Veeam ONE. By the end of this book, you
will be equipped with the skills you need to implement Veeam Backup
& Replication for your environment and disaster recovery. What
you will learn Discover the advanced concepts of Veeam Backup &
Replication 10 Master application optimizations based on Veeam best
practices Understand how to configure NAS backups and work with
repositories and proxies Explore different ways to protect your
backups, including object immutability and cloud backup and
recovery Discover how DataLabs works Understand how Instant VM
Recovery allows you to restore virtual machines Become well versed
in Veeam ONE for monitoring and reporting on your environment Who
this book is forThis Veeam backup book is for IT professionals who
have intermediate to advanced-level knowledge of virtualization as
well as backups and backup applications. Anyone who needs a
reference guide for learning the advanced features of Veeam Backup
& Replication and how they are used, including best practices
and optimizations, will also find this book useful.
Learn how to pentest your hardware with the most common attract
techniques and patterns Key Features Explore various pentesting
tools and techniques to secure your hardware infrastructure Protect
your hardware by finding potential entry points like glitches Find
the best practices for securely designing your products Book
DescriptionIf you're looking for hands-on introduction to
pentesting that delivers, then Practical Hardware Pentesting is for
you. This book will help you plan attacks, hack your embedded
devices, and secure the hardware infrastructure. Throughout the
book, you will see how a specific device works, explore the
functional and security aspects, and learn how a system senses and
communicates with the outside world. You'll set up a lab from
scratch and then gradually work towards an advanced hardware
lab-but you'll still be able to follow along with a basic setup. As
you progress, you'll get to grips with the global architecture of
an embedded system and sniff on-board traffic, learn how to
identify and formalize threats to the embedded system, and
understand its relationship with its ecosystem. You'll discover how
to analyze your hardware and locate its possible system
vulnerabilities before going on to explore firmware dumping,
analysis, and exploitation. The reverse engineering chapter will
get you thinking from an attacker point of view; you'll understand
how devices are attacked, how they are compromised, and how you can
harden a device against the most common hardware attack vectors. By
the end of this book, you will be well-versed with security best
practices and understand how they can be implemented to secure your
hardware. What you will learn Perform an embedded system test and
identify security critical functionalities Locate critical security
components and buses and learn how to attack them Discover how to
dump and modify stored information Understand and exploit the
relationship between the firmware and hardware Identify and attack
the security functions supported by the functional blocks of the
device Develop an attack lab to support advanced device analysis
and attacks Who this book is forIf you're a researcher or a
security professional who wants a comprehensive introduction into
hardware security assessment, then this book is for you. Electrical
engineers who want to understand the vulnerabilities of their
devices and design them with security in mind will also find this
book useful. You won't need any prior knowledge with hardware
pentensting before you get started; everything you need is in the
chapters.
Learn how to use RxClojure to deal with stateful computations Key
Features Leverage the features of Functional Reactive Programming
using Clojure Create dataflow-based systems that are the building
blocks of Reactive Programming Use different Functional Reactive
Programming frameworks, techniques, and patterns to solve
real-world problems Book DescriptionReactive Programming is central
to many concurrent systems, and can help make the process of
developing highly concurrent, event-driven, and asynchronous
applications simpler and less error-prone. This book will allow you
to explore Reactive Programming in Clojure 1.9 and help you get to
grips with some of its new features such as transducers, reader
conditionals, additional string functions, direct linking, and
socket servers. Hands-On Reactive Programming with Clojure starts
by introducing you to Functional Reactive Programming (FRP) and its
formulations, as well as showing you how it inspired Compositional
Event Systems (CES). It then guides you in understanding Reactive
Programming as well as learning how to develop your ability to work
with time-varying values thanks to examples of reactive
applications implemented in different frameworks. You'll also gain
insight into some interesting Reactive design patterns such as the
simple component, circuit breaker, request-response, and
multiple-master replication. Finally, the book introduces
microservices-based architecture in Clojure and closes with
examples of unit testing frameworks. By the end of the book, you
will have gained all the knowledge you need to create applications
using different Reactive Programming approaches. What you will
learn Understand how to think in terms of time-varying values and
event streams Create, compose, and transform observable sequences
using Reactive extensions Build a CES framework from scratch using
core.async as its foundation Develop a simple ClojureScript game
using Reagi Integrate Om and RxJS in a web application Implement a
reactive API in Amazon Web Services (AWS) Discover helpful
approaches to backpressure and error handling Get to grips with
futures and their applications Who this book is forIf you're
interested in using Reactive Programming to build asynchronous and
concurrent applications, this is the book for you. Basic knowledge
of Clojure programming is necessary to understand the concepts
covered in this book.
Explore the complete process of developing systems based on
field-programmable gate arrays (FPGAs), including the design of
electronic circuits and the construction and debugging of prototype
embedded devices Key Features Learn the basics of embedded systems
and real-time operating systems Understand how FPGAs implement
processing algorithms in hardware Design, construct, and debug
custom digital systems from scratch using KiCad Book
DescriptionModern digital devices used in homes, cars, and
wearables contain highly sophisticated computing capabilities
composed of embedded systems that generate, receive, and process
digital data streams at rates up to multiple gigabits per second.
This book will show you how to use Field Programmable Gate Arrays
(FPGAs) and high-speed digital circuit design to create your own
cutting-edge digital systems. Architecting High-Performance
Embedded Systems takes you through the fundamental concepts of
embedded systems, including real-time operation and the Internet of
Things (IoT), and the architecture and capabilities of the latest
generation of FPGAs. Using powerful free tools for FPGA design and
electronic circuit design, you'll learn how to design, build, test,
and debug high-performance FPGA-based IoT devices. The book will
also help you get up to speed with embedded system design, circuit
design, hardware construction, firmware development, and debugging
to produce a high-performance embedded device - a network-based
digital oscilloscope. You'll explore techniques such as designing
four-layer printed circuit boards with high-speed differential
signal pairs and assembling the board using surface-mount
components. By the end of the book, you'll have a solid
understanding of the concepts underlying embedded systems and FPGAs
and will be able to design and construct your own sophisticated
digital devices. What you will learn Understand the fundamentals of
real-time embedded systems and sensors Discover the capabilities of
FPGAs and how to use FPGA development tools Learn the principles of
digital circuit design and PCB layout with KiCad Construct
high-speed circuit board prototypes at low cost Design and develop
high-performance algorithms for FPGAs Develop robust, reliable, and
efficient firmware in C Thoroughly test and debug embedded device
hardware and firmware Who this book is forThis book is for software
developers, IoT engineers, and anyone who wants to understand the
process of developing high-performance embedded systems. You'll
also find this book useful if you want to learn about the
fundamentals of FPGA development and all aspects of firmware
development in C and C++. Familiarity with the C language, digital
circuits, and electronic soldering is necessary to get started.
Give your students an understanding of the most important topics in embedded systems design using a coherent, compelling and hands-on approach.
Now in its 2nd edition, this textbook has been updated on a new development board from STMicroelectronics - the Arm Cortex-M0+ based Nucleo-F091RC. Designed to be used in a one- or two-semester introductory course on embedded systems, the textbook covers fundamental topics including the CPU, interrupt systems, peripherals, serial communication and multi-tasking.
Software examples in this textbook are written in C and the free version of Arm's Keil MDK-ARM integrated development environment is used throughout the materials.
|
|