打印

【新人求助】关于有限状态机

[复制链接]
946|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
essunny310|  楼主 | 2017-2-8 21:05 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
essunny310|  楼主 | 2017-2-9 14:50 | 只看该作者
自顶一下~

使用特权

评论回复
板凳
waiter| | 2017-2-9 16:23 | 只看该作者
会选择一种编码方式,比如自然码、独热码等。综合报告中可以看到的

使用特权

评论回复
地板
essunny310|  楼主 | 2017-2-9 16:42 | 只看该作者
waiter 发表于 2017-2-9 16:23
会选择一种编码方式,比如自然码、独热码等。综合报告中可以看到的

那如果我自己编码的话,比如这样
CONSTANT st0 : STD_LOGIC_VECTOR(3 DOWNTO 0) := "0001" ;
CONSTANT st1 : STD_LOGIC_VECTOR(3 DOWNTO 0) := "0010" ;
CONSTANT st2 : STD_LOGIC_VECTOR(3 DOWNTO 0) := "0100" ;
CONSTANT st3 : STD_LOGIC_VECTOR(3 DOWNTO 0) := "1000" ;
SIGNAL current_state, next_state: STD_LOGIC_VECTOR(3 DOWNTO 0);
这样的话我看RTL中不会显示States Machine,这是为什么呢?一定要这样写TYPE states IS (st0, st1, st2, st3);

使用特权

评论回复
5
feihufuture| | 2017-2-9 17:05 | 只看该作者
随便编,没任何问题,编译器足够智能,也可以在代码添加编译辅助语句

使用特权

评论回复
6
essunny310|  楼主 | 2017-2-9 17:07 | 只看该作者
feihufuture 发表于 2017-2-9 17:05
随便编,没任何问题,编译器足够智能,也可以在代码添加编译辅助语句

那如果我自己编码的话,比如这样
CONSTANT st0 : STD_LOGIC_VECTOR(3 DOWNTO 0) := "0001" ;
CONSTANT st1 : STD_LOGIC_VECTOR(3 DOWNTO 0) := "0010" ;
CONSTANT st2 : STD_LOGIC_VECTOR(3 DOWNTO 0) := "0100" ;
CONSTANT st3 : STD_LOGIC_VECTOR(3 DOWNTO 0) := "1000" ;
SIGNAL current_state, next_state: STD_LOGIC_VECTOR(3 DOWNTO 0);
这样的话我看RTL中不会显示States Machine,这是为什么呢?一定要这样写TYPE states IS (st0, st1, st2, st3);吗?

使用特权

评论回复
7
icecut| | 2017-2-9 20:00 | 只看该作者
你不按编译器的方法写,编译器怎么知道是个状态机呢?

使用特权

评论回复
8
essunny310|  楼主 | 2017-2-9 21:05 | 只看该作者
icecut 发表于 2017-2-9 20:00
你不按编译器的方法写,编译器怎么知道是个状态机呢?

那例如这样写TYPE states IS (st0, st1, st2, st3);之后怎么写编码的部分呢?

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

5

帖子

0

粉丝