Warp-SE/cpld/XC95144XL/WarpSE.mod
Zane Kaminski f26657823e Compiled
2023-04-15 05:30:20 -04:00

221 lines
8.1 KiB
Modula-2

MODEL
MODEL_VERSION "v1998.8";
DESIGN "WarpSE";
/* port names and type */
INPUT S:PIN24 = A_FSB<23>;
INPUT S:PIN20 = A_FSB<22>;
INPUT S:PIN19 = A_FSB<21>;
INPUT S:PIN18 = A_FSB<20>;
INPUT S:PIN17 = A_FSB<19>;
INPUT S:PIN16 = A_FSB<18>;
INPUT S:PIN15 = A_FSB<17>;
INPUT S:PIN14 = A_FSB<16>;
INPUT S:PIN13 = A_FSB<15>;
INPUT S:PIN11 = A_FSB<13>;
INPUT S:PIN10 = A_FSB<12>;
INPUT S:PIN23 = C8M;
INPUT S:PIN22 = C16M;
INPUT S:PIN12 = A_FSB<14>;
INPUT S:PIN9 = A_FSB<11>;
INPUT S:PIN8 = A_FSB<10>;
INPUT S:PIN27 = FCLK;
INPUT S:PIN29 = nWE_FSB;
INPUT S:PIN32 = nAS_FSB;
INPUT S:PIN6 = A_FSB<8>;
INPUT S:PIN7 = A_FSB<9>;
INPUT S:PIN76 = nBERR_IOB;
INPUT S:PIN78 = nDTACK_IOB;
INPUT S:PIN30 = nLDS_FSB;
INPUT S:PIN33 = nUDS_FSB;
INPUT S:PIN25 = E;
INPUT S:PIN92 = nIPL2;
INPUT S:PIN77 = nVPA_IOB;
INPUT S:PIN94 = A_FSB<1>;
INPUT S:PIN4 = A_FSB<7>;
INPUT S:PIN95 = A_FSB<2>;
INPUT S:PIN96 = A_FSB<3>;
INPUT S:PIN97 = A_FSB<4>;
INPUT S:PIN2 = A_FSB<5>;
INPUT S:PIN3 = A_FSB<6>;
TRIOUT S:PIN91 = nRES;
TRIOUT S:PIN74 = nVMA_IOB;
TRIOUT S:PIN81 = nAS_IOB;
TRIOUT S:PIN79 = nLDS_IOB;
TRIOUT S:PIN80 = nUDS_IOB;
OUTPUT S:PIN70 = nBERR_FSB;
OUTPUT S:PIN93 = nVPA_FSB;
OUTPUT S:PIN64 = nRAS;
OUTPUT S:PIN72 = nBR_IOB;
OUTPUT S:PIN41 = RA<3>;
OUTPUT S:PIN28 = nDTACK_FSB;
OUTPUT S:PIN53 = RA<0>;
OUTPUT S:PIN55 = RA<10>;
OUTPUT S:PIN50 = RA<1>;
OUTPUT S:PIN43 = RA<2>;
OUTPUT S:PIN40 = RA<4>;
OUTPUT S:PIN42 = RA<5>;
OUTPUT S:PIN46 = RA<6>;
OUTPUT S:PIN52 = RA<7>;
OUTPUT S:PIN54 = RA<8>;
OUTPUT S:PIN56 = RA<9>;
OUTPUT S:PIN34 = nROMWE;
OUTPUT S:PIN85 = nADoutLE0;
OUTPUT S:PIN36 = nCAS;
OUTPUT S:PIN86 = nDinLE;
OUTPUT S:PIN37 = nOE;
OUTPUT S:PIN63 = RA<11>;
OUTPUT S:PIN82 = nADoutLE1;
OUTPUT S:PIN87 = nAoutOE;
OUTPUT S:PIN90 = nDinOE;
OUTPUT S:PIN89 = nDoutOE;
OUTPUT S:PIN65 = nRAMLWE;
OUTPUT S:PIN66 = nRAMUWE;
OUTPUT S:PIN35 = nROMCS;
OUTPUT S:PIN58 = C25MEN;
/* timing arc definitions */
A_FSB<9>_RA<0>_delay: DELAY A_FSB<9> RA<0>;
A_FSB<1>_RA<0>_delay: DELAY A_FSB<1> RA<0>;
A_FSB<17>_RA<10>_delay: DELAY A_FSB<17> RA<10>;
A_FSB<7>_RA<10>_delay: DELAY A_FSB<7> RA<10>;
A_FSB<20>_RA<11>_delay: DELAY A_FSB<20> RA<11>;
A_FSB<19>_RA<11>_delay: DELAY A_FSB<19> RA<11>;
A_FSB<2>_RA<1>_delay: DELAY A_FSB<2> RA<1>;
A_FSB<10>_RA<1>_delay: DELAY A_FSB<10> RA<1>;
A_FSB<16>_RA<2>_delay: DELAY A_FSB<16> RA<2>;
A_FSB<7>_RA<2>_delay: DELAY A_FSB<7> RA<2>;
A_FSB<20>_RA<3>_delay: DELAY A_FSB<20> RA<3>;
A_FSB<19>_RA<3>_delay: DELAY A_FSB<19> RA<3>;
A_FSB<3>_RA<4>_delay: DELAY A_FSB<3> RA<4>;
A_FSB<11>_RA<4>_delay: DELAY A_FSB<11> RA<4>;
A_FSB<4>_RA<5>_delay: DELAY A_FSB<4> RA<5>;
A_FSB<12>_RA<5>_delay: DELAY A_FSB<12> RA<5>;
A_FSB<5>_RA<6>_delay: DELAY A_FSB<5> RA<6>;
A_FSB<13>_RA<6>_delay: DELAY A_FSB<13> RA<6>;
A_FSB<6>_RA<7>_delay: DELAY A_FSB<6> RA<7>;
A_FSB<14>_RA<7>_delay: DELAY A_FSB<14> RA<7>;
A_FSB<21>_RA<8>_delay: DELAY A_FSB<21> RA<8>;
A_FSB<18>_RA<8>_delay: DELAY A_FSB<18> RA<8>;
A_FSB<8>_RA<9>_delay: DELAY A_FSB<8> RA<9>;
A_FSB<15>_RA<9>_delay: DELAY A_FSB<15> RA<9>;
nAS_FSB_nDinOE_delay: DELAY nAS_FSB nDinOE;
A_FSB<23>_nDinOE_delay: DELAY A_FSB<23> nDinOE;
A_FSB<20>_nDinOE_delay: DELAY A_FSB<20> nDinOE;
nWE_FSB_nDinOE_delay: DELAY nWE_FSB nDinOE;
A_FSB<21>_nDinOE_delay: DELAY A_FSB<21> nDinOE;
A_FSB<22>_nDinOE_delay: DELAY A_FSB<22> nDinOE;
nWE_FSB_nRAMLWE_delay: DELAY nWE_FSB nRAMLWE;
nLDS_FSB_nRAMLWE_delay: DELAY nLDS_FSB nRAMLWE;
nWE_FSB_nRAMUWE_delay: DELAY nWE_FSB nRAMUWE;
nUDS_FSB_nRAMUWE_delay: DELAY nUDS_FSB nRAMUWE;
nAS_FSB_nRAS_delay: DELAY nAS_FSB nRAS;
A_FSB<22>_nRAS_delay: DELAY A_FSB<22> nRAS;
A_FSB<23>_nRAS_delay: DELAY A_FSB<23> nRAS;
A_FSB<22>_nROMCS_delay: DELAY A_FSB<22> nROMCS;
A_FSB<20>_nROMCS_delay: DELAY A_FSB<20> nROMCS;
A_FSB<23>_nROMCS_delay: DELAY A_FSB<23> nROMCS;
A_FSB<21>_nROMCS_delay: DELAY A_FSB<21> nROMCS;
nWE_FSB_nROMWE_delay: DELAY nWE_FSB nROMWE;
nAS_FSB_nROMWE_delay: DELAY nAS_FSB nROMWE;
FCLK_nRES_delay: DELAY (ENABLE_HIGH) FCLK nRES;
FCLK_nVMA_IOB_delay: DELAY (ENABLE_HIGH) FCLK nVMA_IOB;
FCLK_nAS_IOB_delay: DELAY (ENABLE_HIGH) FCLK nAS_IOB;
FCLK_nLDS_IOB_delay: DELAY (ENABLE_HIGH) FCLK nLDS_IOB;
FCLK_nUDS_IOB_delay: DELAY (ENABLE_HIGH) FCLK nUDS_IOB;
FCLK_nBERR_FSB_delay: DELAY FCLK nBERR_FSB;
FCLK_nVPA_FSB_delay: DELAY FCLK nVPA_FSB;
FCLK_nRAS_delay: DELAY FCLK nRAS;
FCLK_nBR_IOB_delay: DELAY FCLK nBR_IOB;
FCLK_RA<3>_delay: DELAY FCLK RA<3>;
FCLK_nDTACK_FSB_delay: DELAY FCLK nDTACK_FSB;
FCLK_RA<0>_delay: DELAY FCLK RA<0>;
FCLK_RA<10>_delay: DELAY FCLK RA<10>;
FCLK_RA<1>_delay: DELAY FCLK RA<1>;
FCLK_RA<2>_delay: DELAY FCLK RA<2>;
FCLK_RA<4>_delay: DELAY FCLK RA<4>;
FCLK_RA<5>_delay: DELAY FCLK RA<5>;
FCLK_RA<6>_delay: DELAY FCLK RA<6>;
FCLK_RA<7>_delay: DELAY FCLK RA<7>;
FCLK_RA<8>_delay: DELAY FCLK RA<8>;
FCLK_RA<9>_delay: DELAY FCLK RA<9>;
FCLK_nADoutLE0_delay: DELAY FCLK nADoutLE0;
FCLK_nCAS_delay: DELAY FCLK nCAS;
FCLK_nOE_delay: DELAY FCLK nOE;
FCLK_RA<11>_delay: DELAY FCLK RA<11>;
FCLK_nADoutLE1_delay: DELAY FCLK nADoutLE1;
FCLK_nAoutOE_delay: DELAY FCLK nAoutOE;
FCLK_nDoutOE_delay: DELAY FCLK nDoutOE;
FCLK_nRAMLWE_delay: DELAY FCLK nRAMLWE;
FCLK_nRAMUWE_delay: DELAY FCLK nRAMUWE;
FCLK_nROMCS_delay: DELAY FCLK nROMCS;
C16M_nAS_IOB_delay: DELAY (ENABLE_HIGH) C16M nAS_IOB;
C16M_nLDS_IOB_delay: DELAY (ENABLE_HIGH) C16M nLDS_IOB;
C16M_nUDS_IOB_delay: DELAY (ENABLE_HIGH) C16M nUDS_IOB;
C16M_nADoutLE0_delay: DELAY C16M nADoutLE0;
C16M_nDinLE_delay: DELAY C16M nDinLE;
C16M_nDoutOE_delay: DELAY C16M nDoutOE;
C8M_nVMA_IOB_delay: DELAY (ENABLE_HIGH) C8M nVMA_IOB;
/* timing check arc definitions */
A_FSB<10>_FCLK_setup: SETUP(POSEDGE) A_FSB<10> FCLK;
A_FSB<11>_FCLK_setup: SETUP(POSEDGE) A_FSB<11> FCLK;
A_FSB<12>_FCLK_setup: SETUP(POSEDGE) A_FSB<12> FCLK;
A_FSB<13>_FCLK_setup: SETUP(POSEDGE) A_FSB<13> FCLK;
A_FSB<14>_FCLK_setup: SETUP(POSEDGE) A_FSB<14> FCLK;
A_FSB<15>_FCLK_setup: SETUP(POSEDGE) A_FSB<15> FCLK;
A_FSB<16>_FCLK_setup: SETUP(POSEDGE) A_FSB<16> FCLK;
A_FSB<17>_FCLK_setup: SETUP(POSEDGE) A_FSB<17> FCLK;
A_FSB<18>_FCLK_setup: SETUP(POSEDGE) A_FSB<18> FCLK;
A_FSB<19>_FCLK_setup: SETUP(POSEDGE) A_FSB<19> FCLK;
A_FSB<20>_FCLK_setup: SETUP(POSEDGE) A_FSB<20> FCLK;
A_FSB<21>_FCLK_setup: SETUP(POSEDGE) A_FSB<21> FCLK;
A_FSB<22>_FCLK_setup: SETUP(POSEDGE) A_FSB<22> FCLK;
A_FSB<23>_FCLK_setup: SETUP(POSEDGE) A_FSB<23> FCLK;
A_FSB<8>_FCLK_setup: SETUP(POSEDGE) A_FSB<8> FCLK;
A_FSB<9>_FCLK_setup: SETUP(POSEDGE) A_FSB<9> FCLK;
E_FCLK_setup: SETUP(POSEDGE) E FCLK;
nAS_FSB_FCLK_setup: SETUP(POSEDGE) nAS_FSB FCLK;
nIPL2_FCLK_setup: SETUP(POSEDGE) nIPL2 FCLK;
nLDS_FSB_FCLK_setup: SETUP(POSEDGE) nLDS_FSB FCLK;
nRES_FCLK_setup: SETUP(POSEDGE) nRES FCLK;
nUDS_FSB_FCLK_setup: SETUP(POSEDGE) nUDS_FSB FCLK;
nWE_FSB_FCLK_setup: SETUP(POSEDGE) nWE_FSB FCLK;
A_FSB<10>_FCLK_hold: HOLD(POSEDGE) A_FSB<10> FCLK;
A_FSB<11>_FCLK_hold: HOLD(POSEDGE) A_FSB<11> FCLK;
A_FSB<12>_FCLK_hold: HOLD(POSEDGE) A_FSB<12> FCLK;
A_FSB<13>_FCLK_hold: HOLD(POSEDGE) A_FSB<13> FCLK;
A_FSB<14>_FCLK_hold: HOLD(POSEDGE) A_FSB<14> FCLK;
A_FSB<15>_FCLK_hold: HOLD(POSEDGE) A_FSB<15> FCLK;
A_FSB<16>_FCLK_hold: HOLD(POSEDGE) A_FSB<16> FCLK;
A_FSB<17>_FCLK_hold: HOLD(POSEDGE) A_FSB<17> FCLK;
A_FSB<18>_FCLK_hold: HOLD(POSEDGE) A_FSB<18> FCLK;
A_FSB<19>_FCLK_hold: HOLD(POSEDGE) A_FSB<19> FCLK;
A_FSB<20>_FCLK_hold: HOLD(POSEDGE) A_FSB<20> FCLK;
A_FSB<21>_FCLK_hold: HOLD(POSEDGE) A_FSB<21> FCLK;
A_FSB<22>_FCLK_hold: HOLD(POSEDGE) A_FSB<22> FCLK;
A_FSB<23>_FCLK_hold: HOLD(POSEDGE) A_FSB<23> FCLK;
A_FSB<8>_FCLK_hold: HOLD(POSEDGE) A_FSB<8> FCLK;
A_FSB<9>_FCLK_hold: HOLD(POSEDGE) A_FSB<9> FCLK;
E_FCLK_hold: HOLD(POSEDGE) E FCLK;
nAS_FSB_FCLK_hold: HOLD(POSEDGE) nAS_FSB FCLK;
nIPL2_FCLK_hold: HOLD(POSEDGE) nIPL2 FCLK;
nLDS_FSB_FCLK_hold: HOLD(POSEDGE) nLDS_FSB FCLK;
nRES_FCLK_hold: HOLD(POSEDGE) nRES FCLK;
nUDS_FSB_FCLK_hold: HOLD(POSEDGE) nUDS_FSB FCLK;
nWE_FSB_FCLK_hold: HOLD(POSEDGE) nWE_FSB FCLK;
C8M_C16M_setup: SETUP(POSEDGE) C8M C16M;
C8M_C16M_hold: HOLD(POSEDGE) C8M C16M;
E_C8M_setup: SETUP(POSEDGE) E C8M;
nBERR_IOB_C8M_setup: SETUP(POSEDGE) nBERR_IOB C8M;
nDTACK_IOB_C8M_setup: SETUP(POSEDGE) nDTACK_IOB C8M;
nRES_C8M_setup: SETUP(POSEDGE) nRES C8M;
nVPA_IOB_C8M_setup: SETUP(POSEDGE) nVPA_IOB C8M;
E_C8M_hold: HOLD(POSEDGE) E C8M;
nBERR_IOB_C8M_hold: HOLD(POSEDGE) nBERR_IOB C8M;
nDTACK_IOB_C8M_hold: HOLD(POSEDGE) nDTACK_IOB C8M;
nRES_C8M_hold: HOLD(POSEDGE) nRES C8M;
nVPA_IOB_C8M_hold: HOLD(POSEDGE) nVPA_IOB C8M;
ENDMODEL