home *** CD-ROM | disk | FTP | other *** search
/ Liren Large Software Subsidy 15 / 15.iso / s / s205 / 1.ddi / BACKUP.001 / EXAMPLES_BRL_SHFT.PDS < prev    next >
Encoding:
Text File  |  1991-02-27  |  3.0 KB  |  81 lines

  1. ;---------------------------------- Declaration Segment ------------
  2.    TITLE 8-bit Barrel Shifter
  3.  PATTERN Brl_Shft.pds
  4. REVISION 1.01
  5.   AUTHOR AMD
  6.  COMPANY AMD
  7.     DATE 08/03/90
  8.  
  9. CHIP Brl_Shft MACH110
  10.  
  11. ;---------------------------------- PIN Declarations ---------------
  12. PIN ? CLOCK
  13. PIN ? D[0..7]
  14. PIN ? Q[0..7]
  15. PIN ? S[0..2]
  16. PIN ? SE
  17. PIN ? LD
  18.  
  19. STRING RL1 '/S[2] * /S[1] * /S[0] * SE'
  20. STRING RL2 '/S[2] * /S[1] *  S[0] * SE'
  21. STRING RL3 '/S[2] *  S[1] * /S[0] * SE'
  22. STRING RL4 '/S[2] *  S[1] *  S[0] * SE'
  23. STRING RL5 ' S[2] * /S[1] * /S[0] * SE'
  24. STRING RL6 ' S[2] * /S[1] *  S[0] * SE'
  25. STRING RL7 ' S[2] *  S[1] * /S[0] * SE'
  26. STRING RL8 ' S[2] *  S[1] *  S[0] * SE'
  27.  
  28. ;----------------------------------- Boolean Equation Segment ------
  29. EQUATIONS
  30. Q[0..7]:= LD * D[0..7]
  31. Q[0..7].CLKF=CLOCK   Q[0..7].SETF=GND   Q[0..7].RSTF=GND
  32.  
  33. Q[0] := {Q[0]} + Q[0]*/SE + Q[7]*RL1 + Q[6]*RL2 + Q[5]*RL3 + Q[4]*RL4
  34.                + Q[3]*RL5 + Q[2]*RL6 + Q[1]*RL7 + Q[0]*RL8
  35. Q[1] := {Q[1]} + Q[1]*/SE + Q[0]*RL1 + Q[7]*RL2 + Q[6]*RL3 + Q[5]*RL4
  36.                + Q[4]*RL5 + Q[3]*RL6 + Q[2]*RL7 + Q[1]*RL8
  37. Q[2] := {Q[2]} + Q[2]*/SE + Q[1]*RL1 + Q[0]*RL2 + Q[7]*RL3 + Q[6]*RL4
  38.                + Q[5]*RL5 + Q[4]*RL6 + Q[3]*RL7 + Q[2]*RL8
  39. Q[3] := {Q[3]} + Q[3]*/SE + Q[2]*RL1 + Q[1]*RL2 + Q[0]*RL3 + Q[7]*RL4
  40.                + Q[6]*RL5 + Q[5]*RL6 + Q[4]*RL7 + Q[3]*RL8
  41. Q[4] := {Q[4]} + Q[4]*/SE + Q[3]*RL1 + Q[2]*RL2 + Q[1]*RL3 + Q[0]*RL4
  42.                + Q[7]*RL5 + Q[6]*RL6 + Q[5]*RL7 + Q[4]*RL8
  43. Q[5] := {Q[5]} + Q[5]*/SE + Q[4]*RL1 + Q[3]*RL2 + Q[2]*RL3 + Q[1]*RL4
  44.                + Q[0]*RL5 + Q[7]*RL6 + Q[6]*RL7 + Q[5]*RL8
  45. Q[6] := {Q[6]} + Q[6]*/SE + Q[5]*RL1 + Q[4]*RL2 + Q[3]*RL3 + Q[2]*RL4
  46.                + Q[1]*RL5 + Q[0]*RL6 + Q[7]*RL7 + Q[6]*RL8
  47. Q[7] := {Q[7]} + Q[7]*/SE + Q[6]*RL1 + Q[5]*RL2 + Q[4]*RL3 + Q[3]*RL4
  48.                + Q[2]*RL5 + Q[1]*RL6 + Q[0]*RL7 + Q[7]*RL8
  49.  
  50. ;----------------------------------- Simulation Segment ------------
  51. SIMULATION
  52.  
  53. ;  There are only a few Check Statements here -- There should be more!
  54.  
  55. TRACE_ON LD SE S[2..0] CLOCK Q[0..7]
  56. SETF /CLOCK /SE /S[0..2] /D[0..7] /LD
  57.  
  58. CLOCKF CLOCK    CHECK /Q[0..7] SETF D[0] LD
  59. CLOCKF CLOCK    CHECK Q[0] /Q[1..7] SETF /LD
  60. CLOCKF CLOCK    CHECK Q[0] /Q[1..7]
  61. CLOCKF CLOCK    SETF /S[2]/S[1]/S[0] SE
  62. CLOCKF CLOCK    CHECK Q[1] /Q[0,2..7] SETF /SE
  63. CLOCKF CLOCK    SETF /S[2]/S[1] S[0] SE
  64. CLOCKF CLOCK    CHECK Q[3] /Q[0..2,4..7] SETF /SE
  65. CLOCKF CLOCK    SETF /S[2] S[1]/S[0] SE
  66. CLOCKF CLOCK    CHECK Q[6] /Q[0..5,7] SETF /SE
  67. CLOCKF CLOCK    SETF /S[2] S[1] S[0] SE
  68. CLOCKF CLOCK    CHECK Q[2] /Q[0,1,3..7] SETF /SE
  69. CLOCKF CLOCK    SETF  S[2]/S[1]/S[0] SE
  70. CLOCKF CLOCK    CHECK Q[7] /Q[0..6] SETF /SE
  71. CLOCKF CLOCK    SETF  S[2]/S[1] S[0] SE
  72. CLOCKF CLOCK    CHECK Q[5] /Q[0..4,6,7] SETF /SE
  73. CLOCKF CLOCK    SETF  S[2] S[1]/S[0] SE
  74. CLOCKF CLOCK    CHECK Q[4] /Q[0..3,5..7] SETF /SE
  75. CLOCKF CLOCK    SETF  S[2] S[1] S[0] SE
  76. CLOCKF CLOCK    CHECK Q[4] /Q[0..3,5..7] SETF /SE
  77. CLOCKF CLOCK    CHECK Q[4] /Q[0..3,5..7]
  78. TRACE_OFF
  79.  
  80. ;-------------------------------------------------------------------
  81.