在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 4984|回复: 11

一个乒乓开关电路,老是出错。请各位帮忙。

[复制链接]
发表于 2003-8-29 01:23:08 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
LIBRARY ieee;
USE ieee.std_logic_1164.all;
ENTITY switch IS
PORT
  (turn_on: INbit;
   turn_off: IN bit;
   state    : OUT   bit);
END switch;
ARCHITECTURE struct OF switch IS
BEGIN
   PROCESS (turn_on)
    BEGIN
      IF (turn_on'EVENT AND turn_on = '0') THEN
IF turn_off='1' THEN
               state<='1';
            END IF;
      END IF;
   END PROCESS;
   PROCESS (turn_off)
    BEGIN
      IF (turn_off'EVENT AND turn_off = '0') THEN
IF turn_on='1' THEN
               state<='0';
            END IF;
      END IF;
  END PROCESS;  
END STRUCT;
出错信息:
unresolved sigal is mutiply driven.
请大家指点。
发表于 2003-8-29 08:15:39 | 显示全部楼层

一个乒乓开关电路,老是出错。请各位帮忙。

原因是:在两个process中对state赋值了.想办法避免之.
发表于 2003-8-29 08:58:18 | 显示全部楼层

一个乒乓开关电路,老是出错。请各位帮忙。

写在一个process里面就行了
发表于 2003-8-29 09:00:52 | 显示全部楼层

一个乒乓开关电路,老是出错。请各位帮忙。

状态机
发表于 2003-8-29 12:06:42 | 显示全部楼层

一个乒乓开关电路,老是出错。请各位帮忙。

写在一个PROCESS中即OK
发表于 2003-8-29 15:23:09 | 显示全部楼层

一个乒乓开关电路,老是出错。请各位帮忙。

Library IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.STD_LOGIC_ARITH.ALL;
USE IEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITY switch IS
PORT(
turn_on: IN bit;
  turn_off: IN bit;
  state    : OUT   bit);
END switch;
ARCHITECTURE struct1 OF switch IS
TYPE STATE_TYPE IS (s0, s1);
SIGNAL X: STATE_TYPE;
BEGIN
  PROCESS (turn_on)
     BEGIN
     IF (turn_on'EVENT AND turn_on = '0') THEN
IF turn_off='1' THEN
              X <= S0;
else
  X <= S1;
        END IF;
     END IF;
  END PROCESS;
  STATE <= '1' WHEN X = s0
ELSE '0';
END STRUCT1;
ARCHITECTURE struct2 OF switch IS
TYPE STATE_TYPE IS (s0, s1);
SIGNAL Y: STATE_TYPE;
BEGIN
  PROCESS (TURN_OFF)
     BEGIN
     IF (turn_OFF'EVENT AND turn_OFF = '0') THEN
IF turn_oN='1' THEN
              Y <= S1;
else
  Y <= S0;
        END IF;
     END IF;
  END PROCESS;
  STATE <= '1' WHEN Y = s0
ELSE '0';
END STRUCT2;
修改了一下,没有仿真不知道对不对。呵呵
 楼主| 发表于 2003-8-29 21:30:43 | 显示全部楼层

一个乒乓开关电路,老是出错。请各位帮忙。

谢谢各位大哥的帮助了。
 楼主| 发表于 2003-8-29 22:02:31 | 显示全部楼层

一个乒乓开关电路,老是出错。请各位帮忙。

我也写在同一个PROCESS里试过,一个PROCESS里有两个IF。
还是不行的。郁闷ing!!
 楼主| 发表于 2003-8-29 22:18:38 | 显示全部楼层

一个乒乓开关电路,老是出错。请各位帮忙。

superljc哥哥的我也试了还是这样。
发表于 2003-8-29 22:38:21 | 显示全部楼层

一个乒乓开关电路,老是出错。请各位帮忙。

这个设计的问题在于:没有时钟!
加个时钟输入,否则不可能很安全的实现你要的功能。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

×

小黑屋| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-5-20 15:43 , Processed in 0.033698 second(s), 10 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表