home *** CD-ROM | disk | FTP | other *** search
- PRIORITY ENCODER AS BOOLEAN EQUATIONS
-
- This is a 16-bit to 4-bit priority encoder defined as a set of Boolean
- equations. Compare this lengthy Boolean specification to the compact
- indexed specification in file ENCODER2.PLD, which represents exactly the
- same logic.
-
- | in:Q[15..5], io:(Q[4..0], A[3..0], ZERO)
- |
- | Title: "16:4 priority encoder (Boolean)"
- |
- | A3 = (Q15)
- | # (Q15'&Q14)
- | # (Q15'&Q14'&Q13)
- | # (Q15'&Q14'&Q13'&Q12)
- | # (Q15'&Q14'&Q13'&Q12'&Q11)
- | # (Q15'&Q14'&Q13'&Q12'&Q11'&Q10)
- | # (Q15'&Q14'&Q13'&Q12'&Q11'&Q10'&Q9)
- | # (Q15'&Q14'&Q13'&Q12'&Q11'&Q10'&Q9'&Q8)
- |
- | A2 = (Q15)
- | # (Q15'&Q14)
- | # (Q15'&Q14'&Q13)
- | # (Q15'&Q14'&Q13'&Q12)
- | # (Q15'&Q14'&Q13'&Q12'&Q11'&Q10'&Q9'&Q8'&Q7)
- | # (Q15'&Q14'&Q13'&Q12'&Q11'&Q10'&Q9'&Q8'&Q7'&Q6)
- | # (Q15'&Q14'&Q13'&Q12'&Q11'&Q10'&Q9'&Q8'&Q7'&Q6'&Q5)
- | # (Q15'&Q14'&Q13'&Q12'&Q11'&Q10'&Q9'&Q8'&Q7'&Q6'&Q5'&Q4)
- |
- | A1 = (Q15)
- | # (Q15'&Q14)
- | # (Q15'&Q14'&Q13'&Q12'&Q11)
- | # (Q15'&Q14'&Q13'&Q12'&Q11'&Q10)
- | # (Q15'&Q14'&Q13'&Q12'&Q11'&Q10'&Q9'&Q8'&Q7)
- | # (Q15'&Q14'&Q13'&Q12'&Q11'&Q10'&Q9'&Q8'&Q7'&Q6)
- | # (Q15'&Q14'&Q13'&Q12'&Q11'&Q10'&Q9'&Q8'&Q7'&Q6'&Q5'&Q4'&Q3)
- | # (Q15'&Q14'&Q13'&Q12'&Q11'&Q10'&Q9'&Q8'&Q7'&Q6'&Q5'&Q4'&Q3'&Q2)
- |
- | A0 = (Q15)
- | # (Q15'&Q14'&Q13)
- | # (Q15'&Q14'&Q13'&Q12'&Q11)
- | # (Q15'&Q14'&Q13'&Q12'&Q11'&Q10'&Q9)
- | # (Q15'&Q14'&Q13'&Q12'&Q11'&Q10'&Q9'&Q8'&Q7)
- | # (Q15'&Q14'&Q13'&Q12'&Q11'&Q10'&Q9'&Q8'&Q7'&Q6'&Q5)
- | # (Q15'&Q14'&Q13'&Q12'&Q11'&Q10'&Q9'&Q8'&Q7'&Q6'&Q5'&Q4'&Q3)
- | # (Q15'&Q14'&Q13'&Q12'&Q11'&Q10'&Q9'&Q8'&Q7'&Q6'&Q5'&Q4'&Q3'&Q2'&Q1)
- |
- | ZERO = Q15'&Q14'&Q13'&Q12'&Q11'&Q10'&Q9'&Q8'&
- | Q7'&Q6'&Q5'&Q4'&Q3'&Q2'&Q1'&Q0'
-
-
- | Vectors:
- | { Display Q[15..0], " -> ", (A[3..0])d, ZERO
- |
- | Test Q[15..0] = 1000000000000000b |Test each input bit alone.
- | Test Q[15..0] = 0100000000000000b
- | Test Q[15..0] = 0010000000000000b
- | Test Q[15..0] = 0001000000000000b
- | Test Q[15..0] = 0000100000000000b
- | Test Q[15..0] = 0000010000000000b
- | Test Q[15..0] = 0000001000000000b
- | Test Q[15..0] = 0000000100000000b
- | Test Q[15..0] = 0000000010000000b
- | Test Q[15..0] = 0000000001000000b
- | Test Q[15..0] = 0000000000100000b
- | Test Q[15..0] = 0000000000010000b
- | Test Q[15..0] = 0000000000001000b
- | Test Q[15..0] = 0000000000000100b
- | Test Q[15..0] = 0000000000000010b
- | Test Q[15..0] = 0000000000000001b
- | Test Q[15..0] = 0000000000000000b
- |
- | Test Q[15..0] = 1111111111111111b |Test each input bit with all
- | Test Q[15..0] = 0111111111111111b |lower bits set.
- | Test Q[15..0] = 0011111111111111b
- | Test Q[15..0] = 0001111111111111b
- | Test Q[15..0] = 0000111111111111b
- | Test Q[15..0] = 0000011111111111b
- | Test Q[15..0] = 0000001111111111b
- | Test Q[15..0] = 0000000111111111b
- | Test Q[15..0] = 0000000011111111b
- | Test Q[15..0] = 0000000001111111b
- | Test Q[15..0] = 0000000000111111b
- | Test Q[15..0] = 0000000000011111b
- | Test Q[15..0] = 0000000000001111b
- | Test Q[15..0] = 0000000000000111b
- | Test Q[15..0] = 0000000000000011b
- | Test Q[15..0] = 0000000000000001b
- | Test Q[15..0] = 0000000000000000b
- |
- | Test Q[15..0] = 0000100010010000b |Test several multiple bit
- | Test Q[15..0] = 0010011000010000b |combinations.
- | Test Q[15..0] = 0000000001001011b
- |
- | End }
-
-