home *** CD-ROM | disk | FTP | other *** search
/ Liren Large Software Subsidy 13 / 13.iso / p / p078 / 7.img / TUTOR.PLB / ENCODER1.PLD < prev    next >
Encoding:
Text File  |  1990-12-11  |  3.5 KB  |  97 lines

  1.                   PRIORITY ENCODER AS BOOLEAN EQUATIONS
  2.  
  3. This is a 16-bit to 4-bit priority encoder defined as a set of Boolean
  4. equations.  Compare this lengthy Boolean specification to the compact
  5. indexed specification in file ENCODER2.PLD, which represents exactly the
  6. same logic.
  7.  
  8. | in:Q[15..5], io:(Q[4..0], A[3..0], ZERO)
  9. |
  10. | Title:  "16:4 priority encoder (Boolean)"
  11. |
  12. | A3  = (Q15)
  13. |     # (Q15'&Q14)
  14. |     # (Q15'&Q14'&Q13)
  15. |     # (Q15'&Q14'&Q13'&Q12)
  16. |     # (Q15'&Q14'&Q13'&Q12'&Q11)
  17. |     # (Q15'&Q14'&Q13'&Q12'&Q11'&Q10)
  18. |     # (Q15'&Q14'&Q13'&Q12'&Q11'&Q10'&Q9)
  19. |     # (Q15'&Q14'&Q13'&Q12'&Q11'&Q10'&Q9'&Q8)
  20. |
  21. | A2  = (Q15)
  22. |     # (Q15'&Q14)
  23. |     # (Q15'&Q14'&Q13)
  24. |     # (Q15'&Q14'&Q13'&Q12)
  25. |     # (Q15'&Q14'&Q13'&Q12'&Q11'&Q10'&Q9'&Q8'&Q7)
  26. |     # (Q15'&Q14'&Q13'&Q12'&Q11'&Q10'&Q9'&Q8'&Q7'&Q6)
  27. |     # (Q15'&Q14'&Q13'&Q12'&Q11'&Q10'&Q9'&Q8'&Q7'&Q6'&Q5)
  28. |     # (Q15'&Q14'&Q13'&Q12'&Q11'&Q10'&Q9'&Q8'&Q7'&Q6'&Q5'&Q4)
  29. |
  30. | A1  = (Q15)
  31. |     # (Q15'&Q14)
  32. |     # (Q15'&Q14'&Q13'&Q12'&Q11)
  33. |     # (Q15'&Q14'&Q13'&Q12'&Q11'&Q10)
  34. |     # (Q15'&Q14'&Q13'&Q12'&Q11'&Q10'&Q9'&Q8'&Q7)
  35. |     # (Q15'&Q14'&Q13'&Q12'&Q11'&Q10'&Q9'&Q8'&Q7'&Q6)
  36. |     # (Q15'&Q14'&Q13'&Q12'&Q11'&Q10'&Q9'&Q8'&Q7'&Q6'&Q5'&Q4'&Q3)
  37. |     # (Q15'&Q14'&Q13'&Q12'&Q11'&Q10'&Q9'&Q8'&Q7'&Q6'&Q5'&Q4'&Q3'&Q2)
  38. |
  39. | A0  = (Q15)
  40. |     # (Q15'&Q14'&Q13)
  41. |     # (Q15'&Q14'&Q13'&Q12'&Q11)
  42. |     # (Q15'&Q14'&Q13'&Q12'&Q11'&Q10'&Q9)
  43. |     # (Q15'&Q14'&Q13'&Q12'&Q11'&Q10'&Q9'&Q8'&Q7)
  44. |     # (Q15'&Q14'&Q13'&Q12'&Q11'&Q10'&Q9'&Q8'&Q7'&Q6'&Q5)
  45. |     # (Q15'&Q14'&Q13'&Q12'&Q11'&Q10'&Q9'&Q8'&Q7'&Q6'&Q5'&Q4'&Q3)
  46. |     # (Q15'&Q14'&Q13'&Q12'&Q11'&Q10'&Q9'&Q8'&Q7'&Q6'&Q5'&Q4'&Q3'&Q2'&Q1)
  47. |
  48. | ZERO = Q15'&Q14'&Q13'&Q12'&Q11'&Q10'&Q9'&Q8'&
  49. |        Q7'&Q6'&Q5'&Q4'&Q3'&Q2'&Q1'&Q0'
  50.  
  51.  
  52. | Vectors:
  53. | { Display Q[15..0], " -> ", (A[3..0])d, ZERO
  54. |
  55. |   Test Q[15..0] = 1000000000000000b    |Test each input bit alone.
  56. |   Test Q[15..0] = 0100000000000000b
  57. |   Test Q[15..0] = 0010000000000000b
  58. |   Test Q[15..0] = 0001000000000000b
  59. |   Test Q[15..0] = 0000100000000000b
  60. |   Test Q[15..0] = 0000010000000000b
  61. |   Test Q[15..0] = 0000001000000000b
  62. |   Test Q[15..0] = 0000000100000000b
  63. |   Test Q[15..0] = 0000000010000000b
  64. |   Test Q[15..0] = 0000000001000000b
  65. |   Test Q[15..0] = 0000000000100000b
  66. |   Test Q[15..0] = 0000000000010000b
  67. |   Test Q[15..0] = 0000000000001000b
  68. |   Test Q[15..0] = 0000000000000100b
  69. |   Test Q[15..0] = 0000000000000010b
  70. |   Test Q[15..0] = 0000000000000001b
  71. |   Test Q[15..0] = 0000000000000000b
  72. |
  73. |   Test Q[15..0] = 1111111111111111b    |Test each input bit with all
  74. |   Test Q[15..0] = 0111111111111111b    |lower bits set.
  75. |   Test Q[15..0] = 0011111111111111b
  76. |   Test Q[15..0] = 0001111111111111b
  77. |   Test Q[15..0] = 0000111111111111b
  78. |   Test Q[15..0] = 0000011111111111b
  79. |   Test Q[15..0] = 0000001111111111b
  80. |   Test Q[15..0] = 0000000111111111b
  81. |   Test Q[15..0] = 0000000011111111b
  82. |   Test Q[15..0] = 0000000001111111b
  83. |   Test Q[15..0] = 0000000000111111b
  84. |   Test Q[15..0] = 0000000000011111b
  85. |   Test Q[15..0] = 0000000000001111b
  86. |   Test Q[15..0] = 0000000000000111b
  87. |   Test Q[15..0] = 0000000000000011b
  88. |   Test Q[15..0] = 0000000000000001b
  89. |   Test Q[15..0] = 0000000000000000b
  90. |
  91. |   Test Q[15..0] = 0000100010010000b    |Test several multiple bit
  92. |   Test Q[15..0] = 0010011000010000b    |combinations.
  93. |   Test Q[15..0] = 0000000001001011b
  94. |
  95. |   End }
  96.  
  97.