Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЛО САПР / VHDL.PDF
Скачиваний:
42
Добавлен:
17.04.2013
Размер:
5.27 Mб
Скачать

Chapter 11

VHDL Constructs

Many VHDL language constructs, although useful for simulation and other stages in the design process, are not relevant to synthesis. Because these constructs cannot be synthesized, Foundation Express does not support them.

This chapter provides a list of all VHDL language constructs with the level of support for each. At the end of the chapter is a list of VHDL reserved words.

The chapter is divided into the following sections.

“VHDL Construct Support”

“VHDL Reserved Words”

VHDL Construct Support

A construct can be fully supported, ignored, or unsupported. Ignored and unsupported constructs are defined as follows.

Ignored means that the construct is allowed in the VHDL source but is ignored by Foundation Express.

Unsupported means that the construct is not allowed in the VHDL source and that Foundation Express flags the construct as an error. If errors are found in a VHDL description, the description is not translated (synthesized).

Constructs are listed in the following order.

Design units

Data types

Declarations

Specifications

VHDL Reference Guide

11-1

VHDL Reference Guide

Names

Operators

Operands and expressions

Sequential statements

Concurrent statements

Predefined language environment

Design Units

entity

The entity statement part is ignored.

Generics are supported, but only of type INTEGER. Default values for ports are ignored.

architecture

Multiple architectures are allowed.

Global signal interaction between architectures is unsupported.

configuration

Configuration declarations and block configurations are supported but only to specify the top-level architecture for a top-level entity.

Attribute specifications, use clauses, component configurations, and nested block configurations are unsupported.

package

Packages are fully supported.

library

Libraries and separate compilation are supported.

subprogram

Default values for parameters are unsupported. Assigning subprograms to indexes and slices of unconstrained out parameters is unsupported, unless the actual parameter is an identifier.

Subprogram recursion is unsupported if the recursion is not bounded by a static value.

11-2

Xilinx Development System

VHDL Constructs

Resolution functions are supported for wired-logic and three-state functions only.

Subprograms can only be declared in packages and in the declaration part of an architecture.

Data Types

enumeration

Enumeration is fully supported.

integer

Infinite-precision arithmetic is unsupported.

Integer types are automatically converted to bit vectors whose width is as small as possible to accommodate all possible values of the type’s range, either in unsigned binary for nonnegative ranges or in 2’s-complement form for ranges that include negative numbers.

physical

Physical type declarations are ignored. The use of physical types is ignored in delay specifications.

floating

Floating-point type declarations are ignored. The use of floating-point types is unsupported except for floating-point constants used with Express-defined attributes.

array

Array ranges and indexes other than integers are unsupported.

Multidimensional arrays are unsupported, but arrays of arrays are supported.

record

Record data types are fully supported.

access

Access type declarations are ignored, and the use of access types is unsupported.

file

VHDL Reference Guide

11-3

VHDL Reference Guide

File type declarations are ignored, and the use of file types is unsupported.

incomplete type declarations

Incomplete type declarations are unsupported.

Declarations

constant

Constant declarations are supported except for deferred constant declarations.

signal

Register and bus declarations are unsupported. Resolution functions are supported for wired and three-state functions only. Only declarations from a globally static type are supported. Initial values are unsupported.

variable

Only declarations from a globally static type are supported. Initial values are unsupported.

shared variable

Variable shared by different processes. Shared variables are fully supported.

file

File declarations are unsupported.

interface

Buffer and linkage are translated to out and inout, respectively.

alias

Alias declarations are supported, with the following exceptions.

An alias declaration that lacks a subtype indication

A nonobject alias—such as an alias that refers to a type.

component

Only component declarations that list a valid entity name are supported.

11-4

Xilinx Development System

Соседние файлы в папке ЛО САПР