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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 3059|回复: 2

[求助] 关于vhdl—— case when后面的赋值语句不更新的问题 ?

[复制链接]
发表于 2016-9-14 17:41:07 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 hayu111 于 2016-9-14 17:42 编辑

library ieee;
use ieee.std_logic_1164.all;
entity getdata is
port (
  DATA_IN  : in  bit_vector(15 downto 0);//数据输入
  CLK_IN : in std_logic;//时钟
  DATA_OUTT : out bit_vector(47 downto 0);
  DATA_OUTID  : out bit_vector(15 downto 0);
  EN   : out std_logic;
   EN1   : out std_logic
   );
end getdata;
architecture bhv of getdata is
type DATA_PROCESS_STATES  is (DATA3,DATA2,DATA1,DATA0);
signal DATA_PROCESS_STATE : DATA_PROCESS_STATES :=DATA3;

begin
process (DATA_IN,CLK_IN)

  variable BISS_DATA : bit_vector (47 downto 0);

  variable CP_DATA : bit_vector (15 downto 0);
begin
  if (CLK_IN'event and CLK_IN='1') then
   
   case DATA_PROCESS_STATE is

     when DATA3 =>
     EN1   <= '0';
     CP_DATA := DATA_IN;   //   为什么CP_DATA 、DATA_OUTID 接受不到数据????
     DATA_OUTID <= CP_DATA ;
      EN1   <= '1';
     DATA_PROCESS_STATE <= DATA2;
    when DATA2 =>
     EN   <= '0';
     BISS_DATA(47 downto 32) := DATA_IN;// BISS_DATA可以接受到DATA_IN的数据
     DATA_COUT := DATA_COUT + 1;
     DATA_PROCESS_STATE <= DATA1;
    when DATA1 =>
     BISS_DATA(31 downto 16) := DATA_IN;
     DATA_COUT := DATA_COUT + 1;
     DATA_PROCESS_STATE <= DATA0;
    when DATA0 =>
     BISS_DATA(15 downto 0) := DATA_IN;
     DATA_COUT := DATA_COUT + 1;
     DATA_OUTT <= BISS_DATA SRL 3;--移位
     EN   <= '1';
    DATA_PROCESS_STATE <= DATA2;   //只要这里的状态返回到DATA3状态,CP_DATA 、DATA_OUTID 是可以接受到数据,但是如果只让状态DATA3执行一次的话CP_DATA 的值就接受不到。
when others =>  null;
   end case;
   end if;
end process;
end bhv;

每次编译6分钟,调试到我爆炸了,用signaltap仿真有BISS_DATA收到的数据、没有CP_DATA的数据,一直是0x0000                             
  。。。。。。。。要放弃了
发表于 2016-9-14 19:12:04 | 显示全部楼层
回复 1# hayu111


   加一个reset试试
 楼主| 发表于 2016-9-14 20:20:10 | 显示全部楼层
回复 2# yoyo1234

为什么?你是觉得没有进入data3状态吗?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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


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

GMT+8, 2024-12-22 10:29 , Processed in 0.027760 second(s), 10 queries , Gzip On, Redis On.

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