大侠帮忙看下这段VHDL代码

[复制链接]
2421|2
 楼主| le062 发表于 2010-12-18 19:57 | 显示全部楼层 |阅读模式
本帖最后由 le062 于 2010-12-27 17:03 编辑

我要做个智力抢答器,下面是抢答判断的代码
我用了个VARIABLE SC:INTEGER 用来锁存判断
但是仿真的时候 当 CLR=0 AND RST=0,输出A1, B1, C1, D1就都是不定值了
  1. LIBRARY IEEE;
  2. USE IEEE.STD_LOGIC_1164.ALL;
  3. ENTITY QDJB IS
  4. PORT (CLR,RST: IN STD_LOGIC;
  5. A, B, C, D: IN STD_LOGIC;
  6. A1, B1, C1, D1: OUT STD_LOGIC;
  7. G: OUT STD_LOGIC_VECTOR (3 DOWNTO 0));
  8. END QDJB;
  9. ARCHITECTURE ART OF QDJB IS
  10. CONSTANT W1: STD_LOGIC_VECTOR:="1010";
  11. CONSTANT W2: STD_LOGIC_VECTOR:="1011";
  12. CONSTANT W3: STD_LOGIC_VECTOR:="1100";
  13. CONSTANT W4: STD_LOGIC_VECTOR:="1101";
  14. CONSTANT FOUL: STD_LOGIC_VECTOR:="1111";
  15. BEGIN
  16. PROCESS(CLR,RST)
  17. VARIABLE SC:INTEGER:=00;
  18. BEGIN
  19. IF(CLR='1'OR RST='1')THEN
  20. IF(A='0'AND B='0'AND C='0'AND D='0')THEN
  21. A1<='0'; B1<='0'; C1<='0'; D1<='0';G<="1110";SC:=01;
  22. ELSIF((A='1'AND (SC=01))OR (SC=02))THEN
  23. A1<='1'; B1<='0'; C1<='0'; D1<='0';G<=FOUL;SC:=02;
  24. ELSIF((B='1'AND (SC=01))OR (SC=03))THEN
  25. A1<='0'; B1<='1'; C1<='0'; D1<='0';G<=FOUL;SC:=03;
  26. ELSIF((C='1'AND (SC=01))OR (SC=04))THEN
  27. A1<='0'; B1<='0'; C1<='1'; D1<='0';G<=FOUL;SC:=04;
  28. ELSIF((D='1'AND (SC=01))OR (SC=05))THEN
  29. A1<='0'; B1<='0'; C1<='0'; D1<='1';G<=FOUL;SC:=05;
  30. END IF;
  31. ELSE
  32. IF ((A='1'AND (SC=01))OR (SC=06))THEN
  33. A1<='1'; B1<='0'; C1<='0'; D1<='0';G<=W1;SC:=06;
  34. ELSIF((B='1'AND (SC=01))OR (SC=07))THEN
  35. A1<='0'; B1<='1'; C1<='0'; D1<='0';G<=W2;SC:=07;
  36. ELSIF((C='1'AND (SC=01))OR (SC=08))THEN
  37. A1<='0'; B1<='0'; C1<='1'; D1<='0';G<=W3;SC:=08;
  38. ELSIF((D='1'AND (SC=01))OR (SC=09))THEN
  39. A1<='0'; B1<='0'; C1<='0'; D1<='1';G<=W4;SC:=09;
  40. ELSE A1<='0'; B1<='0'; C1<='0'; D1<='0';G<="0000";
  41. END IF;
  42. END IF;
  43. END PROCESS;
  44. END ART;
我是改别人代码的 这个抢答锁存功能一直搞不定
谢谢

--
问题搞定 其实没啥问题
mr.king 发表于 2010-12-19 08:11 | 显示全部楼层
你用IF          ELSIF          ELSE       三个状态 把CLR=‘0’ RST=‘0’的状况写出来
岚369 发表于 2011-5-14 19:44 | 显示全部楼层
可能是仿真的问题
您需要登录后才可以回帖 登录 | 注册

本版积分规则

13

主题

435

帖子

4

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