Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2560939
  • 博文数量: 320
  • 博客积分: 9650
  • 博客等级: 中将
  • 技术积分: 3886
  • 用 户 组: 普通用户
  • 注册时间: 2009-03-27 21:05
文章分类

全部博文(320)

文章存档

2024年(1)

2017年(5)

2016年(10)

2015年(3)

2014年(3)

2013年(10)

2012年(26)

2011年(67)

2010年(186)

2009年(9)

分类:

2010-06-08 15:46:38

各位对此问题有什么看法,欢迎讨论!!


求助:组合逻辑和时序逻辑的区别

对组合逻辑和时序逻辑的区别,知道的仅限于书中概念的区别

高手给个详细的说明,最好能在加个实际例子。 谢谢了

一楼:
组合逻辑电路是具有一组输出和一组输入的非记忆性逻辑电路,它的基本特点是任何时刻的输出信号状态仅取决于该时刻各个输入信号状态的组合,而与电路在输入信号作用前的状态无关。组合电路不包含存储信号的记忆单元,输出与输入间无反馈通路,信号是单向传输,且存在传输延迟时间。
在时序逻辑电路中,任意时刻的输出信号不仅和当时的输入信号有关,而且还与电路原来的状态有关,这是时序逻辑电路在逻辑功能上的特点。因而时序逻辑电路必然包含存储记忆单元电路。

二楼:
原帖由 shun5042 于 2006-10-19 22:36 发表
组合逻辑电路是具有一组输出和一组输入的非记忆性逻辑电路,它的基本特点是任何时刻的输出信号状态仅取决于该时刻各个输入信号状态的组合,而与电路在输入信号作用前的状态无关。组合电路不包含存储信号的记忆单元 ...
这个好象是莫尔和米勒电路的区别吧

三楼:
最大的区别就是一个是有时钟控制,一个没有。
组合:
assign c=a+b;
时序
always @(posedge clk)
c<=a+b;


四楼:
一个老外说得好:
组合逻辑就像是老式的电视频道控制器,你按哪个,就可以看哪个;
时序逻辑就像是新式电视遥控器的channel+/-,你按它得到的结果,还取决于你当前看的频道的位置。

五楼:
我觉得shun5042 说得对阿,是本质

六楼:
原帖由 friendxing 于 2006-10-19 22:44 发表
最大的区别就是一个是有时钟控制,一个没有。
组合:
assign c=a+b;
时序
always @(posedge clk)
c<=a+b;
你这个是一个基本的判断方法,是充分条件,我说的是电路的区别实质

七楼:
同意friendxing 的观点

八楼:
2楼说的对

九楼:
原帖由 白雪公仆 于 2006-10-19 23:55 发表
一个老外说得好:
组合逻辑就像是老式的电视频道控制器,你按哪个,就可以看哪个;
时序逻辑就像是新式电视遥控器的channel+/-,你按它得到的结果,还取决于你当前看的频道的位置。
经典!也同意二楼的说法
这些都是我从书上得到的一些东西,想请教下面一个例子,一个两段式的fsm设计
always @ (posedge clk or negedge nrst)
if (!nrst)
CS <= IDLE;                                  --这个我可以理解用时序逻辑
else
CS <=NS;
always @ (CS or i1 or i2)
begin
NS = 3'bx;                                   
case (CS)
IDLE: begin
    IDLE_out;
   if (~i1) NS = IDLE;                        --这个always语句为什么用组合逻辑?ns也跟状态cs有关阿!请高手指点
case (CS)
   if (i1 && i2) NS = S1;
   if (i1 && ~i2) NS = ERROR;
    end
S1: begin
   S1_out;
   if (~i2) NS = S1;
   if (i2 && i1) NS = S2;
  if (i2 && (~i1)) NS = ERROR;
  end
S2: begin
   S2_out;
   if (i2) NS = S2;
   if (~i2 && i1) NS = IDLE;
   if (~i2 && (~i1)) NS = ERROR;
   end
ERROR: begin
ERROR_out;
    if (i1) NS = ERROR;
   if (~i1) NS = IDLE;
    end
endcase
end

十楼:
你不要被程序中的第二个always方式吓倒,以为是时序电路,其实always既可以描述时序电路,也可以描述组合电路,这个例子就是通过第二个always产生组合逻辑输出,然后在第一个always中将状态锁存

关于组合逻辑和时序逻辑,这个概念可以说既简单又复杂。对于初学者,只要记得一点,
组合逻辑没有一个统一的时钟控制,而时序逻辑,则必须在时钟节拍下工作,
例如你的程序中,第一个alwyas的敏感量列表中就有时钟,因此是个时序逻辑,第二个always的敏感量就没有时钟,因此是个组合逻辑。
原帖由 smartdolphin 于 2006-10-22 11:38 发表

经典!也同意二楼的说法
这些都是我从书上得到的一些东西,想请教下面一个例子,一个两段式的fsm设计
always @ (posedge clk or negedge nrst)
if (!nrst)
CS <= IDLE;                               ...

十一楼:
增长不少知识. 
谢谢各位

十二楼:
还是2楼说的对,触及本质

十三楼:
2楼讲的很对,数字电路由组合电路和触发器组成,电路的功能由组合电路完成,触发器是记忆元件
阅读(4157) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~