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

📄 idt71v65803.vhd

📁 vhdl cod for ram.For sp3e
💻 VHD
📖 第 1 页 / 共 4 页
字号:
        w_14 : VitalWireDelay (A13_ipd, A13, tipd_A13);        w_15 : VitalWireDelay (A14_ipd, A14, tipd_A14);        w_16 : VitalWireDelay (A15_ipd, A15, tipd_A15);        w_17 : VitalWireDelay (A16_ipd, A16, tipd_A16);        w_18 : VitalWireDelay (A17_ipd, A17, tipd_A17);        w_41 : VitalWireDelay (A18_ipd, A18, tipd_A18);        w_21 : VitalWireDelay (DQA0_ipd, DQA0, tipd_DQA0);        w_22 : VitalWireDelay (DQA1_ipd, DQA1, tipd_DQA1);        w_23 : VitalWireDelay (DQA2_ipd, DQA2, tipd_DQA2);        w_24 : VitalWireDelay (DQA3_ipd, DQA3, tipd_DQA3);        w_25 : VitalWireDelay (DQA4_ipd, DQA4, tipd_DQA4);        w_26 : VitalWireDelay (DQA5_ipd, DQA5, tipd_DQA5);        w_27 : VitalWireDelay (DQA6_ipd, DQA6, tipd_DQA6);        w_28 : VitalWireDelay (DQA7_ipd, DQA7, tipd_DQA7);        w_29 : VitalWireDelay (DQA8_ipd, DQA8, tipd_DQA8);        w_31 : VitalWireDelay (DQB0_ipd, DQB0, tipd_DQB0);        w_32 : VitalWireDelay (DQB1_ipd, DQB1, tipd_DQB1);        w_33 : VitalWireDelay (DQB2_ipd, DQB2, tipd_DQB2);        w_34 : VitalWireDelay (DQB3_ipd, DQB3, tipd_DQB3);        w_35 : VitalWireDelay (DQB4_ipd, DQB4, tipd_DQB4);        w_36 : VitalWireDelay (DQB5_ipd, DQB5, tipd_DQB5);        w_37 : VitalWireDelay (DQB6_ipd, DQB6, tipd_DQB6);        w_38 : VitalWireDelay (DQB7_ipd, DQB7, tipd_DQB7);        w_39 : VitalWireDelay (DQB8_ipd, DQB8, tipd_DQB8);        w_61 : VitalWireDelay (ADV_ipd, ADV, tipd_ADV);        w_62 : VitalWireDelay (R_ipd, R, tipd_R);        w_63 : VitalWireDelay (CLKENNeg_ipd, CLKENNeg, tipd_CLKENNeg);        w_66 : VitalWireDelay (BWBNeg_ipd, BWBNeg, tipd_BWBNeg);        w_67 : VitalWireDelay (BWANeg_ipd, BWANeg, tipd_BWANeg);        w_68 : VitalWireDelay (CE1Neg_ipd, CE1Neg, tipd_CE1Neg);        w_69 : VitalWireDelay (CE2Neg_ipd, CE2Neg, tipd_CE2Neg);        w_70 : VitalWireDelay (CE2_ipd, CE2, tipd_CE2);        w_71 : VitalWireDelay (CLK_ipd, CLK, tipd_CLK);        w_72 : VitalWireDelay (ZZ_ipd, ZZ, tipd_ZZ);        w_73 : VitalWireDelay (LBONeg_ipd, LBONeg, tipd_LBONeg);        w_74 : VitalWireDelay (OENeg_ipd, OENeg, tipd_OENeg);    END BLOCK;    A0_nwv <= To_UX01(A0_ipd);    A1_nwv <= To_UX01(A1_ipd);    A2_nwv <= To_UX01(A2_ipd);    A3_nwv <= To_UX01(A3_ipd);    A4_nwv <= To_UX01(A4_ipd);    A5_nwv <= To_UX01(A5_ipd);    A6_nwv <= To_UX01(A6_ipd);    A7_nwv <= To_UX01(A7_ipd);    A8_nwv <= To_UX01(A8_ipd);    A9_nwv <= To_UX01(A9_ipd);    A10_nwv <= To_UX01(A10_ipd);    A11_nwv <= To_UX01(A11_ipd);    A12_nwv <= To_UX01(A12_ipd);    A13_nwv <= To_UX01(A13_ipd);    A14_nwv <= To_UX01(A14_ipd);    A15_nwv <= To_UX01(A15_ipd);    A16_nwv <= To_UX01(A16_ipd);    A17_nwv <= To_UX01(A17_ipd);    A18_nwv <= To_UX01(A18_ipd);    DQA0_nwv <= To_UX01(DQA0_ipd);    DQA1_nwv <= To_UX01(DQA1_ipd);    DQA2_nwv <= To_UX01(DQA2_ipd);    DQA3_nwv <= To_UX01(DQA3_ipd);    DQA4_nwv <= To_UX01(DQA4_ipd);    DQA5_nwv <= To_UX01(DQA5_ipd);    DQA6_nwv <= To_UX01(DQA6_ipd);    DQA7_nwv <= To_UX01(DQA7_ipd);    DQA8_nwv <= To_UX01(DQA8_ipd);    DQB0_nwv <= To_UX01(DQB0_ipd);    DQB1_nwv <= To_UX01(DQB1_ipd);    DQB2_nwv <= To_UX01(DQB2_ipd);    DQB3_nwv <= To_UX01(DQB3_ipd);    DQB4_nwv <= To_UX01(DQB4_ipd);    DQB5_nwv <= To_UX01(DQB5_ipd);    DQB6_nwv <= To_UX01(DQB6_ipd);    DQB7_nwv <= To_UX01(DQB7_ipd);    DQB8_nwv <= To_UX01(DQB8_ipd);    ADV_nwv <= To_UX01(ADV_ipd);    R_nwv <= To_UX01(R_ipd);    CLKENNeg_nwv <= To_UX01(CLKENNeg_ipd);    BWBNeg_nwv <= To_UX01(BWBNeg_ipd);    BWANeg_nwv <= To_UX01(BWANeg_ipd);    CE1Neg_nwv <= To_UX01(CE1Neg_ipd);    CE2Neg_nwv <= To_UX01(CE2Neg_ipd);    CE2_nwv <= To_UX01(CE2_ipd);    CLK_nwv <= To_UX01(CLK_ipd);    ZZ_nwv <= To_UX01(ZZ_ipd);    LBONeg_nwv <= To_UX01(LBONeg_ipd);    OENeg_nwv <= To_UX01(OENeg_ipd);    ----------------------------------------------------------------------------    -- Main Behavior Block    ----------------------------------------------------------------------------    Behavior: BLOCK        PORT (            BWBNIn          : IN    std_ulogic := 'U';            BWANIn          : IN    std_ulogic := 'U';            DatBIn          : IN    std_logic_vector(8 downto 0);            DatAIn          : IN    std_logic_vector(8 downto 0);            DataOut         : OUT   std_logic_vector(17 downto 0)                                                     := (others => 'Z');            CLKIn           : IN    std_ulogic := 'U';            CKENIn          : IN    std_ulogic := 'U';            AddressIn       : IN    std_logic_vector(18 downto 0);            OENegIn         : IN    std_ulogic := 'U';            RIn             : IN    std_ulogic := 'U';            ADVIn           : IN    std_ulogic := 'U';            CE2In           : IN    std_ulogic := 'U';            ZZIn            : IN    std_ulogic := 'U';            LBONegIn        : IN    std_ulogic := '1';            CE1NegIn        : IN    std_ulogic := 'U';            CE2NegIn        : IN    std_ulogic := 'U'        );        PORT MAP (            BWBNIn => BWBNeg_nwv,            BWANIn => BWANeg_nwv,            CLKIn => CLK_nwv,            ZZIn => ZZ_nwv,            CKENIn => CLKENNeg_nwv,            OENegIn => OENeg_nwv,            RIn => R_nwv,            ADVIn => ADV_nwv,            CE2In => CE2_nwv,            LBONegIn => LBONeg_nwv,            CE1NegIn => CE1Neg_nwv,            CE2NegIn => CE2Neg_nwv,            DataOut(0) =>  DQA0,            DataOut(1) =>  DQA1,            DataOut(2) =>  DQA2,            DataOut(3) =>  DQA3,            DataOut(4) =>  DQA4,            DataOut(5) =>  DQA5,            DataOut(6) =>  DQA6,            DataOut(7) =>  DQA7,            DataOut(8) =>  DQA8,            DataOut(9) =>  DQB0,            DataOut(10) =>  DQB1,            DataOut(11) =>  DQB2,            DataOut(12) =>  DQB3,            DataOut(13) =>  DQB4,            DataOut(14) =>  DQB5,            DataOut(15) =>  DQB6,            DataOut(16) =>  DQB7,            DataOut(17) =>  DQB8,            DatAIn(0) =>  DQA0_nwv,            DatAIn(1) =>  DQA1_nwv,            DatAIn(2) =>  DQA2_nwv,            DatAIn(3) =>  DQA3_nwv,            DatAIn(4) =>  DQA4_nwv,            DatAIn(5) =>  DQA5_nwv,            DatAIn(6) =>  DQA6_nwv,            DatAIn(7) =>  DQA7_nwv,            DatAIn(8) =>  DQA8_nwv,            DatBIn(0) =>  DQB0_nwv,            DatBIn(1) =>  DQB1_nwv,            DatBIn(2) =>  DQB2_nwv,            DatBIn(3) =>  DQB3_nwv,            DatBIn(4) =>  DQB4_nwv,            DatBIn(5) =>  DQB5_nwv,            DatBIn(6) =>  DQB6_nwv,            DatBIn(7) =>  DQB7_nwv,            DatBIn(8) =>  DQB8_nwv,            AddressIn(0) => A0_nwv,            AddressIn(1) => A1_nwv,            AddressIn(2) => A2_nwv,            AddressIn(3) => A3_nwv,            AddressIn(4) => A4_nwv,            AddressIn(5) => A5_nwv,            AddressIn(6) => A6_nwv,            AddressIn(7) => A7_nwv,            AddressIn(8) => A8_nwv,            AddressIn(9) => A9_nwv,            AddressIn(10) => A10_nwv,            AddressIn(11) => A11_nwv,            AddressIn(12) => A12_nwv,            AddressIn(13) => A13_nwv,            AddressIn(14) => A14_nwv,            AddressIn(15) => A15_nwv,            AddressIn(16) => A16_nwv,            AddressIn(17) => A17_nwv,            AddressIn(18) => A18_nwv        );        -- Type definition for state machine        TYPE mem_state IS (desel,                           begin_rd,                           begin_wr,                           burst_rd,                           burst_wr                          );        SIGNAL state     : mem_state;        TYPE sequence IS ARRAY (0 to 3) OF INTEGER RANGE -3 to 3;        TYPE seqtab IS ARRAY (0 to 3) OF sequence;        CONSTANT il0 : sequence := (0, 1, 2, 3);        CONSTANT il1 : sequence := (0, -1, 2, -1);        CONSTANT il2 : sequence := (0, 1, -2, -1);        CONSTANT il3 : sequence := (0, -1, -2, -3);        CONSTANT il  : seqtab := (il0, il1, il2, il3);        CONSTANT ln0 : sequence := (0, 1, 2, 3);        CONSTANT ln1 : sequence := (0, 1, 2, -1);        CONSTANT ln2 : sequence := (0, 1, -2, -1);        CONSTANT ln3 : sequence := (0, -3, -2, -1);        CONSTANT ln  : seqtab := (ln0, ln1, ln2, ln3);        SIGNAL Burst_Seq : seqtab;        SIGNAL D_zd      : std_logic_vector(17 DOWNTO 0);    BEGIN        Burst_Setup : PROCESS        BEGIN           IF (LBONegIn = '1') THEN               Burst_Seq <= il;           ELSE               Burst_Seq <= ln;           END IF;           WAIT;    -- Mode can be set only during power up        END PROCESS Burst_Setup;    ----------------------------------------------------------------------------    -- Main Behavior Process    ----------------------------------------------------------------------------        Behavior : PROCESS (BWBNIn, BWANIn,                            DatBIn, DatAIn, CLKIn, CKENIn, AddressIn, RIn,                            OENegIn, ADVIn, CE2In, CE1NegIn, CE2NegIn, ZZIn)            -- Type definition for commands            TYPE command_type is (ds,                                  burst,                                  read,                                  write                                 );            -- Timing Check Variables            VARIABLE Tviol_BWBN_CLK     : X01 := '0';            VARIABLE TD_BWBN_CLK        : VitalTimingDataType;            VARIABLE Tviol_BWAN_CLK     : X01 := '0';            VARIABLE TD_BWAN_CLK        : VitalTimingDataType;            VARIABLE Tviol_CKENIn_CLK   : X01 := '0';            VARIABLE TD_CKENIn_CLK      : VitalTimingDataType;            VARIABLE Tviol_ADVIn_CLK    : X01 := '0';            VARIABLE TD_ADVIn_CLK       : VitalTimingDataType;            VARIABLE Tviol_CE1NegIn_CLK : X01 := '0';            VARIABLE TD_CE1NegIn_CLK    : VitalTimingDataType;            VARIABLE Tviol_CE2NegIn_CLK : X01 := '0';            VARIABLE TD_CE2NegIn_CLK    : VitalTimingDataType;            VARIABLE Tviol_CE2In_CLK    : X01 := '0';            VARIABLE TD_CE2In_CLK       : VitalTimingDataType;            VARIABLE Tviol_RIn_CLK      : X01 := '0';            VARIABLE TD_RIn_CLK         : VitalTimingDataType;            VARIABLE Tviol_DatBIn_CLK   : X01 := '0';            VARIABLE TD_DatBIn_CLK      : VitalTimingDataType;            VARIABLE Tviol_DatAIn_CLK   : X01 := '0';            VARIABLE TD_DatAIn_CLK      : VitalTimingDataType;            VARIABLE Tviol_AddressIn_CLK      : X01 := '0';            VARIABLE TD_AddressIn_CLK         : VitalTimingDataType;            VARIABLE Pviol_CLK    : X01 := '0';            VARIABLE PD_CLK       : VitalPeriodDataType := VitalPeriodDataInit;            -- Memory array declaration            TYPE MemStore IS ARRAY (0 to 524287) OF INTEGER                             RANGE  -2 TO 511;            VARIABLE MemDataA   : MemStore;            VARIABLE MemDataB   : MemStore;            VARIABLE MemAddr    : NATURAL RANGE 0 TO 524287;            VARIABLE MemAddr1   : NATURAL RANGE 0 TO 524287;            VARIABLE startaddr  : NATURAL RANGE 0 TO 524287;            VARIABLE Burst_Cnt  : NATURAL RANGE 0 TO 4 := 0;            VARIABLE memstart   : NATURAL RANGE 0 TO 3 := 0;            VARIABLE offset     : INTEGER RANGE -3 TO 3 := 0;            VARIABLE command : command_type;            VARIABLE BWB1    : UX01;            VARIABLE BWA1    : UX01;            VARIABLE BWB2    : UX01;            VARIABLE BWA2    : UX01;            VARIABLE wr1     : boolean := false;            VARIABLE wr2     : boolean := false;

⌨️ 快捷键说明

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