VHDL类型属性'SUCC /'PRED和'RIGHTOF /'LEFTOF之间有什么区别?

时间:2018-11-28 17:56:55

标签: types attributes vhdl

此刻,我正在从书中学习VHDL,我正在研究诸如'BASE'IMAGE(V)之类的类型属性。书中有使用属性'SUCC(V)'PRED(V)'RIGHTOF(V)'LEFTOF(V)的示例,但它们之间的区别尚不清楚。

'SUCC(V)返回给定值之后的值,而'RIGHTOF(V)返回给定值右边的值。与'PRED(V)'LEFTOF(V)相同,但方向相反。

我正在用GitHub中的这段代码对他们进行试验。我注意到'SUCC(V)'PRED(V)根据基本类型的顺序返回值,但是属性'RIGHTOF(V)'LEFTOF(V)根据子类型的顺序返回值。例如,考虑以下来自我的GitHub的代码:

type vl is ('X', '0', '1', 'Z');
subtype v10 is vl range '1' downto '0';

report "vl'succ('1'): " & vl'image(vl'succ('1')); -- 'Z'
report "v10'succ('0'): " & vl'image(v10'succ('0')); -- '1'

report "vl'rightof('0'): " & vl'image(vl'rightof('0')); -- '1'
report "v10'rightof('1'): " & vl'image(v10'rightof('1')); -- '0'

因此,子类型v10与vl基本类型具有不同的顺序。 'RIGHTOF(V)似乎考虑了帐户的子类型排序,而'SUCC(V)却没有考虑。

问题是:两者之间还有其他区别吗?书中还说'RIGHTOF(V)正在执行具有子类型基本类型的功能。那么为什么要从子类型开始排序,或者以子类型为基础执行功能是什么意思呢?该信息来自this书和第207-208页。

0 个答案:

没有答案
相关问题