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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 3702|回复: 10

串行输出问题请教

[复制链接]
发表于 2005-2-24 16:14:40 | 显示全部楼层 |阅读模式

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

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

x
[这个贴子最后由showting在 2005/02/24 04:15pm 第 1 次编辑]

(图片看不清可以点击后再看)
如图:sda 是串行输出,希望在特定的时间输出特定的数据,我的实现方法是很普通的方法,就是用一个计数器couout来计时钟,在couout计数器计数为1,2,3的时候输出为0,计到4,5时输出为1,后面的跟这个一样。但是在图中可以看到波形有很多的尖峰,应该是竞争冒险引起的,我想问一下怎么能避免这样的尖峰呢?
5_2185.jpg
发表于 2005-2-24 17:22:31 | 显示全部楼层

串行输出问题请教

因为你用组合逻辑输出sda,加一个寄存器就行了。
通用法则:模块输出采用寄存器。
发表于 2005-2-25 08:40:14 | 显示全部楼层

串行输出问题请教

你用的逻辑分析仪吧?不准的。
发表于 2005-2-25 10:29:34 | 显示全部楼层

串行输出问题请教

同意arens的说法,不是用的逻辑分析仪
 楼主| 发表于 2005-2-26 10:10:11 | 显示全部楼层

串行输出问题请教

eddsos 是说 嵌入式逻辑分析仪的结果不准吗?
发表于 2005-2-26 10:31:41 | 显示全部楼层

串行输出问题请教

毛刺是combinational电路里不可避免的现象
 楼主| 发表于 2005-2-26 17:17:05 | 显示全部楼层

串行输出问题请教

用寄存器怎么做?
发表于 2005-3-1 08:50:12 | 显示全部楼层

串行输出问题请教

always@(posedge rst_n or posedge clk)
begin
  if (!rst_n )sda_out<=1'b0;
     else  sda_out<=sda;
end
 楼主| 发表于 2005-3-3 09:26:28 | 显示全部楼层

串行输出问题请教

有点得寸进尺了,不过还是想问一下能用CHDL语言描述一下吗?谢谢了
发表于 2005-3-3 09:59:50 | 显示全部楼层

串行输出问题请教

process(clk,rst)
begin
    if rst = '0' then
        sda_out <= '0';
    elsif clk'event and clk='1';
        sda_out <= sda;
    end if;
end process;
但是注意这种方法会让你的时序延迟一个时钟。
        
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

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

GMT+8, 2024-11-17 23:58 , Processed in 0.027643 second(s), 11 queries , Gzip On, Redis On.

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