如何根据常量的对数设置VHDL语言的矢量大小 [英] How to set VHDL vector size based on the log of a constant
本文介绍了如何根据常量的对数设置VHDL语言的矢量大小的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我想知道$clog2(DATA_WIDTH)
对应的VHDL码是什么,例如下面这行:
parameter DATA_OUT_WIDTH = $clog2(DATA_WIDTH)
以及本例中的符号"-:"
if ( Pattern == In[i_count-:PATTERN_WIDTH] )
如果有人能帮我,我将不胜感激。
推荐答案
您可以这样做
constant DATA_OUT_WIDTH : positive := positive(ceil(log2(real(DATA_WIDTH))));
或定义封装该表达式的log2函数。CEIL和Log2可以在MATH_REAL中找到
use ieee.math_real.all;
在VHDL语言中,您只需指定全范围,例如
foo(i_count to i_count + 7)
foo(i_count downto i_count - 7)
不要将in用作标识符,它是VHDL语言中的保留字。
这篇关于如何根据常量的对数设置VHDL语言的矢量大小的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文