⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 codec.vhd

📁 SDH光端机支路单元盘开发程序
💻 VHD
字号:
--By DJ. 片选译码
--Mapper: A0-10  8K    
--A000H-A7FFH    1M_SEL   0 valid 
--A800H-AFFFH    2M_SEL   0 valid
--B000H-B7FFH    3M_SEL   0 valid
--B800H-BFFFH    4M_SEL   0 valid
--Transceiver: A0-9  4K  
--C000H-C3FFH    1T_CS   0 valid
--C400H-C7FFH    2T_CS   0 valid
--C800H-CBFFH    3T_CS   0 valid
--CC00H-CFFFH    4T_CS   0 valid
--双口RAM:A0-12  8K
--8000H-9FFFH    IDT_CS  0 valid
--RAM HM62256:A0-14  32K 
--0000H-7FFFH    HM_CS   0 valid
--D000H-DFFFH    SEML    0 valid

LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITY CoDec IS
  PORT (DD8,DD9,DD10,DD11,DD12,DD13,DD14,DD15  : IN STD_LOGIC;
        M1_INT,M2_INT,M3_INT,M4_INT,T1_INT,T2_INT,T3_INT,T4_INT:IN STD_LOGIC;
        AAIND1,AAIND2,AAIND3,AAIND4: IN STD_LOGIC;
        LED_C1,LED_C2,ADC1J1,ADSPE,VC4CLK:         IN STD_LOGIC; 
        SELA,SELB,RST:           IN STD_LOGIC;
        SFP,AAIND,AS,BS,OEM,NOEM:   OUT STD_LOGIC;
        LED1,LED2,INT1:         OUT STD_LOGIC;                   
        MS1,MS2,MS3,MS4:        OUT STD_LOGIC;
        TS1,TS2,TS3,TS4:        OUT STD_LOGIC;
        HM_CS,IDT_CS,SEML:      OUT STD_LOGIC);
END CoDec;
ARCHITECTURE dataflow OF CoDec IS
SIGNAL indata6:STD_LOGIC_VECTOR(0 TO 5);
SIGNAL indata5:STD_LOGIC_VECTOR(0 DOWNTO 4);
SIGNAL indata4:STD_LOGIC_VECTOR(0 DOWNTO 3);
SIGNAL indata2:STD_LOGIC_VECTOR(1 downto 0);
SIGNAL COUNT_24:STD_LOGIC_VECTOR(23 DOWNTO 0);
SIGNAL TMP,TMP2,OEMTMP:STD_LOGIC;
SIGNAL COUNT_20:STD_LOGIC_VECTOR(19 DOWNTO 0);

BEGIN 

  G1:
  BLOCK
  BEGIN
    --NRST<='1';--NRST<= not RST;
    BS<=SELB;
    AS<=SELA;    
    AAIND<=AAIND1 and AAIND2 and AAIND3 and AAIND4; 
    INT1<=NOT (M1_INT OR M2_INT OR M3_INT OR M4_INT OR (NOT T1_INT) OR (NOT T2_INT) OR (NOT T3_INT) OR (NOT T4_INT));
  END BLOCK G1;

  G2:
  BLOCK
  BEGIN
    indata6<=DD15&DD14&DD13&DD12&DD11&DD10;
    indata5<=DD15&DD14&DD13&DD12&DD11;
    indata4<=DD15&DD14&DD13&DD12;  
    PROCESS(DD15,DD14,DD13,DD12,DD11,DD10)
    BEGIN       
      MS1<='1';MS2<='1';MS3<='1';MS4<='1';TS1<='1';TS2<='1';TS3<='1';TS4<='1';IDT_CS<='1';HM_CS<='1';SEML<='1';OEMTMP<='1';
      if (DD15='0') then HM_CS<='0'; OEMTMP<='1';
      elsif (indata4="1000")or(indata4="1001") then IDT_CS<='0';OEMTMP<='1';
      elsif indata6="110011" then TS4<='0';OEMTMP<='1';
      elsif indata6="110010" then TS3<='0';OEMTMP<='1';  
      elsif indata6="110001" then TS2<='0';OEMTMP<='1';
      elsif indata6="110000" then TS1<='0';OEMTMP<='1';
      elsif indata5="10111" then MS4<='0';OEMTMP<='0';
      elsif indata5="10110" then MS3<='0';OEMTMP<='0';
      elsif indata5="10101" then MS2<='0';OEMTMP<='0';
      elsif indata5="10100" then MS1<='0';OEMTMP<='0';
      elsif indata4="1101" then SEML<='0';OEMTMP<='1';
      end if;    
    END PROCESS;
    OEM<=OEMTMP;
    NOEM<=NOT OEMTMP;
  END BLOCK G2;

  G3:
  BLOCK
  BEGIN
    PROCESS(VC4CLK)  
    BEGIN
      IF (VC4CLK'EVENT AND VC4CLK='1') THEN
        IF COUNT_20="11111111111111111111" THEN 
          TMP<=NOT TMP;
          COUNT_20<="00000000000000000000";
        ELSE COUNT_20<=COUNT_20+'1';
        END IF; 
        IF COUNT_24="111111111111111111111111" THEN 
          TMP2<=NOT TMP2;
          COUNT_24<="000000000000000000000000";
        ELSE COUNT_24<=COUNT_24+'1';
        END IF; 
      END IF;
    END PROCESS;
    SFP<=TMP;
    LED2<='1' WHEN (LED_C1='0' AND LED_C2='0') ELSE  --GREEN DARK RED DARK
          '0' WHEN (LED_C1='0' AND LED_C2='1') ELSE  --GREEN LIGHT RED DARK  
          '0' WHEN (LED_C1='1' AND LED_C2='0') ELSE  --GREEN LIGHT RED FAST, SERIOUS ALARM
          '0' WHEN (LED_C1='1' AND LED_C2='1');      --GREEN LIGHT RED SLOW, NON SERIOUS ALARM
    LED1<='1' WHEN (LED_C1='0' AND LED_C2='0') ELSE  --GREEN DARK RED DARK
          '1' WHEN (LED_C1='0' AND LED_C2='1') ELSE  --GREEN LIGHT RED DARK  
          TMP WHEN (LED_C1='1' AND LED_C2='0') ELSE  --GREEN LIGHT RED FAST, SERIOUS ALARM
          TMP2 WHEN (LED_C1='1' AND LED_C2='1');   --GREEN LIGHT RED SLOW, NON SERIOUS ALARM
  END BLOCK G3;    

  

END dataflow;

⌨️ 快捷键说明

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