/* This file is generated by topld.pl!! */
/* Please don't edit it. */

Name     M706 ;
PartNo   cpld ;
Date     3/18/2020 ;
Revision 01 ;
Designer  ;
Company   ;
Assembly None ;
Location E1 ;
Device   f1508isptqfp100;

$DEFINE OPTIMIZE

$UNDEF  OPTIMIZE

/* Input Pins */
pin = clock8_baud;
pin = clr_flg1;
pin = clr_flg2;
pin = enable;
pin = i_o_clear;
pin = n3v3;
pin = n_t_14x;
pin = n_t_15x;
pin = n_t_16x;
pin = n_t_17x;
pin = n_t_18x;
pin = n_t_19x;
pin = n_t_20x;
pin = n_t_21x;
pin = n_t_31x;
pin = n_t_37x;
pin = n_t_47x;
pin = n_t_49x;
pin = n_t_50x;
pin = n_t_53x;
pin = n_t_57x;
pin = n_t_62x;
pin = n_t_63x;
pin = read_buffer;
pin = serial_in;
pin = skip_strobe;

/* Output Pins */
pin = active_low;
pin = bit1;
pin = bit2;
pin = bit3;
pin = bit4;
pin = bit5;
pin = bit6;
pin = bit7;
pin = bit8;
pin = buffer_strobe;
pin = i_o_skip;
pin = irq_low;
pin = n_t_11x;
pin = n_t_25x;
pin = n_t_35x;
pin = n_t_36x;
pin = n_t_46x;
pin = n_t_4x;
pin = n_t_52x;
pin = n_t_59x;
pin = n_t_60x;
pin = preset;
pin = serial;
pin = shift;
node n2^0;
node flag;
node n_t_8x;
node n_t_9x;
node n_t_5x;
node n_t_6x;
node n_t_7x;
node n_t_2x;
node n_t_3x;
node spike;
node active;
node in_last;
node n_t_34x;
node n_t_61x;

/* Internal nodes */
$IFNDEF OPTIMIZE
node in_last_low;
node io_clear_low;
node n_t_10x;
node n_t_12x;
node n_t_13x;
node n_t_1x;
node n_t_22x;
node n_t_23x;
node n_t_24x;
node n_t_26x;
node n_t_27x;
node n_t_28x;
node n_t_29x;
node n_t_32x;
node n_t_33x;
node n_t_38x;
node n_t_39x;
node n_t_42x;
node n_t_43x;
node n_t_45x;
node n_t_48x;
node n_t_58x;
node reader_run_low;
node serial_low;
node set_flag;
node start;
$ENDIF

/* Code nodes */

/* Equations */

/* c1: c_us */

/* c2: c_us */

/* c3: c_us */

/* c4: c_us */

/* c5: c_us */

/* c6: c_us */

/* c7: c_us */

/* c8: c_us */

/* c9: c_us */

/* c10: c_us */

/* c11: c_us */

/* c12: c_us */

/* c13: c_us */

/* c14: c_us */

/* c15: c_us */

/* c16: c_us */

/* c17: c_us */

/* c18: c_us */

/* c19: c_us */

/* c20: c_us */

/* c21: c_us */

/* c22: c_us */

/* c23: c_us */

/* c24: c_us */

/* c25: c_us */

/* c26: c_us */

/* c27: c_us */

/* c28: c_us */

/* e1: sn7430 */
n_t_10x = !(n_t_15x & n_t_21x & n_t_20x & n_t_19x & n_t_18x & n_t_17x & n3v3 & n3v3);

/* e2: sn7474 */
n2^0.ar = !n3v3;
n2^0.d = n_t_27x;
n2^0.ck = clock8_baud;
n2^0.ap = !n3v3;
n_t_33x = !n2^0;
flag.ar = !n_t_11x;
flag.d = set_flag;
flag.ck = shift;
flag.ap = !n3v3;
irq_low = !flag;

/* e3: sn7400 */
buffer_strobe = !n_t_22x;
n_t_11x = !n_t_12x;
n_t_23x = !(n_t_16x & n_t_10x);
n_t_22x = !(n_t_23x & read_buffer);

/* e4: sn7400 */
bit4 = !(n_t_6x & buffer_strobe);
bit2 = !(n_t_9x & buffer_strobe);
bit6 = !(n_t_4x & buffer_strobe);
bit5 = !(buffer_strobe & n_t_7x);

/* e5: sn7474 */
n_t_8x.ar = !n3v3;
n_t_8x.d = n_t_9x;
n_t_8x.ck = shift;
n_t_8x.ap = !preset;
set_flag = !n_t_8x;
n_t_9x.ar = !n3v3;
n_t_9x.d = n_t_5x;
n_t_9x.ck = shift;
n_t_9x.ap = !preset;

