异步信号同步的问题

[复制链接]
 楼主| z_no1 发表于 2008-10-4 10:18 | 显示全部楼层 |阅读模式
资料说是加D触发器,那要是信号的沿和时钟的沿靠得太近,产生亚稳态,亚稳态也是输出0或1是吧?只不过不能确定是0还是1,下次采样就可以确定了(采样时钟远快于信号)。不会产生毛刺吧?我是不是可以把亚稳态看做一个“量子隧道”,当亚稳态时,时钟相当于可能是飘到信号沿的前方或后方。
 楼主| z_no1 发表于 2008-10-4 11:09 | 显示全部楼层

看资料后关于亚稳态新的问题

看来亚稳态是指输出为不确定,不为0也不为1,一定时间内还保持这种状态,毛刺的温床啊。2级D触发器同步也只是基本消除亚稳态,那样我是不是最好不要两个时钟域的时钟是同频率的(或者是倍数)?这样是不是亚稳态取决于两个时钟域的相位差,如果运气好,就没事,一个亚稳态也没有,点背的话,亚稳态的出现频率就大大增加了。如果不同频率,亚稳态会均匀出现,可以用纠错等其他机制过滤。
czy100178 发表于 2008-10-5 15:20 | 显示全部楼层

异步信号同步的问题

触发器要满足setup/hold的时间要求。当一个信号被寄存器锁存时,如果信号和时钟之间不满足这个要求,Q端的值是不确定的,并且在未知的时刻会固定到高电平或低电平。这个过程称为亚稳态(Metastability)。<br />亚稳态是不可避免的,但是,下面的方法可以将其发生的概率降低到一个可以接受的程度。<br /><br />①对写地址/读地址采用格雷码。由实践可知,同步多个异步输入信号出现亚稳态的概率远远大于同步一个异步信号的概率。对多个触发器的输出所组成的写地址/读地址可以采用格雷码。由于格雷码每次只变化一位,采用格雷码可以有效地减少亚稳态的产生。<br /><br />②采用触发器来同步异步输入信号,<br />
 楼主| z_no1 发表于 2008-10-5 15:28 | 显示全部楼层

我想知道两个时钟域里,

频率一样,相位差不定的设计好还是频率差一些,的设计好。会不会出现每个信号沿都骑在时钟上的情况?
armecos 发表于 2008-10-5 21:55 | 显示全部楼层

《快快乐乐跟我学FPGA设计》

<b>更多内容,详见:</b><br /><b>《培训系列“丛书”》</b><br /><b>www.armecos.com</b><br />-----------------------------------<br /><b>More&nbsp;details,&nbsp;see:</b><br /><b>《&quot;Series&nbsp;Books&quot;&nbsp;of&nbsp;Training》</b><br /><b>www.armecos.com</b><br /><br />&nbsp;&nbsp;&nbsp;&nbsp;----------<br />&nbsp;&nbsp;&nbsp;&nbsp;毛刺和时钟<br />&nbsp;&nbsp;&nbsp;&nbsp;----------<br />&nbsp;&nbsp;&nbsp;&nbsp;这是最最重要的内容!!!<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;毛刺在PCB设计中不是很突出的问题,因为PCB存在分布电容和电感,所以几纳秒的毛刺将被自然滤除,而在PLD内部绝无分布电感和电容,所以在PLD/FPGA设计中,竞争和冒险问题将变得较为突出。<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;毛刺的成因是什么呢?<br />&nbsp;&nbsp;&nbsp;&nbsp;简单说是因为信号不是理想的,信号走线存在延时(延时的大小与连线的长短和逻辑单元的数目有关,同时还受器件的制造工艺、工作电压、温度等条件的影响。),信号的高低电平转换也需要一定的过渡时间。多路信号的电平值发生变化时,在信号变化的瞬间,组合逻辑的输出有先后顺序,并不是同时变化,往往会出现一些不正确的尖峰信号,这些尖峰信号就是“毛刺”。<br />&nbsp;&nbsp;&nbsp;&nbsp;感兴趣的人可以查阅大学教材,了解数字电路中的竞争和冒险、卡诺图或逻辑函数表达式等问题。课上我们将画图分析。<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;毛刺的危害<br />&nbsp;&nbsp;&nbsp;&nbsp;毛刺影响数字电路稳定性,触发器的时钟端、清零端和置位端对毛刺信号十分敏感,同时前级的毛刺影响会扩散到后面的逻辑电路上去,危害极大。<br />&nbsp;&nbsp;&nbsp;&nbsp;图示讲解毛刺危害<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;毛刺的处理<br />&nbsp;&nbsp;&nbsp;&nbsp;略。主要讲述减少毛刺的几种方法。<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;建立/保持时间<br />&nbsp;&nbsp;&nbsp;&nbsp;建立时间(setup&nbsp;time)是指在触发器的时钟信号上升沿到来以前,数据稳定不变的时间,如果建立时间不够,数据将不能在这个时钟上升沿被打入触发器;保持时间(hold&nbsp;time)是指在触发器的时钟信号上升沿到来以后,数据稳定不变的时间,&nbsp;如果保持时间不够,数据同样不能被打入触发器。<br />&nbsp;&nbsp;&nbsp;&nbsp;图<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;关于时钟的知识点罗列:<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;全局时钟&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;门控时钟&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;多级逻辑时钟&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;行波时钟&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;多时钟系统&nbsp;<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;这里详细讲述很多重要的知识点和注意事项。时钟同步设计是FPGA设计里的关键内容。<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;思考题:一个为3MHz,一个为5MHz,不同的触发器使用不同的时钟。为了系统稳定,假设我们引入一个20MHz时钟,那么这个20MHz的时钟怎么才能将3M和5M时钟同步化呢?<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;亚稳态及其应对措施<br />&nbsp;&nbsp;&nbsp;&nbsp;如果输入信号在setup-hold时间内发生了变化,输出结果将是不可知的,即亚稳态&nbsp;(Metastability)。<br />&nbsp;&nbsp;&nbsp;&nbsp;亚稳态应对措施:<br />&nbsp;&nbsp;&nbsp;&nbsp;1、双锁存器法&nbsp;&nbsp;&nbsp;不能完全避免亚稳态,不过还算有效。信号从快时钟域向慢时钟域过渡的时候,此法需要原始信号保持足够长的时间,以便另一个时钟域的锁存器可以正确地对其进行采样。<br />&nbsp;&nbsp;&nbsp;&nbsp;2、结绳法&nbsp;&nbsp;&nbsp;&nbsp;一种安全的跨时钟域的方法。<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;FPGA和PCB时钟联合设计,时钟系分析。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

225

主题

2659

帖子

10

粉丝
快速回复 在线客服 返回列表 返回顶部

225

主题

2659

帖子

10

粉丝
快速回复 在线客服 返回列表 返回顶部