وبلاگ بلیان

Russian Short Stories for Beginners and Intermediate Learners

جلد کتاب Russian Short Stories for Beginners and Intermediate Learners

معرفی کتاب «Russian Short Stories for Beginners and Intermediate Learners» نوشتهٔ Frank Bruno و Guru, Language، منتشرشده توسط نشر 2019 در سال 2019. این کتاب در فرمت mobi، زبان انگلیسی ارائه شده است.

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 Description Field 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 serial interfaces 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 serial interfaces Discover how you can implement a VGA interface in your projects Who this book is for This 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. Table of Contents Introduction to FPGAs and Xilinx architectures Designing with combinational logic Counting button presses Let's build a calculator FPGA resources and how to use them - DSP, RAM, PLLs Math, parallelism, and pipelined design Introduction to AXI Serial interfaces - SPI, I2C, UART, PS/2 Lots of data? MIG and DDR2 A better way to display information - VGA Advanced Topics Cover Title Page Copyright and Credits Contributors Table of Contents Preface Section 1: Introduction to FPGAs and Xilinx Architectures Chapter 1: Introduction to FPGA Architectures and Xilinx Vivado Technical requirements Hardware Software What is an ASIC? Why an ASIC or FPGA? How does a company create a programmable device using an ASIC process? Fundamental logic gates More complex operations Introducing FPGAs Exploring the Xilinx Artix-7 and 7 series devices Combinational logic blocks Storage Clocking I/Os DSP48E1 ASMBL architecture Introduction to the Vivado toolset and evaluation boards Evaluation boards Nexys A7 100T (or 50T) Basys 3 Introducing Vivado Vivado installation Directory structure Running the example Summary Questions Challenge Further reading Section 2: Introduction to Verilog RTL Design, Simulation, and Implementation Chapter 2: Combinational Logic Technical requirements Creating SystemVerilog modules How to create reusable code – parameters Introducing data types Introducing built-in data types Creating arrays Handling multiple-driven nets Handling signed and unsigned numbers Adding bits to a signal by concatenating Casting signed and unsigned numbers Creating user-defined types Accessing signals using values with enumerated types Packaging up code using functions Creating combinational logic Using custom data types Project 1 – creating combinational logic Testbench Implementing a leading-one detector using the case statement Designing a reusable leading-one detector using a for loop Counting the number of ones Implementing an adder/subtractor Multiplier Bringing it all together Summary Questions Challenge Further reading Chapter 3: Counting Button Presses Technical requirements What is a sequential element? Clocking your design Looking at a basic register Registers in the Artix 7 Project 2 – Counting button presses Introducing the seven-segment display Detecting button presses What about simulation? Deep dive on synchronization Why use multiple clocks? Two-stage synchronizer Synchronizing control signals Passing data Summary Questions Challenge Further reading Chapter 4: Let's Build a Calculator Technical requirements Implementing our first state machine Writing a purely sequential state machine Splitting combination and sequential logic in a state machine Designing a calculator interface Designing a Moore state machine Implementing a Mealy state machine Practical state machine design Project 3 – Building a simple calculator Packaging for reuse Coding the top level Investigating the divider Project 4 – Keeping cars in line Defining the state diagram Displaying our traffic lights Summary Questions Challenge Extra challenge Further reading Chapter 5: FPGA Resources and How to Use Them Technical requirements Project 5 – Listening and learning What is a PDM microphone? Simulating the microphone Introducing storage Capturing audio data Project 6 – Using the temperature sensor Handling the data Smoothing out the data Summary Questions Further reading Chapter 6: Math, Parallelism, and Pipelined Design Technical requirements Introduction to fixed-point numbers Project 7 – Using fixed-point arithmetic in our temperature sensor Using fixed-point arithmetic to clean up the bring-up time Temperature conversion using fixed-point arithmetic What about floating-point numbers? A quick look at the AXI streaming interface Project 8 – Updating the temperature sensor project to a pipelined floating-point implementation Fix to floating point conversion Floating-point math operations Float to fixed point conversion Simulation Parallel designs ML and AI and massive parallelism Parallel design – a quick example Summary Questions Challenge Further reading Section 3: Interfacing with External Components Chapter 7: Introduction to AXI Technical requirements AXI streaming Project 9 – creating IPs for Vivado using AXI streaming interfaces Seven-segment display streaming interface Developing the ADT7420 IP Understanding the flt_temp core IP integrator AXI4 interfaces (full and AXI-Lite) Developing IPs – AXI-Lite, full, and streaming Adding an unpackaged IP to the IP integrator Summary Questions Further reading Chapter 8: Lots of Data? MIG and DDR2 Technical requirements Project 10 – introducing external memory Introduction to DDR2 Generating a DDR2 controller using the Xilinx MIG Modifying the design for use on the board Other external memory types Quad Data Rate (QDR) SRAM HyperRAM SPI RAM Summary Questions Challenge Further reading Chapter 9: A Better Way to Display – VGA Technical requirements Project 11 – Introducing the VGA Defining registers Generating timing for the VGA Displaying text Testing the VGA controller Examining the constraints Summary Questions Challenge Further reading Chapter 10: Bringing It All Together Technical requirements Investigating the keyboard interface Project 12 – keyboard handling Testing the PS/2 Project 13 – bringing it all together Displaying PS/2 keycodes on the VGA screen Displaying the temperature sensor data Displaying audio data Summary Questions Challenge Further reading Chapter 11: Advanced Topics Technical requirements Exploring more advanced SystemVerilog constructs Interfacing components using the interface construct Using structures Block labels Looping using for loops Looping using do...while Exiting a loop using disable Skipping code using continue Using constants Exploring some more advanced verification constructs Introducing SystemVerilog queues Display enhancements A quick introduction to assertions Using $error or $fatal in synthesis Other gotchas and how to avoid them Inferring single bit wires Bit width mismatches Upgrading or downgrading Vivado messages Handling timing closure Summary Questions Further reading Why subscribe? Other Books You May Enjoy Index "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 serial interfaces 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"--Amazon.com
دانلود کتاب Russian Short Stories for Beginners and Intermediate Learners