我想知道什么是对应的 VHDL 代码$clog2(DATA_WIDTH),例如在这一行中:
parameter DATA_OUT_WIDTH = $clog2(DATA_WIDTH)
Run Code Online (Sandbox Code Playgroud)
在这个例子中,还有这个符号“-:”
if ( Pattern == In[i_count-:PATTERN_WIDTH] )
Run Code Online (Sandbox Code Playgroud)
如果有人可以帮助我,我将不胜感激。
你可以做这样的事情
constant DATA_OUT_WIDTH : positive := positive(ceil(log2(real(DATA_WIDTH))));
Run Code Online (Sandbox Code Playgroud)
或者定义一个封装该表达式的 clog2 函数。ceil 和 log2 可以在 math_real 中找到
use ieee.math_real.all;
Run Code Online (Sandbox Code Playgroud)
在 VHDL 中,您可以指定完整范围,例如
foo(i_count to i_count + 7)
foo(i_count downto i_count - 7)
Run Code Online (Sandbox Code Playgroud)
不要使用In作为标识符,它是 VHDL 中的保留字。