|
所在平台: Udemy |
课程主页: https://www.udemy.com/course/fpga-design-and-implementation/
课程评论:没有评论
课程名称:FPGA(现场可编程门阵列)设计与实现 课程概述:欢迎参加Uplatz的FPGA设计与实现课程。FPGA,即现场可编程门阵列,是一种用户可在制造后进行特定用途编程的集成电路。现代FPGA包含自适应逻辑模块(ALM)和逻辑元素(LE),通过可编程互连相连。这些模块构建出一个物理逻辑门阵列,可以根据特定计算任务进行定制,与其他微控制器或中央处理单元(CPU)不同,后者的配置在制造时就已确定且无法修改。FPGA编程因其相较传统集成电路提供显著优势而成为热点。FPGA能够将资源密集型任务转移到硬件上,从而显著提高性能,并且可以根据动态需求进行编程和重新编程。 本课程的目标是掌握FPGA的基本知识,以便为多种应用创建原型或产品。虽然FPGA设计是一个复杂的主题,但我们会通过简明易懂的方式讲解基本概念,同时给有经验的设计师提供挑战。课程内容将涵盖FPGA和复杂可编程逻辑设备(CPLD)的复杂性、能力及其发展趋势。学员将提升设计、实施和调试的能力,学习嵌入式IP和处理器核心的优缺点,以及是购买还是实现IP的利弊。此外,课程中还将展示最新的软件和FPGA开发工具及硬件平台,以帮助学员全面了解各种可编程SoC解决方案的能力。 课程大纲包含以下内容: - FPGA介绍 - FPGA测试 - FPGA设计流程及设计工具 - 基于Verilog的FPGA设计基础 - Verilog数据类型和过程分配 - Verilog设计的可视化验证 - 有限状态机设计(分两部分) - Verilog设计示例和测试平台 - SystemVerilog综合 - SOPC设计模拟和实施 - 从外设读取数据 - 图像处理 - DSP电路的FPGA实现 - 可重构硬件及挑战 课程将帮助学员通过FPGA设计的基本原理,逐步培养他们的设计能力,适合各种背景的学习者。
A warm welcome to the FPGA Design & Implementation course by Uplatz.FPGA stands for Field Programmable Gate Array. FPGA is essentially an integrated circuit that can be programmed by a user for a specific use after it has been manufactured. The modern day FPGAs contain adaptive logic modules (ALMs) and logic elements (LEs) connected via programmable interconnects. These blocks create a physical array of logic gates that can be customized to perform specific computing tasks. This makes them very different from other types of microcontrollers or Central Processing Units (CPUs), whose configuration is set and sealed by a manufacturer and cannot be modified.FPGA programming has become a buzzword these days due to it offering considerable benefits over the traditional ICs. FPGA allows you to offload resource hungry-tasks to hardware and thus cause a significant increase in performance. FPGAs can be programmed and reprogrammed according to the dynamic needs.FPGAs (Field Programmable Gate Arrays) are integrated circuits that are commonly available off-the-shelf. They're called 'field programmable' because they allow customers to alter the hardware after it's been manufactured to satisfy particular use case needs. This enables for in-place feature updates and bug fixes, which is particularly important for remote deployments. FPGAs include customizable logic blocks (CLBs) and programmable interconnects that enable the designer to link and configure the blocks to accomplish a wide range of tasks, from basic logic gates to complicated functions. On a single FPGA chip, whole SoC architectures with various processes may be implemented.FPGAs are very adaptable. After the board has been developed, they enable engineers to test any number of variables. New configuration files are transferred onto the device when modifications are necessary, allowing new capability to be accessed. OEMs may supply systems earlier in the design phase because of this flexibility. Developers create prototypes on FPGA to gradually improve the design before it is taped out. FPGAs are often employed in commercial applications where parallel processing is required and the requirements are dynamic, such as telecommunications and aircraft.The FPGA evolved from older devices such as programmable read-only memory (PROMs) and programmable logic devices (PLDs) (PLDs). These devices could be programmed in the factory or in the field, but they utilised fuse technology (thus the term "burning a PROM") and couldn't be modified after they were programmed. FPGAs, on the other hand, store their configuration data in a reprogrammable media like static RAM (SRAM) or flash memory. Intel, Xilinx, Lattice Semiconductor, Microchip Technology, and Microsemi are among the FPGA manufacturers.The goal of this FPGA Design & Implementation course is to gain knowledge about Field Programmable Gate Arrays (FPGAs) in order to create prototypes or products for a number of applications. Although FPGA design is a complicated subject, we will explain it in such a way that the fundamental ideas may be readily mastered with a little effort, while simultaneously offering a challenge for the more experienced designer. Field Programmable Gate Arrays (FPGA) and Complex Programmable Logic Devices (CPLD) will be examined for their complexity, capabilities, and trends (CPLD). The abilities of conception, design, implementation, and debugging will be honed. You'll learn about embedded IP and processor cores, as well as the advantages and disadvantages of implementing vs purchasing IP. The newest software and FPGA development tools, as well as hardware platforms are demonstrated in this FPGA course to assist establish a wide understanding of the capabilities of different Programmable SoC solutions. The delegates will learn the fundamentals of digital systems design utilizing FPGAs in this course.FPGA Design & Implementation - Course SyllabusIntroduction to FPGA (Field Programmable Gate Arrays)FPGA TestingFPGA Design Flows & Design ToolsFPGA Design using Verilog - IntroductionFPGA Design using Verilog - Verilog overviewFPGA Design using Verilog - Data TypesFPGA Design using Verilog - Procedural AssignmentsFPGA Design using Verilog - VHDL Design using VerilogFPGA Design using Verilog - Visual Verification of DesignsFPGA Design using Verilog - Finite State Machines - part 1FPGA Design using Verilog - Finite State Machines - part 2FPGA Design using Verilog - Design ExamplesFPGA Design using Verilog - Test BenchesFPGA Design using Verilog - SystemVerilog for SynthesisFPGA Design using Verilog - Packages & InterfacesSimulate and implement SOPC DesignReading Data from PeripheralsUART SDRAM PythonScript execution in Quartus and ModelSim NIOSImage Processing using FPGAChallenges in using FPAA FPGA in Mixed Signal TechnologyProtoflexReconfigurable HardwareWordcount using MapReduce for FPGAFPGA implementation of DSP CircuitsReversible Logic CircuitsFPGA implementation of Divider in Finite FieldPrinciples of PLISpartan FPGA implementationProgrammable Chips and BoardsMemristive FPGAMentor Graphics Tools & GuidelinesFPGA Functional DesignThe process of turning an original system concept into an actual FPGA implementation that accomplishes the needed tasks is known as functional design. The basic concept for the design cycle must specify how the design will be partitioned among various FPGAs if necessary. The process of functional design starts with the formation of a description of a system's sections (building blocks) in the most natural way feasible for the component in question. The simplest description methodology for fundamental structures built from primitive Actel, such as Multi-bit registers and multiplexors, is schematic capture using Design Architect (DA). For blocks containing random programming, such as decoders or ALUs, the easiest explanation is typically a hand-generated synthesizable VHDL model. Although automated HDL generators such as Renoir may be used to construct the natural graph description of a VHDL model, the simplest description is also a Synthesizable VHDL model for Finite State Machines (FSMs), such as controllers. After the building blocks have been first described, they should be separately simulated to check that they are properly functioning. This is done using the model-simulator, schematic Quicksim or VHDL model ModelSim.