[matlab] [知识] 在一个进程内不能同时使用 wait语句和 cp ‘event语句

[复制链接]
2299|0
 楼主| jie4567 发表于 2010-8-27 09:54 | 显示全部楼层 |阅读模式
在一个进程内不能同时使用 wait语句和 cp ‘event语句
如下程序:
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.STD_LOGIC_ARITH.ALL;
USE IEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITY DISTANCE IS
PORT(CP,S1,S2: IN STD_LOGIC;
POUT : OUT STD_LOGIC_VECTOR(21 DOWNTO 0)
);
END DISTANCE;
ARCHITECTURE A OF DISTANCE IS
SIGNAL TEMP : STD_LOGIC_VECTOR(21 DOWNTO 0);
SIGNAL COUNT :STD_LOGIC;
BEGIN
PROCESS(CP,S1,S2)
BEGIN
WAIT UNTIL (S1 = '1');
WHILE S2 = '1' LOOP
IF CP'EVENT AND CP='1' THEN
TEMP <= TEMP+1;
END IF;
END LOOP;
POUT <= TEMP;
END PROCESS;
END A;
这是有错误的。

在一个进程内不能同时使用 wait语句和 cp ‘event语句。wait的语句表示该信号为时钟信号了,在来判断cp ’event,肯定有问题了。
如WHILE S2 = '1' LOOP 语句不能编译通过,因为不能综合。

您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

71

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部