home *** CD-ROM | disk | FTP | other *** search
- ;---------------------------------- Declaration Segment ------------
- TITLE 8-bit Barrel Shifter
- PATTERN Brl_Shft.pds
- REVISION 1.01
- AUTHOR AMD
- COMPANY AMD
- DATE 08/03/90
-
- CHIP Brl_Shft MACH110
-
- ;---------------------------------- PIN Declarations ---------------
- PIN ? CLOCK
- PIN ? D[0..7]
- PIN ? Q[0..7]
- PIN ? S[0..2]
- PIN ? SE
- PIN ? LD
-
- STRING RL1 '/S[2] * /S[1] * /S[0] * SE'
- STRING RL2 '/S[2] * /S[1] * S[0] * SE'
- STRING RL3 '/S[2] * S[1] * /S[0] * SE'
- STRING RL4 '/S[2] * S[1] * S[0] * SE'
- STRING RL5 ' S[2] * /S[1] * /S[0] * SE'
- STRING RL6 ' S[2] * /S[1] * S[0] * SE'
- STRING RL7 ' S[2] * S[1] * /S[0] * SE'
- STRING RL8 ' S[2] * S[1] * S[0] * SE'
-
- ;----------------------------------- Boolean Equation Segment ------
- EQUATIONS
- Q[0..7]:= LD * D[0..7]
- Q[0..7].CLKF=CLOCK Q[0..7].SETF=GND Q[0..7].RSTF=GND
-
- Q[0] := {Q[0]} + Q[0]*/SE + Q[7]*RL1 + Q[6]*RL2 + Q[5]*RL3 + Q[4]*RL4
- + Q[3]*RL5 + Q[2]*RL6 + Q[1]*RL7 + Q[0]*RL8
- Q[1] := {Q[1]} + Q[1]*/SE + Q[0]*RL1 + Q[7]*RL2 + Q[6]*RL3 + Q[5]*RL4
- + Q[4]*RL5 + Q[3]*RL6 + Q[2]*RL7 + Q[1]*RL8
- Q[2] := {Q[2]} + Q[2]*/SE + Q[1]*RL1 + Q[0]*RL2 + Q[7]*RL3 + Q[6]*RL4
- + Q[5]*RL5 + Q[4]*RL6 + Q[3]*RL7 + Q[2]*RL8
- Q[3] := {Q[3]} + Q[3]*/SE + Q[2]*RL1 + Q[1]*RL2 + Q[0]*RL3 + Q[7]*RL4
- + Q[6]*RL5 + Q[5]*RL6 + Q[4]*RL7 + Q[3]*RL8
- Q[4] := {Q[4]} + Q[4]*/SE + Q[3]*RL1 + Q[2]*RL2 + Q[1]*RL3 + Q[0]*RL4
- + Q[7]*RL5 + Q[6]*RL6 + Q[5]*RL7 + Q[4]*RL8
- Q[5] := {Q[5]} + Q[5]*/SE + Q[4]*RL1 + Q[3]*RL2 + Q[2]*RL3 + Q[1]*RL4
- + Q[0]*RL5 + Q[7]*RL6 + Q[6]*RL7 + Q[5]*RL8
- Q[6] := {Q[6]} + Q[6]*/SE + Q[5]*RL1 + Q[4]*RL2 + Q[3]*RL3 + Q[2]*RL4
- + Q[1]*RL5 + Q[0]*RL6 + Q[7]*RL7 + Q[6]*RL8
- Q[7] := {Q[7]} + Q[7]*/SE + Q[6]*RL1 + Q[5]*RL2 + Q[4]*RL3 + Q[3]*RL4
- + Q[2]*RL5 + Q[1]*RL6 + Q[0]*RL7 + Q[7]*RL8
-
- ;----------------------------------- Simulation Segment ------------
- SIMULATION
-
- ; There are only a few Check Statements here -- There should be more!
-
- TRACE_ON LD SE S[2..0] CLOCK Q[0..7]
- SETF /CLOCK /SE /S[0..2] /D[0..7] /LD
-
- CLOCKF CLOCK CHECK /Q[0..7] SETF D[0] LD
- CLOCKF CLOCK CHECK Q[0] /Q[1..7] SETF /LD
- CLOCKF CLOCK CHECK Q[0] /Q[1..7]
- CLOCKF CLOCK SETF /S[2]/S[1]/S[0] SE
- CLOCKF CLOCK CHECK Q[1] /Q[0,2..7] SETF /SE
- CLOCKF CLOCK SETF /S[2]/S[1] S[0] SE
- CLOCKF CLOCK CHECK Q[3] /Q[0..2,4..7] SETF /SE
- CLOCKF CLOCK SETF /S[2] S[1]/S[0] SE
- CLOCKF CLOCK CHECK Q[6] /Q[0..5,7] SETF /SE
- CLOCKF CLOCK SETF /S[2] S[1] S[0] SE
- CLOCKF CLOCK CHECK Q[2] /Q[0,1,3..7] SETF /SE
- CLOCKF CLOCK SETF S[2]/S[1]/S[0] SE
- CLOCKF CLOCK CHECK Q[7] /Q[0..6] SETF /SE
- CLOCKF CLOCK SETF S[2]/S[1] S[0] SE
- CLOCKF CLOCK CHECK Q[5] /Q[0..4,6,7] SETF /SE
- CLOCKF CLOCK SETF S[2] S[1]/S[0] SE
- CLOCKF CLOCK CHECK Q[4] /Q[0..3,5..7] SETF /SE
- CLOCKF CLOCK SETF S[2] S[1] S[0] SE
- CLOCKF CLOCK CHECK Q[4] /Q[0..3,5..7] SETF /SE
- CLOCKF CLOCK CHECK Q[4] /Q[0..3,5..7]
- TRACE_OFF
-
- ;-------------------------------------------------------------------