smalloc
发表于 2011-01-05 12:07
本帖最后由 smalloc 于 2011-01-05 12:13 编辑
回复 7# cjaizss
不动verilog语法,多路选择器是纯组合电路吗?
如果是.从图上看确实出现边沿触发的效果,不知道产生的? 而且时钟不跳变,即使D变化也不会影响输出.
多路的逻辑图是
D------[与门]---------------------
| |
clk------ -------
clk~-------- | 或门 |----------
| ------- |
| | |
--- [与门]----------------- |
| |
-------------------------------------------
cjaizss
发表于 2011-01-05 16:25
回复cjaizss
不动verilog语法,多路选择器是纯组合电路吗?
如果是.从图上看确实出现边沿触发的 ...
smalloc 发表于 2011-01-05 12:07 http://linux.chinaunix.net/bbs/images/common/back.gif
多路选择当然是纯组合电路,之所以会产生时序,是因为有反馈
cjaizss
发表于 2011-01-05 16:38
多路选择当然是纯组合电路,之所以会产生时序,是因为有反馈
cjaizss 发表于 2011-01-05 16:25 http://linux.chinaunix.net/bbs/images/common/back.gif
那个电路用原理图来画长这样
cjaizss
发表于 2011-01-05 16:42
那个电路用原理图来画长这样
cjaizss 发表于 2011-01-05 16:38 http://linux.chinaunix.net/bbs/images/common/back.gif
所谓两路复用,
就是说,out与D0,D1,sel的关系如下:
out=sel?D1 : D0
用与或非门来表示
out=(sel&D1)|( (!sel) & D0)
smalloc
发表于 2011-01-05 17:22
本帖最后由 smalloc 于 2011-01-05 17:46 编辑
回复 14# cjaizss
我那个字符图和这个是一样的意思
但是我没发现能产生边沿触发效应.
反馈当然有.就是对我上面的那个字符图.当CLK为低电平的时候有sel的回路.但是一个与门连接一个或门.由于D那路输入无效,省略后2个门相当与维持同一个值,就是原先CLK为高时输入的D的值.
但这个就是和普通D触发器一样.当然在一个时钟周期改变了2次
却算不上边沿触发. 边沿触发的特点是输入只在改变的一瞬间影响反馈环路.目的是为了防止环路在开状态变为闭合时D输入的改变或抖动对环路有影响.
看来我的概念之前有误: D触发器叫跳沿触发器或者叫同步触发,而不能叫边沿触发器,2个并不相同
cjaizss
发表于 2011-01-05 23:24
回复cjaizss
我那个字符图和这个是一样的意思
但是我没发现能产生边沿触发效应.
反馈当然有 ...
smalloc 发表于 2011-01-05 17:22 http://linux.chinaunix.net/bbs/images/common/back.gif
我真是晕死,那你画一下你所谓的“边沿触发器”的波形图吧,这个才可以唯一说明问题
cjaizss
发表于 2011-01-06 00:30
另外,D触发器的全称叫:
positive-edge-triggered D flip-flop
smalloc
发表于 2011-01-06 00:44
本帖最后由 smalloc 于 2011-01-06 00:51 编辑
边沿触发器 在数字电路上是这样描述的.
虽然它确实符合在边沿发生翻转,但是有个新的独立的特性 ,D触发器确实也在某跳沿发生翻转,但却不能算是"边沿触发器"
在正跳沿前接受信号,正跳沿时发生翻转,正跳沿后输入被关闭. 它解决的不是逻辑问题.而是延时抖动问题
你的电路只考虑我11楼画的那部分.现在说明下不符合第一条的原因是因为它必须在负跳沿前很长一段时间前就准备好.
假设时钟为正跳变到负前一瞬间,D输入由1边为0.按照跳变触发的规则时钟跳变后输出当然为0而不是1.
但是时钟跳变的时候或门和下面的与门输出都为1--它们还没来得及边成0,这个时候再经过或门后输出一直为1,而不是0,这与上面的规则相反.
而"边沿触发器"就是为了解决这类门级延时误差的.
cjaizss
发表于 2011-01-06 00:58
边沿触发器 在数字电路上是这样描述的.
虽然它确实符合在边沿发生翻转,但是有个新的独立的特性 和D触发器, ...
smalloc 发表于 2011-01-06 00:44 http://linux.chinaunix.net/bbs/images/common/back.gif
我明白你的意思了,你的意思是必须要用时钟改变作为内部相关信号改变的依据。但这也依然是边沿触发器,你不应随意修改其名称。当然,我们可以修改其电路,使得让时钟作为改变最终决定内部信号的因素。
cjaizss
发表于 2011-01-06 01:07
我明白你的意思了,你的意思是必须要用时钟改变作为内部相关信号改变的依据。但这也依然是边沿触 ...
cjaizss 发表于 2011-01-06 00:58 http://linux.chinaunix.net/bbs/images/common/back.gif
所谓D触发器是两个D latch的级联
一个D latch的输出接到另一个D latch的输入,两个用相反的时钟,其实,即使在再简单的时序电路中,你都可以分析出极端的情况,你无法构造出电路来永远消除极端情况。在dff中,如果反向器时沿或者走线过长,那么问题是严重的