amekle
驱动牛犊
驱动牛犊
  • 注册日期2003-12-23
  • 最后登录2004-05-19
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:2040回复:8

用VHDL设计的计数器毛刺如何解决?

楼主#
更多 发布于:2003-12-31 15:55
以下为我所编的计数器起始值为X1000,终值为X2000。编译没问题,但仿真的时候,输出波形有毛刺,不知是否是程序结构有问题?
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
entity mycount is
port(clk,resetn: in  std_logic;
            sum: out std_logic_vector(15 downto 0));
end mycount;
architecture countarch of mycount is
 begin
   process (resetn, clk)
   variable ref_timer: std_logic_vector(15 downto 0);
     begin
       if resetn = \'0\' then
ref_timer := (others => \'0\');
       elsif clk\'event and clk = \'1\' then
if(ref_timer = X\"2000\" ) then
   ref_timer:=X\"1000\";
else
   ref_timer:= ref_timer + 1;
end if;
      end if;
      sum<=ref_timer+X\"1000\";
     end process;
end countarch;
流宇
link_bridge
驱动巨牛
驱动巨牛
  • 注册日期2002-11-28
  • 最后登录2011-05-15
  • 粉丝0
  • 关注0
  • 积分31分
  • 威望13点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2003-12-31 16:30
那是正常的不是毛刺,因为记数器的不同位有几ns的时差,所以记数总线看起来好象有毛刺。
ray.ly
驱动牛犊
驱动牛犊
  • 注册日期2004-01-06
  • 最后登录2004-01-07
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2004-01-07 14:04
那是正常的不是毛刺,因为记数器的不同位有几ns的时差,所以记数总线看起来好象有毛刺。

同意
X_ray
驱动中牛
驱动中牛
  • 注册日期2003-02-03
  • 最后登录2004-07-24
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2004-01-13 08:00
这样的计数器怎么可以用呢?问题在这里
if(ref_timer = X\"2000\" ) then
ref_timer:=X\"1000\";
amekle
驱动牛犊
驱动牛犊
  • 注册日期2003-12-23
  • 最后登录2004-05-19
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2004-02-25 10:52
本人是初学者,望X_ray能给予指正。谢谢
流宇
magictong
驱动牛犊
驱动牛犊
  • 注册日期2004-03-15
  • 最后登录2007-12-29
  • 粉丝0
  • 关注0
  • 积分103分
  • 威望11点
  • 贡献值0点
  • 好评度10点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2004-03-15 15:16
XILINX 中有COUNTER 程序DEMO样板
感觉你的结构不对,看看你的RTL图
amekle
驱动牛犊
驱动牛犊
  • 注册日期2003-12-23
  • 最后登录2004-05-19
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2004-03-19 10:48
TO magictong:
   望老兄告知具体的xilinx中counter的网址
 

流宇
yelei
驱动牛犊
驱动牛犊
  • 注册日期2004-03-10
  • 最后登录2012-06-09
  • 粉丝0
  • 关注0
  • 积分30分
  • 威望3点
  • 贡献值0点
  • 好评度3点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2004-03-23 14:47
修改程序的算法可以解决的。比如增加技术其时钟的步长
yelei
驱动牛犊
驱动牛犊
  • 注册日期2004-03-10
  • 最后登录2012-06-09
  • 粉丝0
  • 关注0
  • 积分30分
  • 威望3点
  • 贡献值0点
  • 好评度3点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2004-03-24 15:51
如果有时间,可以研究动态步长的算法,解决毛刺效果不错。
游客

返回顶部