luorenfei
驱动小牛
驱动小牛
  • 注册日期2003-02-17
  • 最后登录2006-11-30
  • 粉丝0
  • 关注0
  • 积分55分
  • 威望6点
  • 贡献值0点
  • 好评度5点
  • 原创分0分
  • 专家分0分
阅读:2282回复:4

用fpga做8位16进制转10进制怎样才能节省资源?(100分)

楼主#
更多 发布于:2004-02-12 15:44
最近我有个项目用fpga做内部运算,而结果输出到数码管显示要用10进制,我想把进制转换也做到fpga里去,我用的是查表法,从00001010一直查到11111111,结果多用了近100个宏单元,请问各位有什么好算法?(100分)
green_pine
驱动太牛
驱动太牛
  • 注册日期2002-10-22
  • 最后登录2019-06-10
  • 粉丝3
  • 关注0
  • 积分48分
  • 威望599点
  • 贡献值1点
  • 好评度144点
  • 原创分0分
  • 专家分0分
  • 社区居民
沙发#
发布于:2004-02-12 16:08
用个计数器计数,可能会用比较少的资源
luorenfei
驱动小牛
驱动小牛
  • 注册日期2003-02-17
  • 最后登录2006-11-30
  • 粉丝0
  • 关注0
  • 积分55分
  • 威望6点
  • 贡献值0点
  • 好评度5点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2004-02-17 10:47
怎么就青松大哥一个人给我出主意亚,难道是我的问题没有说清?
比如fgpa内部加减乘除用的是2进制,32就是“00100000”,而显示时要改为“00110010”再输出,这种变换用计数器可能不行,我使用查表法:如当结果为“00100001”时输出“00110011”;
           结果为“ 00001011”时输出“00010001”;
          好像总结不出简单的规律来简化
green_pine
驱动太牛
驱动太牛
  • 注册日期2002-10-22
  • 最后登录2019-06-10
  • 粉丝3
  • 关注0
  • 积分48分
  • 威望599点
  • 贡献值1点
  • 好评度144点
  • 原创分0分
  • 专家分0分
  • 社区居民
地板#
发布于:2004-02-17 15:22
可以的,a ,b,c输出
process(clk)
 计数
process(clk)
  if(技术值<输出值)
    if(a=9)then
      if(b=9)then
         c:=c+1;
         b:=0;
         a:=0;
      else
         b:=b+a
         a:=0
      endif
   else
     a:=a+1
  end if
end if
。。。。。。
green_pine
驱动太牛
驱动太牛
  • 注册日期2002-10-22
  • 最后登录2019-06-10
  • 粉丝3
  • 关注0
  • 积分48分
  • 威望599点
  • 贡献值1点
  • 好评度144点
  • 原创分0分
  • 专家分0分
  • 社区居民
地下室#
发布于:2004-02-17 15:24
做一个16进制转10进制的程序也可以
游客

返回顶部