🌟 ประสบการณ์ การเข้ารับการฝึกอบรมเรื่องการเขียนโปรแกรมภาษา Advance VHDL (Very High Speed Integrated Circuit Hardware Description Language) ระหว่างวันที่ 16 มี.ค.63 – 18 มี.ค.63 ณ Doulos Ltd. เมือง Ringwood (https://www.doulos.com) และช่วงระหว่างวันที่ 27 เม.ษ.63 – 29 เม.ษ.63 ซึ่งเป็นสถาบันฝึกอบรบทางด้านอิเล็กทรอนิกส์ โดยการฝึกอบบรมภาษา VHDL ใช้สำหรับการออกแบบวงจรดิจิตอลภายในชิฟอิเล็กทรอนิกส์ FPGA (Field Programmable Gate Array) ซึ่งใช้เป็นตัวประมวลผลการทำงานของดาวเทียม เช่น ในบอร์ดวงจร CHDS (Core Data Hardware Subsystem) DHU (Data Handling Unit) บอร์ดวงจรควบคุมกล้องถ่ายภาพ จากการฝึกอบรมนี้สามารถนำมาใช้ประยุกต์ในการพัฒนาวงจรดิจิตอลร่วมกับวงจรอิเล็กทรอนิกส์ในระบบดาวเทียม
The VHDL comprehensive courses have two main training sections. The first section is VHDL for Designers and the second is the Advanced VHDL course.
🌟 The course content of VHDL for Designers are:
1. Introduction
The scope and application of VHDL • Design and tool flow • FPGAs • The VHDL world
2. Getting Started
The basic VHDL language constructs • VHDL source files and libraries • The compilation procedure • Synchronous design and timing constraints
3. FPGA Design Flow (Practical exercises using a hardware board)
Simulation • Synthesis • Place-and-Route • Device programming
4. Design Entities
Entities and Architectures • Std_logic • Signals and Ports • Concurrent assignments • Instantiation and Port Maps • The Context Clause
5. Processes
The Process statement • Sensitivity list versus Wait • Signal assignments and delta delays • Register transfers • Default assignment • Simple Testbenches
6. Synthesising Combinational Logic
If statements • Conditional signal assignments and Equivalent process • Transparent latches • Case statements • Synthesis of combinational logic
7. Types
VHDL types • Standard packages • Integer subtypes • Std_logic and std_logic_vector • Slices and concatenation • Integer and vector values
8. Synthesis of Arithmetic
Arithmetic operator overloading • Arithmetic packages • Mixing integers and vectors • Resizing vectors • Resource sharing
9. Synthesising Sequential Logic
RISING_EDGE • Asynchronous set or reset • Synchronous inputs and clock enables • Synthesisable process templates • Implying registers
10. FSM Synthesis
Enumeration types • VHDL coding styles for FSMs • State encoding • Unreachable states and input hazards
11. Memories
Array types • Modelling memories • IP Generators • Instantiating generated components • Implementing ROMs
12. Basic TEXTIO
TEXTIO • READ and WRITE • Using TEXTIO for testbench stimulus and outputs • STD_LOGIC_TEXTIO
🌟The course content of Advance VHDL are:
1. More Effective VHDL
o This section aims to introduce some of the more powerful features of VHDL. The topics comprise Variables, Loop, Array and Integer subtypes, Std_logic and resolution and Aggregates.
2. Managing Hierarchical Designs
o This section aims to understand some key points concerning VHDL components, libraries and configurations for hierarchical design. The topics comprise of Hierarchical design flow, Library name mapping, Component declaration, Configuration, Hierarchical configurations and Compilation order.
3. Parameterized Design Entities
o This section aims to learn other valuable features of the design entity for both synthesis and simulation in large and complex designs. The topics comprise Array attributes, ports and Generic Maps and Generate statements.
4. Procedural Testbenches
o This section aims to understand “Software-like”. VHDL constructs required by procedural testbench. The topics comprise of Subprograms-Procedure, Subprograms-Functions, Parameters and parameter association, Packages, Subprograms in packages, Overloading and ambiguity.
5. Text-Based Testbenches
o This section aims to understand the use of text files and functions for complex test benches. The topics include Assert, Opening and Closing Files, Converting between VHDL and text files, Checking Simulation results and Foreign bodies.
6. Gate-Level Simulation
o This section aims to show how to configure a test bench for gate-level simulation. The topics comprise of Rationale for gate-level simulation, VITAL tool flow, Reusing a RTL and gate-level results and Behavioural modelling.