// ex: sw=4 ts=4 // Eagle Pinout: //E2 1 in !INIT // 2 in RX_RATE // 4 io *** unconnected *** // 5 io !IOB8 // 6 io BIOP4 // 8 io !IOB7 // 9 io BIOP2 // 11 io !IOB5 // 12 io !IOB6 // 14 io BIOP1 // 16 io !IOB4 // 17 io !IOB3 // 18 io !IOB11 // 19 io !IOB2 // 20 io !IOB1 // 21 io !IOB10 // 24 io !IOB0 // 25 io !IOB9 // 26 io RX_SEL // 27 io RX_DATA // 28 io !SKIP // 29 io !IRQ // 31 io TX_SEL // 33 io !INIT // 34 io !ACCLR // 36 io TXDTTL // 37 io *** unconnected *** // 39 io *** unconnected *** // 40 io DSRTTL // 41 io *** unconnected *** // 43 in RX_RATE /* M706 Receiver */ module e2(init_l, rx_rate, biop1, biop2, biop4, /*iob0_l, iob1_l, iob2_l, iob3_l,*/ iob4_l, iob5_l, iob6_l, iob7_l, iob8_l, iob9_l, iob10_l, iob11_l, rx_sel, rx_data, skip_l, irq_l, tx_sel, acclr_l, txdttl, dsrttl); input init_l, rx_rate, biop1, biop2, biop4; output /*iob0_l, iob1_l, iob2_l, iob3_l,*/ iob4_l, iob5_l; output iob6_l, iob7_l, iob8_l, iob9_l, iob10_l, iob11_l; input rx_sel, rx_data, tx_sel; output skip_l, irq_l, acclr_l; output txdttl, dsrttl; wire tt_[0:7]; wire rx_sel, kcc_, irql, tti02, serial; wire buffer_strobe, reader_run_l, tti_skip_; wire cscale_in, instop0_, instop1_; // Here we invoke a debugged M706 model, connecting the relevant signals. m706 m706( .ad2(rx_sel), // input mb03_ .ae1(rx_sel), // input mb04_ .ae2(kcc_), // output kcc_ (output) .af1(rx_sel), // input mb05_ .af2(irql), // output keyboard_flag_l .ah1(rx_sel), // input mb06_ .ah2(rx_sel), // input mb07_ .aj1(rx_sel), // input mb08_ .aj2(tti02), // input tti3_set .ak1(tti02), // output tti02[2] .ak2(tt_[0]), // output tt_[0] .al1(tt_[3]), // output tt_[3] .al2(biop4), // input iop4 .am1(tt_[4]), // output tt_[4] .am2(serial), // output ~rx_data .an1(rx_rate), // input tti_clk_in .an2(tt_[7]), // output tt_[7] .ap2(tt_[5]), // output tt_[5] .ar1(serial), // input tti0_set .ar2(tt_[1]), // output tt_[1] .as2(tt_[2]), // output tt_[2] .at2(tt_[6]), // output tt_[6] .au2(reader_run_l), // output ~reader_run .av1(buffer_strobe), // output buffer_strobe .av2(irql), // input reader_run_clr_ .bd1(1'b0), // input clr_flag2 .bd2(biop1), // input iop1 .be2(acclr_l), // output tt_ac_clr_ .bf2(~init_l), // input initialize .bh2(tti_skip_), // output tti_skip_ .bj2(biop2), // input iop2 .bm2(rx_data), // input rx_data .bn2(), // output ~in_active // .bp2(cscale_in), // input (Missing from model!) .br1(1'b1), // input enable .br2(instop1_), // input in_stop .bs1(), // output ~clock_scale[2] .bt2(cscale_in), // output clock_scale[2] .bu1(cscale_in), // input clock_scale_in .bu2(instop0_), // output ~in_stop[0] .bv2(instop1_) // output ~in_stop[1] ); assign irq_l = irql? 1'bz : 1'b0; //assign iob0_l = 1'bz; //assign iob1_l = 1'bz; //assign iob2_l = 1'bz; //assign iob3_l = 1'bz; assign iob4_l = (~tt_[0]|~buffer_strobe)? 1'bz : 1'b0; assign iob5_l = (~tt_[1]|~buffer_strobe)? 1'bz : 1'b0; assign iob6_l = (~tt_[2]|~buffer_strobe)? 1'bz : 1'b0; assign iob7_l = (~tt_[3]|~buffer_strobe)? 1'bz : 1'b0; assign iob8_l = (~tt_[4]|~buffer_strobe)? 1'bz : 1'b0; assign iob9_l = (~tt_[5]|~buffer_strobe)? 1'bz : 1'b0; assign iob10_l = (~tt_[6]|~buffer_strobe)? 1'bz : 1'b0; assign iob11_l = (~tt_[7]|~buffer_strobe)? 1'bz : 1'b0; assign txdttl = 1'bz; assign dsrttl = ~reader_run_l; assign skip_l = tti_skip_? 1'bz : 1'b0; endmodule