集成电路技术分享

 找回密码
 我要注册

QQ登录

只需一步,快速开始

搜索
查看: 6065|回复: 11

状态机的比较经典的VHDL的源代码?

[复制链接]
CHA 发表于 2010-6-26 00:27:05 | 显示全部楼层 |阅读模式
本帖最后由 fpgaw 于 2010-11-18 16:20 编辑

有没有关于状态机编码方面的文章或者是关于状态机的比较经典的VHDL的源代码?
HANG 发表于 2010-6-26 02:25:46 | 显示全部楼层
在论坛里搜索一下,应该有一些。:)
longtime 发表于 2010-6-26 03:43:48 | 显示全部楼层
verilog才要编码,VHDL是由软件自动优化的,当然你也可以在软件上指定。<br>
状态机经典的代码风格就是三段式
UFO 发表于 2010-6-26 04:55:35 | 显示全部楼层
你真要看状态机编码的文章的话可以去看看sunburst-design.com的文章,国内期刊上的少看一些,基本上都有问题。
HDL 发表于 2010-6-26 06:10:59 | 显示全部楼层
多谢楼上的各位.<br>
我去了wangdian所说的网站上看了一下,大多都是基于Verilog的一些文章,一些介绍状态机的文章也是基于Verilog的.而我现在用的是VHDL.
AAT 发表于 2010-6-26 07:38:14 | 显示全部楼层
想再问各位一个问题,当我对我的程序进行仿真时,如果设置时钟为30ns的话,仿真是正确的;但当我将时钟改为15ns时,却发现状态在转换过程中,出现错误.不知这是由于什么引起的,应该如何修改来避免呢?还请各位给予解答,谢谢!
 楼主| CHA 发表于 2010-6-26 09:31:08 | 显示全部楼层
wangdian所说&ldquo;verilog才要编码,VHDL是由软件自动优化的,当然你也可以在软件上指定。&rdquo;<br>
我觉得不是吧。在状态机编码上,两种语言是一样的。都可以优化,也都要自己编码。
CCIE 发表于 2010-6-26 09:43:45 | 显示全部楼层
我只知道在VHDL中,如果你不是自己编码,而用可枚举类型的话,就会被默认为顺序编码的形式,如果你想改进你的状态机,或者是用其它的编码形式,你就必须要自己编码了.<br>
还想请各位大侠回答我上面的问题啊,即是时钟的大小对状态机的影响是致命的吗?该如何解决呢?请各位大侠指教啊,谢谢了!
interige 发表于 2010-6-26 10:06:58 | 显示全部楼层
在verilog中,对状态机的编码是这样子的,比如一个5位的one-hot状态机<br>
parameter IDLE = 5'b00001,<br>
&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; WRITE_DATA = 2'b00010,<br>
&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; ...<br>
VHDL中不用这样做的<br>
PS:对one-hot的编码最好还是要做成index的方式,即<br>
parameter IDLE = 0,<br>
&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; WRITE_DATA = 1,<br>
&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; ...
usb 发表于 2010-6-26 11:04:05 | 显示全部楼层
下面引用由我无忧在 2005/03/20 05:00pm 发表的内容:<br>
想再问各位一个问题,当我对我的程序进行仿真时,如果设置时钟为30ns的话,仿真是正确的;但当我将时钟改为15ns时,却发现状态在转换过程中,出现错误.不知这是由于什么引起的,应该如何修改来避免呢?还请各位给予 ...应该是时间延迟造成的,你选的片子或者默认的片子对时钟是有要求的,你可以看看时钟的分析结果。
您需要登录后才可以回帖 登录 | 我要注册

本版积分规则

关闭

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

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

GMT+8, 2025-5-6 17:44 , Processed in 0.067006 second(s), 24 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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