/* This file is generated by ttl2pld.pl */ /* Please don't edit it. */ Name VC8E ; PartNo cpld ; Date 5/26/2018 ; Revision 01 ; Designer ; Company ; Assembly None ; Location E3 ; Device f1508ispplcc84; /* Input Pins */ pin 84 = del_1_low; pin 1 = grn_delay; pin 25 = initialize; pin 2 = ld_del_low; pin 49 = md3_low; pin 44 = md4_low; pin 41 = md5_low; pin 40 = md6_low; pin 39 = md7_low; pin 22 = md8_low; pin 21 = md9_low; pin 20 = md10_low; pin 18 = md11_low; pin 52 = n_t_35x; pin 33 = pause_low; pin 83 = red_delay; pin 51 = set_done; pin 29 = tp3; $IFDEF HCONNECTOR pin = x_ac_low; pin = x_dec; pin = x_inc; pin = y_ac_low; pin = y_dec; pin = y_inc; pin = z_pulse; $ENDIF pin 4 = iot05xx; /* W1/W2 */ /* Output Pins */ pin 55 = b_dixy_low; pin 50 = btp3; pin 31 = c0_low; pin 30 = c1_low; /* pin 57 = chan_low; */ pin = chan_low; pin 56 = col_red_low; pin 48 = data00_low; pin 46 = data02_low; pin 45 = data03_low; pin 37 = data04_low; pin 36 = data05_low; pin 35 = data06_low; pin 34 = data07_low; pin 17 = data08_low; pin 16 = data09_low; pin 15 = data10_low; pin 12 = data11_low; pin 63 = dly_done_low; pin 58 = erase_low; pin 28 = internal_io_low; pin 27 = interrupt_low; pin 61 = n_t_27x; pin 80 = non_store_low; pin 24 = skip_low; pin 60 = write_thru_low; pin 77 = !load_x; pin 79 = !load_y; pin 64 = !di02; pin 65 = di03; pin 67 = di04; pin 68 = di05; pin 69 = di06; pin 70 = di07; pin 73 = di08; pin 74 = di09; pin 75 = di10; pin 76 = di11; pin 54 = spare; /* Internal nodes */ node write_thru; node store; node erase; node chan; node color; node int_en; node n_t_1x; node gdollar_0; node gdollar_1; node gdollar_2; node gdollar_3; node x02; node x03; node x04; node x05; node x06; node x07; node x08; node x09; node x10; node x11; node y02; node y03; node y04; node y05; node y06; node y07; node y08; node y09; node y10; node y11; /* Equations */ spare1 = 'b'0; n_t_15x = iot05xx & !md5_low # !iot05xx & md5_low; $IFNDEF HCONNECTOR x_ac_low = 'b'1; x_inc = 'b'1; x_dec = 'b'1; y_ac_low = 'b'1; y_inc = 'b'1; y_dec = 'b'1; z_pulse = 'b'1; $ENDIF /* Re-Multiplex X and Y */ /* e3: sn7402 */ dly_done_low = !(red_delay # grn_delay); n_t_26x = !(clear # set_done); n_t_34x = !(grn_delay # red_delay); clear_done_low = !(n_t_35x # erase); /* e5: sn7474 */ write_thru.ar = clear; write_thru.d = n_t_13x; write_thru.ck = ld_en_reg; store.ar = clear; store.d = n_t_22x; store.ck = ld_en_reg; /* e6: sn7474 */ erase.ar = !n_t_26x; erase.d = n_t_24x; erase.ck = ld_en_reg; color.ar = clear; color.d = n_t_11x; color.ck = ld_en_reg; color_low = !color; /* e7: n8881n */ /* col_red_low = !color; */ /* !n_t_27x = !(!store & color_low); */ /* e8: n8881n */ /* data07_low = !(!dire_low & store); */ /* data09_low = !(color & !dire_low); */ /* data06_low = !(!dire_low & write_thru); */ /* e9: sp380n */ !n_t_24x = data08_low # load_data_low; !n_t_22x = load_data_low # data07_low; !n_t_13x = data06_low # load_data_low; !n_t_11x = load_data_low # data09_low; /* e10: sn7406 */ /* erase_low = !erase; */ /* n_t_27x = n_t_27x; */ /* write_thru_low = !write_thru; */ /* n_t_43x = !color_low; */ /* non_store_low = store; */ /* e11: sp380n */ !n_t_14x = md5_low # pause_low; !n_t_17x = pause_low # md7_low; !n_t_12x = md4_low # pause_low; !n_t_10x = pause_low # md3_low; /* e12: sp314n */ !iot = n_t_15x # pause_low # n_t_17x # n_t_12x # n_t_10x # md6_low # md8_low; /* e13: sp380n */ !di10 = data10_low # load_data_low; !di11 = data11_low # load_data_low; /* e14: sn7404 */ btp3 = tp3; /* e16: n8881n */ /* data10_low = !(chan & !dire_low); */ /* data11_low = !(!dire_low & int_en); */ /* c0_low = c0_low; */ /* c1_low = dire_low; */ /* e17: n8881n */ /* skip_low = !(!disd_low & n_t_1x); */ /* interrupt_low = !(n_t_1x & int_en); */ /* internal_io_low = !iot; */ /* data00_low = !(n_t_1x & !dire_low); */ /* e18: sn7474 */ chan.ar = clear; chan.d = di10; chan.ck = ld_en_reg; int_en.ar = clear; int_en.d = di11; int_en.ck = ld_en_reg; /* e19: sn7474 */ n_t_1x.ar = !cl_done_low; n_t_1x.d = 'b'1; n_t_1x.ck = n_t_3x; /* e20: sn7402 */ ld_en_reg = !(dile_low # !tp3); load_en_low = !(!dilx_low # !dily_low); n_t_23x = !(dicl_low # !tp3); /* e21: sn7404 */ /* e22: sn7400 */ b_dicd_low = !(btp3 & !dicd_low); b_dixy_low = !(btp3 & !dixy_low); load_x = !(!dilx_low & btp3); load_y = !(btp3 & !dily_low); /* e23: sn74h21 */ cl_done_low = !clear & b_load_en_low & b_dixy_low & b_dicd_low; n_t_3x = del_1_low & !set_done & dly_done_low & ld_del_low; /* e24: sp380n */ !n_t_19x = md11_low # !iot; !n_t_20x = !iot # md10_low; clear = initialize # n_t_23x; !n_t_21x = md9_low # !iot; /* e25: dec8251 */ !dicl_low = iot & !n_t_21x & !n_t_20x & !n_t_19x; !dicd_low = iot & !n_t_21x & !n_t_20x & n_t_19x; !disd_low = iot & !n_t_21x & n_t_20x & !n_t_19x; !dilx_low = iot & !n_t_21x & n_t_20x & n_t_19x; !dily_low = iot & n_t_21x & !n_t_20x & !n_t_19x; !dixy_low = iot & n_t_21x & !n_t_20x & n_t_19x; !dile_low = iot & n_t_21x & n_t_20x & !n_t_19x; !dire_low = iot & n_t_21x & n_t_20x & n_t_19x; /* e26: sn7400 */ !c0_low = !(dile_low & dire_low); !load_data_low = !(dile_low & load_en_low); n_t_2x = !(load_en_low & clear_done_low); b_load_en_low = !(n_t_2x & btp3); /* e27: sn7400 */ !n_t_9x = !(z_pulse & del_1_low); /* e28: sn7416 */ /* chan_low = !chan; */ /* n_t_9x = n_t_9x; */ /* !clear = !clear; */ /* clear = clear; */ /* !iot = !iot; */ /* load_data_low = load_data_low; */ /* e29: sn7404 */ /* e30: sn7404 */ /* e31: sp380n */ !di03 = data03_low # load_en_low; !di02 = load_en_low # data02_low; !di09 = data09_low # load_en_low; !di08 = load_en_low # data08_low; /* e32: sp380n */ !di04 = data04_low # load_en_low; !di05 = load_en_low # data05_low; !di06 = load_en_low # data06_low; !di07 = load_en_low # data07_low; /* e33: sn74193 */ y03.ap = !load_y & di03; y03.ar = !load_y & !di03; y03.t = 'b'1; y03.ck = n_t_64x # n_t_65x; y02.ap = !load_y & di02; y02.ar = !load_y & !di02; y02.t = 'b'1; y02.ck = n_t_64x & !y03 # n_t_65x & y03; gdollar_0.ap = 'b'0; gdollar_0.ar = !load_y; gdollar_0.t = 'b'1; gdollar_0.ck = n_t_64x & !y03 & !y02 # n_t_65x & y03 & y02; gdollar_1.ap = 'b'0; gdollar_1.ar = !load_y; gdollar_1.t = 'b'1; gdollar_1.ck = n_t_64x & !gdollar_0 & !y03 & !y02 # n_t_65x & gdollar_0 & y03 & y02; /* e34: sn74193 */ x03.ap = !load_x & di03; x03.ar = !load_x & !di03; x03.t = 'b'1; x03.ck = n_t_60x # n_t_61x; x02.ap = !load_x & di02; x02.ar = !load_x & !di02; x02.t = 'b'1; x02.ck = n_t_60x & !x03 # n_t_61x & x03; gdollar_2.ap = 'b'0; gdollar_2.ar = !load_x; gdollar_2.t = 'b'1; gdollar_2.ck = n_t_60x & !x03 & !x02 # n_t_61x & x03 & x02; gdollar_3.ap = 'b'0; gdollar_3.ar = !load_x; gdollar_3.t = 'b'1; gdollar_3.ck = n_t_60x & !gdollar_2 & !x03 & !x02 # n_t_61x & gdollar_2 & x03 & x02; /* e35: sn74193 */ y07.ap = !load_y & di07; y07.ar = !load_y & !di07; y07.t = 'b'1; y07.ck = n_t_66x # n_t_67x; y06.ap = !load_y & di06; y06.ar = !load_y & !di06; y06.t = 'b'1; y06.ck = n_t_66x & !y07 # n_t_67x & y07; y05.ap = !load_y & di05; y05.ar = !load_y & !di05; y05.t = 'b'1; y05.ck = n_t_66x & !y07 & !y06 # n_t_67x & y07 & y06; y04.ap = !load_y & di04; y04.ar = !load_y & !di04; y04.t = 'b'1; y04.ck = n_t_66x & !y05 & !y07 & !y06 # n_t_67x & y05 & y07 & y06; n_t_65x = y07 & y06 & y05 & y04; n_t_64x = !y07 & !y06 & !y05 & !y04; /* e36: sn74193 */ x07.ap = !load_x & di07; x07.ar = !load_x & !di07; x07.t = 'b'1; x07.ck = n_t_62x # n_t_63x; x06.ap = !load_x & di06; x06.ar = !load_x & !di06; x06.t = 'b'1; x06.ck = n_t_62x & !x07 # n_t_63x & x07; x05.ap = !load_x & di05; x05.ar = !load_x & !di05; x05.t = 'b'1; x05.ck = n_t_62x & !x07 & !x06 # n_t_63x & x07 & x06; x04.ap = !load_x & di04; x04.ar = !load_x & !di04; x04.t = 'b'1; x04.ck = n_t_62x & !x05 & !x07 & !x06 # n_t_63x & x05 & x07 & x06; n_t_61x = x07 & x06 & x05 & x04; n_t_60x = !x07 & !x06 & !x05 & !x04; /* e37: sn74193 */ y11.ap = !load_y & di11; y11.ar = !load_y & !di11; y11.t = 'b'1; y11.ck = y_dec # y_inc; y10.ap = !load_y & di10; y10.ar = !load_y & !di10; y10.t = 'b'1; y10.ck = y_dec & !y11 # y_inc & y11; y09.ap = !load_y & di09; y09.ar = !load_y & !di09; y09.t = 'b'1; y09.ck = y_dec & !y11 & !y10 # y_inc & y11 & y10; y08.ap = !load_y & di08; y08.ar = !load_y & !di08; y08.t = 'b'1; y08.ck = y_dec & !y09 & !y11 & !y10 # y_inc & y09 & y11 & y10; n_t_67x = y11 & y10 & y09 & y08; n_t_66x = !y11 & !y10 & !y09 & !y08; /* e38: sn74193 */ x11.ap = !load_x & di11; x11.ar = !load_x & !di11; x11.t = 'b'1; x11.ck = x_dec # x_inc; x10.ap = !load_x & di10; x10.ar = !load_x & !di10; x10.t = 'b'1; x10.ck = x_dec & !x11 # x_inc & x11; x09.ap = !load_x & di09; x09.ar = !load_x & !di09; x09.t = 'b'1; x09.ck = x_dec & !x11 & !x10 # x_inc & x11 & x10; x08.ap = !load_x & di08; x08.ar = !load_x & !di08; x08.t = 'b'1; x08.ck = x_dec & !x09 & !x11 & !x10 # x_inc & x09 & x11 & x10; n_t_63x = x11 & x10 & x09 & x08; n_t_62x = !x11 & !x10 & !x09 & !x08; /* e39: dec8235 */ /* data10_low = !(y11 & !y_ac_low # x11 & !x_ac_low); */ /* data11_low = !(y10 & !y_ac_low # x10 & !x_ac_low); */ /* data09_low = !(y09 & !y_ac_low # x09 & !x_ac_low); */ /* data08_low = !(y08 & !y_ac_low # x08 & !x_ac_low); */ /* e40: dec8235 */ /* data07_low = !(y07 & !y_ac_low # x07 & !x_ac_low); */ /* data06_low = !(y06 & !y_ac_low # x06 & !x_ac_low); */ /* data05_low = !(y05 & !y_ac_low # x05 & !x_ac_low); */ /* data04_low = !(y04 & !y_ac_low # x04 & !x_ac_low); */ /* e41: dec8235 */ /* data03_low = !(y03 & !y_ac_low # x03 & !x_ac_low); */ /* data02_low = !(y02 & !y_ac_low # x02 & !x_ac_low); */ /* Open collector 'wire-or's */ property atmel {open_collector= c0_low}; c0_low.oe = !c0_low; property atmel {open_collector= c1_low}; !c1_low = !dire_low; c1_low.oe = !dire_low; property atmel {open_collector= chan_low}; !chan_low = chan; chan_low.oe = chan; property atmel {open_collector= clear}; clear.oe = !clear; property atmel {open_collector= col_red_low}; !col_red_low = color; col_red_low.oe = color; property atmel {open_collector= data00_low}; !data00_low = (n_t_1x & !dire_low); data00_low.oe = (n_t_1x & !dire_low); property atmel {open_collector= data02_low}; !data02_low = (y02 & !y_ac_low # x02 & !x_ac_low); data02_low.oe = (y02 & !y_ac_low # x02 & !x_ac_low); property atmel {open_collector= data03_low}; !data03_low = (y03 & !y_ac_low # x03 & !x_ac_low); data03_low.oe = (y03 & !y_ac_low # x03 & !x_ac_low); property atmel {open_collector= data04_low}; !data04_low = (y04 & !y_ac_low # x04 & !x_ac_low); data04_low.oe = (y04 & !y_ac_low # x04 & !x_ac_low); property atmel {open_collector= data05_low}; !data05_low = (y05 & !y_ac_low # x05 & !x_ac_low); data05_low.oe = (y05 & !y_ac_low # x05 & !x_ac_low); property atmel {open_collector= data06_low}; !data06_low = (!dire_low & write_thru) # (y06 & !y_ac_low # x06 & !x_ac_low); data06_low.oe = (!dire_low & write_thru) # (y06 & !y_ac_low # x06 & !x_ac_low); property atmel {open_collector= data07_low}; !data07_low = (!dire_low & store) # (y07 & !y_ac_low # x07 & !x_ac_low); data07_low.oe = (!dire_low & store) # (y07 & !y_ac_low # x07 & !x_ac_low); property atmel {open_collector= data08_low}; !data08_low = (y08 & !y_ac_low # x08 & !x_ac_low); data08_low.oe = (y08 & !y_ac_low # x08 & !x_ac_low); property atmel {open_collector= data09_low}; !data09_low = (color & !dire_low) # (y09 & !y_ac_low # x09 & !x_ac_low); data09_low.oe = (color & !dire_low) # (y09 & !y_ac_low # x09 & !x_ac_low); property atmel {open_collector= data10_low}; !data10_low = (chan & !dire_low) # (y11 & !y_ac_low # x11 & !x_ac_low); data10_low.oe = (chan & !dire_low) # (y11 & !y_ac_low # x11 & !x_ac_low); property atmel {open_collector= data11_low}; !data11_low = (!dire_low & int_en) # (y10 & !y_ac_low # x10 & !x_ac_low); data11_low.oe = (!dire_low & int_en) # (y10 & !y_ac_low # x10 & !x_ac_low); property atmel {open_collector= erase_low}; !erase_low = erase; erase_low.oe = erase; property atmel {open_collector= internal_io_low}; !internal_io_low = iot; internal_io_low.oe = iot; property atmel {open_collector= interrupt_low}; !interrupt_low = (n_t_1x & int_en); interrupt_low.oe = (n_t_1x & int_en); n_t_27x = (!store & color_low); property atmel {open_collector= n_t_27x}; n_t_27x.oe = !n_t_27x; property atmel {open_collector= n_t_43x}; !n_t_43x = color_low; n_t_43x.oe = color_low; property atmel {open_collector= non_store_low}; !non_store_low = !store; non_store_low.oe = !store; property atmel {open_collector= skip_low}; !skip_low = (!disd_low & n_t_1x); skip_low.oe = (!disd_low & n_t_1x); property atmel {open_collector= write_thru_low}; !write_thru_low = write_thru; write_thru_low.oe = write_thru;