tel.vhd

来自「手机号码归属地查询,代码详尽」· VHDL 代码 · 共 639 行 · 第 1/2 页

VHD
639
字号
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
use ieee.std_logic_arith.all;
entity tel is
 port(
      reset:in std_logic;
      N1,N2,N3,H0,H1,H2,H3,A,B,C,D:in integer range 0 to 9;
      start:in std_logic;
      addr:out std_logic_vector(31 downto 0)
      );
end;
architecture behave of tel is
 signal tele,H11,H22:std_logic_vector(3 downto 0); 
 signal addrr:integer range 0  to 32; 
 signal HH:std_logic_vector(7 downto 0);
begin

--******************************************
--process(N1,N2,N3,H0,H1,H2,H3,A,B,C,D)
--begin
--end process;  
--******************************************
process(H0,tele)
begin
--H11<=conv_std_logic_vector(H1,4);
--H22<=conv_std_logic_vector(H2,4);
--HH<=H11&H22;
   if H0=0 then
      if N3=9 then--139********
         case H1 is
              when 1 => 
                     case H2 is
                        when 0 => addrr<=1;--beijing
                        when 1 => addrr<=1;
                        when 2 => addrr<=1;
                        when 3 => addrr<=1;
                        when 4 => addrr<=2;
                        when 5 => addrr<=2;
                        when 6 => addrr<=3;
                        when 7 => addrr<=3;
                        when 8 => addrr<=3;
                        when 9 => addrr<=3;
                      end case;
                when 2 =>
                     case H2 is
                        when 0 => addrr<=4;
                        when 1 => addrr<=4;
                        when 2 => addrr<=5;
                        when 3 => addrr<=5;
                        when 4 => addrr<=5;
                        when 5 => addrr<=5;
                        when 6 => addrr<=5;
                        when 7 => addrr<=5;
                        when 8 => addrr<=5;
                        when 9 => addrr<=5;
                      end case;
                when 3 =>
                     case H2 is
                        when 0 => addrr<=5;
                        when 1 => addrr<=6;
                        when 2 => addrr<=6;
                        when 3 => addrr<=6;
                        when 4 => addrr<=7;
                        when 5 => addrr<=7;
                        when 6 => addrr<=8;
                        when 7 => addrr<=9;
                        when 8 => addrr<=9;
                        when 9 => addrr<=9;
                      end case;
                when 4 =>
                     case H2 is
                        when 0 => addrr<=10;
                        when 1 => addrr<=10;
                        when 2 => addrr<=10;
                        when 3 => addrr<=11;
                        when 4 => addrr<=11;
                        when 5 => addrr<=8;
                        when 6 => addrr<=8;
                        when 7 => addrr<=12;
                        when 8 => addrr<=8;
                        when 9 => addrr<=10;
                      end case;
                when 5 =>
                     case H2 is
                        when 0 => addrr<=13;
                        when 1 => addrr<=14;
                        when 2 => addrr<=14;
                        when 3 => addrr<=15;
                        when 4 => addrr<=15;
                        when 5 => addrr<=16;
                        when 6 => addrr<=16;
                        when 7 => addrr<=17;
                        when 8 => addrr<=17;
                        when 9 => addrr<=13;
                      end case;
                when 6 =>
                     case H2 is
                        when 0 => addrr<=13;
                        when 1 => addrr<=14;
                        when 2 => addrr<=14;
                        when 3 => addrr<=15;
                        when 4 => addrr<=15;
                        when 5 => addrr<=17;
                        when 6 => addrr<=17;
                        when 7 => addrr<=17;
                        when 8 => addrr<=17;
                        when 9 => addrr<=13;
                      end case;
                when 7 =>
                     case H2 is
                        when 0 => addrr<=18;
                        when 1 => addrr<=19;
                        when 2 => addrr<=19;
                        when 3 => addrr<=20;
                        when 4 => addrr<=20;
                        when 5 => addrr<=31;
                        when 6 => addrr<=31;
                        when 7 => addrr<=21;
                        when 8 => addrr<=21;
                        when 9 => addrr<=21;
                      end case;
                when 8 =>
                     case H2 is
                        when 0 => addrr<=22;
                        when 1 => addrr<=22;
                        when 2 => addrr<=22;
                        when 3 => addrr<=22;
                        when 4 => addrr<=20;
                        when 5 => addrr<=23;
                        when 6 => addrr<=19;
                        when 7 => addrr<=24;
                        when 8 => addrr<=24;
                        when 9 => addrr<=25;
                      end case;
                when 9 =>
                     case H2 is
                        when 0 => addrr<=22;
                        when 1 => addrr<=26;
                        when 2 => addrr<=5;
                        when 3 => addrr<=27;
                        when 4 => addrr<=27;
                        when 5 => addrr<=28;
                        when 6 => addrr<=16;
                        when 7 => addrr<=32;
                        when 8 => addrr<=10;
                        when 9 => addrr<=29;
                      end case;                      
              when others =>addrr<=0;
         end case;
      elsif N3=8 then--138********
         case H1 is
              when 1 => 
                     case H2 is
                        when 0 => addrr<=1;--beijing
                        when 1 => addrr<=1;
                        when 2 => addrr<=1;
                        when 3 => addrr<=1;
                        when 4 => addrr<=2;
                        when 5 => addrr<=2;
                        when 6 => addrr<=3;
                        when 7 => addrr<=3;
                        when 8 => addrr<=3;
                        when 9 => addrr<=3;
                      end case;
                when 2 =>
                     case H2 is
                        when 0 => addrr<=4;
                        when 1 => addrr<=4;
                        when 2 => addrr<=5;
                        when 3 => addrr<=5;
                        when 4 => addrr<=5;
                        when 5 => addrr<=5;
                        when 6 => addrr<=5;
                        when 7 => addrr<=5;
                        when 8 => addrr<=5;
                        when 9 => addrr<=5;
                      end case;
                when 3 =>
                     case H2 is
                        when 0 => addrr<=4;
                        when 1 => addrr<=6;
                        when 2 => addrr<=6;
                        when 3 => addrr<=6;
                        when 4 => addrr<=7;
                        when 5 => addrr<=7;
                        when 6 => addrr<=8;
                        when 7 => addrr<=9;
                        when 8 => addrr<=9;
                        when 9 => addrr<=9;
                      end case;
                when 4 =>
                     case H2 is
                        when 0 => addrr<=10;
                        when 1 => addrr<=10;
                        when 2 => addrr<=10;
                        when 3 => addrr<=11;
                        when 4 => addrr<=11;
                        when 5 => addrr<=8;
                        when 6 => addrr<=8;
                        when 7 => addrr<=12;
                        when 8 => addrr<=8;
                        when 9 => addrr<=10;
                      end case;
                when 5 =>
                     case H2 is
                        when 0 => addrr<=13;
                        when 1 => addrr<=14;
                        when 2 => addrr<=14;
                        when 3 => addrr<=15;
                        when 4 => addrr<=15;
                        when 5 => addrr<=16;
                        when 6 => addrr<=16;
                        when 7 => addrr<=17;
                        when 8 => addrr<=17;
                        when 9 => addrr<=13;
                      end case;
                when 6 =>
                     case H2 is
                        when 0 => addrr<=13;
                        when 1 => addrr<=14;
                        when 2 => addrr<=14;
                        when 3 => addrr<=15;
                        when 4 => addrr<=15;
                        when 5 => addrr<=17;
                        when 6 => addrr<=17;
                        when 7 => addrr<=17;
                        when 8 => addrr<=17;
                        when 9 => addrr<=13;
                      end case;
                when 7 =>
                     case H2 is
                        when 0 => addrr<=18;
                        when 1 => addrr<=19;
                        when 2 => addrr<=19;
                        when 3 => addrr<=20;
                        when 4 => addrr<=20;
                        when 5 => addrr<=31;
                        when 6 => addrr<=31;
                        when 7 => addrr<=21;
                        when 8 => addrr<=21;
                        when 9 => addrr<=21;
                      end case;
                when 8 =>
                     case H2 is
                        when 0 => addrr<=22;
                        when 1 => addrr<=22;
                        when 2 => addrr<=22;
                        when 3 => addrr<=30;
                        when 4 => addrr<=20;
                        when 5 => addrr<=13;
                        when 6 => addrr<=19;
                        when 7 => addrr<=24;
                        when 8 => addrr<=5;
                        when 9 => addrr<=15;
                      end case;
                when 9 =>
                     case H2 is
                        when 0 => addrr<=14;
                        when 1 => addrr<=26;
                        when 2 => addrr<=5;
                        when 3 => addrr<=27;
                        when 4 => addrr<=23;
                        when 5 => addrr<=13;
                        when 6 => addrr<=5;
                        when 7 => addrr<=5;
                        when 8 => addrr<=5;
                        when 9 => addrr<=29;
                      end case;                      
              when others =>addrr<=0;
         end case;
      elsif N3=7 then--137********
         case H1 is
              when 1 => 
                     case H2 is
                        when 0 => addrr<=1;--beijing
                        when 1 => addrr<=1;
                        when 2 => addrr<=1;
                        when 6 => addrr<=3;
                        when 7 => addrr<=3;
                        when 8 => addrr<=3;
                        when others => addrr<=0;
                      end case;
                when 2 =>
                     case H2 is
                        when 0 => addrr<=4;
                        when 1 => addrr<=4;
                        when 2 => addrr<=5;
                        when 3 => addrr<=5;
                        when 4 => addrr<=5;
                        when 5 => addrr<=5;
                        when 6 => addrr<=5;
                        when 7 => addrr<=5;
                        when 8 => addrr<=5;
                        when 9 => addrr<=5;
                      end case;
                when 3 =>
                     case H2 is
                        when 1 => addrr<=6;
                        when 2 => addrr<=6;
                        when 4 => addrr<=9;
                        when 5 => addrr<=7;
                        when 6 => addrr<=8;
                        when 7 => addrr<=9;
                        when 8 => addrr<=9;
                        when 9 => addrr<=9;
                        when others => addrr<=0;
                      end case;
                when 4 =>
                     case H2 is
                        when 0 => addrr<=10;
                        when 1 => addrr<=10;
                        when 2 => addrr<=10;
                        when 3 => addrr<=11;
                        when 5 => addrr<=8;
                        when 6 => addrr<=8;
                        when 8 => addrr<=8;
                        when others => addrr<=0;
                      end case;
                when 5 =>

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?