微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > FPGA,CPLD和ASIC > 状态机的奇怪问题。

状态机的奇怪问题。

时间:10-02 整理:3721RD 点击:
我用VHDL设计一个状态机转移的程序。用了one-hot编码。
如果我多定义一组端口把状态机的状态也输出,仿真就没问题。
如果把输出状态机状态的端口去掉,仿真就有问题了,有些输出口不能输出正确值。
有没有哪位碰到过类似问题的?
请指教。
thx

状态机的奇怪问题。
最好能把你的代码附上

状态机的奇怪问题。
听起来很悬乎

状态机的奇怪问题。
综合时把有些逻辑给优化掉了的缘故

状态机的奇怪问题。
同意楼上的意见.

状态机的奇怪问题。
沒錯

状态机的奇怪问题。
我在architecture里有2个process,用cstate来表示状态。在第一个process里用输入信号控制cstate的变化。第二个process里是输出逻辑,就是对每个cstate状态,对应的每个输出的输出值。现在问题就是,如果多定义一组端口输出cstate的状态,仿真运行正常;如果把输出cstate状态的端口去掉,仿真就有问题了,有些输出口不能输出正确值。
我用的是maxplus+VHDL

状态机的奇怪问题。
应该和你的代码有关,和综合工具无关,检查代码吧

状态机的奇怪问题。
建议把关键代码帖出来

状态机的奇怪问题。
我的程序的大体情况是这样的:
先定义了些状态:
constant idle:std_logic_vector(13 downto 0):=B"00000000000001";
…………
…………
entity里面定义输入输出
port(………………
)
然后ARCHITECTURE里有:
signal cstate:std_logic_vector(13 downto 0);
………………
………………
state_machine:process(clk,rst,……)--里面的是有关cstate的状态转移
out_logic:process(cstate)--里面是cstate的状态输出
大体上就这样。
现在问题就是,如果在port里多定义一个present端口输出cstate的状态,仿真运行正常;如果把present端口去掉,仿真就有问题了,有些输出口不能输出正确值。

换个软件试试看.

弱弱的问一声,什么叫one-hot编码?

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top