集成电路技术分享

 找回密码
 我要注册

QQ登录

只需一步,快速开始

搜索
查看: 2186|回复: 4

状态机的例子是分了三个process的那种 不同process之间是并行执行的

[复制链接]
我不是少爷 发表于 2010-6-25 23:19:00 | 显示全部楼层 |阅读模式
本帖最后由 fpgaw 于 2010-11-19 06:35 编辑

最近开始学vhdl 对并行语句不很了解 学状态机这块时遇到点问题求教一下

我学的状态机的例子是分了三个process的那种 不同process之间是并行执行的 问题如下:
architecture behave of FSM is
signal pres_state, next_state: std_logic_vector(2 downto 0) := "000";
begin

first:process
begin
...
pres_state <= next_state
...
end process first;

second : process
begin
...
case pres_state is
when "000" =>
...next_state <= "000";
...
end process second;

third process
begin
...
case pres_state is
when "000" =>
...
end process third;
end behave;

我想问 这三个process之间既然是并行执行的那么在执行完一次之后每个process里的pres_state的赋值是多少
我的想法是:在第一个process里pres_state是000,原因是第二个process里执行完之后的next_process的值为000 而next_state又赋给了pres_state

而在third里的process中判断process是以初值为准还是以第一个和第二个进程中process的最终赋值为准
出外的囝仔 发表于 2010-6-26 00:37:04 | 显示全部楼层
你用这个句子就说明你没有理解成并行“执行完之后,又……”
黑咖啡 发表于 2010-6-26 02:21:30 | 显示全部楼层
2#
chshk  <br>
<br>
那是说并行的思想就是同时执行 在执行完之后再对其它语句产生影响么
沉醉夕阳下 发表于 2010-6-26 03:20:54 | 显示全部楼层
2# chshk&nbsp;&nbsp;<br>
<br>
那是说并行的思想就是同时执行 在执行完之后再对其它语句产生影响么<br>
owenbzf 发表于 2009-7-31 12:42
       
       

要是产生影响就是先后执行了
海龟 发表于 2010-6-26 03:53:59 | 显示全部楼层
硬件和软件有区别的。硬件是并发的!
您需要登录后才可以回帖 登录 | 我要注册

本版积分规则

关闭

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

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

GMT+8, 2024-12-24 03:09 , Processed in 0.062475 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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