在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 1893|回复: 0

[求助] 问一个VHDL 函数的问题

[复制链接]
发表于 2012-4-18 18:18:19 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
文件ahb_func.vhd的内容如下:
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_arith.all;

package ahb_funct is

function nb_bits (A : INTEGER) return NATURAL;

end ahb_funct;

package body ahb_funct is

   function nb_bits (A : INTEGER) return NATURAL is
    variable logres : NATURAL ;
    begin
     logres := 1;
     for i in 0 to 30 loop
      if 2**i <= A then
        logres := i+1;
      end if;
     end loop;
     return logres;
   end nb_bits;
end ahb_funct;


文件tb.vhd的内容如下:
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_arith.all;

use work.ahb_funct.all;

library novas;
use novas.pkg.all;

entity tb is
generic (
  fifo_length: in integer:= 4);
end

architecture rtl of tb is

signal count: std_logic_vector(nb_bits(fifo_length)-1 downto 0);

begin

dump_pr: process
begin
  fsdbDumpfile("tb.fsdb");
  fsdbDumpvars(0, "tb");
  wait;
end process;

end rtl;

仿真后用Debussy查看count信号,为什么是count[-1:0]?正确的应该是count[2:0]。
函数nb_bits哪里有错误么?
望高手指正!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条


小黑屋| 手机版| 关于我们| 联系我们| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2025-1-7 13:33 , Processed in 0.016556 second(s), 8 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表