请选择 进入手机版 | 继续访问电脑版

fpga论坛|fpga设计论坛

 找回密码
 我要注册

QQ登录

只需一步,快速开始

搜索
楼主: lcytms

跟李凡老师学FPGA之D100:FPGA 100天总结(20170520课堂笔记)

[复制链接]
 楼主| lcytms 发表于 2017-6-4 23:31:11 | 显示全部楼层
1022
        ST解决了无限长的时间轴,在变成有限状态的时候,那个状态转移转向何处的问题。
        你给出当前状态,根据现场输入,这段逻辑它知道下一个状态指向何处。
        至于何时转,是由状态寄存器决定的。
        状态寄存器,Register,在时钟下面,将NS进行转移。
        而CS形成迭代。这样就把离散的时间轴,便成为有限的状态。
        这个架构是经典的有限状态机模型。

本帖子中包含更多资源

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

x
 楼主| lcytms 发表于 2017-6-4 23:32:13 | 显示全部楼层
1023
        阿兰图灵一直研究到近代。
        这个架构基本上确定下来。
        就是把无限长的时间轴上的离散取样点,变成有限的状态。
        ST是state transition。是一段逻辑,它决定了转向何处。
        这是一个寄存器,它决定了何时转。
        这样的话呢,在无限长的时间轴的离散取样点上,总可以在有限的状态上,找到一个转移跟它对应。
        有限状态我们解释过,从阿兰图灵一直到AI都有关系。
        都认为这种描述,是对现实世界的真实描述,仅仅是在超大的时空、极小的时空领域,它不适用。
 楼主| lcytms 发表于 2017-6-4 23:33:06 | 显示全部楼层
1024
        我们正常的时空领域都可以实现,都可以用这个模型来描述。
        那么,一段逻辑,把无限长的时间轴变成有限的状态以后,而这种逻辑产生的动作呢,有两种模型。
        一个是仅仅根据CS产生动作。
        不仅跟状态有关,还跟输入有关,是米利。
        摩尔,米利。

本帖子中包含更多资源

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

x
 楼主| lcytms 发表于 2017-6-4 23:33:56 | 显示全部楼层
1025
        其实还是有一些模型,其它的一些模型。
        但是现在比较定型的,它的数学基础是很稳定的。
        MATLAB我们都可以查得到,都可以用它来做。
        仅仅跟状态有关的是摩尔。
        既跟有限的状态有关,又跟当前输入有关的,是米利。
        在状态未变,而输入变的情况之下,摩尔是不会输出的,摩尔的输出不变。
        而米利的输出会变。状态未变,CS未变,但输入会变,摩尔不会变,摩尔的输出是固定的。
        但米利会变。
 楼主| lcytms 发表于 2017-6-4 23:34:54 | 显示全部楼层
1026
        米利多变嘛,米利在一个状态下,在一个时钟节拍之中,它也可能会发生变化。
        我们在这看得到,寄存器打两撇,是一个闭节点,ST和米利是开节点。
        如果状态未变,而输入发生变化,输出也会发生变化。
        最快的是在两个节拍之间,米利有可能变化,而摩尔不会变。
        初看起来呢,它可能更快,输入一变,它就会变,而且是在两个节拍之间变。
        但是它并不支持同步电路。
        摩尔支持。
        因为摩尔一定是在时钟沿的右侧变化。
        所以说,在同步电路里面,它会带来很多的问题,但是摩尔不会。

本帖子中包含更多资源

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

x
 楼主| lcytms 发表于 2017-6-4 23:35:45 | 显示全部楼层
1027
        所以说同步电路里面优选的是摩尔。
        这个一定是在时钟沿的右侧发生变化。
        虽然它是可以写成开节点。
        这是有限的状态的由来。
        据此我们得出三种模型,这是理论模型。
        然后呢,我们用HDL语言来搭建的时候也是三种模型。
        比方线性序列机也是它的特例。
        三种模型分别是用一个循环行为体,来写这个模型。
        两个循环行为体、三个循环行为体。
        分别称之为一段式描述、两段式或者是三段式。
 楼主| lcytms 发表于 2017-6-5 20:30:03 | 显示全部楼层
本帖最后由 lcytms 于 2017-6-5 20:31 编辑

1028
        我们在看这个斯坦福的教材,或者是看Xilinx的手册,它的Quartus的推荐的风格的时候,它就明确地说,它要用两段式,支持用两段式。
        两个always语句块。
        然后呢,我们来做个复习。
        Always的语句块是一个独特的结构,称之为循环行为体。

本帖子中包含更多资源

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

x
小舍YZ 发表于 2017-6-6 10:24:10 | 显示全部楼层
赞,,,,,,,,,谢谢分享。。。。。。。。。。
 楼主| lcytms 发表于 2017-6-10 23:21:53 | 显示全部楼层
1029
        只有把行为语句至于这个循环行为体之中,EDA才能识别出来。
        所以它给你的是一种框架。
        Always仅仅是一个单词,一个保留字,你凡是写行为语句,你必须放在这个begin end块里面,EDA才能识别这样是一个行为语句。
        当我们写行为语句的时候,就一定要用always语句,或者是用initial。
        Initial用于综合的时候,它是受限的。
        Always语句总能综合。
        那么信号敏感表是一个什么概念呢?
        这个呢,要回到米德和Moorby的故事上。
        经典的EDA的理论,米德的理论里面,它是用process,process里面也有信号敏感表。
 楼主| lcytms 发表于 2017-6-10 23:22:31 | 显示全部楼层
1030
        早期的研究的团队啊,在做出了循环行为体之后,用行为语句来写EDA。
        以前我们搭建一个电路模型,都要一个门一个门来做。
        用行为语句,EDA自动来实现,当然效率很高了。
        综合没有任何问题。
        Process,不要信号敏感表,没有问题,完全能综合出所需要的电路来。
        但是在Moorby体系下面发现一个问题,用于非综合目的的时候,回到电脑上了。
        那么电脑上,就要做验证,或者第三方分析的时候,就要对这段电路执行模拟的动作,仿真的动作。
        象真实那样执行动作。
        该什么时候来做它的process呢?
        什么时候非综合的来做呢?
您需要登录后才可以回帖 登录 | 我要注册

本版积分规则

关闭

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

QQ|小黑屋|手机版|Archiver|FPGA论坛 ( 京ICP备20003123号-1 )

GMT+8, 2021-10-29 00:50 , Processed in 0.062705 second(s), 17 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表