用户操作
[即时聊天] [发私信] [加为好友]
no nameID:BuilderChen
27735次访问,排名4489,好友0人,关注者1人。
BuilderChen的文章
原创 22 篇
翻译 0 篇
转载 1 篇
评论 29 篇
最近评论
spgto:我也遇到差不多的问题阿,不过我在添加内部信号节点后,点仿真按钮后,内部信号节点就消失了,并没有显示仿真波形出来,不知道怎么回事?望楼主指教
我的 QQ 593178435
spgto:我也遇到差不多的问题阿,不过我在添加内部信号节点后,点仿真按钮后,内部信号节点就消失了,并没有显示仿真波形出来,不知道怎么回事?望楼主指教
我的 QQ 593178435
spgto:我也遇到差不多的问题阿,不过我在添加内部信号节点后,点仿真按钮后,内部信号节点就消失了,并没有显示仿真波形出来,不知道怎么回事?望楼主指教
我的 QQ 593178435
spgto:我也遇到差不多的问题阿,不过我在添加内部信号节点后,点仿真按钮后,内部信号节点就消失了,并没有显示仿真波形出来,不知道怎么回事?望楼主指教
我的 QQ 593178435
spgto:我也遇到差不多的问题阿,不过我在添加内部信号节点后,点仿真按钮后,内部信号节点就消失了,并没有显示仿真波形出来,不知道怎么回事?望楼主指教
我的 QQ 593178435
文章分类
    收藏
      相册
      我家那坏小子
      友情连接
      设计之美:海派-古古狗
      存档
      软件项目交易
      订阅我的博客
      XML聚合  FeedSky
      订阅到鲜果
      订阅到Google
      订阅到抓虾
      订阅到BlogLines
      订阅到Yahoo
      订阅到GouGou
      订阅到飞鸽
      订阅到Rojo
      订阅到newsgator
      订阅到netvibes

      原创 关于VHDL状态机:不听老人言,吃亏在眼前。收藏

      新一篇: VHDL:理解信号与变量、并行语句与顺序语句 | 旧一篇: Quartus II v6.0 的波形仿真器

              以前看了不少关于如何写VDHL状态机的文章,都是提倡使用二段式或三段式的写法,都建议避免使用一段式的写法,但看了之后,都没什么体会。象我们写软件出身的,心理上总喜欢一段式的写法,觉得思路比较连贯,而且可以写在一个process里,“内聚性”比较高。软件工程师是最讨厌多个函数共用全局变量的了。
              但对于硬件开发,就不一样了。因为VHDL还是无法完全屏蔽掉硬件的物理特性,不好的布局,会使得写的逻辑错误执行。最近写的一个状态机,就遇到了这个麻烦。因为喜好的缘故,加上状态机里面有计数器,用组合逻辑写比较麻烦,于是我用了一段式的写法。结果实际运行的时候,发现状态机经常无故锁死,用逻辑分析仪看,发现陷入了非法的状态,而且when others语句也无法使状态机回到IDLE状态。开始怀疑逻辑上有错误,折腾几天后,把状态切换部分独立出来放在一个同步process里,问题解决了。虽然偶尔还会发现落入非法状态,但状态机会自动恢复到初始状态,不会锁死了,而程序逻辑没有做如何修改。看来以后还是得规规矩矩用二段或三段式的写法了。为了便于记忆,把二段、三段式的特点终结成几句话:
              二段式:状态切换用时序逻辑,次态输出和信号输出用组合逻辑。
              三段式:状态切换用时序逻辑,次态输出用组合逻辑,信号输出用时序逻辑。信号输出的process中,case语句用next state做条件,可以解决比组合逻辑输出慢一拍的问题。
      有时候判断次态需要用到计数器怎么办呢(计数器是时序电路,用组合逻辑是实现不了的)?方法是独立实现一个计数器,而在组合逻辑里用使能信号(或清除、置位等)来控制它。

             

      发表于 @ 2007年05月18日 13:53:00|评论(loading...)|编辑

      新一篇: VHDL:理解信号与变量、并行语句与顺序语句 | 旧一篇: Quartus II v6.0 的波形仿真器

      评论:没有评论。

      发表评论  


      当前用户设置只有注册用户才能发表评论。如果你没有登录,请点击登录
      Csdn Blog version 3.1a
      Copyright © BuilderChen