دسترسی نامحدود
برای کاربرانی که ثبت نام کرده اند
برای ارتباط با ما می توانید از طریق شماره موبایل زیر از طریق تماس و پیامک با ما در ارتباط باشید
در صورت عدم پاسخ گویی از طریق پیامک با پشتیبان در ارتباط باشید
برای کاربرانی که ثبت نام کرده اند
درصورت عدم همخوانی توضیحات با کتاب
از ساعت 7 صبح تا 10 شب
ویرایش: [1 ed.]
نویسندگان: Frank Bruno
سری:
ISBN (شابک) : 9781789805413
ناشر: Packt Publishing
سال نشر: 2021
تعداد صفحات: 368
[369]
زبان: English
فرمت فایل : PDF (درصورت درخواست کاربر به PDF، EPUB یا AZW3 تبدیل می شود)
حجم فایل: 16 Mb
در صورت تبدیل فایل کتاب FPGA Programming for Beginners به فرمت های PDF، EPUB، AZW3، MOBI و یا DJVU می توانید به پشتیبان اطلاع دهید تا فایل مورد نظر را تبدیل نمایند.
توجه داشته باشید کتاب برنامه نویسی FPGA برای مبتدیان نسخه زبان اصلی می باشد و کتاب ترجمه شده به فارسی نمی باشد. وبسایت اینترنشنال لایبرری ارائه دهنده کتاب های زبان اصلی می باشد و هیچ گونه کتاب ترجمه شده یا نوشته شده به فارسی را ارائه نمی دهد.
با برنامه نویسی FPGA با استفاده از SystemVerilog شروع کنید و با ساختن پروژه ها، از جمله ماشین حساب و صفحه کلید، مهارت های دنیای واقعی را توسعه دهید. ویژگی های کلیدی روش های مختلف استفاده از FPGA و جریان ابزار FPGA را کاوش کنید نحوه طراحی، آزمایش و پیاده سازی مدارهای سخت افزاری با استفاده از SystemVerilog را بیاموزید ساخت پروژه های FPGA در دنیای واقعی مانند ماشین حساب و صفحه کلید با استفاده از منابع FPGA توضیحات کتاب آرایه های دروازه قابل برنامه ریزی میدانی (FPGA) اکنون به بخش اصلی اکثر سیستم های الکترونیکی و کامپیوتری مدرن تبدیل شده اند. با این حال، برای پیاده سازی ایده های خود در دنیای واقعی، باید سر خود را در مورد معماری FPGA، مجموعه ابزار آن و ملاحظات طراحی حیاتی بشناسید. برنامه نویسی FPGA برای مبتدیان با راهنمایی شما در کل فرآیند برنامه نویسی FPGA و طراحی مدارهای سخت افزاری با استفاده از SystemVerilog به شما کمک می کند تا ایده های خود را زنده کنید. این کتاب شما را با معماریهای FPGA و Xilinx آشنا میکند و به شما نشان میدهد که چگونه روی اولین پروژه خود کار کنید، که شامل جابجایی LED است. سپس طرح های SystemVerilog RTL و پیاده سازی آنها را پوشش خواهید داد. در مرحله بعد، با استفاده از طراحی منطق بولی ترکیبی و کار بر روی چندین پروژه، مانند ایجاد یک ماشین حساب و به روز رسانی آن با استفاده از منابع FPGA، آشنا خواهید شد. بعداً، این کتاب شما را با مفاهیم پیشرفته AXI و رابط های سریال آشنا می کند و به شما نشان می دهد که چگونه با استفاده از PS/2 یک صفحه کلید ایجاد کنید. در نهایت، میتوانید تمام پروژههای کتاب را برای ایجاد یک خروجی یکپارچه با استفاده از کنترلکننده آرایه گرافیک ویدیویی (VGA) که طراحی میکنید، ادغام کنید. در پایان این کتاب SystemVerilog FPGA، نحوه کار با سیستم های FPGA را یاد خواهید گرفت و می توانید مدارها و بردهای سخت افزاری را با استفاده از برنامه نویسی SystemVerilog طراحی کنید. آنچه خواهید آموخت آشنایی با معماری FPGA و پیاده سازی آن با نوشتن SystemVerilog RTL آشنا شوید پروژه های FPGA را با استفاده از برنامه نویسی SystemVerilog بسازید با مبانی ریاضی کامپیوتر، موازی سازی و خط لوله کار کنید موضوعات پیشرفته AXI و رابط های سریال را کاوش کنید کشف کنید که چگونه می توانید یک رابط VGA را در پروژه های خود پیاده سازی کنید این کتاب برای چه کسی است این کتاب طراحی FPGA برای توسعه دهندگان سیستم های جاسازی شده، مهندسان و برنامه نویسانی است که می خواهند برنامه نویسی FPGA و SystemVerilog را از ابتدا یاد بگیرند. طراحان FPGA که به دنبال کسب تجربه عملی در کار بر روی پروژه های دنیای واقعی هستند نیز این کتاب را مفید خواهند یافت. فهرست مطالب مقدمه ای بر معماری های FPGA و Xilinx طراحی با منطق ترکیبی فشار دادن دکمه شمارش بیایید یک ماشین حساب بسازیم منابع FPGA و نحوه استفاده از آنها - DSP، RAM، PLL ریاضیات، موازی سازی، و طراحی خط لوله مقدمه ای بر AXI رابط های سریال - SPI، I2C، UART، PS/2 داده های زیادی؟ MIG و DDR2 یک راه بهتر برای نمایش اطلاعات - VGA موضوعات پیشرفته
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