刚才发错了,对不起,小弟还有一下不明白:
以下再贴一下程序:
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 --我这样就是时序啊,但是
--编译可以,综合通不过,提示是add的assignment不行(这个如何解决?),
--后来只好改成(add=‘0’)编译,综合都通过了,但是结果不对了
--好像在不停的闪,是不是maxplus2的综合能力不行?但是
--这么简单的功能应该没有问题的呀,还有高手您说的以clk参考是如何
--实现的??能提供个思路?非常感谢高手的指点!!!!
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;
发表时间:2003年4月26日10:41:45