/* e6: sn7474 */
n_t_5x.ar = !n3v3;
n_t_5x.d = n_t_6x;
n_t_5x.ck = shift;
n_t_5x.ap = !preset;
n_t_6x.ar = !n3v3;
n_t_6x.d = n_t_7x;
n_t_6x.ck = shift;
n_t_6x.ap = !preset;

/* e7: sn7400 */
bit3 = !(n_t_5x & buffer_strobe);
bit7 = !(buffer_strobe & n_t_2x);
bit8 = !(buffer_strobe & n_t_3x);
bit1 = !(n_t_8x & buffer_strobe);

/* e8: sn7474 */
n_t_7x.ar = !n3v3;
n_t_7x.d = n_t_31x;
n_t_7x.ck = shift;
n_t_7x.ap = !preset;
n_t_4x.ar = !n3v3;
n_t_4x.d = n_t_2x;
n_t_4x.ck = shift;
n_t_4x.ap = !preset;

/* e9: sn7410 */
n_t_12x = !(n_t_24x & io_clear_low & n_t_25x);
n_t_29x = !(io_clear_low & n_t_28x);
n_t_32x = !n_t_29x;

/* e10: sn7474 */
n_t_2x.ar = !n3v3;
n_t_2x.d = n_t_3x;
n_t_2x.ck = shift;
n_t_2x.ap = !preset;
n_t_3x.ar = !n3v3;
n_t_3x.d = n_t_14x;
n_t_3x.ck = shift;
n_t_3x.ap = !preset;

/* e11: sn7410 */
i_o_skip = !(skip_strobe & n_t_23x & flag);
n_t_25x = !(n_t_23x & n3v3 & clr_flg2);
n_t_28x = !(shift & serial & spike);

/* e12: sn7400 */
n_t_13x = !n_t_42x;
n_t_42x = !(in_last & n_t_43x);
io_clear_low = !(i_o_clear & n3v3);
n_t_24x = !(n3v3 & clr_flg1);

/* e13: sn7474 */
n_t_52x.ar = !preset;
n_t_52x.d = 'b'0;
n_t_52x.ck = 'b'0;
n_t_52x.ap = !n_t_50x;
reader_run_low = !n_t_52x;
spike.ar = !io_clear_low;
spike.d = 'b'0;
spike.ck = n_t_43x;
spike.ap = !preset;

/* e14: sn7474 */
active.ar = !n_t_32x;
active.d = 'b'0;
active.ck = n_t_13x;
active.ap = !start;
active_low = !active;
in_last.ar = !n_t_57x;
in_last.d = set_flag;
in_last.ck = shift;
in_last.ap = !n3v3;
in_last_low = !in_last;

/* e15: sn7440 */
preset = !n_t_49x;
n_t_58x = !(active_low & n3v3 & n3v3 & n3v3);

/* e16: sn7400 */
n_t_43x = !(active & n_t_63x);
n_t_48x = !n_t_43x;
n_t_26x = !n_t_53x;
n_t_45x = !(in_last_low & active_low);

/* e17: sn7474 */
n_t_35x.ar = !n_t_45x;
n_t_35x.d = n_t_36x;
n_t_35x.ck = n_t_34x;
n_t_35x.ap = !n3v3;
n_t_36x = !n_t_35x;
n_t_34x.ap = !n_t_45x;
n_t_34x.d = !n_t_34x;
n_t_34x.ck = n_t_33x;
n_t_34x.ar = !n3v3;

/* e18: sn7460 */
/* n_t_39x = !serial_in; */
/* n_t_38x = !n_t_39x; */
/* n_t_39x = !n_t_38x; */
/* serial_low = !n_t_39x; */

/* e19: sn7474 */
n_t_61x.ar = !preset;
n_t_61x.d = active_low;
n_t_61x.ck = n_t_37x;
n_t_61x.ap = !n_t_62x;
n_t_59x = !n_t_61x;
n_t_60x.ap = !preset;
n_t_60x.d = !n_t_61x;
n_t_60x.ck = n_t_37x;
n_t_60x.ar = !n_t_62x;

/* e20: sn7440 */
shift = !n_t_26x;
start = !(enable & n_t_1x & serial_low & clock8_baud);

/* e21: sn7400 */
n_t_27x = !(n2^0 & n_t_45x);
n_t_46x = !(n_t_47x & buffer_strobe);
serial = !serial_low;
n_t_1x = !n_t_45x;

/* q1: dec6b */

/* r1: r_us_ */

/* r2: r_us_ */

/* r3: r_us_ */

/* r4: r_us_ */

/* r5: r_us_ */

/* r6: r_us_ */

/* r7: r_us_ */

/* r8: r_us_ */

/* r9: r_us_ */

/* r10: r_us_ */

/* Open collector 'wire-or's */
!n_t_38x = n_t_39x;
!n_t_39x = (serial_in)
           # (n_t_38x);
!serial_low = n_t_39x;
