集成电路技术分享

 找回密码
 我要注册

QQ登录

只需一步,快速开始

搜索
查看: 1496|回复: 3

哪位大神帮我看看我得程序哪里错了

[复制链接]
kaixiinguo713 发表于 2011-11-22 19:56:07 | 显示全部楼层 |阅读模式
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_arith.all;
use ieee.std_logic_unsigned.all;

entity desplay is
port(
        clk:in std_logic;
        indate:in integer range 0 to 9;
        inadd:in integer range 1 to 8;
        outdateut std_logic_vector(7 downto 0);
        outaddut std_logic_vector(7 downto 0));
end desplay;
architecture behave of desplay is
signal num:integer range 0 to 3;
signal indata:std_logic_vector(7 downto 0);
begin
U1: process(indate)
        begin
        case indate is
                when 0 =>indata<=x"c0";
                when 1 =>indata<=x"f9";
                when 2 =>indata<=x"a4";
                when 3 =>indata<=x"b0";
                when 4 =>indata<=x"99";
                when 5 =>indata<=x"92";
                when 6 =>indata<=x"82";
                when 7 =>indata<=x"f8";
                when 8 =>indata<=x"80";
                when 9 =>indata<=x"90";
                when others =>indata<=x"ff";
        end case;
        end process;
U2: process(clk,inadd,indata)
        begin
        if clk'event and clk='1'then
                if  num=3 then
                    num<=0;
                        case inadd is
                                when 1 =>outadd<="00000001";
                                when 2 =>outadd<="00000010";
                                when 3 =>outadd<="00000100";
                                when 4 =>outadd<="00001000";
                                when 5 =>outadd<="00010000";
                                when 6 =>outadd<="00100000";
                                when 7 =>outadd<="01000000";
                                when 8 =>outadd<="10000000";
                                when others =>outadd<="11111111";
                        end case;
                        outdate<=indata;
                else
                        num<=num+1;
                end if;
        end if;
        end process;
end behave;               

       
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_arith.all;
use ieee.std_logic_unsigned.all;
entity zhong is
        port(
                        s      :in std_logic;
                        outdateut std_logic_vector(7 downto 0);
                        outadd ut std_logic_vector(7 downto 0));
end zhong;
architecture art of zhong is
component desplay
port(
        clk:in std_logic;
        indate:in integer range 0 to 9;
        inadd:in integer range 1 to 8;
        outdateut std_logic_vector(7 downto 0);
        outaddut std_logic_vector(7 downto 0));
end component desplay;
type news is array(1 to 8)of integer;
signal dizhi: news;
signal a, b,clk: std_logic;
signal n:integer range 0 to 5;
signal shi: integer range 0 to 23;
signal miao,fen: integer range 0 to 59;
signal shi_shi: integer range 0 to 2;
signal shi_ge: integer range 0 to 3;
signal fen_shi: integer range 0 to 5;
signal fen_ge: integer range 0 to 9;
signal miao_shi: integer range 0 to 5;
signal miao_ge: integer range 0 to 9;
begin
clk<='1'when(n=5) else '0';
a<='1'when(maio=59) else '0';
b<='1'when(fen=59) else '0';
L1:         process(s)
                begin
                        if(s'event and s='1')then
                                n<=n+1;
                                        if(n=5)then
                                                n<=0;
                                        end if;
                        end if;
       
                        if(clk'event and clk='1')then
                                miao<=miao+1;
                                        if(miao=59)then
                                                miao<=0;
                                        end if;
                        end if;
                        if(a'event and a='0')then
                                fen<=fen+1;
                                        if(fen=59)then
                                                fen<=0;
                                        end if;
                        end if;
                        if(b'event and b='0')then
                                shi<=shi+1;
                                        if(shi=23)then
                                                shi<=0;
                                        end if;
                        end if;
        end process L1;
L2: process(shi,fen,miao)
        begin
        shi_shi<=shi mod 10;
        shi_ge<=shi rem 10;
        fen_shi<=fen mod 10;
        fen_ge<=fen rem 10;
        miao_shi<=miao mod 10;
        miao_ge<=miao rem 10;
        dizhi<=1;
        u1:desplay port map (s,miao_ge,dizhi,outdate,outadd);
        u2:desplay port map (s,miao_shi,dizhi+1,outdate,outadd);
        u3:desplay port map (s,fen_ge,dizhi+2,outdate,outadd);
        u4:desplay port map (s,fen_shi,dizhi+3,outdate,outadd);
        u5:desplay port map (s,shi_ge,dizhi+4,outdate,outadd);
        u6:desplay port map (s,shi_shi,dizhi+5,outdate,outadd);
        end process L2;
end art;
 楼主| kaixiinguo713 发表于 2011-11-24 10:07:31 | 显示全部楼层
莫非错误太多了?大家都不好意思说了?
至芯兴洪 发表于 2011-11-24 19:27:37 | 显示全部楼层
你想干嘛啊
zhangyoumu 发表于 2011-12-1 15:42:25 | 显示全部楼层
u6:desplay port map (s,shi_shi,dizhi+5,outdate,outadd);等不能放在进程中
您需要登录后才可以回帖 登录 | 我要注册

本版积分规则

关闭

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

QQ|小黑屋|手机版|Archiver|集成电路技术分享 ( 京ICP备20003123号-1 )

GMT+8, 2024-5-4 16:29 , Processed in 0.067736 second(s), 24 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表