home *** CD-ROM | disk | FTP | other *** search
/ Piper's Pit BBS/FTP: ibm 0020 - 0029 / ibm0020-0029 / ibm0028.tar / ibm0028 / CUPL30-4.ZIP / MDECODE.PLD < prev    next >
Encoding:
CUPL PLD Program format  |  1986-03-02  |  2.1 KB  |  58 lines

  1. Name        Mdecode;
  2. Partno        CA0011;
  3. Revision    01;
  4. Date        5/12/82;
  5. Designer    Osann/Kahl;
  6. Company        Assisted Technology, Inc.;
  7. Assembly    PC Expansion Memory;
  8. Location    16A;
  9.  
  10. /************************************************************************/
  11. /* This device generates the memory RAS signals and initiates the    */
  12. /* generation of CAS. It also enables the data bus transceiver for    */
  13. /* both the memory and I/O read cycles.                 */
  14. /************************************************************************/
  15. /* Allowable Target Device Types:    PAL16L8   82S153        */
  16. /************************************************************************/
  17.  
  18. /** Inputs **/
  19.  
  20. pin 1        = !ioacc ;        /* i/o cycle access        */
  21. pin [2..5]    = [a19..16] ;        /* system addresses a16 - a19    */
  22. pin 6        = altloc ;        /* map RAM to 4000 thru 7FFFF    */
  23. pin 7        = !refcyc ;        /* memory refresh cycle     */
  24. pin [8,9]    = ![memw,memr] ;    /* memory read & write strobes    */
  25. pin 11        = !ior ;        /* i/o read strobe        */
  26. pin 14        = raminh ;        /* system RAM inhibit        */
  27. pin 13        = !memacc ;        /* on-board memory access    */
  28.  
  29. /** Outputs **/
  30.  
  31. pin 12        = ! casacc ;        /* enable CAS generation    */
  32. pin [15..18]    = ![ras0..ras3] ;    /* RAM RAS signals        */
  33. pin 19        = rdbuff ;        /* xceiver enable for reads    */
  34.  
  35. /** Declarations and Intermediate Variable Definitions **/
  36.  
  37. field memaddr    = [a19..16] ;
  38. memreq        = memw # memr ;
  39. memacc_eqn    = !raminh & !refcyc & (memaddr:[00000..3FFFF] & !altloc
  40.           # memaddr:[40000..7FFFF] & altloc) ;
  41.  
  42. /** Logic Equations **/
  43.  
  44. ras0        = !raminh & memreq & !refcyc & (memaddr:[00000..0FFFF] &
  45.           !altloc # memaddr:[40000..4FFFF] & altloc) # refcyc ;
  46.  
  47. ras1        = !raminh & memreq & !refcyc & (memaddr:[10000..1FFFF] &
  48.           !altloc # memaddr:[50000..5FFFF] & altloc) # refcyc ;
  49.  
  50. ras2        = !raminh & memreq & !refcyc & (memaddr:[20000..2FFFF] &
  51.           !altloc # memaddr:[60000..6FFFF] & altloc) # refcyc ;
  52.  
  53. ras3        = !raminh & memreq & !refcyc & (memaddr:[30000..3FFFF] &
  54.           !altloc # memaddr:[70000..7FFFF] & altloc) # refcyc ;
  55.  
  56. casacc        = memreq & memacc_eqn ;
  57. rdbuff        = memacc & memr # ioacc & ior ;
  58.