再看一下小弟的vhdl程序!
各位高手,请看一下小弟的vhdl(maxplus2下)的程序,我实现
的功能很简单,就是按add(add下调沿),数码管的数加一,从0到8
然后从头开始,按clr则清零,
library ieee;
use ieee.std_logic_1164.all;
entity rh1 is
port( add,clr :in std_logic;
digital8 :OUT std_logic_vector(7 downto 0);--数码管的8位输出
select4 :OUT std_logic_vector(3 downto 0)--4个数码管的控制位
);
end rh1;
ARCHITECTURE xq1 of rh1 is
begin
process(add,clr)
variable k: integer range 0 to 8;
begin
if(clr='0') then
k:=0;
select4 <="0000";--选择4个数码管都亮
digital8 <="11000000";--显示0
elsif(add'event and add='0') then --(改后:elsif(add='0') then )
if(k <=7) then
k:=k+1;
else
k:=0;
end if;
case k is
when 0=> digital8 <="11000000";--显示0
when 1=> digital8 <="11111001";--显示1
when 2=> digital8 <="10100100";
when 3=> digital8 <="10110000";
when 4=> digital8 <="10011001";
when 5=> digital8 <="10010010";
when 6=> digital8 <="10000010";
when 7=> digital8 <="11111000";
when 8=> digital8 <="10000000";--显示8
end case;
end if;
end process;
end xq1;
这样编译(compile)通过,但是按start时,到partitioner时停了,就是到不了
fitter,并且提示:project does't fit等等,后来我把add'event 去掉,
则编译,连接等都通过了,,但是下载下来时,我按清零时可以显示4个
数码管都亮0,但是按add时,却不能变化,,我是买一个试验板,
cpld是emp7128sl84-15不知这是为什么???
谢谢各位高手指点!!!小弟感激万分!!
发表时间:2003年4月25日22:15:52