微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > FPGA,CPLD和ASIC > 问个VHDL的语法问题

问个VHDL的语法问题

时间:10-02 整理:3721RD 点击:
-- function Delta is actually an arithmatic shift right
-- This strange construction is needed for compatibility with Xilinx WebPack
function Delta(Arg : signed; Cnt : natural) return signed is
variable tmp : signed(Arg'range);
constant lo : integer := Arg'high -cnt +1;
begin
for n in Arg'high downto lo loop
tmp(n) := Arg(Arg'high);
end loop;
for n in Arg'high -cnt downto 0 loop
tmp(n) := Arg(n +cnt);
end loop;
return tmp;
end function Delta;
想问问这个Arg'high是什么意思!我是新手,请多帮助!

VHDL Predefined AttributesThe syntax of an attribute is some named entity followed
by an apostrophe and one of the following attribute names.
A parameter list is used with some attributes.
Generally: T represents any type, A represents any array
or constrained array type, S represents any signal and
E represents a named entity.
T'BASEis the base type of the type T
T'LEFTis the leftmost value of type T. (Largest if downto)
T'RIGHTis the rightmost value of type T. (Smallest if downto)
T'HIGHis the highest value of type T.
T'LOWis the lowest value of type T.
T'ASCENDINGis boolean true if range of T defined with to .
T'IMAGE(X)is a string representation of X that is of type T.
T'VALUE(X)is a value of type T converted from the string X.
T'POS(X)is the integer position of X in the discrete type T.
T'VAL(X)is the value of discrete type T at integer position X.
T'SUCC(X)is the value of discrete type T that is the successor of X.
T'PRED(X)is the value of discrete type T that is the predecessor of X.
T'LEFTOF(X)is the value of discrete type T that is left of X.
T'RIGHTOF(X) is the value of discrete type T that is right of X.
A'LEFTis the leftmost subscript of array A or constrained array type.
A'LEFT(N)is the leftmost subscript of dimension N of array A.
A'RIGHTis the rightmost subscript of array A or constrained array type.
A'RIGHT(N)is the rightmost subscript of dimension N of array A.
A'HIGHis the highest subscript of array A or constrained array type.
A'HIGH(N)is the highest subscript of dimension N of array A.
A'LOWis the lowest subscript of array A or constrained array type.
A'LOW(N)is the lowest subscript of dimension N of array A.
A'RANGEis the rangeA'LEFT to A'RIGHTorA'LEFT downto A'RIGHT .
A'RANGE(N)is the range of dimension N of A.
A'REVERSE_RANGEis the range of A with to and downto reversed.
A'REVERSE_RANGE(N)is the REVERSE_RANGE of dimension N of array A.
A'LENGTHis the integer value of the number of elements in array A.
A'LENGTH(N)is the number of elements of dimension N of array A.
A'ASCENDINGis boolean true if range of A defined with to .
A'ASCENDING(N)is boolean true if dimension N of array A defined with to .
S'DELAYED(t) is the signal value of S at time now - t .
S'STABLEis true if no event is occurring on signal S.
S'STABLE(t)is true if no even has occurred on signal S for t units of time.
S'QUIETis true if signal S is quiet. (no event this simulation cycle)
S'QUIET(t)is true if signal S has been quiet for t units of time.
S'TRANSACTIONis a bit signal, the inverse of previous value each cycle S is active.
S'EVENTis true if signal S has had an event this simulation cycle.
S'ACTIVEis true if signal S is active during current simulation cycle.
S'LAST_EVENT is the time since the last event on signal S.
S'LAST_ACTIVEis the time since signal S was last active.
S'LAST_VALUE is the previous value of signal S.
S'DRIVINGis false only if the current driver of S is a null transaction.
S'DRIVING_VALUEis the current driving value of signal S.
E'SIMPLE_NAMEis a string containing the name of entity E.
E'INSTANCE_NAMEis a string containing the design hierarchy including E.
E'PATH_NAMEis a string containing the design hierarchy of E to design root.

不好意思,刚才格式没弄好……
VHDL Predefined Attributes
The syntax of an attribute is some named entity followed
by an apostrophe and one of the following attribute names.
A parameter list is used with some attributes.
Generally: T represents any type, A represents any array
or constrained array type, S represents any signal and
E represents a named entity.

T'BASEis the base type of the type T
T'LEFTis the leftmost value of type T. (Largest if downto)
T'RIGHTis the rightmost value of type T. (Smallest if downto)
T'HIGHis the highest value of type T.
T'LOWis the lowest value of type T.
T'ASCENDINGis boolean true if range of T defined with to .
T'IMAGE(X)is a string representation of X that is of type T.
T'VALUE(X)is a value of type T converted from the string X.
T'POS(X)is the integer position of X in the discrete type T.
T'VAL(X)is the value of discrete type T at integer position X.
T'SUCC(X)is the value of discrete type T that is the successor of X.
T'PRED(X)is the value of discrete type T that is the predecessor of X.
T'LEFTOF(X)is the value of discrete type T that is left of X.
T'RIGHTOF(X) is the value of discrete type T that is right of X.
A'LEFTis the leftmost subscript of array A or constrained array type.
A'LEFT(N)is the leftmost subscript of dimension N of array A.
A'RIGHTis the rightmost subscript of array A or constrained array type.
A'RIGHT(N)is the rightmost subscript of dimension N of array A.
A'HIGHis the highest subscript of array A or constrained array type.
A'HIGH(N)is the highest subscript of dimension N of array A.
A'LOWis the lowest subscript of array A or constrained array type.
A'LOW(N)is the lowest subscript of dimension N of array A.
A'RANGEis the rangeA'LEFT to A'RIGHTorA'LEFT downto A'RIGHT .
A'RANGE(N)is the range of dimension N of A.
A'REVERSE_RANGEis the range of A with to and downto reversed.
A'REVERSE_RANGE(N)is the REVERSE_RANGE of dimension N of array A.
A'LENGTHis the integer value of the number of elements in array A.
A'LENGTH(N)is the number of elements of dimension N of array A.
A'ASCENDINGis boolean true if range of A defined with to .
A'ASCENDING(N)is boolean true if dimension N of array A defined with to .
S'DELAYED(t) is the signal value of S at time now - t .
S'STABLEis true if no event is occurring on signal S.
S'STABLE(t)is true if no even has occurred on signal S for t units of time.
S'QUIETis true if signal S is quiet. (no event this simulation cycle)
S'QUIET(t)is true if signal S has been quiet for t units of time.
S'TRANSACTIONis a bit signal, the inverse of previous value each cycle S is active.
S'EVENTis true if signal S has had an event this simulation cycle.
S'ACTIVEis true if signal S is active during current simulation cycle.
S'LAST_EVENT is the time since the last event on signal S.
S'LAST_ACTIVEis the time since signal S was last active.
S'LAST_VALUE is the previous value of signal S.
S'DRIVINGis false only if the current driver of S is a null transaction.
S'DRIVING_VALUEis the current driving value of signal S.
E'SIMPLE_NAMEis a string containing the name of entity E.
E'INSTANCE_NAMEis a string containing the design hierarchy including E.
E'PATH_NAMEis a string containing the design hierarchy of E to design root.

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top