集成电路技术分享

 找回密码
 我要注册

QQ登录

只需一步,快速开始

搜索
楼主: lcytms

跟李凡老师学FPGA之D04:有限状态机设计(20160426课堂笔记)

[复制链接]
 楼主| lcytms 发表于 2017-4-19 10:37:23 | 显示全部楼层
1057
        写成NBD的形式,它是一个分式。
        仍然用数字电路沿用的分式,分子的部分是节点名,分母的部分是输出,是驱动。
        这个驱动呢,有多个驱动的时候,因为现实处理的逻辑会非常多,需要打逗号,那么在NBD上分行写,有多个输出,多行地写。
        对于节点而言呢,在这个状态下面,它会加入条件。
        可以加多个条件,也可以选择没有条件。

本帖子中包含更多资源

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

x
小舍YZ 发表于 2017-4-19 10:39:14 | 显示全部楼层
继续,,,,谢谢分享。。。。。
 楼主| lcytms 发表于 2017-4-19 10:49:44 | 显示全部楼层
1058
        就是到了这个状态,做什么事情。
        这种设计呢,往往是这样的,如果我们没有抽象出理论之前,你讨论一个问题的时候呢,你或者会站在到什么状态做什么事情,这种规划。
        另外一些人,他可能会想,发生什么转移,我做什么样的事情。
        现在我们把它升华成理论。
        也就是说,NBD,我们是站在节点的角度上的描述,称之为NBD的描述。
        描述的方式就是分式,分母的部分是输出,可以多行写,分子的部分是节点名,可以带条件。
        可以就意味着,可以有也可以没有。
        然后呢,是转移。
        转移同样把它描述成EBD,edge based description。

本帖子中包含更多资源

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

x
 楼主| lcytms 发表于 2017-4-19 10:56:45 | 显示全部楼层
1059
        这是EBD。
        EBD也是一个分式。
        我们可能有些人是站在转移的角度上考虑问题,EBD也是一个分式,分子的部分是输入,是条件。
        Condition,这是条件。
        分母的部分是输出,是驱动,也可以分行写。
        输入的部分,也可以分行写,条件多了,一行写不下,也可以分行写。
        EBD是站在转移的角度上考虑问题,NBD是站在状态的角度上考虑问题。

本帖子中包含更多资源

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

x
 楼主| lcytms 发表于 2017-4-19 11:41:26 | 显示全部楼层
1100
        我们现在升华成理论了。
        没有升华成理论,你就是这么做,要么是站在状态的角度上设计,要么是站在转移的角度上设计。
        现在呢,我们就引用这种改进的EDA的状态转移图,来进行我们的设计。
        只不过我们做一些约定。
        这个呢,也没有形成国际标准。
        但是呢,国际标准也很可能会酝酿。
        也就是说EBD的部分,我们现在在至芯里面约定,它的分子的部分,是输入和条件,分母的部分是驱动。
        如果这个EBD,它的转移是无条件的转移,没有条件的,我们就把它的分子的部分,写成一个*号。
        然后呢,加上它的驱动。

本帖子中包含更多资源

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

x
 楼主| lcytms 发表于 2017-4-19 11:42:22 | 显示全部楼层
1101
        如果它没有输出呢,只有输入和条件,没有输出,分数线省略掉。
        这就是EBD。
        这是一段描述,没有分数线的。
        另外,完全相对的条件,就是无驱动,条件相对的,就完全省略掉。
        什么都没有,就是无驱动,全相对,就直接绘制这个线段。
        下面呢,我们来通过一个例子来说明这种设计的方法。

本帖子中包含更多资源

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

x
 楼主| lcytms 发表于 2017-4-19 11:56:17 | 显示全部楼层
1102
        一个什么例子呢?
        就是这两天课程里面,我们都用到的分频器。
        有同学要问,我们为什么要写一个分频器,如何写这个分频器?
        以往我们都随意的来制作分频器。
        只要它能跳起来即可,只要能够亮起来即可。
        现在我们知道,我们写的这个分频器,我们应用这个分频器,可以精确地分频。
        我们只需要按公式算出它的分频数,填上去,并且还可以调整它的占空比。
        现在我们就来说,这个分频器,我们是怎么设计出来的?
zhiweiqiang33 发表于 2017-4-19 12:05:48 | 显示全部楼层
向大师学习
 楼主| lcytms 发表于 2017-4-19 14:04:20 | 显示全部楼层
1103
        我们设计这么一个分频器。
        这个分频器呢,输入的时钟跟输出的时钟,关系是这样的,是由参数来决定的。
        用lpm的参数。
        HW是称之为高电平宽度,LW是低电平宽度。
        HW是指输出的时钟高电平宽度相当于输入时钟多少拍,LW是指输出的时钟低电平宽度相当于输入时钟多少拍。
        所以说根据这段描述,我们很容易计算出它的频率的。
        我们可以看得到,用HW加上LW以后,这个就构成了输出的时钟的周期。
        输出时钟跟输入时钟的关系,输出时钟是多少个组成的呢?
        是HW加上LW。

本帖子中包含更多资源

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

x
 楼主| lcytms 发表于 2017-4-19 14:21:14 | 显示全部楼层
1104
        如果引入的是,称之为分频器,引入的是参考时钟,clk_in,并且加入了复位信号,对它进行初始化。
        输出的是clk_out。
        clk_out跟clk_in的关系是HW和LW的描述,默认的是高3低2,然后我们现场定制,是多少算多少。
        公式推导的过程我之后发给大家。

本帖子中包含更多资源

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

x
您需要登录后才可以回帖 登录 | 我要注册

本版积分规则

关闭

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

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

GMT+8, 2024-12-24 02:46 , Processed in 0.061823 second(s), 17 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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