AHDL

Groups



Symbolic names and ports of the same type can be declared and used as groups in Boolean expressions and equations. A group is treated as a collection of nodes and acted on as a single unit.

Groups in the Logic Section or Variable Section of a Text Design File (.tdf) can consist of nodes. Single nodes and the constants GND and VCC can be duplicated to form groups in Boolean expressions and equations.

Groups can be declared with the following three notations:

  1. A single-range group name consists of a symbolic name or port name followed by a single range enclosed in brackets, for example, a[4..1]. The symbolic or port name, together with the longest number in the range, can contain up to 256 name characters.  Example

    Once a group has been defined, [] is a shorthand way of specifying the entire range.  Example

    An individual node within a group can be referenced as name[a], where a is a number in the group range.  Example

  2. A dual-range group name consists of a symbolic name or port name followed by two ranges enclosed in brackets, for example, d[6..0][2..0]. The symbolic or port name, together with the longest number in each range, can contain up to 256 name characters.  Example

    The dual-range group notation is useful for specifying groups of buses and for designs with two-dimensional topologies. Once a group has been defined, [][] is a shorthand way of specifying both ranges.  Example

    An individual node within the group can be referenced as name[y][z], namey_z, name[y]_z, or namey_[z], where y and z are numbers in the group ranges.

    More than one node within the group can be referenced as name[w][x], name[w]_x, or namew_[x], where w and x are numbers or ranges of numbers that are in the group ranges.  Example

  3. A sequential group name consists of a list of symbolic names, ports, or numbers, separated by commas and enclosed in parentheses, for example, (a, b, c). Single- and dual-range group names can also be listed within the parentheses.  Example

    The sequential group notation is useful for specifying port names.  Example


The following two sets of examples show two groups specified with different notations:

b[5..0]
(b5, b4, b3, b2, b1, b0)
b[]

b[log2(256)..1+2-1]
b[2^8..3 mod 1]
b[2*8..8 div 2]
NOTE Compiler-generated names that contain the tilde (~) character may appear in the compilation database for a project. If you back-annotate the assignments in the database, these names appear in the project's Compiler Settings File (.csf). The tilde character is reserved for Compiler-generated names only; you cannot use it in your own pin, node, and group names.


Back to Top

- PLDWorld -

 

Created by chm2web html help conversion utility.