Upcoming RDC Assist Webinar

Questa RDC Assist – Improving designer productivity and enabling faster RDC verification closure with machine learning

Wednesday, May 22nd | 8:00 AM US/Pacific

Learn more and register.

  1. VHDL 2008 Tracks

    View more VHDL resources
  2. VHDL Verification Forum

    View more posts about VHDL in the Forum
  3. Block Container - Overview

    1. VHDL 2008 Overview

      VHDL 2008 Overview

      VHDL (VHSIC Hardware Description Language) is a powerful hardware description language developed by the IEEE (Institute of Electrical and Electronics Engineers) for describing the structure and behavior of digital circuits at various levels of abstraction. The language provides a concise and expressive means for designers to specify the logic functionality they have in mind without being overly burdened with the complexities associated with actual hardware implementation.

      VHDL 2008, the latest revision of the language, introduces several enhancements and new features to provide improved usability, increased expressiveness, and more consistent functionality.

      Syntax Enhancements

      One of the key features of VHDL 2008 is the addition of several syntactic enhancements that aim to simplify the language while providing greater flexibility. These enhancements include:

      • Optional "after" keyword: In VHDL 2008, the "after" keyword in delay statements is optional, providing improved readability and consistency. For example, the following statements are both valid in VHDL 2008:
      signal_a <= '1' after 1 ns;
      signal_a <= '1' after 1 ns;
      • Package instances: VHDL 2008 allows the instantiation of package components, which can be used to simplify code and avoid redundant code. Instantiation syntax is as follows:
      component_name : package_name . package_component
      generic map (...)
      port map (...);
      • Attribute index expressions: In VHDL 2008, the index expressions used with attributes can now be more complex. This allows for greater flexibility when accessing and modifying array elements and other aggregate data types. An example of a complex index expression is:
      signal_a <= some_array(some_index + 3)(3 downto 0);

      2008 Features

      VHDL 2008 also introduces several new features that further enhance the power, flexibility, and usability of the language. Some of these features include:

      • Parallel value update: VHDL 2008 supports parallel value updates within a single assignment statement. This allows two or more objects to be updated simultaneously with a single expression, potentially resulting in more compact and clear code. An example of parallel value update is:
      signal_a <= (object_1 => value_1, object_2 => value_2);
      • Function and procedure overloading: VHDL 2008 allows function and procedure overloading, enabling multiple implementations of the same named function or procedure. This can help eliminate code duplication and improve code reusability. An example of overloading is:
      function multiply (a : integer; b : integer) return integer;
      function multiply (a : real; b : real) return real;
      • Loop label: VHDL 2008 introduces the concept of loop labels, allowing multiple nested loops to be exited simultaneously using a single "exit" statement. This can improve both code readability and maintainability. An example of loop label is:
      <<outer_loop>>
      for i in 1 to 10 loop
        for j in 1 to 10 loop
          if some_condition then
            exit outer_loop;
          end if;
        end loop;
      end loop;

      Benefits

      The introduction of these new features and syntax improvements in VHDL 2008 provides numerous benefits to designers and developers alike. Some of the most significant benefits include:

      • Increased expressiveness: The enhancements in VHDL 2008 allow designers to more clearly and concisely express their intentions in their code. This can lead to easier understanding and maintenance of the codebase.
      • Improved readability: The syntactic enhancements in VHDL 2008 make the language more consistent and easier to read, leading to a reduced learning curve for new developers and reduced time spent debugging existing code.
      • Enhanced code reusability: The features in VHDL 2008, such as package instantiation and function overloading, promote greater
  4. Block Container - Conclusion

    1. VHDL 2008 Conclusion

      VHDL 2008 Conclusion

      VHDL 2008, It offers several key improvements over its predecessors, such as VHDL-2002. Some of the notable enhancements in VHDL 2008 include the introduction of:

      • Record types, allowing for more complex and flexible data structures.
      • Functions, which can return a value and can operate on arrays, records, and other complex data types.
      • Concurrent selected signal assignments, which provide for more expressive and concise code.
      • A more flexible package system, allowing packages to be declared within architecture declarations.
      • Enhanced support for synthesis and verification tools.

      To design using VHDL 2008, developers must understand its core concepts, such as design units, declarations, and statements. Additionally, they should be familiar with various constructs like data types, operators, and loops. Lastly, they must be aware of the specific libraries and configurations that support the new features.

      VHDL 2008's improved functionality offers increased flexibility and expressiveness for designers, allowing for more efficient creation of complex digital systems. As electronic systems and their components continue to grow in scale and functionality, VHDL is likely to expand to support future needs.