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

📄 idt723612.vhd

📁 VHDL的ram和fifo model code 包含众多的厂家
💻 VHD
📖 第 1 页 / 共 5 页
字号:
    A_ipd(23)   => A23_ipd,    A_ipd(24)   => A24_ipd,    A_ipd(25)   => A25_ipd,    A_ipd(26)   => A26_ipd,    A_ipd(27)   => A27_ipd,    A_ipd(28)   => A28_ipd,    A_ipd(29)   => A29_ipd,    A_ipd(30)   => A30_ipd,    A_ipd(31)   => A31_ipd,    A_ipd(32)   => A32_ipd,    A_ipd(33)   => A33_ipd,    A_ipd(34)   => A34_ipd,    A_ipd(35)   => A35_ipd,    A(0)    	=> A0,    A(1)    	=> A1,    A(2)    	=> A2,    A(3)    	=> A3,    A(4)        => A4,    A(5)        => A5,    A(6)        => A6,    A(7)    	=> A7,    A(8)    	=> A8,    A(9)    	=> A9,    A(10)   	=> A10,    A(11)   	=> A11,    A(12)   	=> A12,    A(13)   	=> A13,    A(14)   	=> A14,    A(15)   	=> A15,    A(16)   	=> A16,    A(17)   	=> A17,    A(18)   	=> A18,    A(19)   	=> A19,    A(20)   	=> A20,    A(21)   	=> A21,    A(22)   	=> A22,    A(23)   	=> A23,    A(24)   	=> A24,    A(25)   	=> A25,    A(26)   	=> A26,    A(27)   	=> A27,    A(28)   	=> A28,    A(29)   	=> A29,    A(30)   	=> A30,    A(31)   	=> A31,    A(32)   	=> A32,    A(33)   	=> A33,    A(34)   	=> A34,    A(35)    	=> A35,    AEANeg  	=> AEANeg,    AEBNeg   	=> AEBNeg,    AFANeg   	=> AFANeg,    AFBNeg   	=> AFBNeg,    B_ipd(0)    => B0_ipd,    B_ipd(1)    => B1_ipd,    B_ipd(2)    => B2_ipd,    B_ipd(3)    => B3_ipd,    B_ipd(4)    => B4_ipd,    B_ipd(5)    => B5_ipd,    B_ipd(6)    => B6_ipd,    B_ipd(7)    => B7_ipd,    B_ipd(8)    => B8_ipd,    B_ipd(9)    => B9_ipd,    B_ipd(10)   => B10_ipd,    B_ipd(11)   => B11_ipd,    B_ipd(12)   => B12_ipd,    B_ipd(13)   => B13_ipd,    B_ipd(14)   => B14_ipd,    B_ipd(15)   => B15_ipd,    B_ipd(16)   => B16_ipd,    B_ipd(17)   => B17_ipd,    B_ipd(18)   => B18_ipd,    B_ipd(19)   => B19_ipd,    B_ipd(20)   => B20_ipd,    B_ipd(21)   => B21_ipd,    B_ipd(22)   => B22_ipd,    B_ipd(23)   => B23_ipd,    B_ipd(24)   => B24_ipd,    B_ipd(25)   => B25_ipd,    B_ipd(26)   => B26_ipd,    B_ipd(27)   => B27_ipd,    B_ipd(28)   => B28_ipd,    B_ipd(29)   => B29_ipd,    B_ipd(30)   => B30_ipd,    B_ipd(31)   => B31_ipd,    B_ipd(32)   => B32_ipd,    B_ipd(33)   => B33_ipd,    B_ipd(34)   => B34_ipd,    B_ipd(35)   => B35_ipd,    B(0)    	=> B0,    B(1)    	=> B1,    B(2)    	=> B2,    B(3)    	=> B3,    B(4)        => B4,    B(5)        => B5,    B(6)        => B6,    B(7)    	=> B7,    B(8)    	=> B8,    B(9)    	=> B9,    B(10)   	=> B10,    B(11)   	=> B11,    B(12)   	=> B12,    B(13)   	=> B13,    B(14)   	=> B14,    B(15)   	=> B15,    B(16)   	=> B16,    B(17)   	=> B17,    B(18)   	=> B18,    B(19)   	=> B19,    B(20)   	=> B20,    B(21)   	=> B21,    B(22)   	=> B22,    B(23)   	=> B23,    B(24)   	=> B24,    B(25)   	=> B25,    B(26)   	=> B26,    B(27)   	=> B27,    B(28)   	=> B28,    B(29)   	=> B29,    B(30)   	=> B30,    B(31)   	=> B31,    B(32)   	=> B32,    B(33)   	=> B33,    B(34)   	=> B34,    B(35)    	=> B35,    CLKA        => CLKA_ipd,    CLKB        => CLKB_ipd,    CSANeg      => CSANeg_ipd,    CSBNeg      => CSBNeg_ipd,    EFANeg   	=> EFANeg,    EFBNeg   	=> EFBNeg,    ENA         => ENA_ipd,    ENB         => ENB_ipd,    FFANeg   	=> FFANeg,    FFBNeg   	=> FFBNeg,    FS0         => FS0_ipd,    FS1         => FS1_ipd,    MBA         => MBA_ipd,    MBB         => MBB_ipd,    MBF1Neg     => MBF1Neg,    MBF2Neg     => MBF2Neg,    ODDEVEN     => ODDEVEN_ipd,    PEFANeg  	=> PEFANeg,    PEFBNeg  	=> PEFBNeg,    PGA         => PGA_ipd,    PGB         => PGB_ipd,    RSTNeg      => RSTNeg_ipd,    WRA         => WRA_ipd,    WRB         => WRB_ipd);      -- zero delayed outputs and bidirectional ports   -- (func. sec. uses these signals instead of =  --  actual outputs and bidirectional ports);  -- actual outputs are assigned in Path Delay Section    SIGNAL A_zd         : std_logic_vector (35 downto 0);  SIGNAL B_zd         : std_logic_vector (35 downto 0);   SIGNAL AEANeg_zd    : std_logic;   SIGNAL AEBNeg_zd    : std_logic;    SIGNAL AFANeg_zd    : std_logic;    SIGNAL AFBNeg_zd    : std_logic;    SIGNAL EFANeg_zd    : std_logic;       SIGNAL EFBNeg_zd    : std_logic;       SIGNAL FFANeg_zd    : std_logic;       SIGNAL FFBNeg_zd    : std_logic;       SIGNAL MBF1Neg_zd   : std_logic;      SIGNAL MBF2Neg_zd   : std_logic;     SIGNAL PEFANeg_zd   : std_logic;      SIGNAL PEFBNeg_zd   : std_logic;     ------------------------------------------------------------------------------  -- FIFO memory definitions  ------------------------------------------------------------------------------  -- general  CONSTANT FIFOSize        :  positive := 64;  CONSTANT FIFOWordLength  :  positive := 36;  SUBTYPE  FIFOWord    IS std_logic_vector(FIFOWordLength - 1 DOWNTO 0);  TYPE     FIFOArray   IS ARRAY (0 TO FIFOSize - 1) OF FIFOWord;    CONSTANT MailWordLength  :  positive := 36;  SUBTYPE  MailWord    IS std_logic_vector(MailWordLength - 1 DOWNTO 0);    -- special  CONSTANT FIFOWordBytes   :  positive := 4;    ------------------------------------------------------------------------------  -- internal signals   ------------------------------------------------------------------------------    -- FIFO Arrays       SIGNAL FIFOMemory1int : FIFOArray := (FIFOArray'range =>                                        FIFOWord'(OTHERS => 'X'));     SIGNAL FIFOMemory2int : FIFOArray := (FIFOArray'range =>                                        FIFOWord'(OTHERS => 'X'));                                          -- Main Registers                                              -- Input Registers           SIGNAL InputReg1int   : FIFOWord := (OTHERS => 'X');     SIGNAL InputReg2int   : FIFOWord := (OTHERS => 'X');           -- Output Registers           SIGNAL OutputReg1int  : FIFOWord := (OTHERS => 'X');     SIGNAL OutputReg2int  : FIFOWord := (OTHERS => 'X');          -- FIFO Pointers          SIGNAL ReadPtr1int    : Natural RANGE 0 TO FIFOSize-1;     SIGNAL ReadPtr2int    : Natural RANGE 0 TO FIFOSize-1;     SIGNAL WritePtr1int   : Natural RANGE 0 TO FIFOSize-1;     SIGNAL WritePtr2int   : Natural RANGE 0 TO FIFOSize-1;          -- FIFO Offset for Almoust Empty/Full Flags          SIGNAL EmptyOffsRegint: Natural RANGE 0 TO FIFOSize-1;     SIGNAL FullOffsRegint : Natural RANGE 0 TO FIFOSize-1;          -- Mail Registers          SIGNAL Mail1int,            Mail2int       : MailWord := (OTHERS => 'X');                 -- Flags Flip-flop first stage (each flag is synchonized      -- to its Port Clock through two flip-flop stages)          SIGNAL EFA1int, EFB1int, FFA1int, FFC1int,             AEA1int, AEB1int, AFA1int, AFC1int : std_logic;                -- Flags "Input Register is loaded" - in this      -- model they will be loaded to FIFOMemory on CLK negedge                 SIGNAL InputReg1Readyint   : std_logic;      SIGNAL InputReg2Readyint   : std_logic;        -- Counters of Clocks during RSTNeg is active or passive          SIGNAL CountCLKAint, CountCLKBint: Natural;       -- Internal Control Signals          SIGNAL EnWrFIFO1int, EnRdFIFO1int, EnWrFIFO2int, EnRdFIFO2int,     	    EnWrMail1int, EnRdMail1int, EnWrMail2int, EnRdMail2int: std_ulogic;       BEGIN -- VitalBehavior block     ---------------------------------------------------------------------------------- Timing Check Section                                                         ----------------------------------------------------------------------------------     TimingChecks: PROCESS ( A_ipd, B_ipd, CLKA, CLKB, CSANeg, CSBNeg,       ENA, ENB, MBA, MBB, FS0, FS1, ODDEVEN, PGA, PGB, RSTNeg, WRA, WRB)    -- Timing Check Variables    -- Pulse Width Check Variables      VARIABLE Pviol_CLKA          : X01 := '0';      VARIABLE PD_CLKA             : VitalPeriodDataType := VitalPeriodDataInit;      VARIABLE Pviol_CLKB          : X01 := '0';      VARIABLE PD_CLKB             : VitalPeriodDataType := VitalPeriodDataInit;    -- Setup/Hold Check Variables      VARIABLE Tviol_A0_CLKA       : X01 := '0';      VARIABLE TD_A0_CLKA          : VitalTimingDataType;      VARIABLE TViol_B0_CLKB       : X01 := '0';      VARIABLE TD_B0_CLKB          : VitalTimingDataType;      VARIABLE Tviol_CSANeg_CLKA   : X01 := '0';      VARIABLE TD_CSANeg_CLKA      : VitalTimingDataType;      VARIABLE Tviol_WRA_CLKA      : X01 := '0';      VARIABLE TD_WRA_CLKA         : VitalTimingDataType;      VARIABLE Tviol_ENA_CLKA      : X01 := '0';      VARIABLE TD_ENA_CLKA         : VitalTimingDataType;      VARIABLE Tviol_MBA_CLKA      : X01 := '0';      VARIABLE TD_MBA_CLKA         : VitalTimingDataType;      VARIABLE Tviol_CSBNeg_CLKB   : X01 := '0';      VARIABLE TD_CSBNeg_CLKB      : VitalTimingDataType;      VARIABLE Tviol_ENB_CLKB      : X01 := '0';      VARIABLE TD_ENB_CLKB         : VitalTimingDataType;      VARIABLE Tviol_WRB_CLKB      : X01 := '0';      VARIABLE TD_WRB_CLKB         : VitalTimingDataType;          VARIABLE Tviol_MBB_CLKB      : X01 := '0';      VARIABLE TD_MBB_CLKB         : VitalTimingDataType;      VARIABLE Tviol_ODDEVEN_CLKA  : X01 := '0';      VARIABLE TD_ODDEVEN_CLKA     : VitalTimingDataType;      VARIABLE Tviol_PGA_CLKA      : X01 := '0';      VARIABLE TD_PGA_CLKA         : VitalTimingDataType;      VARIABLE Tviol_ODDEVEN_CLKB  : X01 := '0';      VARIABLE TD_ODDEVEN_CLKB     : VitalTimingDataType;      VARIABLE Tviol_PGB_CLKB      : X01 := '0';      VARIABLE TD_PGB_CLKB         : VitalTimingDataType;      VARIABLE Tviol_RSTNeg_CLKA   : X01 := '0';      VARIABLE TD_RSTNeg_CLKA      : VitalTimingDataType;      VARIABLE Tviol_RSTNeg_CLKB   : X01 := '0';      VARIABLE TD_RSTNeg_CLKB      : VitalTimingDataType;      VARIABLE Tviol_FS0_RSTNeg    : X01 := '0';      VARIABLE TD_FS0_RSTNeg       : VitalTimingDataType;      VARIABLE Tviol_FS1_RSTNeg    : X01 := '0';      VARIABLE TD_FS1_RSTNeg       : VitalTimingDataType;    -- Violation variable (used to OR all individual violation variables)      VARIABLE Violation           : X01 := '0';    BEGIN---------------------------------------------------------------------------------- Timing Check Section                                                       ---------------------------------------------------------------------------------- IF  (TimingChecksOn) THEN      -- CLKA period and pulse width check(high & low)

⌨️ 快捷键说明

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