"Date: 03-May-00, 08-May-00, 21-Mar-01 final version compiled 17/04/01 mods for v2 compiled 5/12/01 mods for v3 compiled 13/12/01 Channel Sounder, Receiver PAL 2 chspg2v3.txt using PLPL " DEVICE chspg2 (p22v10) PIN clk = 1 (CLK_INPUT combinatorial) "IC16-A" ace = 2 (INPUT combinatorial) "IC16-A" go = 3 (INPUT combinatorial) "IC16-A" read = 4 (INPUT combinatorial) "IC16-A" a18 = 5 (INPUT combinatorial) "IC16-A" tc25 = 6 (INPUT combinatorial) "IC16-A" oebar = 7 (INPUT combinatorial) "IC16-B" tc9 = 8 (INPUT combinatorial) "IC16-C" tc17 = 9 (INPUT combinatorial) "IC16-D" a2abar = 10 (INPUT combinatorial) "IC16-E" wrbar = 11 (INPUT combinatorial) "IC16-G" scan = 13 (INPUT combinatorial) "IC16-G" cet18 = 14 (OUTPUT active_high registered) "IC16-D" cet10 = 15 (OUTPUT active_high registered) "IC16-C" roe = 16 (OUTPUT active_low combinatorial) "IC16-B" zoe = 17 (OUTPUT active_low combinatorial) "IC16-B" busy = 18 (OUTPUT active_high registered) "IC16-A" sm0 = 19 (OUTPUT active_high registered) "IC16-A" cs = 20 (OUTPUT active_low combinatorial) "IC16-E" cstx = 21 (OUTPUT active_low combinatorial) "IC16-F" wrtx = 22 (OUTPUT active_low combinatorial) "IC16-G" oe = 23 (OUTPUT active_high combinatorial) "added for v3" "late change to reduce product terms in pal3... WRITE input is now SCAN = old-read + old-write so we can define readinternal= read * scan, writeinternal = /read * scan; " ; DEFINE readinternal= read * scan, writeinternal = /read * scan; "Logic Equation Section" BEGIN enable(cet18,cet10,roe,zoe,busy,sm0,cs,cstx,wrtx,oe) = #b1111111111; reset (cet18,cet10,roe,zoe,busy,sm0,cs,cstx,wrtx,oe) = #b0000000000; preset(cet18,cet10,roe,zoe,busy,sm0,cs,cstx,wrtx,oe) = #b0000000000; " sync SR flipflips are of form Q = /enable * Q + enable * set * /reset + enable * /set * /reset * Q " " added ACE to SM0 and BUSY for version 2 but they are redundant - oops" sm0 = /ace * sm0 + ace * go * /(cet18 * ace * a18 + readinternal) + ace * /go * /(cet18 * ace * a18 + readinternal) * sm0 ; busy = /ace * busy + ace * go * /(tc25 * ace) + ace * /go * /(tc25 * ace) * busy ; zoe = sm0 * /oebar ; roe = /sm0 * /oebar ; cet18 = ace * tc17 * busy + /ace * cet18 * busy ; cet10 = ace * tc9 * busy + /ace * cet10 * busy ; cs = busy * /a2abar ; cstx = busy ; wrtx = writeinternal * /wrbar ; oe = /oebar ; END.