原程序如下:
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
entity m6_1scan is
port(clkscan,reset:in std_logic; --时钟控制和复位信号
in1,in2,in3,in4,in5,in6: in std_logic_vector(3 downto 0); --时钟的秒,分,时的个十位输入
data:out std_logic_vector(3 downto 0); --输出的数据,作为七段译码器的输入
sel: out std_logic_vector(2 downto 0)); --应该是选择信号,但我搞不清为啥是输出
end m6_1scan;
architecture t1 of m6_1scan is
signal count: std_logic_vector(2 downto 0); --这个应该是选择信号,但电路图上没显示
begin
process(reset,clkscan)
begin
if reset='1' then
count<="000"; --复位信号一旦出现,选择信号为0
elsif (clkscan'event and clkscan='1') then
if count="101" then
count<="000"; --总共count有6种选择,对应选择秒,分,时
else count<=count+1;
end if;
case data is
when in1=>count <="000";
when in2=>count <="001";
when in3=>count <="010";
when in4=>count <="011";
when in5=>count <="100";
when in6=>count <="101"; --这段代码应该有点问题,是想分别选择秒,分,时的个时位
end case; --不知道咋改这段代码,哪位蝈蝈帮忙改下
end if; --不知道这个end if是否应该放到case date is 的前面
end process;
sel=count; --选择信号输出
end t1;
编译时出现如图错误:
哪位蝈蝈可不可以帮我改下啊,小弟在此拜谢了
[ 此贴被macula在2006-10-29 09:27重新编辑 ]