导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→请问斑竹,这个cpld的程序为什么编译错误!告诉我跳出范围?[lvxingli]

 *第16380篇: 请问斑竹,这个cpld的程序为什么编译错误!告诉我跳出范围???

  
楼 主:lvxingli 2003年9月19日12:50
 请问斑竹,这个cpld的程序为什么编译错误!告诉我跳出范围???
library ieee;
use ieee.std_logic_1164.all;

entity dev164 is
   port(a, nclr, clock : in bit;
         q : buffer bit_vector(0 to 7));
end dev164;

architecture version1 of dev164 is
begin
   process(clock)
   begin
      if clock'event and clock = '0'
      then
         for i in q'range loop
           if i=0 then q(i)   <=a;
           else
              q(i)   <= q(i-1);
           end if;
         end loop;
      end if;
   end process;
end version1;

  
2楼:lichuanfa 2003年9月22日17:39
 re
library ieee;
use ieee.std_logic_1164.all;

entity dev164 is
   port(a, nclr, clock : in bit;
         q : buffer bit_vector(0 to 7));
end dev164;

architecture version1 of dev164 is
begin
   process(clock)
   begin
      if clock'event and clock = '0'
      then
         for i in q'range loop
           if i=0 then q(i)   <=a;
           else
              q(i)   <= q(i-1);    // i 没有自加,所以编译错误
           end if;
         end loop;
      end if;
   end process;
end version1; 

修改如下:
library ieee;
use ieee.std_logic_1164.all;
entity dev164 is
   port(a,  clock : in bit;
         q : buffer bit_vector(0 to 7));
end dev164;

architecture version1 of dev164 is
begin
   process(clock)
   begin
      if clock'event and clock = '0'  then
          q(0)  <=a;
           for i  in 1 to 7 loop  
             q(i)   <= q(i-1);
            end loop;
      end if;
   end process;
end version1;



>>>>>>对该主题发表你的看法

本主题贴数2,分页: [第1页]


[上一篇主题]:请教一下

[下一篇主题]:各位大侠,求救:在嵌入式系统中使用cf卡true ide 模式的方法