It & Software Online Course by Udemy, On Sale Here
Gain a Solid Foundation in VHDL for FPGA Development with Lots of Examples
An excellent training about Hardware
Learn FPGA Design With VHDL (Intel/Altera)
Course Audience: This course is aimed at students & engineers who want to get into the field of FPGA development using VHDL. No prior knowledge in VHDL/FPGA is assumed so we will start from the very basics. Students should have a basic knowledge of digital electronics including logic gates and flip-flops. Course Summary: This course covers the VHDL language in detail. In between lectures, we will complete a number of fun projects (please see below) with increasing complexity to consolidate the knowledge we have gained during the course. We will go through how to write Test Benches and we will implement a number of Test Benches to verify the UARTproject. We cover the Intel Quartus software in detail and also go through how to simulate Test Benches using using ModelSim. Projects (Implemented and Tested On a Cyclone IVDevelopment Board):1. Reading a switch input and driving an LEDoutput2. Simple State Machine which reacts to user input and drives a number of LEDs3. Synchronising and de-bouncing a Switch Input.4. Generating a PWMoutput.5. Designing a Shift Register.6. 4 Digit 7-Segment display for counting the number of push button activations7. UARTmodule & State machine for echoing back characters received from a PC over RS232Intel Quartus Softare:1. Creating & Compiling a new project 2. Performing pin assignments.3. Basic introduction to Quartus IPCatalogue.4. Using the USBBlaster to program the FPGAvia JTAG.5. Using the Quartus Net List Viewer to explore the hardware realisation of your design.6. Making sense of Quartus Fitter Reports to better understand resource allocation.7. Using the Quartus Assignment Editor.8. Overview of Quartus settings, options and optimisations.9. Basic introduction to timing analyser, timing constraints and SDC files. Intel ModelSim StarterEditionSoftware: 1. Creating a new ModelSim Project.2. Writing & compiling Test Benches.3. Running simulations.4. Using the Waveform viewer to analyse results. Course Details: We will start by covering the basics of FPGA hardware. This hardware background is vital and as we learn how to write VHDL, we will also refer back to how our code gets implemented in hardware. In the second section of the course, we will cover the VHDL language in detail. We will cover all the aspects (Signals & Data types, VHDL Keywords & Operators, Concurrent & Sequential statements, Entity & Architecture, Process Block, Generics, Constants & Variables, Records, Component Instantiation, Procedures & Functions, Packages & Libraries and Type Conversions) that are needed to be able to develop complex and advanced FPGA designs. There will be plenty of simple examples to allow you to learn the VHDLlanguage quickly and enable you to confidently write your own code. We will also look at how most of the VHDL language maps to hardware on the actual device. With this strong foundation in the language, we will look at how to build fundamental FPGA blocks starting from Tri-State Drivers, Registers, Comparators, Multiplexers, Shift Registers, Serialisers, RAMs & ROMs and Finite State Machines. We will look at how to code all of the above structures and also explore how these are implemented in real hardware in the FPGA. In the next section, we will look at hierarchical design with VHDL. This design practise is used when creating complex designs having more than one design unit. We will explore this concept from an example to see how design units can be joined together to form a hierarchical design. In the next section we will explore good FPGA design practise. From my experience most beginners in FPGA design make common mistakes and fall into certain traps. Some of these can lead to issues that are very difficult to debug and fix. The idea behind this section is to make you aware of these common pitfalls and explore ways in which we can circumvent these. We will talk about Latches, Generated Clocks, Clock & Data Gating, Benefits of a Register Rich Design, Benefits of Synchronous Design, Dealing With Asynchronous Inputs, Clock Domain Crossing, Designing forReuse, Signal Initialisation, Synchronising Reset De-assertion, Routing Clocks & Resets and Using PLLs. By this stage, we would have covered a lot of the theory and also completed a number of design projects so you should have the knowledge to create your own FPGAdesigns independently. We will now cover design verification. This section will explore how to write test benches. We will explore aspects of VHDL coding styles for writing test benches. We will discuss how to perform file IOfor creating input vectors and to store output results. We will also discuss self-checking test benches to help automate the test process. In the final section of the course, we will design a UART module controlled by a State machine. We will write VHDLcode to implement the UART and state machine from scratch. We will use a hierarchical design approach where we will have a number of design units. We will write test benches for each design unit and perform simulations (using ModelSim) for verification. We will bring all de
Udemy is the leading global marketplace for learning and instruction
By connecting students all over the world to the best instructors, Udemy is helping individuals reach their goals and pursue their dreams.
Study anytime, anywhere.