lcytms
发表于 2017-6-10 23:38:53
1041
两段式比较经典,但是设计比较复杂。
它的性能会非常好。我们知道两段的设计,有相关的例子。
三段就是在两段的基础上,做个修改,因为两段的时候输出,都是开节点的输出,设计要更困难一些。
特别是输出信号,有毛刺,有非安全行为等一系列的问题。
三段呢,将会把这个信号单独地拿出来。
三段三分之一跟二分之一一模一样。
就是原来的二分之一,现在是三分之一。
这是NS,CS。
三分之二,就是原来的二分之二,保留出NS的部分。
lcytms
发表于 2017-6-10 23:40:16
1042
就是三分之二只写了个状态转移,把ST放在这。
二分之二是把ST放进来,把摩尔或者米利放进来。
三分之三,是原来二分之二的部分拆开来,只留下输出,写成闭节点。
lcytms
发表于 2017-6-10 23:41:06
1043
三分之三是个闭节点。
闭节点就意味着它的输出信号是被寄存器捕获的输出。
所以说一段两段三段里面,唯独只有两段它的输出信号是组合电路的输出。
不是说组合电路的输出就不是同步电路,它是同步电路。
它的末级有寄存器,所以说我们称之为开节点。
它的设计会更复杂一些。
因为我们在同步电路里面,我们介绍过潜伏期分析,潜伏期分析里面如果都是寄存器输出,在时钟沿右侧发生的信号,我们就用单拍潜伏期线,单拍潜伏期矢量就可以把它设计出来。
但是两段式这个不是,这个要用零拍潜伏期来做,要复杂一些。
这是状态机的模型。
lcytms
发表于 2017-6-10 23:41:55
1044
一段两段三段应用都很多,实际上都不离其左右,就是无论做多么复杂的设计,总跳不过这个圈子,它一定是在其中。
我们说到,在西方高校现代EDA的理论里面,就是线性序列机。
大家如果我们做过IIC,我们至芯的课程里面,有IIC的非常经典的代码,早先的IIC的代码呢,是用状态机写的。
甚至还有异步串行收发器,232,也是用状态机写的,那就很复杂了。
EDA把一个硬件用软件的方式来写,不仅是写得复杂,可综合效率低,而且到处出问题,不稳定。
所以说我们仍然是回到硬件的平台上。
这个时候我们换一种思路。
lcytms
发表于 2017-6-10 23:43:10
1045
我们知道IIC,我们从线性序列机来说,那就很清楚啊,代码量也很少,一个IIC全部写完,也就是200行,而且清清楚楚的,综合出来的面积速度优势都在,都比状态机好。
就是线性序列机,实际上它跟状态机之间的关系是什么呢?
它跟状态机之间的关系不是一个PK的关系,而是一个继承的关系。
它就是状态机的特例。它是三段的特例。
仍然是这个模型,没有变。
理论模型不会变的。
就像我们说的,现代的科学体系都是跟公理有关的,几何无论怎么发展,两个点之间过一条直线,这点是不会变的,这是理论体系不会变,只不过呢,它是它的特例。
当线性序列机描述的状态转移的过程,可以从前一个状态指向后一个状态,时序这种关系,称之为序列机。
lcytms
发表于 2017-6-10 23:44:00
1046
Ciletti的教材上,Sequential Machine。
我们认为是线性的,因为在剑桥的教材里面,它认为它的逻辑是加成的逻辑,没有平方的逻辑。
我们现在的IP核里面,如果我们不把平方器,就是非线性的部分加上去,比方说三角函数啊等等。
它确实就是一个线性序列机LSM。
它是特例。
当能够把状态的转移,用节拍来描述的时候,就是一个线性序列机。
就是这个ST的过程,在时钟的驱动下面,始终是一个状态指向下一个状态。
lcytms
发表于 2017-6-10 23:45:52
1047
第一个状态指向第二个状态,第二个状态指向第三个状态。
所以说线性序列机,LSM,两种模型,从一个状态跳到第二个状态,跳到最后一个状态,就停下来。
这就完成了一个线性序列,在停在N点的时候,称之为它的一个停点。
所以说这种情况之下,是带终止符的。
也就是说,这个时候,启动了以后,是执行这么一个序列,停了。
停了以后根据第二次的触发条件,再回到零点,再执行一个序列。
所以说这是一个特定的序列。
小舍YZ
发表于 2017-6-12 15:47:37
赞,,,,,,,,,,,谢谢分享。。。。。。。。。。。。。。。:lol
lcytms
发表于 2017-6-12 23:24:30
1048
比如说,我们上电的序列,SDRAM上电的序列,或者说刷新的序列。
它就是一个序列嘛。
从0点开始,到N点就停下来。这是第一种情况,就是带终止符的。
还有些情况呢,第二种情况,就是环形的,0,1启动了以后,到N,又回到零。
周而复始。这个是带终止符的,这个呢是周而复始的。
只要给出个启动条件,始终是从0到N,N到0,周而复始,这个状态。
这个CS的变化。
这个呢,就是称之为带模数运行的。
如果是0到N-1的话,就是N位。
lcytms
发表于 2017-6-12 23:26:05
1049
所以说这个时候呢,把状态用节拍来描述,这是状态机的特例。
仍然是这个模型,只不过是它的一个特例。
只不过,在这个ST转移的过程中,是前一个指向后一个。
两种形式,第一种,是带终止符,第二种,周而复始,是带模循环的。
这两种模型,线性序列机是有限状态机的特例,当然就可以用有限状态机的代码模型来描述了。
我们来写线性序列机,要写代码模型。
三分之一的部分,需要NS。