提交 f2006d06 创建 作者: 李川's avatar 李川 提交者: 李川

创建硬中断实验项目

上级
添加文件
.subckt modulecir1 NETU1_1 NETFLAG_^EN NETALU0_S0 NETALU0_S1 NETALU0_S2 NETW_^EN NETA_^EN NETA_CLK DBUS7 DBUS6 DBUS5 DBUS4 DBUS3 DBUS2 DBUS1 DBUS0 NETFLAG_Q3 NETFLAG_Q0 NETL_GATE_^EN NETR_GATE_^EN NETD_GATE_^EN NETALU0_S3 NETALU0_CN NETALU0_M DBUS7 DBUS6 DBUS5 DBUS4 DBUS3 DBUS2 DBUS1 DBUS0 NETA_CLK
xALU0 NETALU0_^A0 NETALU0_^A1 NETALU0_^A2 NETALU0_^A3 NETALU0_^B0 NETALU0_^B1 NETALU0_^B2 NETALU0_^B3 NETALU0_S0 NETALU0_S1 NETALU0_S2 NETALU0_S3 NETALU0_CN NETALU0_M NETALU0_^G NETALU0_^P NETALU0_AEQB NETALU0_CN4 NETALU0_^F3 NETALU0_^F2 NETALU0_^F1 NETALU0_^F0 74LS181
xALU1 NETALU1_^A0 NETALU1_^A1 NETALU1_^A2 NETALU1_^A3 NETALU1_^B0 NETALU1_^B1 NETALU1_^B2 NETALU1_^B3 NETALU0_S0 NETALU0_S1 NETALU0_S2 NETALU0_S3 NETALU0_CN4 NETALU0_M NETALU1_^G NETALU1_^P NETALU1_AEQB NETALU1_CN4 NETALU1_^F3 NETALU1_^F2 NETALU1_^F1 NETALU1_^F0 74LS181
.subckt 74LS181 ^A0 ^A1 ^A2 ^A3 ^B0 ^B1 ^B2 ^B3 S0 S1 S2 S3 CN M ^G ^P AEQB CN4 ^F3 ^F2 ^F1 ^F0
aU1 [ ^B3 S3 ^A3] NetU1_4 AND3
aU2 [ ^A3 S2 NetU2_3] NetU2_4 AND3
aU9 [ NetU10_1 NetU10_2 NetU28_2] NetU14_3 AND3
aU19 [ ^B2 S3 ^A2] NetU19_4 AND3
aU20 [ ^A2 S2 NetU20_3] NetU20_4 AND3
aU28 [ NetU10_2 NetU28_2 NetU26_5] NetU28_4 AND3
aU33 [ ^B1 S3 ^A1] NetU33_4 AND3
aU34 [ ^A1 S2 NetU34_3] NetU34_4 AND3
aU41 [ NetU10_3 NetU10_4 NetU26_5] NetU41_4 AND3
aU46 [ ^B0 S3 ^A0] NetU46_4 AND3
aU47 [ ^A0 S2 NetU47_3] NetU47_4 AND3
aU54 [ CN NetU11_4 NetU26_5] NetU54_4 AND3
.model AND3 d_and(rise_delay = 1e-9 fall_delay = 1e-9 input_load = 1e-3)
aU3 [ NetU1_4 NetU2_4] NetU10_1 NOR
aU23 [ NetU19_4 NetU20_4] NetU10_2 NOR
aU37 [ NetU33_4 NetU34_4] NetU10_3 NOR
aU52 [ NetU46_4 NetU47_4] NetU11_4 NOR
aU57 [ NetU54_4 NetU55_3] NetU45_2 NOR
.model NOR d_nor(rise_delay = 1e-9 fall_delay = 1e-9 input_load = 1e-3)
aU4 [ NetU2_3 S1] NetU4_3 AND
aU5 [ S0 ^B3] NetU5_3 AND
aU6 [ NetU10_1 NetU24_4] NetU14_2 AND
aU21 [ NetU20_3 S1] NetU21_3 AND
aU22 [ S0 ^B2] NetU22_3 AND
aU29 [ NetU24_4 NetU26_5] NetU29_3 AND
aU35 [ NetU34_3 S1] NetU35_3 AND
aU36 [ S0 ^B1] NetU36_3 AND
aU42 [ NetU28_2 NetU26_5] NetU42_3 AND
aU48 [ NetU47_3 S1] NetU48_3 AND
aU49 [ S0 ^B0] NetU49_3 AND
aU55 [ NetU10_4 NetU26_5] NetU55_3 AND
.model AND d_and(rise_delay = 1e-9 fall_delay = 1e-9 input_load = 1e-3)
aU7 [ NetU4_3 NetU5_3 ^A3] NetU13_2 NOR3
aU24 [ NetU21_3 NetU22_3 ^A2] NetU24_4 NOR3
aU38 [ NetU35_3 NetU36_3 ^A1] NetU28_2 NOR3
aU44 [ NetU40_5 NetU41_4 NetU42_3] NetU31_2 NOR3
aU51 [ NetU48_3 NetU49_3 ^A0] NetU10_4 NOR3
.model NOR3 d_nor(rise_delay = 1e-9 fall_delay = 1e-9 input_load = 1e-3)
aU8 ^B3 NetU2_3 NOT
aU15 ^G NetU15_2 NOT
aU17 NetU11_6 NetU16_2 NOT
aU25 ^B2 NetU20_3 NOT
aU39 ^B1 NetU34_3 NOT
aU50 ^B0 NetU47_3 NOT
aU56 M NetU26_5 NOT
.model NOT d_inverter(rise_delay = 1e-9 fall_delay = 1e-9 input_load = 1e-3)
aU10 [ NetU10_1 NetU10_2 NetU10_3 NetU10_4] NetU10_5 AND4
aU27 [ NetU10_3 NetU10_2 NetU10_4 NetU26_5] NetU27_5 AND4
aU40 [ CN NetU11_4 NetU10_3 NetU26_5] NetU40_5 AND4
aU60 [ ^F3 ^F2 ^F1 ^F0] AEQB AND4
.model AND4 d_and(rise_delay = 1e-9 fall_delay = 1e-9 input_load = 1e-3)
aU11 [ NetU10_1 NetU10_2 NetU10_3 NetU11_4 CN] NetU11_6 NAND5
.model NAND5 d_nand(rise_delay = 1e-9 fall_delay = 1e-9 input_load = 1e-3)
aU12 [ NetU10_1 NetU10_2 NetU10_3 NetU11_4] ^P NAND4
.model NAND4 d_nand(rise_delay = 1e-9 fall_delay = 1e-9 input_load = 1e-3)
aU13 [ NetU10_1 NetU13_2] NetU13_3 XOR
aU18 [ NetU13_3 NetU18_2] ^F3 XOR
aU30 [ NetU10_2 NetU24_4] NetU30_3 XOR
aU31 [ NetU30_3 NetU31_2] ^F2 XOR
aU43 [ NetU10_3 NetU28_2] NetU43_3 XOR
aU45 [ NetU43_3 NetU45_2] ^F1 XOR
aU53 [ NetU11_4 NetU10_4] NetU53_3 XOR
aU59 [ NetU53_3 NetU58_3] ^F0 XOR
.model XOR d_xor(rise_delay = 1e-9 fall_delay = 1e-9 input_load = 1e-3)
aU14 [ NetU13_2 NetU14_2 NetU14_3 NetU10_5] ^G NOR4
aU32 [ NetU26_6 NetU27_5 NetU28_4 NetU29_3] NetU18_2 NOR4
.model NOR4 d_nor(rise_delay = 1e-9 fall_delay = 1e-9 input_load = 1e-3)
aU16 [ NetU15_2 NetU16_2] CN4 OR
.model OR d_or(rise_delay = 1e-9 fall_delay = 1e-9 input_load = 1e-3)
aU26 [ CN NetU11_4 NetU10_3 NetU10_2 NetU26_5] NetU26_6 AND5
.model AND5 d_and(rise_delay = 1e-9 fall_delay = 1e-9 input_load = 1e-3)
aU58 [ CN NetU26_5] NetU58_3 NAND
.model NAND d_nand(rise_delay = 1e-9 fall_delay = 1e-9 input_load = 1e-3)
.ends
aU1 [ NETU1_1 NETFLAG_Q3] NETL_GATE_A0 AND
.model AND d_and(rise_delay = 1e-9 fall_delay = 1e-9 input_load = 1e-3)
aU23 NETL_GATE_^EN NETU23_2 NOT
aU24 NETR_GATE_^EN NETU24_2 NOT
aU6 NETALU1_CN4 NETU29_3 NOT
.model NOT d_inverter(rise_delay = 1e-9 fall_delay = 1e-9 input_load = 1e-3)
aU29 [ NETU26_4 NETU27_4 NETU29_3] NETFLAG_D3 OR3
.model OR3 d_or(rise_delay = 1e-9 fall_delay = 1e-9 input_load = 1e-3)
aU2 [ NETALU0_^F3 NETALU0_^F2 NETALU0_^F1 NETALU0_^F0] NETU2_5 OR4
aU4 [ NETALU1_^F3 NETALU1_^F2 NETALU1_^F1 NETALU1_^F0] NETU3_1 OR4
.model OR4 d_or(rise_delay = 1e-9 fall_delay = 1e-9 input_load = 1e-3)
aU26 [ NETU23_2 NETU1_1 NETALU1_^F3] NETU26_4 AND3
aU27 [ NETU24_2 NETU1_1 NETALU0_^F0] NETU27_4 AND3
.model AND3 d_and(rise_delay = 1e-9 fall_delay = 1e-9 input_load = 1e-3)
aU3 [ NETU3_1 NETU2_5] NETFLAG_D0 NOR
.model NOR d_nor(rise_delay = 1e-9 fall_delay = 1e-9 input_load = 1e-3)
xL_gate NETL_GATE_A0 NETALU0_^F0 NETALU0_^F1 NETALU0_^F2 NETALU0_^F3 NETALU1_^F0 NETALU1_^F1 NETALU1_^F2 DBUS0 DBUS1 DBUS2 DBUS3 DBUS4 DBUS5 DBUS6 DBUS7 NETL_GATE_^EN BUS_TRANS8
xD_gate NETALU0_^F0 NETALU0_^F1 NETALU0_^F2 NETALU0_^F3 NETALU1_^F0 NETALU1_^F1 NETALU1_^F2 NETALU1_^F3 DBUS0 DBUS1 DBUS2 DBUS3 DBUS4 DBUS5 DBUS6 DBUS7 NETD_GATE_^EN BUS_TRANS8
xR_gate NETALU0_^F1 NETALU0_^F2 NETALU0_^F3 NETALU1_^F0 NETALU1_^F1 NETALU1_^F2 NETALU1_^F3 NETL_GATE_A0 DBUS0 DBUS1 DBUS2 DBUS3 DBUS4 DBUS5 DBUS6 DBUS7 NETR_GATE_^EN BUS_TRANS8
.subckt BUS_TRANS8 A0 A1 A2 A3 A4 A5 A6 A7 B0 B1 B2 B3 B4 B5 B6 B7 EN
xU3 EN IEN NNOT
xU5 A0 IA0 NNOT
xU6 A1 IA1 NNOT
xU7 A2 IA2 NNOT
xU8 A3 IA3 NNOT
xU9 A4 IA4 NNOT
xU10 A5 IA5 NNOT
xU11 A6 IA6 NNOT
xU12 A7 IA7 NNOT
.subckt NNOT IN OUT
aU1 IN NetU1_2 NOT
aU2 NetU1_2 OUT NOT
.model NOT d_inverter(rise_delay = 1e-9 fall_delay = 1e-9 input_load = 1e-3)
.ends
a1 [ IA0 IA1 IA2 IA3 IA4 IA5 IA6 IA7] IEN [ B0 B1 B2 B3 B4 B5 B6 B7] MULTI_TRISTATE
.model MULTI_TRISTATE d_multristate(delay = 0.5e-9 input_load = 0.5e-12 enable_load = 0.5e-12)
.ends
xA DBUS0 DBUS1 DBUS2 DBUS3 DBUS4 DBUS5 DBUS6 DBUS7 NETALU0_^A0 NETALU0_^A1 NETALU0_^A2 NETALU0_^A3 NETALU1_^A0 NETALU1_^A1 NETALU1_^A2 NETALU1_^A3 NETA_^EN NETA_CLK REG_EN8
xW DBUS0 DBUS1 DBUS2 DBUS3 DBUS4 DBUS5 DBUS6 DBUS7 NETALU0_^B0 NETALU0_^B1 NETALU0_^B2 NETALU0_^B3 NETALU1_^B0 NETALU1_^B1 NETALU1_^B2 NETALU1_^B3 NETW_^EN NETA_CLK REG_EN8
xFLAG NETFLAG_D0 NETFLAG_D1 NETFLAG_D2 NETFLAG_D3 NETFLAG_D4 NETFLAG_D5 NETFLAG_D6 NETFLAG_D7 NETFLAG_Q0 NETFLAG_Q1 NETFLAG_Q2 NETFLAG_Q3 NETFLAG_Q4 NETFLAG_Q5 NETFLAG_Q6 NETFLAG_Q7 NETFLAG_^EN NETA_CLK REG_EN8
.subckt REG_EN8 1D 2D 3D 4D 5D 6D 7D 8D 1Q 2Q 3Q 4Q 5Q 6Q 7Q 8Q ENABLE CLOCK
aU1 [ Q7 NetU1_2] NetU1_3 AND
aU3 [ 8D NetU14_2] NetU3_3 AND
aU7 [ Q6 NetU7_2] NetU10_1 AND
aU8 [ 7D NetU14_2] NetU10_2 AND
aU13 [ Q5 NetU13_2] NetU13_3 AND
aU14 [ 6D NetU14_2] NetU14_3 AND
aU19 [ Q4 NetU19_2] NetU19_3 AND
aU20 [ 5D NetU14_2] NetU20_3 AND
aU25 [ Q3 NetU25_2] NetU25_3 AND
aU26 [ 4D NetU14_2] NetU26_3 AND
aU31 [ Q2 NetU31_2] NetU31_3 AND
aU32 [ 3D NetU14_2] NetU32_3 AND
aU37 [ Q1 NetU37_2] NetU37_3 AND
aU38 [ 2D NetU14_2] NetU38_3 AND
aU39 [ Q0 NetU39_2] NetU39_3 AND
aU40 [ 1D NetU14_2] NetU40_3 AND
.model AND d_and(rise_delay = 1e-9 fall_delay = 1e-9 input_load = 1e-3)
aU2 NetU14_2 NetU1_2 NOT
aU6 NetU4_3 NetU5_D NOT
aU9 NetU14_2 NetU7_2 NOT
aU11 NetU10_3 NetU11_2 NOT
aU15 NetU14_2 NetU13_2 NOT
aU17 NetU16_3 NetU17_2 NOT
aU22 NetU14_2 NetU19_2 NOT
aU23 NetU21_3 NetU23_2 NOT
aU28 NetU14_2 NetU25_2 NOT
aU29 NetU27_3 NetU29_2 NOT
aU33 NetU14_2 NetU31_2 NOT
aU35 NetU34_3 NetU35_2 NOT
aU41 NetU14_2 NetU37_2 NOT
aU44 NetU42_3 NetU44_2 NOT
aU45 NetU43_3 NetU45_2 NOT
aU48 NetU14_2 NetU39_2 NOT
aU50 EN NetU14_2 NOT
.model NOT d_inverter(rise_delay = 1e-9 fall_delay = 1e-9 input_load = 1e-3)
aU4 [ NetU1_3 NetU3_3] NetU4_3 NOR
aU10 [ NetU10_1 NetU10_2] NetU10_3 NOR
aU16 [ NetU13_3 NetU14_3] NetU16_3 NOR
aU21 [ NetU19_3 NetU20_3] NetU21_3 NOR
aU27 [ NetU25_3 NetU26_3] NetU27_3 NOR
aU34 [ NetU31_3 NetU32_3] NetU34_3 NOR
aU42 [ NetU37_3 NetU38_3] NetU42_3 NOR
aU43 [ NetU39_3 NetU40_3] NetU43_3 NOR
.model NOR d_nor(rise_delay = 1e-9 fall_delay = 1e-9 input_load = 1e-3)
aU5 NetU5_D CLK NetU12_^CLR NetU12_^CLR Q7 NetU5_^Q 74LS74D
aU12 NetU11_2 CLK NetU12_^CLR NetU12_^CLR Q6 NetU12_^Q 74LS74D
aU18 NetU17_2 CLK NetU12_^CLR NetU12_^CLR Q5 NetU18_^Q 74LS74D
aU24 NetU23_2 CLK NetU12_^CLR NetU12_^CLR Q4 NetU24_^Q 74LS74D
aU30 NetU29_2 CLK NetU12_^CLR NetU12_^CLR Q3 NetU30_^Q 74LS74D
aU36 NetU35_2 CLK NetU12_^CLR NetU12_^CLR Q2 NetU36_^Q 74LS74D
aU46 NetU44_2 CLK NetU12_^CLR NetU12_^CLR Q1 NetU46_^Q 74LS74D
aU47 NetU45_2 CLK NetU12_^CLR NetU12_^CLR Q0 NetU47_^Q 74LS74D
.model 74LS74D d_dff(clk_delay = 13.0e-9 set_delay = 25.0e-9 reset_delay = 27.0e-9 ic = 2 rise_delay = 10.0e-9 fall_delay = 3e-9)
xU49 NetU12_^CLR CONSTANT0
.subckt CONSTANT0 constant0
VV1 Net1_1 0 DC 0
a1 [Net1_1] [constant0] ADC
.model ADC adc_bridge(in_low = 0.3 in_high = 1)
.ends
xUClk CLOCK CLK NNOT
xUEN ENABLE EN NNOT
xU2 Q0 1Q NNOT
xU3 Q1 2Q NNOT
xU4 Q3 4Q NNOT
xU5 Q2 3Q NNOT
xU6 Q4 5Q NNOT
xU7 Q5 6Q NNOT
xU8 Q6 7Q NNOT
xU9 Q7 8Q NNOT
.subckt NNOT IN OUT
aU1 IN NetU1_2 NOT
aU2 NetU1_2 OUT NOT
.model NOT d_inverter(rise_delay = 1e-9 fall_delay = 1e-9 input_load = 1e-3)
.ends
.ends
.ends
这个 源代码变更 因为 太大 而不能显示。 你可以 浏览blob
添加文件
.subckt modulecir5 NETIR_CLK DBUS7 DBUS6 DBUS5 DBUS4 DBUS3 DBUS2 DBUS1 DBUS0 IR0 IR1 IR2 IR3 S0 S1 S2 A_REG_EN W_REG_EN FLAG_REG_EN CN REG_WR SP_REG_EN ROUT_REG_EN MAR_GATE_EN MAR_REG_EN PC_LOAD_EN PC_A_GATE_EN ASR_REG_EN MEM_WR IA_REG_EN SP_GATE_EN PC_D_GATE_EN D_GATE_EN R_GATE_EN L_GATE_EN ASR_GATE_EN IA_GATE_EN RIN_GATE_EN MEM_GATE_EN CST_GATE_EN CST_LOAD REG_READ S3 C M CST_U\D PC_ADD NETU6_1 INTR_LOAD NETU4_3 NETUPC_^CLR INTA2 EOI INTA1
xU1 NETU1_G1 NETU1_^G2A NETU1_^G2B X0 X1 X2 RIN_GATE_EN IA_GATE_EN SP_GATE_EN PC_D_GATE_EN D_GATE_EN R_GATE_EN L_GATE_EN ASR_GATE_EN 74LS138D
xU2 X3 NETU2_^G2A NETU2_^G2B X0 X1 X2 CST_GATE_EN MEM_GATE_EN REG_READ INTA1 INTA2 EOI NETU2_Y6 NETU2_Y7 74LS138D
.subckt 74LS138D G1 ^G2A ^G2B A B C Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y7
aU1 [ G1 NetU1_2 NetU1_3] NetU10_4 AND3
.model AND3 d_and(rise_delay = 1e-9 fall_delay = 1e-9 input_load = 1e-3)
aU2 ^G2A NetU1_2 NOT
aU3 ^G2B NetU1_3 NOT
aU4 A NetU10_1 NOT
aU5 B NetU10_2 NOT
aU6 C NetU11_3 NOT
aU15 NetU10_1 NetU11_1 NOT
aU16 NetU10_2 NetU11_2 NOT
aU17 NetU11_3 NetU10_3 NOT
.model NOT d_inverter(rise_delay = 1e-9 fall_delay = 1e-9 input_load = 1e-3)
aU7 [ NetU10_4 NetU11_2 NetU11_1 NetU10_3] Y7 NAND4
aU8 [ NetU10_1 NetU10_3 NetU11_2 NetU10_4] Y6 NAND4
aU9 [ NetU10_2 NetU10_3 NetU11_1 NetU10_4] Y5 NAND4
aU10 [ NetU10_1 NetU10_2 NetU10_3 NetU10_4] Y4 NAND4
aU11 [ NetU11_1 NetU11_2 NetU11_3 NetU10_4] Y3 NAND4
aU12 [ NetU10_1 NetU11_2 NetU11_3 NetU10_4] Y2 NAND4
aU13 [ NetU11_1 NetU10_2 NetU11_3 NetU10_4] Y1 NAND4
aU14 [ NetU10_1 NetU10_2 NetU11_3 NetU10_4] Y0 NAND4
.model NAND4 d_nand(rise_delay = 1e-9 fall_delay = 1e-9 input_load = 1e-3)
.ends
aU5 X3 NETU1_G1 NOT
aU8 NETINTR_ADDRESS_GATE_^EN NETU8_2 NOT
aU6 NETU6_1 NETU4_2 NOT
.model NOT d_inverter(rise_delay = 1e-9 fall_delay = 1e-9 input_load = 1e-3)
xROM UPC0 UPC1 UPC2 UPC3 UPC4 UPC5 UPC6 UPC7 UPC8 UPC9 UPC10 UPC11 S0 S1 S2 S3 C M A_REG_EN W_REG_EN X0 X1 X2 X3 FLAG_REG_EN CN REG_WR CST_LOAD SP_REG_EN ASR_REG_EN MAR_GATE_EN MAR_REG_EN PC_LOAD_EN INTR_LOAD IREN PC_A_GATE_EN ROUT_REG_EN MEM_WR IA_REG_EN CST_U\D PC_ADD UPC_RESET_EN ASK_FOR_INT NETROM_Q31 16KBROM
.subckt 16KBROM A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 A11 Q0 Q1 Q2 Q3 Q4 Q5 Q6 Q7 Q8 Q9 Q10 Q11 Q12 Q13 Q14 Q15 Q16 Q17 Q18 Q19 Q20 Q21 Q22 Q23 Q24 Q25 Q26 Q27 Q28 Q29 Q30 Q31
vcc 1 0 DC 5
v0 C0 0 DC 2
v1 C1 0 DC 2
v2 C2 0 DC 2
v3 C3 0 DC 2
v4 C4 0 DC 2
v5 C5 0 DC 2
v6 C6 0 DC 2
v7 C7 0 DC 2
v8 C8 0 DC 2
v9 C9 0 DC 2
v10 C10 0 DC 2
v11 C11 0 DC 2
v12 C12 0 DC 2
v13 C13 0 DC 2
v14 C14 0 DC 2
v15 C15 0 DC 2
v16 C16 0 DC 2
v17 C17 0 DC 2
v18 C18 0 DC 2
v19 C19 0 DC 2
v20 C20 0 DC 2
v21 C21 0 DC 2
v22 C22 0 DC 2
v23 C23 0 DC 2
v24 C24 0 DC 2
v25 C25 0 DC 2
v26 C26 0 DC 2
v27 C27 0 DC 2
v28 C28 0 DC 2
v29 C29 0 DC 2
v30 C30 0 DC 2
v31 C31 0 DC 2
r0 1 r0_2 1k
r1 1 r1_2 1k
r2 1 r2_2 1k
r3 1 r3_2 1k
r4 1 r4_2 1k
r5 1 r5_2 1k
r6 1 r6_2 1k
r7 1 r7_2 1k
r8 1 r8_2 1k
r9 1 r9_2 1k
r10 1 r10_2 1k
r11 1 r11_2 1k
r12 1 r12_2 1k
r13 1 r13_2 1k
r14 1 r14_2 1k
r15 1 r15_2 1k
r16 1 r16_2 1k
r17 1 r17_2 1k
r18 1 r18_2 1k
r19 1 r19_2 1k
r20 1 r20_2 1k
r21 1 r21_2 1k
r22 1 r22_2 1k
r23 1 r23_2 1k
r24 1 r24_2 1k
r25 1 r25_2 1k
r26 1 r26_2 1k
r27 1 r27_2 1k
r28 1 r28_2 1k
r29 1 r29_2 1k
r30 1 r30_2 1k
r31 1 r31_2 1k
abridge0 [r0_2] [Q0] adc_buff
abridge1 [r1_2] [Q1] adc_buff
abridge2 [r2_2] [Q2] adc_buff
abridge3 [r3_2] [Q3] adc_buff
abridge4 [r4_2] [Q4] adc_buff
abridge5 [r5_2] [Q5] adc_buff
abridge6 [r6_2] [Q6] adc_buff
abridge7 [r7_2] [Q7] adc_buff
abridge8 [r8_2] [Q8] adc_buff
abridge9 [r9_2] [Q9] adc_buff
abridge10 [r10_2] [Q10] adc_buff
abridge11 [r11_2] [Q11] adc_buff
abridge12 [r12_2] [Q12] adc_buff
abridge13 [r13_2] [Q13] adc_buff
abridge14 [r14_2] [Q14] adc_buff
abridge15 [r15_2] [Q15] adc_buff
abridge16 [r16_2] [Q16] adc_buff
abridge17 [r17_2] [Q17] adc_buff
abridge18 [r18_2] [Q18] adc_buff
abridge19 [r19_2] [Q19] adc_buff
abridge20 [r20_2] [Q20] adc_buff
abridge21 [r21_2] [Q21] adc_buff
abridge22 [r22_2] [Q22] adc_buff
abridge23 [r23_2] [Q23] adc_buff
abridge24 [r24_2] [Q24] adc_buff
abridge25 [r25_2] [Q25] adc_buff
abridge26 [r26_2] [Q26] adc_buff
abridge27 [r27_2] [Q27] adc_buff
abridge28 [r28_2] [Q28] adc_buff
abridge29 [r29_2] [Q29] adc_buff
abridge30 [r30_2] [Q30] adc_buff
abridge31 [r31_2] [Q31] adc_buff
.model adc_buff adc_bridge(in_low = 0.3 in_high = 1)
s0 r0_2 0 c0 0 switch ON
s1 r1_2 0 c1 0 switch ON
s2 r2_2 0 c2 0 switch ON
s3 r3_2 0 c3 0 switch ON
s4 r4_2 0 c4 0 switch ON
s5 r5_2 0 c5 0 switch ON
s6 r6_2 0 c6 0 switch ON
s7 r7_2 0 c7 0 switch ON
s8 r8_2 0 c8 0 switch ON
s9 r9_2 0 c9 0 switch ON
s10 r10_2 0 c10 0 switch ON
s11 r11_2 0 c11 0 switch ON
s12 r12_2 0 c12 0 switch ON
s13 r13_2 0 c13 0 switch ON
s14 r14_2 0 c14 0 switch ON
s15 r15_2 0 c15 0 switch ON
s16 r16_2 0 c16 0 switch ON
s17 r17_2 0 c17 0 switch ON
s18 r18_2 0 c18 0 switch ON
s19 r19_2 0 c19 0 switch ON
s20 r20_2 0 c20 0 switch ON
s21 r21_2 0 c21 0 switch ON
s22 r22_2 0 c22 0 switch ON
s23 r23_2 0 c23 0 switch ON
s24 r24_2 0 c24 0 switch ON
s25 r25_2 0 c25 0 switch ON
s26 r26_2 0 c26 0 switch ON
s27 r27_2 0 c27 0 switch ON
s28 r28_2 0 c28 0 switch ON
s29 r29_2 0 c29 0 switch ON
s30 r30_2 0 c30 0 switch ON
s31 r31_2 0 c31 0 switch ON
.model switch sw vt=1 vh=0.2 ron=1 roff=1k
xU1 A0 ADDRESS0 NNOT
xU2 A1 ADDRESS1 NNOT
xU3 A2 ADDRESS2 NNOT
xU4 A3 ADDRESS3 NNOT
xU5 A4 ADDRESS4 NNOT
xU6 A5 ADDRESS5 NNOT
xU7 A6 ADDRESS6 NNOT
xU8 A7 ADDRESS7 NNOT
xU9 A8 ADDRESS8 NNOT
xU10 A9 ADDRESS9 NNOT
xU11 A10 ADDRESS10 NNOT
xU12 A11 ADDRESS11 NNOT
.subckt NNOT IN OUT
aU1 IN NetU1_2 NOT
aU2 NetU1_2 OUT NOT
.model NOT d_inverter(rise_delay = 1e-9 fall_delay = 1e-9 input_load = 1e-3)
.ends
.ends
aU3 [ UPC_RESET_EN IREN] NETU3_3 NAND
.model NAND d_nand(rise_delay = 1e-9 fall_delay = 1e-9 input_load = 1e-3)
aU9 [ NETU3_3 NETU8_2] NETU9_3 OR
.model OR d_or(rise_delay = 1e-9 fall_delay = 1e-9 input_load = 1e-3)
xU7 NETINTR_ADDRESS_GATE_A10 CONSTANT1
.subckt CONSTANT1 constant1
VV1 Net1_1 0 DC 3.5
a1 [Net1_1] [constant1] ADC
.model ADC adc_bridge(in_low = 0.3 in_high = 1)
.ends
xIR_address_gate NETIR_ADDRESS_GATE_A0 NETIR_ADDRESS_GATE_A1 NETIR_ADDRESS_GATE_A2 NETIR_ADDRESS_GATE_A3 NETIR_ADDRESS_GATE_A4 DBUS2 DBUS3 DBUS4 DBUS5 DBUS6 DBUS7 NETIR_ADDRESS_GATE_A11 NETIR_ADDRESS_GATE_A12 NETIR_ADDRESS_GATE_A13 NETIR_ADDRESS_GATE_A14 NETIR_ADDRESS_GATE_A15 NETFETCH_ADDRESS_GATE_D0 NETFETCH_ADDRESS_GATE_D1 NETFETCH_ADDRESS_GATE_D2 NETFETCH_ADDRESS_GATE_D3 NETFETCH_ADDRESS_GATE_D4 NETFETCH_ADDRESS_GATE_D5 NETFETCH_ADDRESS_GATE_D6 NETFETCH_ADDRESS_GATE_D7 NETFETCH_ADDRESS_GATE_D8 NETFETCH_ADDRESS_GATE_D9 NETFETCH_ADDRESS_GATE_D10 NETFETCH_ADDRESS_GATE_D11 NETFETCH_ADDRESS_GATE_D12 NETFETCH_ADDRESS_GATE_D13 NETFETCH_ADDRESS_GATE_D14 NETFETCH_ADDRESS_GATE_D15 IREN BUS_TRANS16
xFetch_address_gate NETFETCH_ADDRESS_GATE_A0 NETFETCH_ADDRESS_GATE_A1 NETFETCH_ADDRESS_GATE_A2 NETFETCH_ADDRESS_GATE_A3 NETFETCH_ADDRESS_GATE_A4 NETFETCH_ADDRESS_GATE_A5 NETFETCH_ADDRESS_GATE_A6 NETFETCH_ADDRESS_GATE_A7 NETFETCH_ADDRESS_GATE_A8 NETFETCH_ADDRESS_GATE_A9 NETFETCH_ADDRESS_GATE_A10 NETFETCH_ADDRESS_GATE_A11 NETFETCH_ADDRESS_GATE_A12 NETFETCH_ADDRESS_GATE_A13 NETFETCH_ADDRESS_GATE_A14 NETFETCH_ADDRESS_GATE_A15 NETFETCH_ADDRESS_GATE_D0 NETFETCH_ADDRESS_GATE_D1 NETFETCH_ADDRESS_GATE_D2 NETFETCH_ADDRESS_GATE_D3 NETFETCH_ADDRESS_GATE_D4 NETFETCH_ADDRESS_GATE_D5 NETFETCH_ADDRESS_GATE_D6 NETFETCH_ADDRESS_GATE_D7 NETFETCH_ADDRESS_GATE_D8 NETFETCH_ADDRESS_GATE_D9 NETFETCH_ADDRESS_GATE_D10 NETFETCH_ADDRESS_GATE_D11 NETFETCH_ADDRESS_GATE_D12 NETFETCH_ADDRESS_GATE_D13 NETFETCH_ADDRESS_GATE_D14 NETFETCH_ADDRESS_GATE_D15 UPC_RESET_EN BUS_TRANS16
xuPC_gate UPC_NEXT0 UPC_NEXT1 UPC_NEXT2 UPC_NEXT3 UPC_NEXT4 UPC_NEXT5 UPC_NEXT6 UPC_NEXT7 UPC_NEXT8 UPC_NEXT9 UPC_NEXT10 UPC_NEXT11 UPC_NEXT12 UPC_NEXT13 UPC_NEXT14 UPC_NEXT15 NETFETCH_ADDRESS_GATE_D0 NETFETCH_ADDRESS_GATE_D1 NETFETCH_ADDRESS_GATE_D2 NETFETCH_ADDRESS_GATE_D3 NETFETCH_ADDRESS_GATE_D4 NETFETCH_ADDRESS_GATE_D5 NETFETCH_ADDRESS_GATE_D6 NETFETCH_ADDRESS_GATE_D7 NETFETCH_ADDRESS_GATE_D8 NETFETCH_ADDRESS_GATE_D9 NETFETCH_ADDRESS_GATE_D10 NETFETCH_ADDRESS_GATE_D11 NETFETCH_ADDRESS_GATE_D12 NETFETCH_ADDRESS_GATE_D13 NETFETCH_ADDRESS_GATE_D14 NETFETCH_ADDRESS_GATE_D15 NETU9_3 BUS_TRANS16
xINTR_address_gate NETINTR_ADDRESS_GATE_A0 NETINTR_ADDRESS_GATE_A1 NETINTR_ADDRESS_GATE_A2 NETINTR_ADDRESS_GATE_A3 NETINTR_ADDRESS_GATE_A4 NETINTR_ADDRESS_GATE_A5 NETINTR_ADDRESS_GATE_A6 NETINTR_ADDRESS_GATE_A10 NETINTR_ADDRESS_GATE_A10 NETINTR_ADDRESS_GATE_A10 NETINTR_ADDRESS_GATE_A10 NETINTR_ADDRESS_GATE_A11 NETINTR_ADDRESS_GATE_A12 NETINTR_ADDRESS_GATE_A13 NETINTR_ADDRESS_GATE_A14 NETINTR_ADDRESS_GATE_A15 NETFETCH_ADDRESS_GATE_D0 NETFETCH_ADDRESS_GATE_D1 NETFETCH_ADDRESS_GATE_D2 NETFETCH_ADDRESS_GATE_D3 NETFETCH_ADDRESS_GATE_D4 NETFETCH_ADDRESS_GATE_D5 NETFETCH_ADDRESS_GATE_D6 NETFETCH_ADDRESS_GATE_D7 NETFETCH_ADDRESS_GATE_D8 NETFETCH_ADDRESS_GATE_D9 NETFETCH_ADDRESS_GATE_D10 NETFETCH_ADDRESS_GATE_D11 NETFETCH_ADDRESS_GATE_D12 NETFETCH_ADDRESS_GATE_D13 NETFETCH_ADDRESS_GATE_D14 NETFETCH_ADDRESS_GATE_D15 NETINTR_ADDRESS_GATE_^EN BUS_TRANS16
.subckt BUS_TRANS16 A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 A11 A12 A13 A14 A15 B0 B1 B2 B3 B4 B5 B6 B7 B8 B9 B10 B11 B12 B13 B14 B15 EN
xU3 EN IEN NNOT
xU5 A0 IA0 NNOT
xU6 A1 IA1 NNOT
xU7 A2 IA2 NNOT
xU8 A3 IA3 NNOT
xU9 A4 IA4 NNOT
xU10 A5 IA5 NNOT
xU11 A6 IA6 NNOT
xU12 A7 IA7 NNOT
xU13 A8 IA8 NNOT
xU14 A9 IA9 NNOT
xU15 A10 IA10 NNOT
xU16 A11 IA11 NNOT
xU17 A12 IA12 NNOT
xU18 A13 IA13 NNOT
xU19 A14 IA14 NNOT
xU20 A15 IA15 NNOT
.subckt NNOT IN OUT
aU1 IN NetU1_2 NOT
aU2 NetU1_2 OUT NOT
.model NOT d_inverter(rise_delay = 1e-9 fall_delay = 1e-9 input_load = 1e-3)
.ends
a1 [ IA0 IA1 IA2 IA3 IA4 IA5 IA6 IA7 IA8 IA9 IA10 IA11 IA12 IA13 IA14 IA15] IEN [ B0 B1 B2 B3 B4 B5 B6 B7 B8 B9 B10 B11 B12 B13 B14 B15] MULTI_TRISTATE
.model MULTI_TRISTATE d_multristate(delay = 0.5e-9 input_load = 0.5e-12 enable_load = 0.5e-12)
.ends
xIR DBUS0 DBUS1 DBUS2 DBUS3 DBUS4 DBUS5 DBUS6 DBUS7 IR0 IR1 IR2 IR3 NETIR_Q4 NETIR_Q5 NETIR_Q6 NETIR_Q7 IREN NETIR_CLK REG_EN8
.subckt REG_EN8 1D 2D 3D 4D 5D 6D 7D 8D 1Q 2Q 3Q 4Q 5Q 6Q 7Q 8Q ENABLE CLOCK
aU1 [ Q7 NetU1_2] NetU1_3 AND
aU3 [ 8D NetU14_2] NetU3_3 AND
aU7 [ Q6 NetU7_2] NetU10_1 AND
aU8 [ 7D NetU14_2] NetU10_2 AND
aU13 [ Q5 NetU13_2] NetU13_3 AND
aU14 [ 6D NetU14_2] NetU14_3 AND
aU19 [ Q4 NetU19_2] NetU19_3 AND
aU20 [ 5D NetU14_2] NetU20_3 AND
aU25 [ Q3 NetU25_2] NetU25_3 AND
aU26 [ 4D NetU14_2] NetU26_3 AND
aU31 [ Q2 NetU31_2] NetU31_3 AND
aU32 [ 3D NetU14_2] NetU32_3 AND
aU37 [ Q1 NetU37_2] NetU37_3 AND
aU38 [ 2D NetU14_2] NetU38_3 AND
aU39 [ Q0 NetU39_2] NetU39_3 AND
aU40 [ 1D NetU14_2] NetU40_3 AND
.model AND d_and(rise_delay = 1e-9 fall_delay = 1e-9 input_load = 1e-3)
aU2 NetU14_2 NetU1_2 NOT
aU6 NetU4_3 NetU5_D NOT
aU9 NetU14_2 NetU7_2 NOT
aU11 NetU10_3 NetU11_2 NOT
aU15 NetU14_2 NetU13_2 NOT
aU17 NetU16_3 NetU17_2 NOT
aU22 NetU14_2 NetU19_2 NOT
aU23 NetU21_3 NetU23_2 NOT
aU28 NetU14_2 NetU25_2 NOT
aU29 NetU27_3 NetU29_2 NOT
aU33 NetU14_2 NetU31_2 NOT
aU35 NetU34_3 NetU35_2 NOT
aU41 NetU14_2 NetU37_2 NOT
aU44 NetU42_3 NetU44_2 NOT
aU45 NetU43_3 NetU45_2 NOT
aU48 NetU14_2 NetU39_2 NOT
aU50 EN NetU14_2 NOT
.model NOT d_inverter(rise_delay = 1e-9 fall_delay = 1e-9 input_load = 1e-3)
aU4 [ NetU1_3 NetU3_3] NetU4_3 NOR
aU10 [ NetU10_1 NetU10_2] NetU10_3 NOR
aU16 [ NetU13_3 NetU14_3] NetU16_3 NOR
aU21 [ NetU19_3 NetU20_3] NetU21_3 NOR
aU27 [ NetU25_3 NetU26_3] NetU27_3 NOR
aU34 [ NetU31_3 NetU32_3] NetU34_3 NOR
aU42 [ NetU37_3 NetU38_3] NetU42_3 NOR
aU43 [ NetU39_3 NetU40_3] NetU43_3 NOR
.model NOR d_nor(rise_delay = 1e-9 fall_delay = 1e-9 input_load = 1e-3)
aU5 NetU5_D CLK NetU12_^CLR NetU12_^CLR Q7 NetU5_^Q 74LS74D
aU12 NetU11_2 CLK NetU12_^CLR NetU12_^CLR Q6 NetU12_^Q 74LS74D
aU18 NetU17_2 CLK NetU12_^CLR NetU12_^CLR Q5 NetU18_^Q 74LS74D
aU24 NetU23_2 CLK NetU12_^CLR NetU12_^CLR Q4 NetU24_^Q 74LS74D
aU30 NetU29_2 CLK NetU12_^CLR NetU12_^CLR Q3 NetU30_^Q 74LS74D
aU36 NetU35_2 CLK NetU12_^CLR NetU12_^CLR Q2 NetU36_^Q 74LS74D
aU46 NetU44_2 CLK NetU12_^CLR NetU12_^CLR Q1 NetU46_^Q 74LS74D
aU47 NetU45_2 CLK NetU12_^CLR NetU12_^CLR Q0 NetU47_^Q 74LS74D
.model 74LS74D d_dff(clk_delay = 13.0e-9 set_delay = 25.0e-9 reset_delay = 27.0e-9 ic = 2 rise_delay = 10.0e-9 fall_delay = 3e-9)
xU49 NetU12_^CLR CONSTANT0
.subckt CONSTANT0 constant0
VV1 Net1_1 0 DC 0
a1 [Net1_1] [constant0] ADC
.model ADC adc_bridge(in_low = 0.3 in_high = 1)
.ends
xUClk CLOCK CLK NNOT
xUEN ENABLE EN NNOT
xU2 Q0 1Q NNOT
xU3 Q1 2Q NNOT
xU4 Q3 4Q NNOT
xU5 Q2 3Q NNOT
xU6 Q4 5Q NNOT
xU7 Q5 6Q NNOT
xU8 Q6 7Q NNOT
xU9 Q7 8Q NNOT
.subckt NNOT IN OUT
aU1 IN NetU1_2 NOT
aU2 NetU1_2 OUT NOT
.model NOT d_inverter(rise_delay = 1e-9 fall_delay = 1e-9 input_load = 1e-3)
.ends
.ends
xuPC NETFETCH_ADDRESS_GATE_D0 NETFETCH_ADDRESS_GATE_D1 NETFETCH_ADDRESS_GATE_D2 NETFETCH_ADDRESS_GATE_D3 NETFETCH_ADDRESS_GATE_D4 NETFETCH_ADDRESS_GATE_D5 NETFETCH_ADDRESS_GATE_D6 NETFETCH_ADDRESS_GATE_D7 NETFETCH_ADDRESS_GATE_D8 NETFETCH_ADDRESS_GATE_D9 NETFETCH_ADDRESS_GATE_D10 NETFETCH_ADDRESS_GATE_D11 NETFETCH_ADDRESS_GATE_D12 NETFETCH_ADDRESS_GATE_D13 NETFETCH_ADDRESS_GATE_D14 NETFETCH_ADDRESS_GATE_D15 UPC0 UPC1 UPC2 UPC3 UPC4 UPC5 UPC6 UPC7 UPC8 UPC9 UPC10 UPC11 UPC12 UPC13 UPC14 UPC15 NETUPC_^CLR NETUPC_PR NETUPC_^EN NETIR_CLK REG_AA16
.subckt REG_AA16 D0 D1 D2 D3 D4 D5 D6 D7 D8 D9 D10 D11 D12 D13 D14 D15 1Q 2Q 3Q 4Q 5Q 6Q 7Q 8Q 9Q 10Q 11Q 12Q 13Q 14Q 15Q 16Q CLR PR EN CLK
xU1 CLK CLOCK NNOT
xU3 EN ENABLE NNOT
xU4 PR SET NNOT
xU5 Q0 1Q NNOT
xU6 Q1 2Q NNOT
xU7 Q2 3Q NNOT
xU8 Q3 4Q NNOT
xU9 Q4 5Q NNOT
xU10 Q5 6Q NNOT
xU11 Q6 7Q NNOT
xU12 Q7 8Q NNOT
xU13 Q8 9Q NNOT
xU14 Q9 10Q NNOT
xU15 Q10 11Q NNOT
xU16 Q11 12Q NNOT
xU17 Q12 13Q NNOT
xU18 Q13 14Q NNOT
xU19 Q14 15Q NNOT
xU20 Q15 16Q NNOT
.subckt NNOT IN OUT
aU1 IN NetU1_2 NOT
aU2 NetU1_2 OUT NOT
.model NOT d_inverter(rise_delay = 1e-9 fall_delay = 1e-9 input_load = 1e-3)
.ends
aU2 CLR CLEAR NOT
.model NOT d_inverter(rise_delay = 1e-9 fall_delay = 1e-9 input_load = 1e-3)
a1 [ D0 D1 D2 D3 D4 D5 D6 D7 D8 D9 D10 D11 D12 D13 D14 D15] CLOCK SET CLEAR ENABLE [ Q0 Q1 Q2 Q3 Q4 Q5 Q6 Q7 Q8 Q9 Q10 Q11 Q12 Q13 Q14 Q15] REG
.model REG d_registor(clk_delay = 13.0e-9 set_delay = 25.0e-9 reset_delay = 27.0e-9 en_delay = 27.0e-9ic = 2 rise_delay = 10.0e-9 fall_delay = 3e-9)
.ends
aU4 [ ASK_FOR_INT NETU4_2 NETU4_3] NETINTR_ADDRESS_GATE_^EN OR3
.model OR3 d_or(rise_delay = 1e-9 fall_delay = 1e-9 input_load = 1e-3)
xuPC_NEXT UPC15 UPC14 UPC13 UPC12 UPC11 UPC10 UPC9 UPC8 UPC7 UPC6 UPC5 UPC4 UPC3 UPC2 UPC1 UPC0 UPC_NEXT15 UPC_NEXT14 UPC_NEXT13 UPC_NEXT12 UPC_NEXT11 UPC_NEXT10 UPC_NEXT9 UPC_NEXT8 UPC_NEXT7 UPC_NEXT6 UPC_NEXT5 UPC_NEXT4 UPC_NEXT3 UPC_NEXT2 UPC_NEXT1 UPC_NEXT0 modulecir6
.include "D:\codecode\Answer\computer_system\lab8\interrupt\uPC_NEXT.dlsche.cir"
.ends
这个 源代码变更 因为 太大 而不能显示。 你可以 浏览blob
添加文件
Circuit Title
.tran 1ms 50s
xC2 NETC2_1 SCLK
xCLOCK NETCLOCK_1 SCLK
xRESET RESET SCLK
xC3 NETC3_1 SCLK
xC4 NETC4_1 SCLK
xC5 NETC5_1 SCLK
xC6 NETC6_1 SCLK
xC7 NETC7_1 SCLK
xC8 NETC8_1 SCLK
xC9 NETC9_1 SCLK
xC10 NETC10_1 SCLK
.subckt SCLK out
v1 1 0 DC 5
v2 3 0 DC 0
r1 1 2 1k
abridge1 [2] [out] adc_buff
.model adc_buff adc_bridge(in_low = 0.3 in_high = 1)
s1 2 0 3 0 switch ON
.model switch sw vt=1 vh=0.2 ron=1 roff=1k
.ends
xRIN NET1_1 NET1_2 NET1_3 NET1_4 NET1_5 NET1_6 NET1_7 NET1_8 NETRIN_GATE_A0 NETRIN_GATE_A1 NETRIN_GATE_A2 NETRIN_GATE_A3 NETRIN_GATE_A4 NETRIN_GATE_A5 NETRIN_GATE_A6 NETRIN_GATE_A7 NETRIN_^EN NETC2_1 REG_EN8
xROUT DBUS0 DBUS1 DBUS2 DBUS3 DBUS4 DBUS5 DBUS6 DBUS7 NETROUT_Q0 NETROUT_Q1 NETROUT_Q2 NETROUT_Q3 NETROUT_Q4 NETROUT_Q5 NETROUT_Q6 NETROUT_Q7 ROUT_REG_EN CLK REG_EN8
xMAR DBUS0 DBUS1 DBUS2 DBUS3 DBUS4 DBUS5 DBUS6 DBUS7 NETMAR_GATE_A0 NETMAR_GATE_A1 NETMAR_GATE_A2 NETMAR_GATE_A3 NETMAR_GATE_A4 NETMAR_GATE_A5 NETMAR_GATE_A6 NETMAR_GATE_A7 MAR_REG_EN CLK REG_EN8
.subckt REG_EN8 1D 2D 3D 4D 5D 6D 7D 8D 1Q 2Q 3Q 4Q 5Q 6Q 7Q 8Q ENABLE CLOCK
aU1 [ Q7 NetU1_2] NetU1_3 AND
aU3 [ 8D NetU14_2] NetU3_3 AND
aU7 [ Q6 NetU7_2] NetU10_1 AND
aU8 [ 7D NetU14_2] NetU10_2 AND
aU13 [ Q5 NetU13_2] NetU13_3 AND
aU14 [ 6D NetU14_2] NetU14_3 AND
aU19 [ Q4 NetU19_2] NetU19_3 AND
aU20 [ 5D NetU14_2] NetU20_3 AND
aU25 [ Q3 NetU25_2] NetU25_3 AND
aU26 [ 4D NetU14_2] NetU26_3 AND
aU31 [ Q2 NetU31_2] NetU31_3 AND
aU32 [ 3D NetU14_2] NetU32_3 AND
aU37 [ Q1 NetU37_2] NetU37_3 AND
aU38 [ 2D NetU14_2] NetU38_3 AND
aU39 [ Q0 NetU39_2] NetU39_3 AND
aU40 [ 1D NetU14_2] NetU40_3 AND
.model AND d_and(rise_delay = 1e-9 fall_delay = 1e-9 input_load = 1e-3)
aU2 NetU14_2 NetU1_2 NOT
aU6 NetU4_3 NetU5_D NOT
aU9 NetU14_2 NetU7_2 NOT
aU11 NetU10_3 NetU11_2 NOT
aU15 NetU14_2 NetU13_2 NOT
aU17 NetU16_3 NetU17_2 NOT
aU22 NetU14_2 NetU19_2 NOT
aU23 NetU21_3 NetU23_2 NOT
aU28 NetU14_2 NetU25_2 NOT
aU29 NetU27_3 NetU29_2 NOT
aU33 NetU14_2 NetU31_2 NOT
aU35 NetU34_3 NetU35_2 NOT
aU41 NetU14_2 NetU37_2 NOT
aU44 NetU42_3 NetU44_2 NOT
aU45 NetU43_3 NetU45_2 NOT
aU48 NetU14_2 NetU39_2 NOT
aU50 EN NetU14_2 NOT
.model NOT d_inverter(rise_delay = 1e-9 fall_delay = 1e-9 input_load = 1e-3)
aU4 [ NetU1_3 NetU3_3] NetU4_3 NOR
aU10 [ NetU10_1 NetU10_2] NetU10_3 NOR
aU16 [ NetU13_3 NetU14_3] NetU16_3 NOR
aU21 [ NetU19_3 NetU20_3] NetU21_3 NOR
aU27 [ NetU25_3 NetU26_3] NetU27_3 NOR
aU34 [ NetU31_3 NetU32_3] NetU34_3 NOR
aU42 [ NetU37_3 NetU38_3] NetU42_3 NOR
aU43 [ NetU39_3 NetU40_3] NetU43_3 NOR
.model NOR d_nor(rise_delay = 1e-9 fall_delay = 1e-9 input_load = 1e-3)
aU5 NetU5_D CLK NetU12_^CLR NetU12_^CLR Q7 NetU5_^Q 74LS74D
aU12 NetU11_2 CLK NetU12_^CLR NetU12_^CLR Q6 NetU12_^Q 74LS74D
aU18 NetU17_2 CLK NetU12_^CLR NetU12_^CLR Q5 NetU18_^Q 74LS74D
aU24 NetU23_2 CLK NetU12_^CLR NetU12_^CLR Q4 NetU24_^Q 74LS74D
aU30 NetU29_2 CLK NetU12_^CLR NetU12_^CLR Q3 NetU30_^Q 74LS74D
aU36 NetU35_2 CLK NetU12_^CLR NetU12_^CLR Q2 NetU36_^Q 74LS74D
aU46 NetU44_2 CLK NetU12_^CLR NetU12_^CLR Q1 NetU46_^Q 74LS74D
aU47 NetU45_2 CLK NetU12_^CLR NetU12_^CLR Q0 NetU47_^Q 74LS74D
.model 74LS74D d_dff(clk_delay = 13.0e-9 set_delay = 25.0e-9 reset_delay = 27.0e-9 ic = 2 rise_delay = 10.0e-9 fall_delay = 3e-9)
xU49 NetU12_^CLR CONSTANT0
.subckt CONSTANT0 constant0
VV1 Net1_1 0 DC 0
a1 [Net1_1] [constant0] ADC
.model ADC adc_bridge(in_low = 0.3 in_high = 1)
.ends
xUClk CLOCK CLK NNOT
xUEN ENABLE EN NNOT
xU2 Q0 1Q NNOT
xU3 Q1 2Q NNOT
xU4 Q3 4Q NNOT
xU5 Q2 3Q NNOT
xU6 Q4 5Q NNOT
xU7 Q5 6Q NNOT
xU8 Q6 7Q NNOT
xU9 Q7 8Q NNOT
.subckt NNOT IN OUT
aU1 IN NetU1_2 NOT
aU2 NetU1_2 OUT NOT
.model NOT d_inverter(rise_delay = 1e-9 fall_delay = 1e-9 input_load = 1e-3)
.ends
.ends
x1 NET1_1 NET1_2 NET1_3 NET1_4 NET1_5 NET1_6 NET1_7 NET1_8 INTER_DIGITAL8
.subckt INTER_DIGITAL8 D0 D1 D2 D3 D4 D5 D6 D7
x1 D0 DCT
x2 D1 DCT
x3 D2 DCT
x4 D3 DCT
x5 D4 DCT
x6 D5 DCT
x7 D6 DCT
x8 D7 DCT
.subckt DCT out
v1 1 0 DC 5
v2 3 0 DC 2
r1 1 2 1k
abridge1 [2] [out] adc_buff
.model adc_buff adc_bridge(in_low = 0.3 in_high = 1)
s1 2 0 3 0 switch ON
.model switch sw vt=1 vh=0.2 ron=1 roff=1k
.ends
.ends
xRIN_gate NETRIN_GATE_A0 NETRIN_GATE_A1 NETRIN_GATE_A2 NETRIN_GATE_A3 NETRIN_GATE_A4 NETRIN_GATE_A5 NETRIN_GATE_A6 NETRIN_GATE_A7 DBUS0 DBUS1 DBUS2 DBUS3 DBUS4 DBUS5 DBUS6 DBUS7 RIN_GATE_EN BUS_TRANS8
xMAR_gate NETMAR_GATE_A0 NETMAR_GATE_A1 NETMAR_GATE_A2 NETMAR_GATE_A3 NETMAR_GATE_A4 NETMAR_GATE_A5 NETMAR_GATE_A6 NETMAR_GATE_A7 ABUS0 ABUS1 ABUS2 ABUS3 ABUS4 ABUS5 ABUS6 ABUS7 MAR_GATE_EN BUS_TRANS8
.subckt BUS_TRANS8 A0 A1 A2 A3 A4 A5 A6 A7 B0 B1 B2 B3 B4 B5 B6 B7 EN
xU3 EN IEN NNOT
xU5 A0 IA0 NNOT
xU6 A1 IA1 NNOT
xU7 A2 IA2 NNOT
xU8 A3 IA3 NNOT
xU9 A4 IA4 NNOT
xU10 A5 IA5 NNOT
xU11 A6 IA6 NNOT
xU12 A7 IA7 NNOT
.subckt NNOT IN OUT
aU1 IN NetU1_2 NOT
aU2 NetU1_2 OUT NOT
.model NOT d_inverter(rise_delay = 1e-9 fall_delay = 1e-9 input_load = 1e-3)
.ends
a1 [ IA0 IA1 IA2 IA3 IA4 IA5 IA6 IA7] IEN [ B0 B1 B2 B3 B4 B5 B6 B7] MULTI_TRISTATE
.model MULTI_TRISTATE d_multristate(delay = 0.5e-9 input_load = 0.5e-12 enable_load = 0.5e-12)
.ends
xU1 NETCLOCK_1 CLK NETU1_2 LTri_Gate
xU2 NETC1_1 CLK NET6_1 LTri_Gate
.subckt LTri_Gate 1 2 3
aU1 1 NetU1_2 2 BUFFER
.model BUFFER d_tristate(delay = 0.5e-9 input_load = 0.5e-12 enable_load = 0.5e-12)
aU2 3 NetU1_2 NOT
.model NOT d_inverter(rise_delay = 1e-9 fall_delay = 1e-9 input_load = 1e-3)
.ends
x6 NET6_1 INTER_DIGITAL
x7 IF INTER_DIGITAL
.subckt INTER_DIGITAL out
v1 1 0 DC 5
v2 3 0 DC 2
r1 1 2 1k
abridge1 [2] [out] adc_buff
.model adc_buff adc_bridge(in_low = 0.3 in_high = 1)
s1 2 0 3 0 switch ON
.model switch sw vt=1 vh=0.2 ron=1 roff=1k
.ends
aU3 NET6_1 NETU1_2 NOT
.model NOT d_inverter(rise_delay = 1e-9 fall_delay = 1e-9 input_load = 1e-3)
xC1 NETC1_1 CLOCK1
.subckt CLOCK1 out frequency = 100 dutycycle = 0.5 risedelay = 1e-6 falldelay = 1e-6
v1 1 0 DC 2
a1 1 out var_clock
.model var_clock d_osc(cntl_array = [-1.0 0.0 1.0 2.0] freq_array = [10 100 1e3 {frequency}] duty_cycle ={dutycycle} init_phase = 0 rise_delay = {risedelay} fall_delay = {falldelay})
.ends
xALU CN FLAG_REG_EN S0 S1 S2 W_REG_EN A_REG_EN CLK DBUS7 DBUS6 DBUS5 DBUS4 DBUS3 DBUS2 DBUS1 DBUS0 CF ZF L_GATE_EN R_GATE_EN D_GATE_EN S3 C M DBUS7 DBUS6 DBUS5 DBUS4 DBUS3 DBUS2 DBUS1 DBUS0 CLK modulecir1
xREG IR0 IR1 REG_WR REG_READ CLK IA_GATE_EN SP_GATE_EN ASR_GATE_EN IA_REG_EN SP_REG_EN ASR_REG_EN CST_U\D CST_LOAD CST_GATE_EN DBUS7 DBUS6 DBUS5 DBUS4 DBUS3 DBUS2 DBUS1 DBUS0 DBUS7 DBUS6 DBUS5 DBUS4 DBUS3 DBUS2 DBUS1 DBUS0 modulecir2
xPC CF ZF IR2 IR3 PC_LOAD_EN CLK DBUS7 DBUS6 DBUS5 DBUS4 DBUS3 DBUS2 DBUS1 DBUS0 PC_A_GATE_EN PC_D_GATE_EN PC_ADD INTR_LOAD DBUS7 DBUS6 DBUS5 DBUS4 DBUS3 DBUS2 DBUS1 DBUS0 ABUS7 ABUS6 ABUS5 ABUS4 ABUS3 ABUS2 ABUS1 ABUS0 RESET modulecir3
xMEM ABUS7 ABUS6 ABUS5 ABUS4 ABUS3 ABUS2 ABUS1 ABUS0 DBUS7 DBUS6 DBUS5 DBUS4 DBUS3 DBUS2 DBUS1 DBUS0 MEM_WR CLK MEM_GATE_EN DBUS7 DBUS6 DBUS5 DBUS4 DBUS3 DBUS2 DBUS1 DBUS0 modulecir4
xCU CLK DBUS7 DBUS6 DBUS5 DBUS4 DBUS3 DBUS2 DBUS1 DBUS0 IR0 IR1 IR2 IR3 S0 S1 S2 A_REG_EN W_REG_EN FLAG_REG_EN CN REG_WR SP_REG_EN ROUT_REG_EN MAR_GATE_EN MAR_REG_EN PC_LOAD_EN PC_A_GATE_EN ASR_REG_EN MEM_WR IA_REG_EN SP_GATE_EN PC_D_GATE_EN D_GATE_EN R_GATE_EN L_GATE_EN ASR_GATE_EN IA_GATE_EN RIN_GATE_EN MEM_GATE_EN CST_GATE_EN CST_LOAD REG_READ S3 C M CST_U\D PC_ADD INTR INTR_LOAD IF RESET INTA2 EOI INTA1 modulecir5
xHDINT NETC3_1 NETC4_1 NETC5_1 NETC6_1 NETC7_1 NETC8_1 NETC9_1 NETC10_1 INTA2 EOI RESET INTR DBUS7 DBUS6 DBUS5 DBUS4 DBUS3 DBUS2 DBUS1 DBUS0 INTA1 RESET CLK INTA2 modulecir7
.include "D:\codecode\Answer\computer_system\lab8\interrupt\ALU.dlsche.cir"
.include "D:\codecode\Answer\computer_system\lab8\interrupt\REG.dlsche.cir"
.include "D:\codecode\Answer\computer_system\lab8\interrupt\PC.dlsche.cir"
.include "D:\codecode\Answer\computer_system\lab8\interrupt\MEM.dlsche.cir"
.include "D:\codecode\Answer\computer_system\lab8\interrupt\CU.dlsche.cir"
.include "D:\codecode\Answer\computer_system\lab8\interrupt\HDINT.dlsche.cir"
.end
这个 源代码变更 因为 太大 而不能显示。 你可以 浏览blob
添加文件
.subckt modulecir7 IR0 IR1 IR2 IR3 IR4 IR5 IR6 IR7 NET1_^EN EOI RESET INTR DBUS7 DBUS6 DBUS5 DBUS4 DBUS3 DBUS2 DBUS1 DBUS0 INTA1 RESET CLK NET1_^EN
x1 NET1_A0 NET1_A1 NET1_A2 NET1_A3 NET1_A4 NET1_A5 NET1_A6 NET1_A7 DBUS0 DBUS1 DBUS2 DBUS3 DBUS4 DBUS5 DBUS6 DBUS7 NET1_^EN BUS_TRANS8
.subckt BUS_TRANS8 A0 A1 A2 A3 A4 A5 A6 A7 B0 B1 B2 B3 B4 B5 B6 B7 EN
xU3 EN IEN NNOT
xU5 A0 IA0 NNOT
xU6 A1 IA1 NNOT
xU7 A2 IA2 NNOT
xU8 A3 IA3 NNOT
xU9 A4 IA4 NNOT
xU10 A5 IA5 NNOT
xU11 A6 IA6 NNOT
xU12 A7 IA7 NNOT
.subckt NNOT IN OUT
aU1 IN NetU1_2 NOT
aU2 NetU1_2 OUT NOT
.model NOT d_inverter(rise_delay = 1e-9 fall_delay = 1e-9 input_load = 1e-3)
.ends
a1 [ IA0 IA1 IA2 IA3 IA4 IA5 IA6 IA7] IEN [ B0 B1 B2 B3 B4 B5 B6 B7] MULTI_TRISTATE
.model MULTI_TRISTATE d_multristate(delay = 0.5e-9 input_load = 0.5e-12 enable_load = 0.5e-12)
.ends
xIRR NET1_A0 NET1_A1 NET1_A2 NET1_^EN IR0 IR1 IR2 IR3 IR4 IR5 IR6 IR7 IRR0 IRR1 IRR2 IRR3 IRR4 IRR5 IRR6 IRR7 RESET CLK modulecir8
xISR INTA1 EOI NET1_A0 NET1_A1 NET1_A2 INTR RESET ISR7 ISR6 ISR5 ISR4 ISR3 ISR2 ISR1 ISR0 IRNM0 IRNM1 IRNM2 CLK CLK modulecir9
xPR ISR7 ISR6 ISR5 ISR4 ISR3 ISR2 ISR1 ISR0 IRR7 IRR6 IRR5 IRR4 IRR3 IRR2 IRR1 IRR0 INTR IRNM0 IRNM1 IRNM2 modulecir10
.include "D:\codecode\Answer\computer_system\lab8\interrupt\IRR.dlsche.cir"
.include "D:\codecode\Answer\computer_system\lab8\interrupt\ISR.dlsche.cir"
.include "D:\codecode\Answer\computer_system\lab8\interrupt\PR.dlsche.cir"
.ends
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<svg height="2992" version="1.1" width="5645" xmlns="http://www.w3.org/2000/svg">
<text alignment-baseline="after-edge" fill="#000000" font-family="微软雅黑" font-size="250" font-weight="700" text-anchor="start" x="2301" y="316">硬中断控制器</text>
<rect fill="#80ff80" height="1400" stroke="#800000" stroke-width="1" width="700" x="671" y="1146"/>
<text alignment-baseline="after-edge" fill="#000080" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="671" y="1046">IRR</text>
<text alignment-baseline="after-edge" fill="#000080" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="671" y="1096">IRR.dlsche</text>
<polygon fill="#ffff80" points="671 1246, 696 1221, 746 1221, 771 1246, 746 1271, 696 1271, 671 1246" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="781" y="1246">T0</text>
<polygon fill="#ffff80" points="671 1346, 696 1321, 746 1321, 771 1346, 746 1371, 696 1371, 671 1346" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="781" y="1346">T1</text>
<polygon fill="#ffff80" points="671 1446, 696 1421, 746 1421, 771 1446, 746 1471, 696 1471, 671 1446" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="781" y="1446">T2</text>
<polygon fill="#ffff80" points="671 2346, 696 2321, 746 2321, 771 2346, 746 2371, 696 2371, 671 2346" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="781" y="2346">INTA2</text>
<polygon fill="#ffff80" points="671 1546, 696 1521, 746 1521, 771 1546, 746 1571, 696 1571, 671 1546" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="781" y="1546">IR0</text>
<polygon fill="#ffff80" points="671 1646, 696 1621, 746 1621, 771 1646, 746 1671, 696 1671, 671 1646" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="781" y="1646">IR1</text>
<polygon fill="#ffff80" points="671 1746, 696 1721, 746 1721, 771 1746, 746 1771, 696 1771, 671 1746" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="781" y="1746">IR2</text>
<polygon fill="#ffff80" points="671 1846, 696 1821, 746 1821, 771 1846, 746 1871, 696 1871, 671 1846" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="781" y="1846">IR3</text>
<polygon fill="#ffff80" points="671 1946, 696 1921, 746 1921, 771 1946, 746 1971, 696 1971, 671 1946" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="781" y="1946">IR4</text>
<polygon fill="#ffff80" points="671 2046, 696 2021, 746 2021, 771 2046, 746 2071, 696 2071, 671 2046" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="781" y="2046">IR5</text>
<polygon fill="#ffff80" points="671 2146, 696 2121, 746 2121, 771 2146, 746 2171, 696 2171, 671 2146" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="781" y="2146">IR6</text>
<polygon fill="#ffff80" points="671 2246, 696 2221, 746 2221, 771 2246, 746 2271, 696 2271, 671 2246" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="781" y="2246">IR7</text>
<polygon fill="#ffff80" points="1371 1246, 1346 1221, 1296 1221, 1271 1246, 1296 1271, 1346 1271, 1371 1246" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="1161" y="1246">IRR0</text>
<polygon fill="#ffff80" points="1371 1346, 1346 1321, 1296 1321, 1271 1346, 1296 1371, 1346 1371, 1371 1346" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="1161" y="1346">IRR1</text>
<polygon fill="#ffff80" points="1371 1446, 1346 1421, 1296 1421, 1271 1446, 1296 1471, 1346 1471, 1371 1446" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="1161" y="1446">IRR2</text>
<polygon fill="#ffff80" points="1371 1546, 1346 1521, 1296 1521, 1271 1546, 1296 1571, 1346 1571, 1371 1546" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="1161" y="1546">IRR3</text>
<polygon fill="#ffff80" points="1371 1646, 1346 1621, 1296 1621, 1271 1646, 1296 1671, 1346 1671, 1371 1646" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="1161" y="1646">IRR4</text>
<polygon fill="#ffff80" points="1371 1746, 1346 1721, 1296 1721, 1271 1746, 1296 1771, 1346 1771, 1371 1746" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="1161" y="1746">IRR5</text>
<polygon fill="#ffff80" points="1371 1846, 1346 1821, 1296 1821, 1271 1846, 1296 1871, 1346 1871, 1371 1846" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="1161" y="1846">IRR6</text>
<polygon fill="#ffff80" points="1371 1946, 1346 1921, 1296 1921, 1271 1946, 1296 1971, 1346 1971, 1371 1946" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="1161" y="1946">IRR7</text>
<polygon fill="#ffff80" points="671 2446, 696 2421, 746 2421, 771 2446, 746 2471, 696 2471, 671 2446" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="783" y="2446">RESET</text>
<polygon fill="#ffff80" points="1371 2146, 1346 2121, 1296 2121, 1271 2146, 1296 2171, 1346 2171, 1371 2146" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="1242" y="2146">CLK</text>
<polyline fill="none" points="1371 1246, 1571 1246" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1371 1346, 1571 1346" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1371 1446, 1571 1446" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1371 1546, 1571 1546" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1371 1646, 1571 1646" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1371 1746, 1571 1746" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1371 1846, 1571 1846" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1371 1946, 1571 1946" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="1571" x2="1621" y1="1246" y2="1196"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="1571" x2="1621" y1="1346" y2="1296"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="1571" x2="1621" y1="1446" y2="1396"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="1571" x2="1621" y1="1546" y2="1496"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="1571" x2="1621" y1="1646" y2="1596"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="1571" x2="1621" y1="1746" y2="1696"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="1571" x2="1621" y1="1846" y2="1796"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="1571" x2="1621" y1="1946" y2="1896"/>
<polyline fill="none" points="1621 1196, 1621 1896" stroke="#000080" stroke-linecap="round" stroke-linejoin="round" stroke-width="20"/>
<polyline fill="none" points="2171 1346, 1621 1346" stroke="#000080" stroke-linecap="round" stroke-linejoin="round" stroke-width="20"/>
<polyline fill="none" points="2171 1246, 2071 1246, 2071 896, 4371 896, 4371 1546, 4171 1546" stroke="#000080" stroke-linecap="round" stroke-linejoin="round" stroke-width="20"/>
<rect fill="#80ff80" height="900" stroke="#800000" stroke-width="1" width="700" x="3471" y="1146"/>
<text alignment-baseline="after-edge" fill="#000080" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="3471" y="1046">ISR</text>
<text alignment-baseline="after-edge" fill="#000080" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="3471" y="1096">ISR.dlsche</text>
<polygon fill="#ffff80" points="3471 1696, 3496 1671, 3546 1671, 3571 1696, 3546 1721, 3496 1721, 3471 1696" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="3581" y="1696">INTA1</text>
<polygon fill="#ffff80" points="3471 1776, 3496 1751, 3546 1751, 3571 1776, 3546 1801, 3496 1801, 3471 1776" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="3581" y="1776">EOI</text>
<polygon fill="#ffff80" points="3471 1246, 3496 1221, 3546 1221, 3571 1246, 3546 1271, 3496 1271, 3471 1246" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="3581" y="1246">INTR</text>
<polygon fill="#ffff80" points="3471 1856, 3496 1831, 3546 1831, 3571 1856, 3546 1881, 3496 1881, 3471 1856" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="3581" y="1856">RESET</text>
<polygon fill="#ffff80" points="3471 1346, 3496 1321, 3546 1321, 3571 1346, 3546 1371, 3496 1371, 3471 1346" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="3581" y="1346">IRNM0</text>
<polygon fill="#ffff80" points="3471 1446, 3496 1421, 3546 1421, 3571 1446, 3546 1471, 3496 1471, 3471 1446" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="3581" y="1446">IRNM1</text>
<polygon fill="#ffff80" points="3471 1546, 3496 1521, 3546 1521, 3571 1546, 3546 1571, 3496 1571, 3471 1546" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="3581" y="1546">IRNM2</text>
<polygon fill="#ffff80" points="4171 1246, 4146 1221, 4096 1221, 4071 1246, 4096 1271, 4146 1271, 4171 1246" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="3961" y="1246">T0</text>
<polygon fill="#ffff80" points="4171 1346, 4146 1321, 4096 1321, 4071 1346, 4096 1371, 4146 1371, 4171 1346" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="3961" y="1346">T1</text>
<polygon fill="#ffff80" points="4171 1446, 4146 1421, 4096 1421, 4071 1446, 4096 1471, 4146 1471, 4171 1446" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="3961" y="1446">T2</text>
<polygon fill="#ffff80" points="4171 1546, 4146 1521, 4096 1521, 4071 1546, 4096 1571, 4146 1571, 4171 1546" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="3961" y="1546">ISR[7..0]</text>
<polygon fill="#ffff80" points="3471 1946, 3496 1921, 3546 1921, 3571 1946, 3546 1971, 3496 1971, 3471 1946" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="3583" y="1946">CLK</text>
<rect fill="#80ff80" height="500" stroke="#800000" stroke-width="1" width="700" x="2171" y="1146"/>
<text alignment-baseline="after-edge" fill="#000080" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="2171" y="1046">PR</text>
<text alignment-baseline="after-edge" fill="#000080" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="2171" y="1096">PR.dlsche</text>
<polygon fill="#ffff80" points="2171 1246, 2196 1221, 2246 1221, 2271 1246, 2246 1271, 2196 1271, 2171 1246" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="2281" y="1246">ISR[7..0]</text>
<polygon fill="#ffff80" points="2171 1346, 2196 1321, 2246 1321, 2271 1346, 2246 1371, 2196 1371, 2171 1346" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="2281" y="1346">IRR[7..0]</text>
<polygon fill="#ffff80" points="2871 1246, 2846 1221, 2796 1221, 2771 1246, 2796 1271, 2846 1271, 2871 1246" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="2661" y="1246">INTR</text>
<polygon fill="#ffff80" points="2871 1346, 2846 1321, 2796 1321, 2771 1346, 2796 1371, 2846 1371, 2871 1346" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="2661" y="1346">IRNM0</text>
<polygon fill="#ffff80" points="2871 1446, 2846 1421, 2796 1421, 2771 1446, 2796 1471, 2846 1471, 2871 1446" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="2661" y="1446">IRNM1</text>
<polygon fill="#ffff80" points="2871 1546, 2846 1521, 2796 1521, 2771 1546, 2796 1571, 2846 1571, 2871 1546" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="2661" y="1546">IRNM2</text>
<polyline fill="none" points="2871 1246, 3471 1246" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="2871 1346, 3471 1346" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="2871 1446, 3471 1446" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="2871 1546, 3471 1546" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="4171 1246, 4471 1246, 4471 746, 471 746, 471 1246, 671 1246" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="671 1346, 421 1346, 421 696, 4521 696, 4521 1346, 4171 1346" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="4171 1446, 4571 1446, 4571 646, 371 646, 371 1446, 671 1446" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="671 1546, 171 1546" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="671 1646, 171 1646" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="671 1746, 171 1746" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="671 1846, 171 1846" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="671 1946, 171 1946" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="671 2046, 171 2046" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="671 2146, 171 2146" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="671 2246, 171 2246" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polygon fill="#ffff80" points="21 1546, 21 1521, 146 1521, 171 1546, 146 1571, 21 1571, 21 1546" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="21" y="1546">IR0</text>
<polygon fill="#ffff80" points="21 1646, 21 1621, 146 1621, 171 1646, 146 1671, 21 1671, 21 1646" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="21" y="1646">IR1</text>
<polygon fill="#ffff80" points="21 1746, 21 1721, 146 1721, 171 1746, 146 1771, 21 1771, 21 1746" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="21" y="1746">IR2</text>
<polygon fill="#ffff80" points="21 1846, 21 1821, 146 1821, 171 1846, 146 1871, 21 1871, 21 1846" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="21" y="1846">IR3</text>
<polygon fill="#ffff80" points="21 1946, 21 1921, 146 1921, 171 1946, 146 1971, 21 1971, 21 1946" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="21" y="1946">IR4</text>
<polygon fill="#ffff80" points="21 2046, 21 2021, 146 2021, 171 2046, 146 2071, 21 2071, 21 2046" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="21" y="2046">IR5</text>
<polygon fill="#ffff80" points="21 2146, 21 2121, 146 2121, 171 2146, 146 2171, 21 2171, 21 2146" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="21" y="2146">IR6</text>
<polygon fill="#ffff80" points="21 2246, 21 2221, 146 2221, 171 2246, 146 2271, 21 2271, 21 2246" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="21" y="2246">IR7</text>
<polyline fill="none" points="671 2346, 171 2346" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polygon fill="#ffff80" points="21 2346, 21 2321, 146 2321, 171 2346, 146 2371, 21 2371, 21 2346" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="21" y="2346">INTA2</text>
<polyline fill="none" points="3471 1776, 3121 1776, 3121 2646, 171 2646" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polygon fill="#ffff80" points="21 2646, 21 2621, 146 2621, 171 2646, 146 2671, 21 2671, 21 2646" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="21" y="2646">EOI</text>
<polygon fill="#ffff80" points="21 2746, 21 2721, 146 2721, 171 2746, 146 2771, 21 2771, 21 2746" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="21" y="2746">RESET</text>
<polyline fill="none" points="171 2746, 3171 2746, 3171 1856, 3471 1856" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polygon fill="#ffff80" points="5471 546, 5471 521, 5596 521, 5621 546, 5596 571, 5471 571, 5471 546" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="5471" y="546">INTR</text>
<polyline fill="none" points="4471 1246, 4671 1246, 4771 1246" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="4521 1346, 4671 1346, 4671 1276, 4771 1276" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="4571 1446, 4671 1446, 4701 1446, 4701 1306, 4771 1306" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="4821" x2="4771" y1="1246" y2="1246"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="4854" y="1246">A0</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="4821" x2="4771" y1="1276" y2="1276"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="4854" y="1276">A1</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="4821" x2="4771" y1="1306" y2="1306"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="4854" y="1306">A2</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="4821" x2="4771" y1="1336" y2="1336"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="4854" y="1336">A3</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="4821" x2="4771" y1="1366" y2="1366"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="4854" y="1366">A4</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="4821" x2="4771" y1="1396" y2="1396"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="4854" y="1396">A5</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="4821" x2="4771" y1="1426" y2="1426"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="4854" y="1426">A6</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="4821" x2="4771" y1="1456" y2="1456"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="4854" y="1456">A7</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="4971" x2="5021" y1="1246" y2="1246"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="4938" y="1246">D0</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="4971" x2="5021" y1="1276" y2="1276"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="4938" y="1276">D1</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="4971" x2="5021" y1="1306" y2="1306"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="4938" y="1306">D2</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="4971" x2="5021" y1="1336" y2="1336"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="4938" y="1336">D3</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="4971" x2="5021" y1="1366" y2="1366"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="4938" y="1366">D4</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="4971" x2="5021" y1="1396" y2="1396"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="4938" y="1396">D5</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="4971" x2="5021" y1="1426" y2="1426"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="4938" y="1426">D6</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="4971" x2="5021" y1="1456" y2="1456"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="4938" y="1456">D7</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="4811" x2="4771" y1="1516" y2="1516"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="4865" y="1515">^EN</text>
<rect fill="#a0c0ff" fill-opacity="0.5" height="350" stroke="#000000" stroke-width="5" width="150" x="4821" y="1206"/>
<circle cx="4816" cy="1516" fill="none" r="5" stroke="#000000" stroke-width="5"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="4881" y="1206">1</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="4821" y="1606">BUS_TRANS8</text>
<polyline fill="none" points="3071 1246, 3071 546, 5471 546" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="5021 1246, 5221 1246" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="5021 1276, 5221 1276" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="5021 1306, 5221 1306" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="5021 1336, 5221 1336" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="5021 1366, 5221 1366" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="5021 1396, 5221 1396" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="5021 1426, 5221 1426" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="5021 1456, 5221 1456" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="5221" x2="5271" y1="1246" y2="1196"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="5221" x2="5271" y1="1276" y2="1226"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="5221" x2="5271" y1="1306" y2="1256"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="5221" x2="5271" y1="1336" y2="1286"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="5221" x2="5271" y1="1366" y2="1316"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="5221" x2="5271" y1="1396" y2="1346"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="5221" x2="5271" y1="1426" y2="1376"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="5221" x2="5271" y1="1456" y2="1406"/>
<polyline fill="none" points="5271 1406, 5271 1196, 5471 1196" stroke="#000080" stroke-linecap="round" stroke-linejoin="round" stroke-width="20"/>
<polygon fill="#ffff80" points="5471 1196, 5471 1171, 5596 1171, 5621 1196, 5596 1221, 5471 1221, 5471 1196" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="5471" y="1196">DBUS[7..0]</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="5021" y="1246">DBUS0</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="5021" y="1276">DBUS1</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="5021" y="1306">DBUS2</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="5021" y="1336">DBUS3</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="5021" y="1366">DBUS4</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="5021" y="1396">DBUS5</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="5021" y="1426">DBUS6</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="5021" y="1456">DBUS7</text>
<polyline fill="none" points="3471 1696, 3071 1696, 3071 2546, 171 2546" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polygon fill="#ffff80" points="21 2546, 21 2521, 146 2521, 171 2546, 146 2571, 21 2571, 21 2546" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="21" y="2546">INTA1</text>
<polyline fill="none" points="671 2446, 171 2446" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polygon fill="#ffff80" points="21 2446, 21 2421, 146 2421, 171 2446, 146 2471, 21 2471, 21 2446" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="21" y="2446">RESET</text>
<polyline fill="none" points="3471 1946, 3221 1946, 3221 2846, 171 2846" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polygon fill="#ffff80" points="21 2846, 21 2821, 146 2821, 171 2846, 146 2871, 21 2871, 21 2846" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="21" y="2846">CLK</text>
<polyline fill="none" points="4771 1516, 4671 1516, 4671 2946, 171 2946" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polygon fill="#ffff80" points="21 2946, 21 2921, 146 2921, 171 2946, 146 2971, 21 2971, 21 2946" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="21" y="2946">INTA2</text>
<text alignment-baseline="after-edge" fill="#000080" font-family="宋体" font-size="25" font-weight="400" text-anchor="start" x="361" y="2936">在第二个应答信号期间读出中断号</text>
<circle cx="1621" cy="1346" fill="#000080" r="25" stroke="#000080" stroke-width="5"/>
<circle cx="4471" cy="1246" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="4521" cy="1346" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="4571" cy="1446" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="3071" cy="1246" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
</svg>
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<svg height="2769" version="1.1" width="3287" xmlns="http://www.w3.org/2000/svg">
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="723" x2="683" y1="875" y2="875"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="780" y="875">D0</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="716" y="874">10</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="723" x2="683" y1="905" y2="905"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="780" y="906">D1</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="716" y="904">11</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="723" x2="683" y1="935" y2="935"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="780" y="936">D2</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="716" y="934">12</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="723" x2="683" y1="965" y2="965"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="780" y="966">D3</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="716" y="964">13</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="723" x2="683" y1="995" y2="995"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="781" y="996">D4</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="702" y="993">1</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="723" x2="683" y1="1025" y2="1025"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="781" y="1028">D5</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="702" y="1023">2</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="723" x2="683" y1="1055" y2="1055"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="780" y="1057">D6</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="702" y="1053">3</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="723" x2="683" y1="1085" y2="1085"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="780" y="1088">D7</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="702" y="1083">4</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="723" x2="683" y1="1115" y2="1115"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="793" y="1115">^EI</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="702" y="1113">5</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="883" x2="933" y1="1025" y2="1025"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="850" y="1025">EO</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="900" y="1025">15</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="883" x2="933" y1="995" y2="995"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="850" y="995">GS</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="900" y="995">14</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="883" x2="933" y1="935" y2="935"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="850" y="935">A2</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="913" y="934">6</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="883" x2="933" y1="905" y2="905"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="850" y="905">A1</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="913" y="904">7</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="883" x2="933" y1="875" y2="875"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="850" y="875">A0</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="913" y="874">9</text>
<circle cx="727" cy="875" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="727" cy="905" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="727" cy="1024" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="729" cy="1085" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="729" cy="1115" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="728" cy="994" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="727" cy="935" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="727" cy="1054" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="727" cy="964" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<rect fill="#ffffff" fill-opacity="0.5" height="295" stroke="#000000" stroke-width="5" width="150" x="734" y="848"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="798" y="837">U1</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="736" y="1194">74LS148D</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1183" x2="1133" y1="975" y2="975"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1229" y="974">G1</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1156" y="974">6</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1173" x2="1133" y1="1005" y2="1005"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1253" y="1004">^G2A</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1156" y="1006">4</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1173" x2="1133" y1="1035" y2="1035"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1253" y="1034">^G2B</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1155" y="1035">5</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1183" x2="1133" y1="875" y2="875"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="1210" y="875">A</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1143" y="874">1</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1183" x2="1133" y1="905" y2="905"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1216" y="905">B</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1157" y="905">2</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1183" x2="1133" y1="935" y2="935"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="1210" y="935">C</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1144" y="935">3</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1343" x2="1383" y1="855" y2="855"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="1304" y="852">Y0</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1352" y="855">15</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1343" x2="1383" y1="885" y2="885"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="1304" y="882">Y1</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1353" y="885">14</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1343" x2="1383" y1="915" y2="915"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="1304" y="912">Y2</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1353" y="915">13</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1343" x2="1383" y1="945" y2="945"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="1304" y="942">Y3</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1353" y="945">12</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1343" x2="1383" y1="975" y2="975"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="1304" y="972">Y4</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1353" y="975">11</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1343" x2="1383" y1="1005" y2="1005"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="1304" y="1002">Y5</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1353" y="1005">10</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1343" x2="1383" y1="1035" y2="1035"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="1304" y="1032">Y6</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1365" y="1035">9</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1343" x2="1383" y1="1065" y2="1065"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1318" y="1064">Y7</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1380" y="1065">7</text>
<circle cx="1178" cy="1035" fill="none" r="5" stroke="#000000" stroke-width="5"/>
<circle cx="1338" cy="915" fill="none" r="5" stroke="#000000" stroke-width="5"/>
<circle cx="1338" cy="946" fill="none" r="5" stroke="#000000" stroke-width="5"/>
<circle cx="1339" cy="975" fill="#ffffff" r="5" stroke="#000000" stroke-width="5"/>
<circle cx="1338" cy="855" fill="none" r="5" stroke="#000000" stroke-width="5"/>
<circle cx="1338" cy="1005" fill="none" r="5" stroke="#000000" stroke-width="5"/>
<circle cx="1338" cy="884" fill="none" r="5" stroke="#000000" stroke-width="5"/>
<circle cx="1338" cy="1034" fill="none" r="5" stroke="#000000" stroke-width="5"/>
<circle cx="1338" cy="1066" fill="none" r="5" stroke="#000000" stroke-width="5"/>
<circle cx="1178" cy="1005" fill="none" r="5" stroke="#000000" stroke-width="5"/>
<rect fill="#ffffff" fill-opacity="0.5" height="264" stroke="#000000" stroke-width="5" width="146" x="1185" y="821"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="1248" y="812">U2</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="1186" y="1127">74LS138D</text>
<polyline fill="none" points="933 875, 1133 875" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="933 905, 1133 905" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="933 935, 1133 935" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polygon fill="#ffff80" points="183 1085, 183 1070, 318 1070, 333 1085, 318 1100, 183 1100, 183 1085" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="183" y="1085">INT0</text>
<polygon fill="#ffff80" points="183 1055, 183 1040, 318 1040, 333 1055, 318 1070, 183 1070, 183 1055" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="183" y="1055">INT1</text>
<polygon fill="#ffff80" points="183 1025, 183 1010, 318 1010, 333 1025, 318 1040, 183 1040, 183 1025" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="183" y="1025">INT2</text>
<polygon fill="#ffff80" points="183 995, 183 980, 318 980, 333 995, 318 1010, 183 1010, 183 995" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="183" y="995">INT3</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="183" x2="233" y1="1275" y2="1275"/>
<polygon fill="#ffffff" fill-opacity="0.5" points="183 1275, 133 1225, 133 1325, 183 1275" stroke="#000000" stroke-width="5"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="Times New Roman" font-size="30" font-weight="700" text-anchor="start" transform="rotate(-90 173 1285)" x="173" y="1285">1</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" transform="rotate(-90 103 1285)" x="103" y="1285">U3</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" transform="rotate(-90 133 1365)" x="133" y="1365">CONSTANT1</text>
<polyline fill="none" points="233 1275, 1083 1275, 1083 975, 1133 975" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="743" x2="683" y1="515" y2="515"/>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="743" x2="683" y1="545" y2="545"/>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="743" x2="683" y1="595" y2="595"/>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="743" x2="683" y1="625" y2="625"/>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="873" x2="933" y1="565" y2="565"/>
<polyline fill="none" points="743 523, 823 523" stroke="#000000" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<path d="M822 523 A 47 47 0 1 1 822 616" fill="none" stroke="#000000" stroke-linecap="round" stroke-width="5"/>
<polyline fill="none" points="743 505, 743 635" stroke="#000000" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="821 617, 747 617" stroke="#000000" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="774" y="498">U4</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="752" y="675">AND4</text>
<polyline fill="none" points="1933 855, 2333 855, 2333 2605, 1923 2605" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1923 2575, 2313 2575, 2313 885, 1933 885" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1933 915, 2293 915, 2293 2545, 1923 2545" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1923 2515, 2273 2515, 2273 945, 1933 945" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1933 975, 2253 975, 2253 2485, 1923 2485" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1923 2455, 2233 2455, 2233 1005, 1933 1005" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1933 1035, 2213 1035, 2213 2425, 1923 2425" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1923 2395, 2193 2395, 2193 1065, 1933 1065" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1933 1355, 2333 1355" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1933 1385, 2313 1385" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1933 1415, 2293 1415" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1933 1445, 2273 1445" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1933 1475, 2253 1475" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1933 1505, 2233 1505" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1933 1535, 2213 1535" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1933 1565, 2193 1565" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1923 1935, 2333 1935" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1923 1965, 2313 1965" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1923 1995, 2293 1995" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1923 2025, 2273 2025" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1923 2055, 2253 2055" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1923 2085, 2233 2085" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1923 2115, 2213 2115" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1923 2145, 2193 2145" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="2573 1555, 2333 1555" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="2573 1585, 2313 1585" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="2573 1615, 2293 1615" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="2573 1645, 2273 1645" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="2573 1675, 2253 1675" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="2573 1705, 2233 1705" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="2573 1735, 2213 1735" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="2573 1765, 2193 1765" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polygon fill="#ffff80" points="183 1115, 183 1100, 318 1100, 333 1115, 318 1130, 183 1130, 183 1115" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="183" y="1115">INTE</text>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="2573" x2="2623" y1="1555" y2="1505"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="2573" x2="2623" y1="1585" y2="1535"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="2573" x2="2623" y1="1615" y2="1565"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="2573" x2="2623" y1="1645" y2="1595"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="2573" x2="2623" y1="1675" y2="1625"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="2573" x2="2623" y1="1705" y2="1655"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="2573" x2="2623" y1="1735" y2="1685"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="2573" x2="2623" y1="1765" y2="1715"/>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="2463" y="1555">DBUS0</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="2463" y="1585">DBUS1</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="2463" y="1615">DBUS2</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="2463" y="1645">DBUS3</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="2463" y="1675">DBUS4</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="2463" y="1705">DBUS5</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="2463" y="1735">DBUS6</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="2463" y="1765">DBUS7</text>
<polygon fill="#ffff80" points="2823 565, 2823 540, 2978 540, 3003 565, 2978 590, 2823 590, 2823 565" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="2823" y="565">INT</text>
<polyline fill="none" points="2623 1715, 2623 1475, 2823 1475" stroke="#000080" stroke-linecap="round" stroke-linejoin="round" stroke-width="20"/>
<polygon fill="#ffff80" points="2823 1475, 2823 1450, 2978 1450, 3003 1475, 2978 1500, 2823 1500, 2823 1475" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="2823" y="1475">DBUS[7..0]</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1733" x2="1683" y1="855" y2="855"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1766" y="855">A0</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1733" x2="1683" y1="885" y2="885"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1766" y="885">A1</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1733" x2="1683" y1="915" y2="915"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1766" y="915">A2</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1733" x2="1683" y1="945" y2="945"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1766" y="945">A3</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1733" x2="1683" y1="975" y2="975"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1766" y="975">A4</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1733" x2="1683" y1="1005" y2="1005"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1766" y="1005">A5</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1733" x2="1683" y1="1035" y2="1035"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1766" y="1035">A6</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1733" x2="1683" y1="1065" y2="1065"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1766" y="1065">A7</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1723" x2="1683" y1="1105" y2="1105"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1776" y="1105">^EN</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1883" x2="1933" y1="855" y2="855"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1850" y="855">B0</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1883" x2="1933" y1="885" y2="885"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1850" y="885">B1</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1883" x2="1933" y1="915" y2="915"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1850" y="915">B2</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1883" x2="1933" y1="945" y2="945"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1850" y="945">B3</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1883" x2="1933" y1="975" y2="975"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1850" y="975">B4</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1883" x2="1933" y1="1005" y2="1005"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1850" y="1005">B5</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1883" x2="1933" y1="1035" y2="1035"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1850" y="1035">B6</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1883" x2="1933" y1="1065" y2="1065"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1850" y="1065">B7</text>
<rect fill="#ffffff" fill-opacity="0.5" height="350" stroke="#000000" stroke-width="5" width="150" x="1733" y="805"/>
<circle cx="1728" cy="1105" fill="none" r="5" stroke="#000000" stroke-width="5"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="1803" y="795">1</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="1733" y="1205">TRIS_GATE8</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1733" x2="1683" y1="1355" y2="1355"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1766" y="1355">A0</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1733" x2="1683" y1="1385" y2="1385"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1766" y="1385">A1</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1733" x2="1683" y1="1415" y2="1415"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1766" y="1415">A2</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1733" x2="1683" y1="1445" y2="1445"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1766" y="1445">A3</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1733" x2="1683" y1="1475" y2="1475"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1766" y="1475">A4</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1733" x2="1683" y1="1505" y2="1505"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1766" y="1505">A5</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1733" x2="1683" y1="1535" y2="1535"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1766" y="1535">A6</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1733" x2="1683" y1="1565" y2="1565"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1766" y="1565">A7</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1723" x2="1683" y1="1605" y2="1605"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1776" y="1605">^EN</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1883" x2="1933" y1="1355" y2="1355"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1850" y="1355">B0</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1883" x2="1933" y1="1385" y2="1385"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1850" y="1385">B1</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1883" x2="1933" y1="1415" y2="1415"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1850" y="1415">B2</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1883" x2="1933" y1="1445" y2="1445"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1850" y="1445">B3</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1883" x2="1933" y1="1475" y2="1475"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1850" y="1475">B4</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1883" x2="1933" y1="1505" y2="1505"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1850" y="1505">B5</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1883" x2="1933" y1="1535" y2="1535"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1850" y="1535">B6</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1883" x2="1933" y1="1565" y2="1565"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1850" y="1565">B7</text>
<rect fill="#ffffff" fill-opacity="0.5" height="350" stroke="#000000" stroke-width="5" width="150" x="1733" y="1305"/>
<circle cx="1728" cy="1605" fill="none" r="5" stroke="#000000" stroke-width="5"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="1803" y="1295">2</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="1733" y="1705">TRIS_GATE8</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1723" x2="1673" y1="1935" y2="1935"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1756" y="1935">A0</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1723" x2="1673" y1="1965" y2="1965"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1756" y="1965">A1</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1723" x2="1673" y1="1995" y2="1995"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1756" y="1995">A2</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1723" x2="1673" y1="2025" y2="2025"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1756" y="2025">A3</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1723" x2="1673" y1="2055" y2="2055"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1756" y="2055">A4</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1723" x2="1673" y1="2085" y2="2085"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1756" y="2085">A5</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1723" x2="1673" y1="2115" y2="2115"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1756" y="2115">A6</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1723" x2="1673" y1="2145" y2="2145"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1756" y="2145">A7</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1713" x2="1673" y1="2185" y2="2185"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1766" y="2185">^EN</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1873" x2="1923" y1="1935" y2="1935"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1840" y="1935">B0</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1873" x2="1923" y1="1965" y2="1965"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1840" y="1965">B1</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1873" x2="1923" y1="1995" y2="1995"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1840" y="1995">B2</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1873" x2="1923" y1="2025" y2="2025"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1840" y="2025">B3</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1873" x2="1923" y1="2055" y2="2055"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1840" y="2055">B4</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1873" x2="1923" y1="2085" y2="2085"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1840" y="2085">B5</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1873" x2="1923" y1="2115" y2="2115"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1840" y="2115">B6</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1873" x2="1923" y1="2145" y2="2145"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1840" y="2145">B7</text>
<rect fill="#ffffff" fill-opacity="0.5" height="350" stroke="#000000" stroke-width="5" width="150" x="1723" y="1885"/>
<circle cx="1718" cy="2185" fill="none" r="5" stroke="#000000" stroke-width="5"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="1793" y="1875">3</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="1723" y="2285">TRIS_GATE8</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1723" x2="1673" y1="2395" y2="2395"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1756" y="2395">A0</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1723" x2="1673" y1="2425" y2="2425"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1756" y="2425">A1</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1723" x2="1673" y1="2455" y2="2455"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1756" y="2455">A2</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1723" x2="1673" y1="2485" y2="2485"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1756" y="2485">A3</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1723" x2="1673" y1="2515" y2="2515"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1756" y="2515">A4</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1723" x2="1673" y1="2545" y2="2545"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1756" y="2545">A5</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1723" x2="1673" y1="2575" y2="2575"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1756" y="2575">A6</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1723" x2="1673" y1="2605" y2="2605"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1756" y="2605">A7</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1713" x2="1673" y1="2645" y2="2645"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1766" y="2645">^EN</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1873" x2="1923" y1="2395" y2="2395"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1840" y="2395">B0</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1873" x2="1923" y1="2425" y2="2425"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1840" y="2425">B1</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1873" x2="1923" y1="2455" y2="2455"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1840" y="2455">B2</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1873" x2="1923" y1="2485" y2="2485"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1840" y="2485">B3</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1873" x2="1923" y1="2515" y2="2515"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1840" y="2515">B4</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1873" x2="1923" y1="2545" y2="2545"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1840" y="2545">B5</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1873" x2="1923" y1="2575" y2="2575"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1840" y="2575">B6</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1873" x2="1923" y1="2605" y2="2605"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1840" y="2605">B7</text>
<rect fill="#ffffff" fill-opacity="0.5" height="350" stroke="#000000" stroke-width="5" width="150" x="1723" y="2345"/>
<circle cx="1718" cy="2645" fill="none" r="5" stroke="#000000" stroke-width="5"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="1793" y="2335">4</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="1723" y="2745">TRIS_GATE8</text>
<polyline fill="none" points="683 1115, 333 1115" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="683 995, 333 995" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="683 1025, 333 1025" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="683 1055, 333 1055" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="683 1085, 333 1085" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="133" x2="183" y1="2425" y2="2425"/>
<polygon fill="#ffffff" fill-opacity="0.5" points="133 2425, 83 2375, 83 2475, 133 2425" stroke="#000000" stroke-width="5"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="微软雅黑" font-size="30" font-weight="700" text-anchor="start" transform="rotate(-90 123 2435)" x="123" y="2435">1</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" transform="rotate(-90 53 2435)" x="53" y="2435">U5</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" transform="rotate(-90 83 2495)" x="83" y="2495">DIGITAL1</text>
<polyline fill="none" points="1673 2425, 183 2425" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1683 1355, 1583 1355, 1583 2425" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1673 2395, 1583 2395" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1673 1965, 1583 1965" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1383 855, 1533 855, 1533 1105, 1683 1105" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1383 885, 1503 885, 1503 1605, 1683 1605" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1383 915, 1473 915, 1473 2185, 1673 2185" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1383 945, 1443 945, 1443 2645, 1673 2645" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="683 515, 433 515, 433 995" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="683 545, 453 545, 453 1025" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="683 595, 473 595, 473 1055" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="683 625, 493 625, 493 1085" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="933 565, 2823 565" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<text alignment-baseline="after-edge" fill="#000080" font-family="宋体" font-size="25" font-weight="400" text-anchor="start" x="2683" y="515">若INT=1,为高电平,则表示有中断请求</text>
<text alignment-baseline="after-edge" fill="#000080" font-family="宋体" font-size="25" font-weight="400" text-anchor="start" x="2783" y="1415">输出最高优先级中断请求的标号</text>
<text alignment-baseline="after-edge" fill="#000080" font-family="宋体" font-size="25" font-weight="400" text-anchor="start" x="2783" y="1615">INT0~INT3对应的标号为0~3</text>
<text alignment-baseline="after-edge" fill="#000080" font-family="宋体" font-size="25" font-weight="400" text-anchor="start" x="583" y="765">INT0中断请求的优先级最高,INT3中断请求的优先级最低</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="微软雅黑" font-size="250" font-weight="700" text-anchor="start" x="1283" y="315">中断请求模块</text>
<circle cx="1583" cy="1965" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="1583" cy="2395" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="1583" cy="2425" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="2193" cy="1765" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="2213" cy="1735" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="2233" cy="1705" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="2253" cy="1675" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="2273" cy="1645" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="2293" cy="1615" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="2313" cy="1585" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="2333" cy="1555" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="2193" cy="2145" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="2213" cy="2115" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="2233" cy="2085" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="2253" cy="2055" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="2273" cy="2025" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="2293" cy="1995" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="2313" cy="1965" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="2333" cy="1935" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="2193" cy="1565" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="2213" cy="1535" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="2233" cy="1505" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="2253" cy="1475" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="2273" cy="1445" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="2293" cy="1415" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="2313" cy="1385" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="2333" cy="1355" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="433" cy="995" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="453" cy="1025" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="473" cy="1055" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="493" cy="1085" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
</svg>
添加文件
.subckt modulecir8 NETU17_A NETU17_B NETU17_C NETU10_1 IR0 IR1 IR2 IR3 IR4 IR5 IR6 IR7 IRR0 IRR1 IRR2 IRR3 IRR4 IRR5 IRR6 IRR7 NETU11_2 NETU20_2
aU10 NETU10_1 NETU10_2 NOT
.model NOT d_inverter(rise_delay = 1e-9 fall_delay = 1e-9 input_load = 1e-3)
xU17 NETU17_G1 NETU17_^G2A NETU17_^G2B NETU17_A NETU17_B NETU17_C NETU11_1 NETU12_1 NETU13_1 NETU14_1 NETU15_1 NETU16_1 NETU17_Y6 NETU17_Y7 74LS138D
.subckt 74LS138D G1 ^G2A ^G2B A B C Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y7
aU1 [ G1 NetU1_2 NetU1_3] NetU10_4 AND3
.model AND3 d_and(rise_delay = 1e-9 fall_delay = 1e-9 input_load = 1e-3)
aU2 ^G2A NetU1_2 NOT
aU3 ^G2B NetU1_3 NOT
aU4 A NetU10_1 NOT
aU5 B NetU10_2 NOT
aU6 C NetU11_3 NOT
aU15 NetU10_1 NetU11_1 NOT
aU16 NetU10_2 NetU11_2 NOT
aU17 NetU11_3 NetU10_3 NOT
.model NOT d_inverter(rise_delay = 1e-9 fall_delay = 1e-9 input_load = 1e-3)
aU7 [ NetU10_4 NetU11_2 NetU11_1 NetU10_3] Y7 NAND4
aU8 [ NetU10_1 NetU10_3 NetU11_2 NetU10_4] Y6 NAND4
aU9 [ NetU10_2 NetU10_3 NetU11_1 NetU10_4] Y5 NAND4
aU10 [ NetU10_1 NetU10_2 NetU10_3 NetU10_4] Y4 NAND4
aU11 [ NetU11_1 NetU11_2 NetU11_3 NetU10_4] Y3 NAND4
aU12 [ NetU10_1 NetU11_2 NetU11_3 NetU10_4] Y2 NAND4
aU13 [ NetU11_1 NetU10_2 NetU11_3 NetU10_4] Y1 NAND4
aU14 [ NetU10_1 NetU10_2 NetU11_3 NetU10_4] Y0 NAND4
.model NAND4 d_nand(rise_delay = 1e-9 fall_delay = 1e-9 input_load = 1e-3)
.ends
aU1 NETU1_D IR0 NETU1_PR NETU11_3 IRR0 NETU1_^Q D_FLOP
aU2 NETU1_D IR1 NETU2_PR NETU12_3 IRR1 NETU2_^Q D_FLOP
aU3 NETU1_D IR2 NETU3_PR NETU13_3 IRR2 NETU3_^Q D_FLOP
aU4 NETU1_D IR3 NETU4_PR NETU14_3 IRR3 NETU4_^Q D_FLOP
aU5 NETU1_D IR4 NETU5_PR NETU15_3 IRR4 NETU5_^Q D_FLOP
aU6 NETU1_D IR5 NETU6_PR NETU16_3 IRR5 NETU6_^Q D_FLOP
aU7 NETU1_D IR6 NETU7_PR NETU18_3 IRR6 NETU7_^Q D_FLOP
aU8 NETU1_D IR7 NETU8_PR NETU19_3 IRR7 NETU8_^Q D_FLOP
.model D_FLOP d_dff(clk_delay = 13.0e-9 set_delay = 25.0e-9 reset_delay = 27.0e-9 ic = 2 rise_delay = 10.0e-9 fall_delay = 3e-9)
xU9 NETU1_D DIGITAL1
.subckt DIGITAL1 constant1
VV1 Net1_1 0 DC 3.5
a1 [Net1_1] [constant1] ADC
.model ADC adc_bridge(in_low = 0.3 in_high = 1)
.ends
xU11 NETU11_1 NETU11_2 NETU11_3 NNOR
xU12 NETU12_1 NETU11_2 NETU12_3 NNOR
xU13 NETU13_1 NETU11_2 NETU13_3 NNOR
xU14 NETU14_1 NETU11_2 NETU14_3 NNOR
xU15 NETU15_1 NETU11_2 NETU15_3 NNOR
xU16 NETU16_1 NETU11_2 NETU16_3 NNOR
xU18 NETU17_Y6 NETU11_2 NETU18_3 NNOR
xU19 NETU17_Y7 NETU11_2 NETU19_3 NNOR
.subckt NNOR 1 2 3
aU1 1 NetU1_2 NOT
aU2 2 NetU2_2 NOT
.model NOT d_inverter(rise_delay = 1e-9 fall_delay = 1e-9 input_load = 1e-3)
aU3 [ NetU1_2 NetU2_2] 3 OR
.model OR d_or(rise_delay = 1e-9 fall_delay = 1e-9 input_load = 1e-3)
.ends
aU20 [ NETU10_2 NETU20_2] NETU17_G1 AND
.model AND d_and(rise_delay = 1e-9 fall_delay = 1e-9 input_load = 1e-3)
.ends
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<svg height="3843" version="1.1" width="3367" xmlns="http://www.w3.org/2000/svg">
<polyline fill="none" points="2694 1315, 2564 1315, 2564 795, 2144 795, 1634 795, 834 795" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="2694 1715, 2534 1715, 2534 825, 2144 825, 1634 825, 834 825" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="2694 2115, 2504 2115, 2504 855, 2144 855, 1634 855, 834 855" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="2694 2515, 2474 2515, 2474 885, 2144 885, 1634 885, 834 885" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="2694 2915, 2444 2915, 2444 915, 2144 915, 1634 915, 834 915" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="2694 3315, 2414 3315, 2414 945, 2144 945, 1634 945, 834 945" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="2694 3715, 2384 3715, 2384 975, 2144 975, 1634 975, 834 975" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="884" y="765">IR0</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="884" y="795">IR1</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="884" y="825">IR2</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="884" y="855">IR3</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="884" y="885">IR4</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="884" y="915">IR5</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="884" y="945">IR6</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="884" y="975">IR7</text>
<polyline fill="none" points="2944 815, 3194 815" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="2944 1215, 3194 1215" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="2944 1615, 3194 1615" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="2944 2015, 3194 2015" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="2944 2415, 3194 2415" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="2944 2815, 3194 2815" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="2944 3215, 3194 3215" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="2944 3615, 3194 3615" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="65" font-weight="400" text-anchor="start" x="2944" y="815">IRR0</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="65" font-weight="400" text-anchor="start" x="2944" y="1215">IRR1</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="65" font-weight="400" text-anchor="start" x="2944" y="1615">IRR2</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="65" font-weight="400" text-anchor="start" x="2944" y="2015">IRR3</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="65" font-weight="400" text-anchor="start" x="2944" y="2415">IRR4</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="65" font-weight="400" text-anchor="start" x="2944" y="2815">IRR5</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="65" font-weight="400" text-anchor="start" x="2944" y="3215">IRR6</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="65" font-weight="400" text-anchor="start" x="2944" y="3615">IRR7</text>
<polyline fill="none" points="2694 915, 2594 915, 2594 765, 2144 765, 1634 765, 834 765" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1184" x2="1134" y1="1225" y2="1225"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1230" y="1224">G1</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1157" y="1224">6</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1174" x2="1134" y1="1255" y2="1255"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1254" y="1254">^G2A</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1157" y="1256">4</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1174" x2="1134" y1="1285" y2="1285"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1254" y="1284">^G2B</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1156" y="1285">5</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1184" x2="1134" y1="1125" y2="1125"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="1211" y="1125">A</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1144" y="1124">1</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1184" x2="1134" y1="1155" y2="1155"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1217" y="1155">B</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1158" y="1155">2</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1184" x2="1134" y1="1185" y2="1185"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="1211" y="1185">C</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1145" y="1185">3</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1344" x2="1384" y1="1105" y2="1105"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="1305" y="1102">Y0</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1353" y="1105">15</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1344" x2="1384" y1="1135" y2="1135"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="1305" y="1132">Y1</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1354" y="1135">14</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1344" x2="1384" y1="1165" y2="1165"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="1305" y="1162">Y2</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1354" y="1165">13</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1344" x2="1384" y1="1195" y2="1195"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="1305" y="1192">Y3</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1354" y="1195">12</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1344" x2="1384" y1="1225" y2="1225"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="1305" y="1222">Y4</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1354" y="1225">11</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1344" x2="1384" y1="1255" y2="1255"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="1305" y="1252">Y5</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1354" y="1255">10</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1344" x2="1384" y1="1285" y2="1285"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="1305" y="1282">Y6</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1366" y="1285">9</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1344" x2="1384" y1="1315" y2="1315"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1319" y="1314">Y7</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1381" y="1315">7</text>
<circle cx="1179" cy="1285" fill="none" r="5" stroke="#000000" stroke-width="5"/>
<circle cx="1339" cy="1165" fill="none" r="5" stroke="#000000" stroke-width="5"/>
<circle cx="1339" cy="1196" fill="none" r="5" stroke="#000000" stroke-width="5"/>
<circle cx="1340" cy="1225" fill="#ffffff" r="5" stroke="#000000" stroke-width="5"/>
<circle cx="1339" cy="1105" fill="none" r="5" stroke="#000000" stroke-width="5"/>
<circle cx="1339" cy="1255" fill="none" r="5" stroke="#000000" stroke-width="5"/>
<circle cx="1339" cy="1134" fill="none" r="5" stroke="#000000" stroke-width="5"/>
<circle cx="1339" cy="1284" fill="none" r="5" stroke="#000000" stroke-width="5"/>
<circle cx="1339" cy="1316" fill="none" r="5" stroke="#000000" stroke-width="5"/>
<circle cx="1179" cy="1255" fill="none" r="5" stroke="#000000" stroke-width="5"/>
<rect fill="#ffffff" fill-opacity="0.5" height="264" stroke="#000000" stroke-width="5" width="146" x="1186" y="1071"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="1249" y="1062">U17</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="1187" y="1377">74LS138D</text>
<polygon fill="#ffff80" points="684 1125, 684 1110, 819 1110, 834 1125, 819 1140, 684 1140, 684 1125" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="684" y="1125">T0</text>
<polygon fill="#ffff80" points="684 1155, 684 1140, 819 1140, 834 1155, 819 1170, 684 1170, 684 1155" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="684" y="1155">T1</text>
<polygon fill="#ffff80" points="684 1185, 684 1170, 819 1170, 834 1185, 819 1200, 684 1200, 684 1185" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="684" y="1185">T2</text>
<polygon fill="#ffff80" points="234 1295, 234 1280, 369 1280, 384 1295, 369 1310, 234 1310, 234 1295" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="234" y="1295">INTA2</text>
<text alignment-baseline="after-edge" fill="#000080" font-family="宋体" font-size="25" font-weight="400" text-anchor="start" x="14" y="1445">读出中断号后的第二个应答信号期间清除响应的中断请求,以免该中断源再次发出中断申请</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="微软雅黑" font-size="250" font-weight="700" text-anchor="start" x="854" y="315">IRR-中断请求模块</text>
<polyline fill="none" points="1134 1125, 884 1125, 834 1125" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1134 1155, 884 1155, 834 1155" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1134 1185, 884 1185, 834 1185" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polygon fill="#ffff80" points="684 765, 684 750, 819 750, 834 765, 819 780, 684 780, 684 765" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="684" y="765">IR0</text>
<polygon fill="#ffff80" points="684 795, 684 780, 819 780, 834 795, 819 810, 684 810, 684 795" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="684" y="795">IR1</text>
<polygon fill="#ffff80" points="684 825, 684 810, 819 810, 834 825, 819 840, 684 840, 684 825" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="684" y="825">IR2</text>
<polygon fill="#ffff80" points="684 855, 684 840, 819 840, 834 855, 819 870, 684 870, 684 855" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="684" y="855">IR3</text>
<polygon fill="#ffff80" points="684 885, 684 870, 819 870, 834 885, 819 900, 684 900, 684 885" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="684" y="885">IR4</text>
<polygon fill="#ffff80" points="684 915, 684 900, 819 900, 834 915, 819 930, 684 930, 684 915" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="684" y="915">IR5</text>
<polygon fill="#ffff80" points="684 945, 684 930, 819 930, 834 945, 819 960, 684 960, 684 945" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="684" y="945">IR6</text>
<polygon fill="#ffff80" points="684 975, 684 960, 819 960, 834 975, 819 990, 684 990, 684 975" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="684" y="975">IR7</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2744" x2="2694" y1="815" y2="815"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="2768" y="812">D</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="2712" y="814">1</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2744" x2="2694" y1="915" y2="915"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="2782" y="915">CLK</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="2712" y="913">2</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2824" x2="2824" y1="765" y2="715"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="2824" y="788">PR</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="2802" y="753">6</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2824" x2="2824" y1="965" y2="1015"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="2825" y="948">CLR</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="2801" y="1008">3</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2894" x2="2944" y1="815" y2="815"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="2868" y="812">Q</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="2912" y="815">5</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2894" x2="2944" y1="915" y2="915"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="2852" y="914">^Q</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="2903" y="915">4</text>
<rect fill="#ffffff" fill-opacity="0.5" height="200" stroke="#000000" stroke-width="5" width="150" x="2744" y="765"/>
<polyline fill="none" points="2747 905, 2757 915, 2747 925" stroke="#000000" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="2899" y="757">U1</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="2861" y="1020">D_FLOP</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2744" x2="2694" y1="1215" y2="1215"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="2768" y="1212">D</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="2712" y="1214">1</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2744" x2="2694" y1="1315" y2="1315"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="2782" y="1315">CLK</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="2712" y="1313">2</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2824" x2="2824" y1="1165" y2="1115"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="2824" y="1188">PR</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="2802" y="1153">6</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2824" x2="2824" y1="1365" y2="1415"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="2825" y="1348">CLR</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="2801" y="1408">3</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2894" x2="2944" y1="1215" y2="1215"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="2868" y="1212">Q</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="2912" y="1215">5</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2894" x2="2944" y1="1315" y2="1315"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="2852" y="1314">^Q</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="2903" y="1315">4</text>
<rect fill="#ffffff" fill-opacity="0.5" height="200" stroke="#000000" stroke-width="5" width="150" x="2744" y="1165"/>
<polyline fill="none" points="2747 1305, 2757 1315, 2747 1325" stroke="#000000" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="2899" y="1157">U2</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="2861" y="1420">D_FLOP</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2744" x2="2694" y1="1615" y2="1615"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="2768" y="1612">D</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="2712" y="1614">1</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2744" x2="2694" y1="1715" y2="1715"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="2782" y="1715">CLK</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="2712" y="1713">2</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2824" x2="2824" y1="1565" y2="1515"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="2824" y="1588">PR</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="2802" y="1553">6</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2824" x2="2824" y1="1765" y2="1815"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="2825" y="1748">CLR</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="2801" y="1808">3</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2894" x2="2944" y1="1615" y2="1615"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="2868" y="1612">Q</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="2912" y="1615">5</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2894" x2="2944" y1="1715" y2="1715"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="2852" y="1714">^Q</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="2903" y="1715">4</text>
<rect fill="#ffffff" fill-opacity="0.5" height="200" stroke="#000000" stroke-width="5" width="150" x="2744" y="1565"/>
<polyline fill="none" points="2747 1705, 2757 1715, 2747 1725" stroke="#000000" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="2899" y="1557">U3</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="2861" y="1820">D_FLOP</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2744" x2="2694" y1="2015" y2="2015"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="2768" y="2012">D</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="2712" y="2014">1</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2744" x2="2694" y1="2115" y2="2115"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="2782" y="2115">CLK</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="2712" y="2113">2</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2824" x2="2824" y1="1965" y2="1915"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="2824" y="1988">PR</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="2802" y="1953">6</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2824" x2="2824" y1="2165" y2="2215"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="2825" y="2148">CLR</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="2801" y="2208">3</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2894" x2="2944" y1="2015" y2="2015"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="2868" y="2012">Q</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="2912" y="2015">5</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2894" x2="2944" y1="2115" y2="2115"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="2852" y="2114">^Q</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="2903" y="2115">4</text>
<rect fill="#ffffff" fill-opacity="0.5" height="200" stroke="#000000" stroke-width="5" width="150" x="2744" y="1965"/>
<polyline fill="none" points="2747 2105, 2757 2115, 2747 2125" stroke="#000000" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="2899" y="1957">U4</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="2861" y="2220">D_FLOP</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2744" x2="2694" y1="2415" y2="2415"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="2768" y="2412">D</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="2712" y="2414">1</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2744" x2="2694" y1="2515" y2="2515"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="2782" y="2515">CLK</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="2712" y="2513">2</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2824" x2="2824" y1="2365" y2="2315"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="2824" y="2388">PR</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="2802" y="2353">6</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2824" x2="2824" y1="2565" y2="2615"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="2825" y="2548">CLR</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="2801" y="2608">3</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2894" x2="2944" y1="2415" y2="2415"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="2868" y="2412">Q</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="2912" y="2415">5</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2894" x2="2944" y1="2515" y2="2515"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="2852" y="2514">^Q</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="2903" y="2515">4</text>
<rect fill="#ffffff" fill-opacity="0.5" height="200" stroke="#000000" stroke-width="5" width="150" x="2744" y="2365"/>
<polyline fill="none" points="2747 2505, 2757 2515, 2747 2525" stroke="#000000" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="2899" y="2357">U5</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="2861" y="2620">D_FLOP</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2744" x2="2694" y1="2815" y2="2815"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="2768" y="2812">D</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="2712" y="2814">1</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2744" x2="2694" y1="2915" y2="2915"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="2782" y="2915">CLK</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="2712" y="2913">2</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2824" x2="2824" y1="2765" y2="2715"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="2824" y="2788">PR</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="2802" y="2753">6</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2824" x2="2824" y1="2965" y2="3015"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="2825" y="2948">CLR</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="2801" y="3008">3</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2894" x2="2944" y1="2815" y2="2815"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="2868" y="2812">Q</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="2912" y="2815">5</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2894" x2="2944" y1="2915" y2="2915"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="2852" y="2914">^Q</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="2903" y="2915">4</text>
<rect fill="#ffffff" fill-opacity="0.5" height="200" stroke="#000000" stroke-width="5" width="150" x="2744" y="2765"/>
<polyline fill="none" points="2747 2905, 2757 2915, 2747 2925" stroke="#000000" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="2899" y="2757">U6</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="2861" y="3020">D_FLOP</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2744" x2="2694" y1="3215" y2="3215"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="2768" y="3212">D</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="2712" y="3214">1</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2744" x2="2694" y1="3315" y2="3315"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="2782" y="3315">CLK</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="2712" y="3313">2</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2824" x2="2824" y1="3165" y2="3115"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="2824" y="3188">PR</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="2802" y="3153">6</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2824" x2="2824" y1="3365" y2="3415"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="2825" y="3348">CLR</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="2801" y="3408">3</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2894" x2="2944" y1="3215" y2="3215"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="2868" y="3212">Q</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="2912" y="3215">5</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2894" x2="2944" y1="3315" y2="3315"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="2852" y="3314">^Q</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="2903" y="3315">4</text>
<rect fill="#ffffff" fill-opacity="0.5" height="200" stroke="#000000" stroke-width="5" width="150" x="2744" y="3165"/>
<polyline fill="none" points="2747 3305, 2757 3315, 2747 3325" stroke="#000000" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="2899" y="3157">U7</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="2861" y="3420">D_FLOP</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2744" x2="2694" y1="3615" y2="3615"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="2768" y="3612">D</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="2712" y="3614">1</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2744" x2="2694" y1="3715" y2="3715"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="2782" y="3715">CLK</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="2712" y="3713">2</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2824" x2="2824" y1="3565" y2="3515"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="2824" y="3588">PR</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="2802" y="3553">6</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2824" x2="2824" y1="3765" y2="3815"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="2825" y="3748">CLR</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="2801" y="3808">3</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2894" x2="2944" y1="3615" y2="3615"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="2868" y="3612">Q</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="2912" y="3615">5</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2894" x2="2944" y1="3715" y2="3715"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="2852" y="3714">^Q</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="2903" y="3715">4</text>
<rect fill="#ffffff" fill-opacity="0.5" height="200" stroke="#000000" stroke-width="5" width="150" x="2744" y="3565"/>
<polyline fill="none" points="2747 3705, 2757 3715, 2747 3725" stroke="#000000" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="2899" y="3557">U8</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="2861" y="3820">D_FLOP</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2634" x2="2634" y1="575" y2="625"/>
<polygon fill="#ffffff" fill-opacity="0.5" points="2634 575, 2684 525, 2584 525, 2634 575" stroke="#000000" stroke-width="5"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="微软雅黑" font-size="30" font-weight="700" text-anchor="start" x="2624" y="565">1</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="2624" y="495">U9</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="2564" y="525">DIGITAL1</text>
<polyline fill="none" points="2694 3615, 2634 3615, 2634 625" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="2694 815, 2634 815" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="2694 1215, 2634 1215" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="2694 1615, 2634 1615" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="2694 2015, 2634 2015" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="2694 2415, 2634 2415" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="2694 2815, 2634 2815" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="2694 3215, 2634 3215" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polygon fill="#ffff80" points="3194 815, 3194 790, 3319 790, 3344 815, 3319 840, 3194 840, 3194 815" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="3194" y="815">IRR0</text>
<polygon fill="#ffff80" points="3194 1215, 3194 1190, 3319 1190, 3344 1215, 3319 1240, 3194 1240, 3194 1215" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="3194" y="1215">IRR1</text>
<polygon fill="#ffff80" points="3194 1615, 3194 1590, 3319 1590, 3344 1615, 3319 1640, 3194 1640, 3194 1615" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="3194" y="1615">IRR2</text>
<polygon fill="#ffff80" points="3194 2015, 3194 1990, 3319 1990, 3344 2015, 3319 2040, 3194 2040, 3194 2015" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="3194" y="2015">IRR3</text>
<polygon fill="#ffff80" points="3194 2415, 3194 2390, 3319 2390, 3344 2415, 3319 2440, 3194 2440, 3194 2415" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="3194" y="2415">IRR4</text>
<polygon fill="#ffff80" points="3194 2815, 3194 2790, 3319 2790, 3344 2815, 3319 2840, 3194 2840, 3194 2815" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="3194" y="2815">IRR5</text>
<polygon fill="#ffff80" points="3194 3215, 3194 3190, 3319 3190, 3344 3215, 3319 3240, 3194 3240, 3194 3215" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="3194" y="3215">IRR6</text>
<polygon fill="#ffff80" points="3194 3615, 3194 3590, 3319 3590, 3344 3615, 3319 3640, 3194 3640, 3194 3615" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="3194" y="3615">IRR7</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="544" x2="484" y1="1295" y2="1295"/>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="624" x2="684" y1="1295" y2="1295"/>
<circle cx="620" cy="1295" fill="none" r="5" stroke="#000000" stroke-width="5"/>
<polygon fill="#ffffff" fill-opacity="0.5" points="544 1245, 544 1345, 614 1295, 544 1245" stroke="#000000" stroke-width="5"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="564" y="1259">U10</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="544" y="1391">NOT</text>
<polyline fill="none" points="484 1295, 384 1295" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1734" x2="1684" y1="1325" y2="1325"/>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1734" x2="1684" y1="1385" y2="1385"/>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1884" x2="1934" y1="1355" y2="1355"/>
<path d="M1744 1305" fill="none" stroke="#ff0000" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<path d="M1744 1305" fill="none" stroke="#ff0000" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<path d="M1741 1305 C 1771 1355, 1741 1405, 1741 1405" fill="none" stroke="#000000" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<circle cx="1741" cy="1325" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="1741" cy="1384" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<polyline fill="none" points="1741 1304, 1801 1304" stroke="#000000" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1741 1405, 1800 1405" stroke="#000000" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<path d="M1801 1304" fill="none" stroke="#ff0000" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<path d="M1801 1304" fill="none" stroke="#ff0000" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<path d="M1800 1304" fill="none" stroke="#ff0000" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<path d="M1800 1405" fill="none" stroke="#ff0000" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<path d="M1801 1304" fill="none" stroke="#ff0000" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<path d="M1800 1304 C 1862 1304, 1885 1356, 1885 1356" fill="none" stroke="#000000" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<path d="M1799 1405 C 1867 1405, 1885 1356, 1885 1356" fill="none" stroke="#000000" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="1791" y="1294">U11</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="1757" y="1461">NNOR</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1734" x2="1684" y1="1455" y2="1455"/>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1734" x2="1684" y1="1515" y2="1515"/>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1884" x2="1934" y1="1485" y2="1485"/>
<path d="M1744 1435" fill="none" stroke="#ff0000" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<path d="M1744 1435" fill="none" stroke="#ff0000" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<path d="M1741 1435 C 1771 1485, 1741 1535, 1741 1535" fill="none" stroke="#000000" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<circle cx="1741" cy="1455" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="1741" cy="1514" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<polyline fill="none" points="1741 1434, 1801 1434" stroke="#000000" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1741 1535, 1800 1535" stroke="#000000" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<path d="M1801 1434" fill="none" stroke="#ff0000" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<path d="M1801 1434" fill="none" stroke="#ff0000" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<path d="M1800 1434" fill="none" stroke="#ff0000" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<path d="M1800 1535" fill="none" stroke="#ff0000" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<path d="M1801 1434" fill="none" stroke="#ff0000" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<path d="M1800 1434 C 1862 1434, 1885 1486, 1885 1486" fill="none" stroke="#000000" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<path d="M1799 1535 C 1867 1535, 1885 1486, 1885 1486" fill="none" stroke="#000000" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="1791" y="1424">U12</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="1757" y="1591">NNOR</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1734" x2="1684" y1="1575" y2="1575"/>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1734" x2="1684" y1="1635" y2="1635"/>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1884" x2="1934" y1="1605" y2="1605"/>
<path d="M1744 1555" fill="none" stroke="#ff0000" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<path d="M1744 1555" fill="none" stroke="#ff0000" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<path d="M1741 1555 C 1771 1605, 1741 1655, 1741 1655" fill="none" stroke="#000000" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<circle cx="1741" cy="1575" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="1741" cy="1634" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<polyline fill="none" points="1741 1554, 1801 1554" stroke="#000000" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1741 1655, 1800 1655" stroke="#000000" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<path d="M1801 1554" fill="none" stroke="#ff0000" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<path d="M1801 1554" fill="none" stroke="#ff0000" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<path d="M1800 1554" fill="none" stroke="#ff0000" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<path d="M1800 1655" fill="none" stroke="#ff0000" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<path d="M1801 1554" fill="none" stroke="#ff0000" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<path d="M1800 1554 C 1862 1554, 1885 1606, 1885 1606" fill="none" stroke="#000000" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<path d="M1799 1655 C 1867 1655, 1885 1606, 1885 1606" fill="none" stroke="#000000" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="1791" y="1544">U13</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="1757" y="1711">NNOR</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1734" x2="1684" y1="1705" y2="1705"/>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1734" x2="1684" y1="1765" y2="1765"/>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1884" x2="1934" y1="1735" y2="1735"/>
<path d="M1744 1685" fill="none" stroke="#ff0000" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<path d="M1744 1685" fill="none" stroke="#ff0000" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<path d="M1741 1685 C 1771 1735, 1741 1785, 1741 1785" fill="none" stroke="#000000" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<circle cx="1741" cy="1705" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="1741" cy="1764" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<polyline fill="none" points="1741 1684, 1801 1684" stroke="#000000" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1741 1785, 1800 1785" stroke="#000000" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<path d="M1801 1684" fill="none" stroke="#ff0000" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<path d="M1801 1684" fill="none" stroke="#ff0000" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<path d="M1800 1684" fill="none" stroke="#ff0000" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<path d="M1800 1785" fill="none" stroke="#ff0000" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<path d="M1801 1684" fill="none" stroke="#ff0000" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<path d="M1800 1684 C 1862 1684, 1885 1736, 1885 1736" fill="none" stroke="#000000" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<path d="M1799 1785 C 1867 1785, 1885 1736, 1885 1736" fill="none" stroke="#000000" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="1791" y="1674">U14</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="1757" y="1841">NNOR</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1734" x2="1684" y1="1825" y2="1825"/>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1734" x2="1684" y1="1885" y2="1885"/>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1884" x2="1934" y1="1855" y2="1855"/>
<path d="M1744 1805" fill="none" stroke="#ff0000" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<path d="M1744 1805" fill="none" stroke="#ff0000" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<path d="M1741 1805 C 1771 1855, 1741 1905, 1741 1905" fill="none" stroke="#000000" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<circle cx="1741" cy="1825" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="1741" cy="1884" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<polyline fill="none" points="1741 1804, 1801 1804" stroke="#000000" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1741 1905, 1800 1905" stroke="#000000" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<path d="M1801 1804" fill="none" stroke="#ff0000" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<path d="M1801 1804" fill="none" stroke="#ff0000" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<path d="M1800 1804" fill="none" stroke="#ff0000" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<path d="M1800 1905" fill="none" stroke="#ff0000" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<path d="M1801 1804" fill="none" stroke="#ff0000" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<path d="M1800 1804 C 1862 1804, 1885 1856, 1885 1856" fill="none" stroke="#000000" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<path d="M1799 1905 C 1867 1905, 1885 1856, 1885 1856" fill="none" stroke="#000000" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="1791" y="1794">U15</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="1757" y="1961">NNOR</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1734" x2="1684" y1="1945" y2="1945"/>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1734" x2="1684" y1="2005" y2="2005"/>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1884" x2="1934" y1="1975" y2="1975"/>
<path d="M1744 1925" fill="none" stroke="#ff0000" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<path d="M1744 1925" fill="none" stroke="#ff0000" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<path d="M1741 1925 C 1771 1975, 1741 2025, 1741 2025" fill="none" stroke="#000000" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<circle cx="1741" cy="1945" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="1741" cy="2004" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<polyline fill="none" points="1741 1924, 1801 1924" stroke="#000000" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1741 2025, 1800 2025" stroke="#000000" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<path d="M1801 1924" fill="none" stroke="#ff0000" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<path d="M1801 1924" fill="none" stroke="#ff0000" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<path d="M1800 1924" fill="none" stroke="#ff0000" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<path d="M1800 2025" fill="none" stroke="#ff0000" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<path d="M1801 1924" fill="none" stroke="#ff0000" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<path d="M1800 1924 C 1862 1924, 1885 1976, 1885 1976" fill="none" stroke="#000000" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<path d="M1799 2025 C 1867 2025, 1885 1976, 1885 1976" fill="none" stroke="#000000" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="1791" y="1914">U16</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="1757" y="2081">NNOR</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1734" x2="1684" y1="2065" y2="2065"/>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1734" x2="1684" y1="2125" y2="2125"/>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1884" x2="1934" y1="2095" y2="2095"/>
<path d="M1744 2045" fill="none" stroke="#ff0000" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<path d="M1744 2045" fill="none" stroke="#ff0000" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<path d="M1741 2045 C 1771 2095, 1741 2145, 1741 2145" fill="none" stroke="#000000" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<circle cx="1741" cy="2065" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="1741" cy="2124" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<polyline fill="none" points="1741 2044, 1801 2044" stroke="#000000" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1741 2145, 1800 2145" stroke="#000000" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<path d="M1801 2044" fill="none" stroke="#ff0000" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<path d="M1801 2044" fill="none" stroke="#ff0000" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<path d="M1800 2044" fill="none" stroke="#ff0000" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<path d="M1800 2145" fill="none" stroke="#ff0000" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<path d="M1801 2044" fill="none" stroke="#ff0000" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<path d="M1800 2044 C 1862 2044, 1885 2096, 1885 2096" fill="none" stroke="#000000" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<path d="M1799 2145 C 1867 2145, 1885 2096, 1885 2096" fill="none" stroke="#000000" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="1791" y="2034">U18</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="1757" y="2201">NNOR</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1734" x2="1684" y1="2185" y2="2185"/>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1734" x2="1684" y1="2245" y2="2245"/>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1884" x2="1934" y1="2215" y2="2215"/>
<path d="M1744 2165" fill="none" stroke="#ff0000" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<path d="M1744 2165" fill="none" stroke="#ff0000" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<path d="M1741 2165 C 1771 2215, 1741 2265, 1741 2265" fill="none" stroke="#000000" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<circle cx="1741" cy="2185" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="1741" cy="2244" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<polyline fill="none" points="1741 2164, 1801 2164" stroke="#000000" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1741 2265, 1800 2265" stroke="#000000" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<path d="M1801 2164" fill="none" stroke="#ff0000" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<path d="M1801 2164" fill="none" stroke="#ff0000" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<path d="M1800 2164" fill="none" stroke="#ff0000" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<path d="M1800 2265" fill="none" stroke="#ff0000" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<path d="M1801 2164" fill="none" stroke="#ff0000" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<path d="M1800 2164 C 1862 2164, 1885 2216, 1885 2216" fill="none" stroke="#000000" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<path d="M1799 2265 C 1867 2265, 1885 2216, 1885 2216" fill="none" stroke="#000000" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="1791" y="2154">U19</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="1757" y="2321">NNOR</text>
<polyline fill="none" points="1384 1105, 1684 1105, 1684 1325" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1384 1135, 1664 1135, 1664 1455, 1684 1455" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1384 1165, 1644 1165, 1644 1575, 1684 1575" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1384 1195, 1624 1195, 1624 1705, 1684 1705" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1384 1225, 1604 1225, 1604 1825, 1684 1825" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1384 1255, 1584 1255, 1584 1945, 1684 1945" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1384 1285, 1564 1285, 1564 2065, 1684 2065" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1384 1315, 1544 1315, 1544 2185, 1684 2185" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1684 2245, 834 2245" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polygon fill="#ffff80" points="684 2245, 684 2220, 809 2220, 834 2245, 809 2270, 684 2270, 684 2245" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="684" y="2245">RESET</text>
<polyline fill="none" points="1684 1385, 1484 1385, 1484 2245" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1684 1515, 1484 1515" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1684 1635, 1484 1635" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1684 1765, 1484 1765" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1684 1885, 1484 1885" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1684 2005, 1484 2005" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1684 2125, 1484 2125" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1934 1355, 2284 1355, 2284 1075, 2824 1075, 2824 1015" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1934 1485, 2824 1485, 2824 1415" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1934 1605, 2284 1605, 2284 1815, 2824 1815" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1934 1735, 2234 1735, 2234 2215, 2824 2215" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1934 1855, 2184 1855, 2184 2615, 2824 2615" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1934 1975, 2134 1975, 2134 3015, 2824 3015" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1934 2095, 2084 2095, 2084 3415, 2824 3415" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1934 2215, 2034 2215, 2034 3815, 2824 3815" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polygon fill="#ffff80" points="234 1355, 234 1330, 359 1330, 384 1355, 359 1380, 234 1380, 234 1355" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="234" y="1355">CLK</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="894" x2="834" y1="1295" y2="1295"/>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="894" x2="834" y1="1355" y2="1355"/>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1024" x2="1084" y1="1325" y2="1325"/>
<path d="M972 1273 A 47 47 0 1 1 972 1366" fill="none" stroke="#000000" stroke-linecap="round" stroke-width="5"/>
<polyline fill="none" points="973 1367, 894 1367, 894 1273, 973 1273" stroke="#000000" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="935" y="1267">U20</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="918" y="1413">AND</text>
<polyline fill="none" points="1134 1225, 1084 1225, 1084 1325" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="834 1295, 684 1295" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="834 1355, 384 1355" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<circle cx="2634" cy="815" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="2634" cy="1215" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="2634" cy="1615" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="2634" cy="2015" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="2634" cy="2415" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="2634" cy="2815" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="2634" cy="3215" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="1484" cy="2245" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="1484" cy="1515" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="1484" cy="1635" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="1484" cy="1765" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="1484" cy="1885" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="1484" cy="2005" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="1484" cy="2125" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
</svg>
添加文件
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<svg height="3496" version="1.1" width="4202" xmlns="http://www.w3.org/2000/svg">
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1661" x2="1621" y1="1603" y2="1603"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1718" y="1603">D0</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1654" y="1602">10</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1661" x2="1621" y1="1633" y2="1633"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1718" y="1634">D1</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1654" y="1632">11</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1661" x2="1621" y1="1663" y2="1663"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1718" y="1664">D2</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1654" y="1662">12</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1661" x2="1621" y1="1693" y2="1693"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1718" y="1694">D3</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1654" y="1692">13</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1661" x2="1621" y1="1723" y2="1723"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1719" y="1724">D4</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1640" y="1721">1</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1661" x2="1621" y1="1753" y2="1753"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1719" y="1756">D5</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1640" y="1751">2</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1661" x2="1621" y1="1783" y2="1783"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1718" y="1785">D6</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1640" y="1781">3</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1661" x2="1621" y1="1813" y2="1813"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1718" y="1816">D7</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1640" y="1811">4</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1661" x2="1621" y1="1843" y2="1843"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1731" y="1843">^EI</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1640" y="1841">5</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1821" x2="1871" y1="1753" y2="1753"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="1788" y="1753">EO</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1838" y="1753">15</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1821" x2="1871" y1="1723" y2="1723"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="1788" y="1723">GS</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1838" y="1723">14</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1821" x2="1871" y1="1663" y2="1663"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="1788" y="1663">A2</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1851" y="1662">6</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1821" x2="1871" y1="1633" y2="1633"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="1788" y="1633">A1</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1851" y="1632">7</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1821" x2="1871" y1="1603" y2="1603"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="1788" y="1603">A0</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1851" y="1602">9</text>
<circle cx="1665" cy="1603" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="1665" cy="1633" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="1665" cy="1752" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="1667" cy="1813" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="1667" cy="1843" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="1666" cy="1722" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="1665" cy="1663" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="1665" cy="1782" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="1665" cy="1692" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<rect fill="#ffffff" fill-opacity="0.5" height="295" stroke="#000000" stroke-width="5" width="150" x="1672" y="1576"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="1736" y="1565">U1</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="1674" y="1922">74LS148D</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2121" x2="2071" y1="1703" y2="1703"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2167" y="1702">G1</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2094" y="1702">6</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2111" x2="2071" y1="1733" y2="1733"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2191" y="1732">^G2A</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2094" y="1734">4</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2111" x2="2071" y1="1763" y2="1763"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2191" y="1762">^G2B</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2093" y="1763">5</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2121" x2="2071" y1="1603" y2="1603"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="2148" y="1603">A</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="2081" y="1602">1</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2121" x2="2071" y1="1633" y2="1633"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2154" y="1633">B</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2095" y="1633">2</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2121" x2="2071" y1="1663" y2="1663"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="2148" y="1663">C</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="2082" y="1663">3</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2281" x2="2321" y1="1583" y2="1583"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="2242" y="1580">Y0</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="2290" y="1583">15</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2281" x2="2321" y1="1613" y2="1613"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="2242" y="1610">Y1</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="2291" y="1613">14</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2281" x2="2321" y1="1643" y2="1643"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="2242" y="1640">Y2</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="2291" y="1643">13</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2281" x2="2321" y1="1673" y2="1673"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="2242" y="1670">Y3</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="2291" y="1673">12</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2281" x2="2321" y1="1703" y2="1703"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="2242" y="1700">Y4</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="2291" y="1703">11</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2281" x2="2321" y1="1733" y2="1733"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="2242" y="1730">Y5</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="2291" y="1733">10</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2281" x2="2321" y1="1763" y2="1763"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="2242" y="1760">Y6</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="2303" y="1763">9</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2281" x2="2321" y1="1793" y2="1793"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2256" y="1792">Y7</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2318" y="1793">7</text>
<circle cx="2116" cy="1763" fill="none" r="5" stroke="#000000" stroke-width="5"/>
<circle cx="2276" cy="1643" fill="none" r="5" stroke="#000000" stroke-width="5"/>
<circle cx="2276" cy="1674" fill="none" r="5" stroke="#000000" stroke-width="5"/>
<circle cx="2277" cy="1703" fill="#ffffff" r="5" stroke="#000000" stroke-width="5"/>
<circle cx="2276" cy="1583" fill="none" r="5" stroke="#000000" stroke-width="5"/>
<circle cx="2276" cy="1733" fill="none" r="5" stroke="#000000" stroke-width="5"/>
<circle cx="2276" cy="1612" fill="none" r="5" stroke="#000000" stroke-width="5"/>
<circle cx="2276" cy="1762" fill="none" r="5" stroke="#000000" stroke-width="5"/>
<circle cx="2276" cy="1794" fill="none" r="5" stroke="#000000" stroke-width="5"/>
<circle cx="2116" cy="1733" fill="none" r="5" stroke="#000000" stroke-width="5"/>
<rect fill="#ffffff" fill-opacity="0.5" height="264" stroke="#000000" stroke-width="5" width="146" x="2123" y="1549"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="2186" y="1540">U2</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="2124" y="1855">74LS138D</text>
<polyline fill="none" points="1871 1603, 2071 1603" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1871 1633, 2071 1633" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1871 1663, 2071 1663" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polygon fill="#ffff80" points="21 2543, 21 2518, 146 2518, 171 2543, 146 2568, 21 2568, 21 2543" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="21" y="2543">INT0</text>
<polygon fill="#ffff80" points="21 2143, 21 2118, 146 2118, 171 2143, 146 2168, 21 2168, 21 2143" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="21" y="2143">INT1</text>
<polygon fill="#ffff80" points="21 1743, 21 1718, 146 1718, 171 1743, 146 1768, 21 1768, 21 1743" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="21" y="1743">INT2</text>
<polygon fill="#ffff80" points="21 1343, 21 1318, 146 1318, 171 1343, 146 1368, 21 1368, 21 1343" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="21" y="1343">INT3</text>
<polyline fill="none" points="2871 1583, 3271 1583, 3271 3333, 2861 3333" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="2861 3303, 3251 3303, 3251 1613, 2871 1613" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="2871 1643, 3231 1643, 3231 3273, 2861 3273" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="2861 3243, 3211 3243, 3211 1673, 2871 1673" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="2871 1703, 3191 1703, 3191 3213, 2861 3213" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="2861 3183, 3171 3183, 3171 1733, 2871 1733" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="2871 1763, 3151 1763, 3151 3153, 2861 3153" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="2861 3123, 3131 3123, 3131 1793, 2871 1793" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="2871 2083, 3271 2083" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="2871 2113, 3251 2113" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="2871 2143, 3231 2143" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="2871 2173, 3211 2173" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="2871 2203, 3191 2203" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="2871 2233, 3171 2233" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="2871 2263, 3151 2263" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="2871 2293, 3131 2293" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="2861 2663, 3271 2663" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="2861 2693, 3251 2693" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="2861 2723, 3231 2723" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="2861 2753, 3211 2753" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="2861 2783, 3191 2783" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="2861 2813, 3171 2813" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="2861 2843, 3151 2843" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="2861 2873, 3131 2873" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="3511 2283, 3271 2283" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="3511 2313, 3251 2313" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="3511 2343, 3231 2343" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="3511 2373, 3211 2373" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="3511 2403, 3191 2403" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="3511 2433, 3171 2433" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="3511 2463, 3151 2463" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="3511 2493, 3131 2493" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polygon fill="#ffff80" points="21 1893, 21 1868, 146 1868, 171 1893, 146 1918, 21 1918, 21 1893" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="21" y="1893">EINT</text>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="3511" x2="3561" y1="2283" y2="2233"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="3511" x2="3561" y1="2313" y2="2263"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="3511" x2="3561" y1="2343" y2="2293"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="3511" x2="3561" y1="2373" y2="2323"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="3511" x2="3561" y1="2403" y2="2353"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="3511" x2="3561" y1="2433" y2="2383"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="3511" x2="3561" y1="2463" y2="2413"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="3511" x2="3561" y1="2493" y2="2443"/>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="3401" y="2283">DBUS0</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="3401" y="2313">DBUS1</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="3401" y="2343">DBUS2</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="3401" y="2373">DBUS3</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="3401" y="2403">DBUS4</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="3401" y="2433">DBUS5</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="3401" y="2463">DBUS6</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="3401" y="2493">DBUS7</text>
<polygon fill="#ffff80" points="3761 1293, 3761 1268, 3916 1268, 3941 1293, 3916 1318, 3761 1318, 3761 1293" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="3761" y="1293">INTR</text>
<polyline fill="none" points="3561 2443, 3561 2203, 3761 2203" stroke="#000080" stroke-linecap="round" stroke-linejoin="round" stroke-width="20"/>
<polygon fill="#ffff80" points="3761 2203, 3761 2178, 3916 2178, 3941 2203, 3916 2228, 3761 2228, 3761 2203" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="3761" y="2203">DBUS[7..0]</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2671" x2="2621" y1="1583" y2="1583"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2704" y="1583">A0</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2671" x2="2621" y1="1613" y2="1613"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2704" y="1613">A1</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2671" x2="2621" y1="1643" y2="1643"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2704" y="1643">A2</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2671" x2="2621" y1="1673" y2="1673"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2704" y="1673">A3</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2671" x2="2621" y1="1703" y2="1703"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2704" y="1703">A4</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2671" x2="2621" y1="1733" y2="1733"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2704" y="1733">A5</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2671" x2="2621" y1="1763" y2="1763"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2704" y="1763">A6</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2671" x2="2621" y1="1793" y2="1793"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2704" y="1793">A7</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2661" x2="2621" y1="1833" y2="1833"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2714" y="1833">^EN</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2821" x2="2871" y1="1583" y2="1583"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="2788" y="1583">B0</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2821" x2="2871" y1="1613" y2="1613"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="2788" y="1613">B1</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2821" x2="2871" y1="1643" y2="1643"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="2788" y="1643">B2</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2821" x2="2871" y1="1673" y2="1673"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="2788" y="1673">B3</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2821" x2="2871" y1="1703" y2="1703"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="2788" y="1703">B4</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2821" x2="2871" y1="1733" y2="1733"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="2788" y="1733">B5</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2821" x2="2871" y1="1763" y2="1763"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="2788" y="1763">B6</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2821" x2="2871" y1="1793" y2="1793"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="2788" y="1793">B7</text>
<rect fill="#ffffff" fill-opacity="0.5" height="350" stroke="#000000" stroke-width="5" width="150" x="2671" y="1533"/>
<circle cx="2666" cy="1833" fill="none" r="5" stroke="#000000" stroke-width="5"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="2741" y="1523">1</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="2671" y="1933">TRIS_GATE8</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2671" x2="2621" y1="2083" y2="2083"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2704" y="2083">A0</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2671" x2="2621" y1="2113" y2="2113"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2704" y="2113">A1</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2671" x2="2621" y1="2143" y2="2143"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2704" y="2143">A2</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2671" x2="2621" y1="2173" y2="2173"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2704" y="2173">A3</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2671" x2="2621" y1="2203" y2="2203"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2704" y="2203">A4</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2671" x2="2621" y1="2233" y2="2233"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2704" y="2233">A5</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2671" x2="2621" y1="2263" y2="2263"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2704" y="2263">A6</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2671" x2="2621" y1="2293" y2="2293"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2704" y="2293">A7</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2661" x2="2621" y1="2333" y2="2333"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2714" y="2333">^EN</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2821" x2="2871" y1="2083" y2="2083"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="2788" y="2083">B0</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2821" x2="2871" y1="2113" y2="2113"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="2788" y="2113">B1</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2821" x2="2871" y1="2143" y2="2143"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="2788" y="2143">B2</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2821" x2="2871" y1="2173" y2="2173"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="2788" y="2173">B3</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2821" x2="2871" y1="2203" y2="2203"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="2788" y="2203">B4</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2821" x2="2871" y1="2233" y2="2233"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="2788" y="2233">B5</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2821" x2="2871" y1="2263" y2="2263"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="2788" y="2263">B6</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2821" x2="2871" y1="2293" y2="2293"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="2788" y="2293">B7</text>
<rect fill="#ffffff" fill-opacity="0.5" height="350" stroke="#000000" stroke-width="5" width="150" x="2671" y="2033"/>
<circle cx="2666" cy="2333" fill="none" r="5" stroke="#000000" stroke-width="5"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="2741" y="2023">2</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="2671" y="2433">TRIS_GATE8</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2661" x2="2611" y1="2663" y2="2663"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2694" y="2663">A0</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2661" x2="2611" y1="2693" y2="2693"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2694" y="2693">A1</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2661" x2="2611" y1="2723" y2="2723"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2694" y="2723">A2</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2661" x2="2611" y1="2753" y2="2753"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2694" y="2753">A3</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2661" x2="2611" y1="2783" y2="2783"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2694" y="2783">A4</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2661" x2="2611" y1="2813" y2="2813"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2694" y="2813">A5</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2661" x2="2611" y1="2843" y2="2843"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2694" y="2843">A6</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2661" x2="2611" y1="2873" y2="2873"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2694" y="2873">A7</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2651" x2="2611" y1="2913" y2="2913"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2704" y="2913">^EN</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2811" x2="2861" y1="2663" y2="2663"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="2778" y="2663">B0</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2811" x2="2861" y1="2693" y2="2693"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="2778" y="2693">B1</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2811" x2="2861" y1="2723" y2="2723"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="2778" y="2723">B2</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2811" x2="2861" y1="2753" y2="2753"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="2778" y="2753">B3</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2811" x2="2861" y1="2783" y2="2783"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="2778" y="2783">B4</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2811" x2="2861" y1="2813" y2="2813"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="2778" y="2813">B5</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2811" x2="2861" y1="2843" y2="2843"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="2778" y="2843">B6</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2811" x2="2861" y1="2873" y2="2873"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="2778" y="2873">B7</text>
<rect fill="#ffffff" fill-opacity="0.5" height="350" stroke="#000000" stroke-width="5" width="150" x="2661" y="2613"/>
<circle cx="2656" cy="2913" fill="none" r="5" stroke="#000000" stroke-width="5"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="2731" y="2603">3</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="2661" y="3013">TRIS_GATE8</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2661" x2="2611" y1="3123" y2="3123"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2694" y="3123">A0</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2661" x2="2611" y1="3153" y2="3153"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2694" y="3153">A1</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2661" x2="2611" y1="3183" y2="3183"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2694" y="3183">A2</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2661" x2="2611" y1="3213" y2="3213"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2694" y="3213">A3</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2661" x2="2611" y1="3243" y2="3243"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2694" y="3243">A4</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2661" x2="2611" y1="3273" y2="3273"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2694" y="3273">A5</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2661" x2="2611" y1="3303" y2="3303"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2694" y="3303">A6</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2661" x2="2611" y1="3333" y2="3333"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2694" y="3333">A7</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2651" x2="2611" y1="3373" y2="3373"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2704" y="3373">^EN</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2811" x2="2861" y1="3123" y2="3123"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="2778" y="3123">B0</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2811" x2="2861" y1="3153" y2="3153"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="2778" y="3153">B1</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2811" x2="2861" y1="3183" y2="3183"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="2778" y="3183">B2</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2811" x2="2861" y1="3213" y2="3213"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="2778" y="3213">B3</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2811" x2="2861" y1="3243" y2="3243"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="2778" y="3243">B4</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2811" x2="2861" y1="3273" y2="3273"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="2778" y="3273">B5</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2811" x2="2861" y1="3303" y2="3303"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="2778" y="3303">B6</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2811" x2="2861" y1="3333" y2="3333"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="2778" y="3333">B7</text>
<rect fill="#ffffff" fill-opacity="0.5" height="350" stroke="#000000" stroke-width="5" width="150" x="2661" y="3073"/>
<circle cx="2656" cy="3373" fill="none" r="5" stroke="#000000" stroke-width="5"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="2731" y="3063">4</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="2661" y="3473">TRIS_GATE8</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1071" x2="1121" y1="3153" y2="3153"/>
<polygon fill="#ffffff" fill-opacity="0.5" points="1071 3153, 1021 3103, 1021 3203, 1071 3153" stroke="#000000" stroke-width="5"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="微软雅黑" font-size="30" font-weight="700" text-anchor="start" transform="rotate(-90 1061 3163)" x="1061" y="3163">1</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" transform="rotate(-90 991 3163)" x="991" y="3163">U5</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" transform="rotate(-90 1021 3223)" x="1021" y="3223">DIGITAL1</text>
<polyline fill="none" points="2611 3153, 1121 3153" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="2621 2083, 2521 2083, 2521 3153" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="2611 3123, 2521 3123" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="2611 2693, 2521 2693" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="2321 1583, 2471 1583, 2471 1833, 2621 1833" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="2321 1613, 2441 1613, 2441 2333, 2621 2333" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="2321 1643, 2411 1643, 2411 2913, 2611 2913" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="2321 1673, 2381 1673, 2381 3373, 2611 3373" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1871 1293, 3761 1293" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<text alignment-baseline="after-edge" fill="#000080" font-family="宋体" font-size="25" font-weight="400" text-anchor="start" x="3621" y="1243">若INT=1,则表示有中断请求</text>
<text alignment-baseline="after-edge" fill="#000080" font-family="宋体" font-size="25" font-weight="400" text-anchor="start" x="3721" y="2143">输出最高优先级中断请求的标号</text>
<text alignment-baseline="after-edge" fill="#000080" font-family="宋体" font-size="25" font-weight="400" text-anchor="start" x="3721" y="2343">INT0~INT3对应的标号为0~3</text>
<text alignment-baseline="after-edge" fill="#000080" font-family="宋体" font-size="25" font-weight="400" text-anchor="start" x="1521" y="1493">INT0中断请求的优先级最高,INT3中断请求的优先级最低</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="微软雅黑" font-size="250" font-weight="700" text-anchor="start" x="2021" y="313">中断请求模块</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="521" x2="471" y1="1243" y2="1243"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="545" y="1240">D</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="489" y="1242">1</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="521" x2="471" y1="1343" y2="1343"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="559" y="1343">CLK</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="489" y="1341">2</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="601" x2="601" y1="1193" y2="1143"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="601" y="1216">PR</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="579" y="1181">6</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="601" x2="601" y1="1393" y2="1443"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="602" y="1376">CLR</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="578" y="1436">3</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="671" x2="721" y1="1243" y2="1243"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="645" y="1240">Q</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="689" y="1243">5</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="671" x2="721" y1="1343" y2="1343"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="629" y="1342">^Q</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="680" y="1343">4</text>
<rect fill="#ffffff" fill-opacity="0.5" height="200" stroke="#000000" stroke-width="5" width="150" x="521" y="1193"/>
<polyline fill="none" points="524 1333, 534 1343, 524 1353" stroke="#000000" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="676" y="1185">U6</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="638" y="1448">D_FLOP</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="521" x2="471" y1="1643" y2="1643"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="545" y="1640">D</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="489" y="1642">1</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="521" x2="471" y1="1743" y2="1743"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="559" y="1743">CLK</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="489" y="1741">2</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="601" x2="601" y1="1593" y2="1543"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="601" y="1616">PR</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="579" y="1581">6</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="601" x2="601" y1="1793" y2="1843"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="602" y="1776">CLR</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="578" y="1836">3</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="671" x2="721" y1="1643" y2="1643"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="645" y="1640">Q</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="689" y="1643">5</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="671" x2="721" y1="1743" y2="1743"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="629" y="1742">^Q</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="680" y="1743">4</text>
<rect fill="#ffffff" fill-opacity="0.5" height="200" stroke="#000000" stroke-width="5" width="150" x="521" y="1593"/>
<polyline fill="none" points="524 1733, 534 1743, 524 1753" stroke="#000000" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="676" y="1585">U7</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="638" y="1848">D_FLOP</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="521" x2="471" y1="2043" y2="2043"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="545" y="2040">D</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="489" y="2042">1</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="521" x2="471" y1="2143" y2="2143"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="559" y="2143">CLK</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="489" y="2141">2</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="601" x2="601" y1="1993" y2="1943"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="601" y="2016">PR</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="579" y="1981">6</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="601" x2="601" y1="2193" y2="2243"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="602" y="2176">CLR</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="578" y="2236">3</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="671" x2="721" y1="2043" y2="2043"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="645" y="2040">Q</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="689" y="2043">5</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="671" x2="721" y1="2143" y2="2143"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="629" y="2142">^Q</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="680" y="2143">4</text>
<rect fill="#ffffff" fill-opacity="0.5" height="200" stroke="#000000" stroke-width="5" width="150" x="521" y="1993"/>
<polyline fill="none" points="524 2133, 534 2143, 524 2153" stroke="#000000" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="676" y="1985">U8</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="638" y="2248">D_FLOP</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="521" x2="471" y1="2443" y2="2443"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="545" y="2440">D</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="489" y="2442">1</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="521" x2="471" y1="2543" y2="2543"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="559" y="2543">CLK</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="489" y="2541">2</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="601" x2="601" y1="2393" y2="2343"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="601" y="2416">PR</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="579" y="2381">6</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="601" x2="601" y1="2593" y2="2643"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="602" y="2576">CLR</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="578" y="2636">3</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="671" x2="721" y1="2443" y2="2443"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="645" y="2440">Q</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="689" y="2443">5</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="671" x2="721" y1="2543" y2="2543"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="629" y="2542">^Q</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="680" y="2543">4</text>
<rect fill="#ffffff" fill-opacity="0.5" height="200" stroke="#000000" stroke-width="5" width="150" x="521" y="2393"/>
<polyline fill="none" points="524 2533, 534 2543, 524 2553" stroke="#000000" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="676" y="2385">U9</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="638" y="2648">D_FLOP</text>
<polyline fill="none" points="471 1343, 171 1343" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="471 1743, 171 1743" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="471 2143, 171 2143" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="471 2543, 171 2543" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1931" x2="1871" y1="1723" y2="1723"/>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2011" x2="2071" y1="1723" y2="1723"/>
<circle cx="2007" cy="1723" fill="none" r="5" stroke="#000000" stroke-width="5"/>
<polygon fill="#ffffff" fill-opacity="0.5" points="1931 1673, 1931 1773, 2001 1723, 1931 1673" stroke="#000000" stroke-width="5"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="1951" y="1687">U3</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="1931" y="1819">NOT</text>
<polyline fill="none" points="2071 1723, 2071 1703" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1621 1253, 1621 1243, 721 1243" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1621 1283, 1621 1273, 821 1273, 821 1643, 721 1643" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="721 2043, 871 2043, 871 1323, 1621 1323, 1621 1313" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="721 2443, 921 2443, 921 1353, 1621 1353, 1621 1343" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1481" x2="1421" y1="1723" y2="1723"/>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1561" x2="1621" y1="1723" y2="1723"/>
<circle cx="1557" cy="1723" fill="none" r="5" stroke="#000000" stroke-width="5"/>
<polygon fill="#ffffff" fill-opacity="0.5" points="1481 1673, 1481 1773, 1551 1723, 1481 1673" stroke="#000000" stroke-width="5"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="1501" y="1687">U10</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="1481" y="1819">NOT</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1481" x2="1421" y1="1753" y2="1753"/>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1561" x2="1621" y1="1753" y2="1753"/>
<circle cx="1557" cy="1753" fill="none" r="5" stroke="#000000" stroke-width="5"/>
<polygon fill="#ffffff" fill-opacity="0.5" points="1481 1703, 1481 1803, 1551 1753, 1481 1703" stroke="#000000" stroke-width="5"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="1501" y="1717">U11</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="1481" y="1849">NOT</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1481" x2="1421" y1="1783" y2="1783"/>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1561" x2="1621" y1="1783" y2="1783"/>
<circle cx="1557" cy="1783" fill="none" r="5" stroke="#000000" stroke-width="5"/>
<polygon fill="#ffffff" fill-opacity="0.5" points="1481 1733, 1481 1833, 1551 1783, 1481 1733" stroke="#000000" stroke-width="5"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="1501" y="1747">U12</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="1481" y="1879">NOT</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1481" x2="1421" y1="1813" y2="1813"/>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1561" x2="1621" y1="1813" y2="1813"/>
<circle cx="1557" cy="1813" fill="none" r="5" stroke="#000000" stroke-width="5"/>
<polygon fill="#ffffff" fill-opacity="0.5" points="1481 1763, 1481 1863, 1551 1813, 1481 1763" stroke="#000000" stroke-width="5"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="1501" y="1777">U13</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="1481" y="1909">NOT</text>
<polyline fill="none" points="1421 1723, 1321 1723, 1321 1243" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1421 1753, 1291 1753, 1291 1273" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1421 1783, 1261 1783, 1261 1323" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1421 1813, 1231 1813, 1231 1353" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="171 1893, 1621 1893, 1621 1843" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2671" x2="2621" y1="813" y2="813"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2714" y="812">1D</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2639" y="812">4</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2671" x2="2621" y1="843" y2="843"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2714" y="844">2D</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2639" y="842">5</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2671" x2="2621" y1="873" y2="873"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2714" y="873">3D</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2653" y="873">12</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2671" x2="2621" y1="903" y2="903"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2713" y="905">4D</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2653" y="903">13</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2661" x2="2621" y1="963" y2="963"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2741" y="964">^CLR</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2639" y="963">1</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2671" x2="2621" y1="993" y2="993"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2728" y="995">CLK</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2639" y="994">9</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2831" x2="2871" y1="1023" y2="1023"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="2787" y="1024">^4Q</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="2842" y="1024">14</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2821" x2="2871" y1="993" y2="993"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="2794" y="993">4Q</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="2842" y="994">15</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2831" x2="2871" y1="963" y2="963"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="2787" y="964">^3Q</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="2842" y="965">11</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2821" x2="2871" y1="933" y2="933"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="2793" y="932">3Q</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="2841" y="934">10</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2831" x2="2871" y1="903" y2="903"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="2786" y="902">^2Q</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="2849" y="904">6</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2821" x2="2871" y1="873" y2="873"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="2794" y="872">2Q</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="2850" y="875">7</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2831" x2="2871" y1="843" y2="843"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="2787" y="840">^1Q</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="2850" y="843">3</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2821" x2="2871" y1="813" y2="813"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="2793" y="811">1Q</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="2851" y="812">2</text>
<rect fill="#ffffff" fill-opacity="0.5" height="280" stroke="#000000" stroke-width="5" width="150" x="2671" y="763"/>
<circle cx="2665" cy="963" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="2827" cy="843" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="2827" cy="963" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="2827" cy="1023" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="2827" cy="903" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<polyline fill="none" points="2673 983, 2683 993, 2673 1003" stroke="#000000" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="2738" y="756">U14</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="2677" y="1090">74LS175D</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1681" x2="1621" y1="1253" y2="1253"/>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1691" x2="1621" y1="1283" y2="1283"/>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1691" x2="1621" y1="1313" y2="1313"/>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1681" x2="1621" y1="1343" y2="1343"/>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1821" x2="1871" y1="1293" y2="1293"/>
<path d="M1679 1243 C 1695 1290, 1698 1300, 1678 1354, 1678 1354, 1678 1354, 1678 1354" fill="none" stroke="#000000" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1681 1243, 1731 1243" stroke="#000000" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1679 1354, 1729 1354" stroke="#000000" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<path d="M1730 1243 C 1796 1243, 1820 1296, 1820 1296" fill="none" stroke="#000000" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<path d="M1728 1354 C 1795 1354, 1820 1297, 1820 1297" fill="none" stroke="#000000" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="1721" y="1233">U4</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="1701" y="1403">OR4</text>
<polyline fill="none" points="2621 813, 2471 813, 2471 1583" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="2621 843, 2441 843, 2441 1613" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="2621 873, 2411 873, 2411 1643" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="2621 903, 2381 903, 2381 1673" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polygon fill="#ffff80" points="21 993, 21 968, 146 968, 171 993, 146 1018, 21 1018, 21 993" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="21" y="993">INTA</text>
<polyline fill="none" points="171 993, 1621 993" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1681" x2="1621" y1="993" y2="993"/>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1761" x2="1821" y1="993" y2="993"/>
<circle cx="1757" cy="993" fill="none" r="5" stroke="#000000" stroke-width="5"/>
<polygon fill="#ffffff" fill-opacity="0.5" points="1681 943, 1681 1043, 1751 993, 1681 943" stroke="#000000" stroke-width="5"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="1701" y="957">U15</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="1681" y="1089">NOT</text>
<polyline fill="none" points="1821 993, 2621 993" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="3171" x2="3121" y1="843" y2="843"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="3214" y="842">1D</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="3139" y="842">4</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="3171" x2="3121" y1="873" y2="873"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="3214" y="874">2D</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="3139" y="872">5</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="3171" x2="3121" y1="903" y2="903"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="3214" y="903">3D</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="3153" y="903">12</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="3171" x2="3121" y1="933" y2="933"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="3213" y="935">4D</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="3153" y="933">13</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="3161" x2="3121" y1="993" y2="993"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="3241" y="994">^CLR</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="3139" y="993">1</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="3171" x2="3121" y1="1023" y2="1023"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="3228" y="1025">CLK</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="3139" y="1024">9</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="3331" x2="3371" y1="1053" y2="1053"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="3287" y="1054">^4Q</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="3342" y="1054">14</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="3321" x2="3371" y1="1023" y2="1023"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="3294" y="1023">4Q</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="3342" y="1024">15</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="3331" x2="3371" y1="993" y2="993"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="3287" y="994">^3Q</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="3342" y="995">11</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="3321" x2="3371" y1="963" y2="963"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="3293" y="962">3Q</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="3341" y="964">10</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="3331" x2="3371" y1="933" y2="933"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="3286" y="932">^2Q</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="3349" y="934">6</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="3321" x2="3371" y1="903" y2="903"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="3294" y="902">2Q</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="3350" y="905">7</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="3331" x2="3371" y1="873" y2="873"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="3287" y="870">^1Q</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="3350" y="873">3</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="3321" x2="3371" y1="843" y2="843"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="3293" y="841">1Q</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="3351" y="842">2</text>
<rect fill="#ffffff" fill-opacity="0.5" height="280" stroke="#000000" stroke-width="5" width="150" x="3171" y="793"/>
<circle cx="3165" cy="993" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="3327" cy="873" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="3327" cy="993" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="3327" cy="1053" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="3327" cy="933" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<polyline fill="none" points="3173 1013, 3183 1023, 3173 1033" stroke="#000000" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="3238" y="786">U16</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="3177" y="1120">74LS175D</text>
<polyline fill="none" points="2871 843, 3121 843" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="2871 903, 2921 903, 2921 873, 3121 873" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="2871 963, 2951 963, 2951 903, 3121 903" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="2871 1023, 2981 1023, 2981 933, 3121 933" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<circle cx="2381" cy="1673" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="2411" cy="1643" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="2441" cy="1613" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="2471" cy="1583" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="1231" cy="1353" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="1261" cy="1323" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="1291" cy="1273" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="1321" cy="1243" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="2521" cy="2693" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="2521" cy="3123" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="2521" cy="3153" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="3131" cy="2493" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="3151" cy="2463" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="3171" cy="2433" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="3191" cy="2403" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="3211" cy="2373" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="3231" cy="2343" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="3251" cy="2313" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="3271" cy="2283" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="3131" cy="2873" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="3151" cy="2843" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="3171" cy="2813" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="3191" cy="2783" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="3211" cy="2753" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="3231" cy="2723" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="3251" cy="2693" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="3271" cy="2663" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="3131" cy="2293" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="3151" cy="2263" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="3171" cy="2233" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="3191" cy="2203" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="3211" cy="2173" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="3231" cy="2143" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="3251" cy="2113" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="3271" cy="2083" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
</svg>
添加文件
.subckt modulecir9 NETU11_1 NETU12_1 NETU18_1Q NETU18_2Q NETU18_3Q NETU2_G1 NET9_CLR ISR7 ISR6 ISR5 ISR4 ISR3 ISR2 ISR1 ISR0 IRNM0 IRNM1 IRNM2 NETU11_2 NETU11_2
xU2 NETU2_G1 NETU2_^G2A NETU2_^G2B IRNM0 IRNM1 IRNM2 NET1_^EN NET2_^EN NET3_^EN NET4_^EN NET5_^EN NET6_^EN NET7_^EN NET8_^EN 74LS138D
xU15 NETU15_G1 NETU15_^G2A NETU15_^G2B NETU15_A NETU15_B NETU15_C NET9_D0 NET9_D1 NET9_D2 NET9_D3 NET9_D4 NET9_D5 NET9_D6 NET9_D7 74LS138D
.subckt 74LS138D G1 ^G2A ^G2B A B C Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y7
aU1 [ G1 NetU1_2 NetU1_3] NetU10_4 AND3
.model AND3 d_and(rise_delay = 1e-9 fall_delay = 1e-9 input_load = 1e-3)
aU2 ^G2A NetU1_2 NOT
aU3 ^G2B NetU1_3 NOT
aU4 A NetU10_1 NOT
aU5 B NetU10_2 NOT
aU6 C NetU11_3 NOT
aU15 NetU10_1 NetU11_1 NOT
aU16 NetU10_2 NetU11_2 NOT
aU17 NetU11_3 NetU10_3 NOT
.model NOT d_inverter(rise_delay = 1e-9 fall_delay = 1e-9 input_load = 1e-3)
aU7 [ NetU10_4 NetU11_2 NetU11_1 NetU10_3] Y7 NAND4
aU8 [ NetU10_1 NetU10_3 NetU11_2 NetU10_4] Y6 NAND4
aU9 [ NetU10_2 NetU10_3 NetU11_1 NetU10_4] Y5 NAND4
aU10 [ NetU10_1 NetU10_2 NetU10_3 NetU10_4] Y4 NAND4
aU11 [ NetU11_1 NetU11_2 NetU11_3 NetU10_4] Y3 NAND4
aU12 [ NetU10_1 NetU11_2 NetU11_3 NetU10_4] Y2 NAND4
aU13 [ NetU11_1 NetU10_2 NetU11_3 NetU10_4] Y1 NAND4
aU14 [ NetU10_1 NetU10_2 NetU11_3 NetU10_4] Y0 NAND4
.model NAND4 d_nand(rise_delay = 1e-9 fall_delay = 1e-9 input_load = 1e-3)
.ends
aU4 ISR7 NETU3_D0 NOT
aU5 ISR6 NETU3_D1 NOT
aU6 ISR5 NETU3_D2 NOT
aU7 ISR4 NETU3_D3 NOT
aU8 ISR3 NETU3_D4 NOT
aU9 ISR2 NETU3_D5 NOT
aU10 ISR1 NETU10_2 NOT
aU14 ISR0 NETU14_2 NOT
aU37 NETU37_1 NETU15_G1 NOT
.model NOT d_inverter(rise_delay = 1e-9 fall_delay = 1e-9 input_load = 1e-3)
x1 NET1_D NET1_CLK NET1_PR NET1_CLR NET1_^EN ISR0 NET1_^Q DCP_FLOP
x2 NET1_D NET1_CLK NET2_PR NET2_CLR NET2_^EN ISR1 NET2_^Q DCP_FLOP
x3 NET1_D NET1_CLK NET3_PR NET3_CLR NET3_^EN ISR2 NET3_^Q DCP_FLOP
x4 NET1_D NET1_CLK NET4_PR NET4_CLR NET4_^EN ISR3 NET4_^Q DCP_FLOP
x5 NET1_D NET1_CLK NET5_PR NET5_CLR NET5_^EN ISR4 NET5_^Q DCP_FLOP
x6 NET1_D NET1_CLK NET6_PR NET6_CLR NET6_^EN ISR5 NET6_^Q DCP_FLOP
x7 NET1_D NET1_CLK NET7_PR NET7_CLR NET7_^EN ISR6 NET7_^Q DCP_FLOP
x8 NET1_D NET1_CLK NET8_PR NET8_CLR NET8_^EN ISR7 NET8_^Q DCP_FLOP
.subckt DCP_FLOP D CLK PR CLR EN Q NQ
aU1 EN NETU1_2 NOT
aU2 NETU1_2 NETU2_2 NOT
.model NOT d_inverter(rise_delay = 1e-9 fall_delay = 1e-9 input_load = 1e-3)
aU3 [ NETU1_2 D] NETU3_3 AND
aU4 [ Q NETU2_2] NETU4_3 AND
.model AND d_and(rise_delay = 1e-9 fall_delay = 1e-9 input_load = 1e-3)
aU5 [ NETU4_3 NETU3_3] NETU5_3 OR
.model OR d_or(rise_delay = 1e-9 fall_delay = 1e-9 input_load = 1e-3)
aU6 NETU5_3 CLK PR CLR Q NQ D_FLOP
.model D_FLOP d_dff(clk_delay = 13.0e-9 set_delay = 25.0e-9 reset_delay = 27.0e-9 ic = 2 rise_delay = 10.0e-9 fall_delay = 3e-9)
.ends
xU1 NET1_D CONSTANT1
xU30 NETU18_^CLR CONSTANT1
.subckt CONSTANT1 constant1
VV1 Net1_1 0 DC 3.5
a1 [Net1_1] [constant1] ADC
.model ADC adc_bridge(in_low = 0.3 in_high = 1)
.ends
xU3 NETU3_D0 NETU3_D1 NETU3_D2 NETU3_D3 NETU3_D4 NETU3_D5 NETU10_2 NETU14_2 NETU3_^EI NETU3_EO NETU37_1 NETU15_C NETU15_B NETU15_A 74LS148D
.subckt 74LS148D D0 D1 D2 D3 D4 D5 D6 D7 EI EO GS A2 A1 A0
aU1 D2 NetU10_1 NOT
aU2 NetU10_1 NetU2_2 NOT
aU18 D1 NetU18_2 NOT
aU19 D3 NetU11_1 NOT
aU20 D4 NetU14_1 NOT
aU21 D5 NetU15_1 NOT
aU22 D6 NetU12_1 NOT
aU23 EI NetU10_4 NOT
aU24 D7 NetU13_1 NOT
aU25 NetU14_1 NetU10_2 NOT
aU26 NetU15_1 NetU10_3 NOT
aU27 NetU12_1 NetU27_2 NOT
.model NOT d_inverter(rise_delay = 1e-9 fall_delay = 1e-9 input_load = 1e-3)
aU3 [ NetU18_2 NetU2_2 NetU10_2 NetU27_2 NetU10_4] NetU29_1 AND5
.model AND5 d_and(rise_delay = 1e-9 fall_delay = 1e-9 input_load = 1e-3)
aU4 [ NetU11_1 NetU10_2 NetU27_2 NetU10_4] NetU29_2 AND4
aU10 [ NetU10_1 NetU10_2 NetU10_3 NetU10_4] NetU10_5 AND4
aU11 [ NetU11_1 NetU10_2 NetU10_3 NetU10_4] NetU11_5 AND4
.model AND4 d_and(rise_delay = 1e-9 fall_delay = 1e-9 input_load = 1e-3)
aU5 [ D6 D7 NetU10_4] NetU5_4 NAND3
.model NAND3 d_nand(rise_delay = 1e-9 fall_delay = 1e-9 input_load = 1e-3)
aU6 [ D0 D1 D2 D3 D4 D5] NetU6_7 NAND6
.model NAND6 d_nand(rise_delay = 1e-9 fall_delay = 1e-9 input_load = 1e-3)
aU9 [ NetU13_1 NetU10_4] NetU29_4 AND
aU12 [ NetU12_1 NetU10_4] NetU12_3 AND
aU13 [ NetU13_1 NetU10_4] NetU13_3 AND
aU14 [ NetU14_1 NetU10_4] NetU14_3 AND
aU15 [ NetU15_1 NetU10_4] NetU15_3 AND
aU16 [ NetU12_1 NetU10_4] NetU16_3 AND
aU17 [ NetU13_1 NetU10_4] NetU17_3 AND
.model AND d_and(rise_delay = 1e-9 fall_delay = 1e-9 input_load = 1e-3)
aU8 [ NetU15_1 NetU27_2 NetU10_4] NetU29_3 AND3
.model AND3 d_and(rise_delay = 1e-9 fall_delay = 1e-9 input_load = 1e-3)
aU7 [ NetU6_7 NetU5_4] EO OR
.model OR d_or(rise_delay = 1e-9 fall_delay = 1e-9 input_load = 1e-3)
aU28 [ EO NetU10_4] GS NAND
.model NAND d_nand(rise_delay = 1e-9 fall_delay = 1e-9 input_load = 1e-3)
aU29 [ NetU29_1 NetU29_2 NetU29_3 NetU29_4] A0 NOR4
aU30 [ NetU10_5 NetU11_5 NetU12_3 NetU13_3] A1 NOR4
aU31 [ NetU14_3 NetU15_3 NetU16_3 NetU17_3] A2 NOR4
.model NOR4 d_nor(rise_delay = 1e-9 fall_delay = 1e-9 input_load = 1e-3)
.ends
aU11 [ NETU11_1 NETU11_2] NET1_CLK OR
aU12 [ NETU12_1 NETU11_2] NET9_CLK OR
.model OR d_or(rise_delay = 1e-9 fall_delay = 1e-9 input_load = 1e-3)
xU18 IRNM0 IRNM1 IRNM2 NETU18_4D NETU18_^CLR NET1_CLK NETU18_^4Q NETU18_4Q NETU18_^3Q NETU18_3Q NETU18_^2Q NETU18_2Q NETU18_^1Q NETU18_1Q 74LS175D
.subckt 74LS175D 1D 2D 3D 4D ^CLR CLK ^4Q 4Q ^3Q 3Q ^2Q 2Q ^1Q 1Q
aU1 4D CLK NetU1_^PR NetU1_^CLR 4Q ^4Q 74LS74D
aU2 3D CLK NetU1_^PR NetU1_^CLR 3Q ^3Q 74LS74D
aU3 2D CLK NetU1_^PR NetU1_^CLR 2Q ^2Q 74LS74D
aU4 1D CLK NetU1_^PR NetU1_^CLR 1Q ^1Q 74LS74D
.model 74LS74D d_dff(clk_delay = 13.0e-9 set_delay = 25.0e-9 reset_delay = 27.0e-9 ic = 2 rise_delay = 10.0e-9 fall_delay = 3e-9)
aU5 ^CLR NetU1_^CLR NOT
.model NOT d_inverter(rise_delay = 1e-9 fall_delay = 1e-9 input_load = 1e-3)
xU6 NetU1_^PR CONSTANT0
.subckt CONSTANT0 constant0
VV1 Net1_1 0 DC 0
a1 [Net1_1] [constant0] ADC
.model ADC adc_bridge(in_low = 0.3 in_high = 1)
.ends
.ends
x9 NET9_D0 NET9_D1 NET9_D2 NET9_D3 NET9_D4 NET9_D5 NET9_D6 NET9_D7 NET9_Q0 NET9_Q1 NET9_Q2 NET9_Q3 NET9_Q4 NET9_Q5 NET9_Q6 NET9_Q7 NET9_CLR NET9_PR NET9_EN NET9_CLK REG_AA8
.subckt REG_AA8 D0 D1 D2 D3 D4 D5 D6 D7 1Q 2Q 3Q 4Q 5Q 6Q 7Q 8Q CLR PR ENABLE CLOCK
xU1 CLOCK CLK NNOT
xU3 ENABLE EN NNOT
xU4 PR SET NNOT
xU5 Q0 1Q NNOT
xU6 Q1 2Q NNOT
xU7 Q2 3Q NNOT
xU8 Q3 4Q NNOT
xU9 Q4 5Q NNOT
xU10 Q5 6Q NNOT
xU11 Q6 7Q NNOT
xU12 Q7 8Q NNOT
.subckt NNOT IN OUT
aU1 IN NetU1_2 NOT
aU2 NetU1_2 OUT NOT
.model NOT d_inverter(rise_delay = 1e-9 fall_delay = 1e-9 input_load = 1e-3)
.ends
aU2 CLR CLEAR NOT
.model NOT d_inverter(rise_delay = 1e-9 fall_delay = 1e-9 input_load = 1e-3)
a1 [ D0 D1 D2 D3 D4 D5 D6 D7 ] CLK SET CLEAR EN [ Q0 Q1 Q2 Q3 Q4 Q5 Q6 Q7 ] REG
.model REG d_registor(clk_delay = 13.0e-9 set_delay = 25.0e-9 reset_delay = 27.0e-9 en_delay = 27.0e-9ic = 2 rise_delay = 10.0e-9 fall_delay = 3e-9)
.ends
xU13 NET9_Q0 NET9_CLR NET1_CLR NNOR
xU16 NET9_Q1 NET9_CLR NET2_CLR NNOR
xU17 NET9_Q2 NET9_CLR NET3_CLR NNOR
xU19 NET9_Q3 NET9_CLR NET4_CLR NNOR
xU20 NET9_Q4 NET9_CLR NET5_CLR NNOR
xU21 NET9_Q5 NET9_CLR NET6_CLR NNOR
xU22 NET9_Q6 NET9_CLR NET7_CLR NNOR
xU23 NET9_Q7 NET9_CLR NET8_CLR NNOR
.subckt NNOR 1 2 3
aU1 1 NetU1_2 NOT
aU2 2 NetU2_2 NOT
.model NOT d_inverter(rise_delay = 1e-9 fall_delay = 1e-9 input_load = 1e-3)
aU3 [ NetU1_2 NetU2_2] 3 OR
.model OR d_or(rise_delay = 1e-9 fall_delay = 1e-9 input_load = 1e-3)
.ends
.ends
这个 源代码变更 因为 太大 而不能显示。 你可以 浏览blob
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<svg height="303" version="1.1" width="1635" xmlns="http://www.w3.org/2000/svg">
<text alignment-baseline="after-edge" fill="#000000" font-family="微软雅黑" font-size="250" font-weight="700" text-anchor="start" x="19" y="315">硬中断控制器</text>
</svg>
添加文件
.subckt modulecir4 ABUS7 ABUS6 ABUS5 ABUS4 ABUS3 ABUS2 ABUS1 ABUS0 DBUS7 DBUS6 DBUS5 DBUS4 DBUS3 DBUS2 DBUS1 DBUS0 NETRAM_^W\R NETRAM_CLK NETMEM_GATE_^EN DBUS7 DBUS6 DBUS5 DBUS4 DBUS3 DBUS2 DBUS1 DBUS0
xMEM_gate NETMEM_GATE_A0 NETMEM_GATE_A1 NETMEM_GATE_A2 NETMEM_GATE_A3 NETMEM_GATE_A4 NETMEM_GATE_A5 NETMEM_GATE_A6 NETMEM_GATE_A7 DBUS0 DBUS1 DBUS2 DBUS3 DBUS4 DBUS5 DBUS6 DBUS7 NETMEM_GATE_^EN BUS_TRANS8
.subckt BUS_TRANS8 A0 A1 A2 A3 A4 A5 A6 A7 B0 B1 B2 B3 B4 B5 B6 B7 EN
xU3 EN IEN NNOT
xU5 A0 IA0 NNOT
xU6 A1 IA1 NNOT
xU7 A2 IA2 NNOT
xU8 A3 IA3 NNOT
xU9 A4 IA4 NNOT
xU10 A5 IA5 NNOT
xU11 A6 IA6 NNOT
xU12 A7 IA7 NNOT
.subckt NNOT IN OUT
aU1 IN NetU1_2 NOT
aU2 NetU1_2 OUT NOT
.model NOT d_inverter(rise_delay = 1e-9 fall_delay = 1e-9 input_load = 1e-3)
.ends
a1 [ IA0 IA1 IA2 IA3 IA4 IA5 IA6 IA7] IEN [ B0 B1 B2 B3 B4 B5 B6 B7] MULTI_TRISTATE
.model MULTI_TRISTATE d_multristate(delay = 0.5e-9 input_load = 0.5e-12 enable_load = 0.5e-12)
.ends
xRAM ABUS0 ABUS1 ABUS2 ABUS3 ABUS4 ABUS5 ABUS6 ABUS7 DBUS0 DBUS1 DBUS2 DBUS3 DBUS4 DBUS5 DBUS6 DBUS7 NETMEM_GATE_A0 NETMEM_GATE_A1 NETMEM_GATE_A2 NETMEM_GATE_A3 NETMEM_GATE_A4 NETMEM_GATE_A5 NETMEM_GATE_A6 NETMEM_GATE_A7 NETRAM_^W\R NETRAM_CLK 256RAM1
.subckt 256RAM1 A0 A1 A2 A3 A4 A5 A6 A7 D0 D1 D2 D3 D4 D5 D6 D7 Q0 Q1 Q2 Q3 Q4 Q5 Q6 Q7 WE CLK
xU1 A0 ADDRESS0 NNOT
xU2 A1 ADDRESS1 NNOT
xU3 A2 ADDRESS2 NNOT
xU4 A3 ADDRESS3 NNOT
xU5 A4 ADDRESS4 NNOT
xU6 A5 ADDRESS5 NNOT
xU7 A6 ADDRESS6 NNOT
xU8 A7 ADDRESS7 NNOT
xU9 D0 DATAIN0 NNOT
xU10 D1 DATAIN1 NNOT
xU11 D2 DATAIN2 NNOT
xU12 D3 DATAIN3 NNOT
xU13 D4 DATAIN4 NNOT
xU14 D5 DATAIN5 NNOT
xU15 D6 DATAIN6 NNOT
xU16 D7 DATAIN7 NNOT
xU17 WE WRITEENABLE NNOT
xU18 CLK CLOCK NNOT
.subckt NNOT IN OUT
aU1 IN NetU1_2 NOT
aU2 NetU1_2 OUT NOT
.model NOT d_inverter(rise_delay = 1e-9 fall_delay = 1e-9 input_load = 1e-3)
.ends
vcc 1 0 DC 5
v0 C0 0 DC 2
v1 C1 0 DC 2
v2 C2 0 DC 2
v3 C3 0 DC 2
v4 C4 0 DC 2
v5 C5 0 DC 2
v6 C6 0 DC 2
v7 C7 0 DC 2
r0 1 r0_2 1k
r1 1 r1_2 1k
r2 1 r2_2 1k
r3 1 r3_2 1k
r4 1 r4_2 1k
r5 1 r5_2 1k
r6 1 r6_2 1k
r7 1 r7_2 1k
abridge0 [r0_2] [Q0] adc_buff
abridge1 [r1_2] [Q1] adc_buff
abridge2 [r2_2] [Q2] adc_buff
abridge3 [r3_2] [Q3] adc_buff
abridge4 [r4_2] [Q4] adc_buff
abridge5 [r5_2] [Q5] adc_buff
abridge6 [r6_2] [Q6] adc_buff
abridge7 [r7_2] [Q7] adc_buff
.model adc_buff adc_bridge(in_low = 0.3 in_high = 1)
s0 r0_2 0 c0 0 switch ON
s1 r1_2 0 c1 0 switch ON
s2 r2_2 0 c2 0 switch ON
s3 r3_2 0 c3 0 switch ON
s4 r4_2 0 c4 0 switch ON
s5 r5_2 0 c5 0 switch ON
s6 r6_2 0 c6 0 switch ON
s7 r7_2 0 c7 0 switch ON
.model switch sw vt=1 vh=0.2 ron=1 roff=1k
.ends
.ends
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<svg height="1244" version="1.1" width="1944" xmlns="http://www.w3.org/2000/svg">
<polygon fill="#ffff80" points="20 296, 20 271, 145 271, 170 296, 145 321, 20 321, 20 296" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="20" y="296">ABUS[7..0]</text>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="220" x2="270" y1="356" y2="406"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="220" x2="270" y1="376" y2="426"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="220" x2="270" y1="396" y2="446"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="220" x2="270" y1="416" y2="466"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="220" x2="270" y1="436" y2="486"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="220" x2="270" y1="456" y2="506"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="220" x2="270" y1="476" y2="526"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="220" x2="270" y1="496" y2="546"/>
<polyline fill="none" points="270 406, 540 406" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="270 426, 540 426" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="270 446, 540 446" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="270 466, 540 466" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="270 486, 540 486" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="270 506, 540 506" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="270 526, 540 526" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="270 546, 540 546" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="12" font-weight="400" text-anchor="start" x="340" y="406">ABUS0</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="12" font-weight="400" text-anchor="start" x="340" y="426">ABUS1</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="12" font-weight="400" text-anchor="start" x="340" y="446">ABUS2</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="12" font-weight="400" text-anchor="start" x="340" y="466">ABUS3</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="12" font-weight="400" text-anchor="start" x="340" y="486">ABUS4</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="12" font-weight="400" text-anchor="start" x="340" y="506">ABUS5</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="12" font-weight="400" text-anchor="start" x="340" y="526">ABUS6</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="12" font-weight="400" text-anchor="start" x="340" y="546">ABUS7</text>
<polygon fill="#ffff80" points="20 616, 20 591, 145 591, 170 616, 145 641, 20 641, 20 616" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="20" y="616">DBUS[7..0]</text>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="220" x2="270" y1="796" y2="746"/>
<polyline fill="none" points="540 746, 270 746" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="220" x2="270" y1="776" y2="726"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="220" x2="270" y1="756" y2="706"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="220" x2="270" y1="736" y2="686"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="220" x2="270" y1="716" y2="666"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="220" x2="270" y1="696" y2="646"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="220" x2="270" y1="676" y2="626"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="220" x2="270" y1="656" y2="606"/>
<polyline fill="none" points="270 726, 540 726" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="270 706, 540 706" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="270 686, 540 686" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="270 666, 540 666" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="270 646, 540 646" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="270 626, 540 626" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="270 606, 540 606" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="12" font-weight="400" text-anchor="start" x="310" y="606">DBUS0</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="12" font-weight="400" text-anchor="start" x="310" y="626">DBUS1</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="12" font-weight="400" text-anchor="start" x="310" y="646">DBUS2</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="12" font-weight="400" text-anchor="start" x="310" y="666">DBUS3</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="12" font-weight="400" text-anchor="start" x="310" y="686">DBUS4</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="12" font-weight="400" text-anchor="start" x="310" y="706">DBUS5</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="12" font-weight="400" text-anchor="start" x="310" y="726">DBUS6</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="12" font-weight="400" text-anchor="start" x="310" y="746">DBUS7</text>
<polygon fill="#ffff80" points="20 906, 20 881, 145 881, 170 906, 145 931, 20 931, 20 906" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="20" y="906">MEM_WR</text>
<polygon fill="#ffff80" points="20 1016, 20 991, 145 991, 170 1016, 145 1041, 20 1041, 20 1016" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="20" y="1016">CLK</text>
<polyline fill="none" points="170 1016, 540 1016, 540 826" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="170 906, 510 906, 510 806, 540 806" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polygon fill="#ffff80" points="20 1196, 20 1171, 245 1171, 270 1196, 245 1221, 20 1221, 20 1196" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="20" y="1196">MEM_GATE_EN</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="22" font-weight="400" text-anchor="start" x="1480" y="406">DBUS0</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="22" font-weight="400" text-anchor="start" x="1480" y="436">DBUS1</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="22" font-weight="400" text-anchor="start" x="1480" y="466">DBUS2</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="22" font-weight="400" text-anchor="start" x="1480" y="496">DBUS3</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="22" font-weight="400" text-anchor="start" x="1480" y="526">DBUS4</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="22" font-weight="400" text-anchor="start" x="1480" y="556">DBUS5</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="22" font-weight="400" text-anchor="start" x="1480" y="586">DBUS6</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="22" font-weight="400" text-anchor="start" x="1480" y="616">DBUS7</text>
<polyline fill="none" points="1430 406, 1630 406" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1430 436, 1630 436" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1430 466, 1630 466" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1430 496, 1630 496" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1430 526, 1630 526" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1430 556, 1630 556" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1430 586, 1630 586" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1430 616, 1630 616" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="1630" x2="1680" y1="406" y2="356"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="1630" x2="1680" y1="436" y2="386"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="1630" x2="1680" y1="466" y2="416"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="1630" x2="1680" y1="496" y2="446"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="1630" x2="1680" y1="526" y2="476"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="1630" x2="1680" y1="556" y2="506"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="1630" x2="1680" y1="586" y2="536"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="1630" x2="1680" y1="616" y2="566"/>
<polygon fill="#ffff80" points="1770 306, 1770 281, 1895 281, 1920 306, 1895 331, 1770 331, 1770 306" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="1770" y="306">DBUS[7..0]</text>
<polyline fill="none" points="790 406, 1180 406" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="790 426, 1080 426, 1080 436, 1180 436" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="790 446, 1060 446, 1060 466, 1180 466" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="790 466, 1040 466, 1040 496, 1180 496" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="790 486, 1010 486, 1010 526, 1180 526" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="790 506, 980 506, 980 556, 1180 556" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="790 526, 950 526, 950 586, 1180 586" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="790 546, 920 546, 920 616, 1180 616" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="微软雅黑" font-size="150" font-weight="700" text-anchor="start" x="330" y="196">存储器MEM模块</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1230" x2="1180" y1="406" y2="406"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1263" y="406">A0</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1230" x2="1180" y1="436" y2="436"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1263" y="436">A1</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1230" x2="1180" y1="466" y2="466"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1263" y="466">A2</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1230" x2="1180" y1="496" y2="496"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1263" y="496">A3</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1230" x2="1180" y1="526" y2="526"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1263" y="526">A4</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1230" x2="1180" y1="556" y2="556"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1263" y="556">A5</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1230" x2="1180" y1="586" y2="586"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1263" y="586">A6</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1230" x2="1180" y1="616" y2="616"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1263" y="616">A7</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1380" x2="1430" y1="406" y2="406"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1347" y="406">D0</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1380" x2="1430" y1="436" y2="436"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1347" y="436">D1</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1380" x2="1430" y1="466" y2="466"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1347" y="466">D2</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1380" x2="1430" y1="496" y2="496"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1347" y="496">D3</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1380" x2="1430" y1="526" y2="526"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1347" y="526">D4</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1380" x2="1430" y1="556" y2="556"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1347" y="556">D5</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1380" x2="1430" y1="586" y2="586"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1347" y="586">D6</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1380" x2="1430" y1="616" y2="616"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1347" y="616">D7</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1220" x2="1180" y1="676" y2="676"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1274" y="675">^EN</text>
<rect fill="#a0c0ff" fill-opacity="0.5" height="350" stroke="#000000" stroke-width="5" width="150" x="1230" y="366"/>
<circle cx="1225" cy="676" fill="none" r="5" stroke="#000000" stroke-width="5"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="1230" y="356">MEM_gate</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="1230" y="766">BUS_TRANS8</text>
<polyline fill="none" points="220 796, 220 616, 170 616" stroke="#000080" stroke-linecap="round" stroke-linejoin="round" stroke-width="20"/>
<polyline fill="none" points="270 1196, 1180 1196, 1180 676" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1770 306, 1680 306, 1680 566" stroke="#000080" stroke-linecap="round" stroke-linejoin="round" stroke-width="20"/>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="590" x2="540" y1="406" y2="406"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="623" y="406">A0</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="590" x2="540" y1="426" y2="426"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="623" y="426">A1</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="590" x2="540" y1="446" y2="446"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="623" y="446">A2</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="590" x2="540" y1="466" y2="466"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="623" y="466">A3</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="590" x2="540" y1="486" y2="486"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="623" y="486">A4</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="590" x2="540" y1="506" y2="506"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="623" y="506">A5</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="590" x2="540" y1="526" y2="526"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="623" y="526">A6</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="590" x2="540" y1="546" y2="546"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="623" y="546">A7</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="590" x2="540" y1="606" y2="606"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="623" y="606">D0</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="590" x2="540" y1="626" y2="626"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="623" y="626">D1</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="590" x2="540" y1="646" y2="646"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="623" y="646">D2</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="590" x2="540" y1="666" y2="666"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="623" y="666">D3</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="590" x2="540" y1="686" y2="686"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="623" y="686">D4</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="590" x2="540" y1="706" y2="706"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="623" y="706">D5</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="590" x2="540" y1="726" y2="726"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="623" y="726">D6</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="590" x2="540" y1="746" y2="746"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="623" y="746">D7</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="740" x2="790" y1="406" y2="406"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="707" y="406">Q0</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="740" x2="790" y1="426" y2="426"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="707" y="426">Q1</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="740" x2="790" y1="446" y2="446"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="707" y="446">Q2</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="740" x2="790" y1="466" y2="466"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="707" y="466">Q3</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="740" x2="790" y1="486" y2="486"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="707" y="486">Q4</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="740" x2="790" y1="506" y2="506"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="707" y="506">Q5</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="740" x2="790" y1="526" y2="526"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="707" y="526">Q6</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="740" x2="790" y1="546" y2="546"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="707" y="546">Q7</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="580" x2="540" y1="806" y2="806"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="656" y="806">^W\R</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="590" x2="540" y1="826" y2="826"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="643" y="826">CLK</text>
<rect fill="#ff8057" fill-opacity="0.5" height="490" stroke="#000000" stroke-width="5" width="150" x="590" y="376"/>
<polyline fill="none" points="590 816, 600 826, 590 836" stroke="#000000" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
<circle cx="585" cy="806" fill="none" r="5" stroke="#000000" stroke-width="5"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="65" font-weight="700" text-anchor="start" x="580" y="366">RAM</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="610" y="906">256RAM1</text>
<polyline fill="none" points="220 496, 220 296, 170 296" stroke="#000080" stroke-linecap="round" stroke-linejoin="round" stroke-width="20"/>
</svg>
添加文件
.subckt modulecir3 NETU1_D0 NETU1_D1 NETU1_A NETU1_B NETU1_C NETPC_CLK DBUS7 DBUS6 DBUS5 DBUS4 DBUS3 DBUS2 DBUS1 DBUS0 NETPC_GATE_^EN NETPC_D_GATE_^EN NETPC_EN NETU3_1 DBUS7 DBUS6 DBUS5 DBUS4 DBUS3 DBUS2 DBUS1 DBUS0 ABUS7 ABUS6 ABUS5 ABUS4 ABUS3 ABUS2 ABUS1 ABUS0 NETPC_^CLR
xU1 NETU1_A NETU1_B NETU1_C NETU1_^G NETU1_D0 NETU1_D1 NETU1_D2 NETU1_D2 NETU1_D4 NETU1_D5 NETU1_D6 NETU1_D7 NETU1_Y NETU1_W 74LS151D
.subckt 74LS151D A B C G D0 D1 D2 D3 D4 D5 D6 D7 Y W
aU1 [ NetU15_2 B NetU13_2 D2 NetU16_2] NetU1_6 AND5
aU2 [ B A NetU15_2 D3 NetU16_2] NetU2_6 AND5
aU3 [ C NetU14_2 NetU13_2 D4 NetU16_2] NetU10_1 AND5
aU4 [ C A NetU14_2 D5 NetU16_2] NetU10_2 AND5
aU5 [ C B NetU13_2 D6 NetU16_2] NetU10_3 AND5
aU6 [ C B A D7 NetU16_2] NetU10_4 AND5
aU7 [ NetU15_2 NetU14_2 A D1 NetU16_2] NetU7_6 AND5
aU8 [ NetU15_2 NetU14_2 NetU13_2 D0 NetU16_2] NetU8_6 AND5
.model AND5 d_and(rise_delay = 1e-9 fall_delay = 1e-9 input_load = 1e-3)
aU9 [ NetU8_6 NetU7_6 NetU1_6 NetU2_6] NetU11_1 OR4
aU10 [ NetU10_1 NetU10_2 NetU10_3 NetU10_4] NetU10_5 OR4
.model OR4 d_or(rise_delay = 1e-9 fall_delay = 1e-9 input_load = 1e-3)
aU11 [ NetU11_1 NetU10_5] Y OR
.model OR d_or(rise_delay = 1e-9 fall_delay = 1e-9 input_load = 1e-3)
aU12 Y W NOT
aU13 A NetU13_2 NOT
aU14 B NetU14_2 NOT
aU15 C NetU15_2 NOT
aU16 G NetU16_2 NOT
.model NOT d_inverter(rise_delay = 1e-9 fall_delay = 1e-9 input_load = 1e-3)
.ends
xU2 NETU1_D2 CONSTANT1
.subckt CONSTANT1 constant1
VV1 Net1_1 0 DC 3.5
a1 [Net1_1] [constant1] ADC
.model ADC adc_bridge(in_low = 0.3 in_high = 1)
.ends
aU3 [ NETU3_1 NETU1_W] NETPC_^LOAD AND
.model AND d_and(rise_delay = 1e-9 fall_delay = 1e-9 input_load = 1e-3)
xPC DBUS0 DBUS1 DBUS2 DBUS3 DBUS4 DBUS5 DBUS6 DBUS7 NETPC_D_GATE_A0 NETPC_D_GATE_A1 NETPC_D_GATE_A2 NETPC_D_GATE_A3 NETPC_D_GATE_A4 NETPC_D_GATE_A5 NETPC_D_GATE_A6 NETPC_D_GATE_A7 NETPC_EN NETPC_^LOAD NETPC_^CLR NETPC_RCO NETPC_CLK C_SAB8
.subckt C_SAB8 D0 D1 D2 D3 D4 D5 D6 D7 1Q 2Q 3Q 4Q 5Q 6Q 7Q 8Q ENABLE LOAD CLR RCO CLOCK
xU1 D0 D1 D2 D3 EN EN LOAD CLR CLK NETU1_RC0 Q3 Q2 Q1 Q0 74LS161D
xU2 D4 D5 D6 D7 NETU1_RC0 NETU1_RC0 LOAD CLR CLK CO Q7 Q6 Q5 Q4 74LS161D
.subckt 74LS161D A B C D ENP ENT ^LOAD ^CLR CLK RC0 QD QC QB QA
aU1 ^LOAD NetU1_2 NOT
aU2 ^CLR NetU2_2 NOT
aU20 ^CLR NetU11_^CLR NOT
.model NOT d_inverter(rise_delay = 1e-9 fall_delay = 1e-9 input_load = 1e-3)
aU6 [ NetU12_2 NetU10_2] NetU6_3 NAND
aU13 [ NetU12_2 NetU13_2] NetU13_3 NAND
aU22 [ NetU12_2 NetU22_2] NetU22_3 NAND
aU28 [ NetU12_2 NetU28_2] NetU28_3 NAND
.model NAND d_nand(rise_delay = 1e-9 fall_delay = 1e-9 input_load = 1e-3)
aU3 [ NetU1_2 NetU2_2] NetU12_2 OR
aU8 [ NetU26_4 NetU12_2] NetU10_1 OR
aU12 [ NetU12_1 NetU12_2] NetU12_3 OR
aU21 [ NetU21_1 NetU12_2] NetU21_3 OR
aU27 [ NetU26_5 NetU12_2] NetU27_3 OR
.model OR d_or(rise_delay = 1e-9 fall_delay = 1e-9 input_load = 1e-3)
aU4 [ QA NetU26_4] NetU12_1 AND
aU9 [ NetU6_3 NetU10_1] NetU11_J AND
aU10 [ NetU10_1 NetU10_2] NetU10_3 AND
aU15 [ NetU13_3 NetU12_3] NetU15_3 AND
aU16 [ NetU12_3 NetU13_2] NetU16_3 AND
aU24 [ NetU22_3 NetU21_3] NetU19_J AND
aU25 [ NetU21_3 NetU22_2] NetU19_K AND
aU30 [ NetU28_3 NetU27_3] NetU18_J AND
aU31 [ NetU27_3 NetU28_2] NetU18_K AND
aU33 [ ENP ENT] NetU26_4 AND
.model AND d_and(rise_delay = 1e-9 fall_delay = 1e-9 input_load = 1e-3)
aU5 [ QB QA NetU26_4] NetU21_1 AND3
.model AND3 d_and(rise_delay = 1e-9 fall_delay = 1e-9 input_load = 1e-3)
aU7 [ A ^CLR NetU12_2] NetU10_2 NAND3
aU14 [ B ^CLR NetU12_2] NetU13_2 NAND3
aU23 [ C ^CLR NetU12_2] NetU22_2 NAND3
aU29 [ D NetU12_2 ^CLR] NetU28_2 NAND3
.model NAND3 d_nand(rise_delay = 1e-9 fall_delay = 1e-9 input_load = 1e-3)
aU26 [ QC QB QA NetU26_4] NetU26_5 AND4
.model AND4 d_and(rise_delay = 1e-9 fall_delay = 1e-9 input_load = 1e-3)
aU32 [ QD QC QB QA ENT] RC0 AND5
.model AND5 d_and(rise_delay = 1e-9 fall_delay = 1e-9 input_load = 1e-3)
aU11 NetU11_J NetU10_3 CLK NetU11_^PR NetU11_^CLR QA NetU11_^Q 74LS76N_1
aU17 NetU15_3 NetU16_3 CLK NetU11_^PR NetU11_^CLR QB NetU17_^Q 74LS76N_1
aU19 NetU19_J NetU19_K CLK NetU11_^PR NetU11_^CLR QC NetU19_^Q 74LS76N_1
aU18 NetU18_J NetU18_K CLK NetU11_^PR NetU11_^CLR QD NetU18_^Q 74LS76N_1
.model 74LS76N_1 d_jkff(clk_delay = 1.0e-9 set_delay = 1e-9 reset_delay = 1e-9 ic = 0 rise_delay = 1.0e-9 fall_delay = 1e-9)
xU34 NetU11_^PR CONSTANT0_1
.subckt CONSTANT0_1 constant0
VV1 Net1_1 0 DC 0
a1 [Net1_1] [constant0] ADC
.model ADC adc_bridge(in_low = 0.3 in_high = 1)
.ends
.ends
xUClk CLOCK CLK NNOT
xUEN ENABLE EN NNOT
xU3 Q0 1Q NNOT
xU4 Q1 2Q NNOT
xU5 Q2 3Q NNOT
xU6 Q3 4Q NNOT
xU7 Q4 5Q NNOT
xU8 Q5 6Q NNOT
xU9 Q6 7Q NNOT
xU10 Q7 8Q NNOT
xU11 CO RCO NNOT
.subckt NNOT IN OUT
aU1 IN NetU1_2 NOT
aU2 NetU1_2 OUT NOT
.model NOT d_inverter(rise_delay = 1e-9 fall_delay = 1e-9 input_load = 1e-3)
.ends
.ends
xPC_gate NETPC_D_GATE_A0 NETPC_D_GATE_A1 NETPC_D_GATE_A2 NETPC_D_GATE_A3 NETPC_D_GATE_A4 NETPC_D_GATE_A5 NETPC_D_GATE_A6 NETPC_D_GATE_A7 ABUS0 ABUS1 ABUS2 ABUS3 ABUS4 ABUS5 ABUS6 ABUS7 NETPC_GATE_^EN BUS_TRANS8
xPC_D_gate NETPC_D_GATE_A0 NETPC_D_GATE_A1 NETPC_D_GATE_A2 NETPC_D_GATE_A3 NETPC_D_GATE_A4 NETPC_D_GATE_A5 NETPC_D_GATE_A6 NETPC_D_GATE_A7 DBUS0 DBUS1 DBUS2 DBUS3 DBUS4 DBUS5 DBUS6 DBUS7 NETPC_D_GATE_^EN BUS_TRANS8
.subckt BUS_TRANS8 A0 A1 A2 A3 A4 A5 A6 A7 B0 B1 B2 B3 B4 B5 B6 B7 EN
xU3 EN IEN NNOT
xU5 A0 IA0 NNOT
xU6 A1 IA1 NNOT
xU7 A2 IA2 NNOT
xU8 A3 IA3 NNOT
xU9 A4 IA4 NNOT
xU10 A5 IA5 NNOT
xU11 A6 IA6 NNOT
xU12 A7 IA7 NNOT
.subckt NNOT IN OUT
aU1 IN NetU1_2 NOT
aU2 NetU1_2 OUT NOT
.model NOT d_inverter(rise_delay = 1e-9 fall_delay = 1e-9 input_load = 1e-3)
.ends
a1 [ IA0 IA1 IA2 IA3 IA4 IA5 IA6 IA7] IEN [ B0 B1 B2 B3 B4 B5 B6 B7] MULTI_TRISTATE
.model MULTI_TRISTATE d_multristate(delay = 0.5e-9 input_load = 0.5e-12 enable_load = 0.5e-12)
.ends
.ends
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<svg height="2284" version="1.1" width="3111" xmlns="http://www.w3.org/2000/svg">
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="957" x2="907" y1="2084" y2="2084"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="990" y="2084">A</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="942" y="2084">11</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="957" x2="907" y1="2114" y2="2114"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="990" y="2114">B</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="942" y="2114">10</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="957" x2="907" y1="2144" y2="2144"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="990" y="2144">C</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="928" y="2144">9</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="947" x2="907" y1="2174" y2="2174"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1000" y="2174">^G</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="928" y="2174">7</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="957" x2="907" y1="1814" y2="1814"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1000" y="1814">D0</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="929" y="1813">4</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="957" x2="907" y1="1844" y2="1844"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1000" y="1844">D1</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="929" y="1843">3</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="957" x2="907" y1="1874" y2="1874"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1000" y="1874">D2</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="929" y="1873">2</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="957" x2="907" y1="1904" y2="1904"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1000" y="1904">D3</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="929" y="1903">1</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="957" x2="907" y1="1934" y2="1934"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1000" y="1934">D4</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="942" y="1934">15</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="957" x2="907" y1="1964" y2="1964"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1000" y="1964">D5</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="942" y="1964">14</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="957" x2="907" y1="1994" y2="1994"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1000" y="1994">D6</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="942" y="1994">13</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="957" x2="907" y1="2024" y2="2024"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1000" y="2024">D7</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="942" y="2024">12</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1107" x2="1157" y1="1814" y2="1814"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="1074" y="1814">Y</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1138" y="1814">5</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1107" x2="1157" y1="1874" y2="1874"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="1074" y="1874">W</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1138" y="1874">6</text>
<circle cx="953" cy="2174" fill="none" r="5" stroke="#000000" stroke-width="5"/>
<rect fill="#ffffff" fill-opacity="0.5" height="430" stroke="#000000" stroke-width="5" width="150" x="957" y="1784"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="1022" y="1771">U1</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="965" y="2263">74LS151D</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="457" x2="507" y1="1904" y2="1904"/>
<polygon fill="#ffffff" fill-opacity="0.5" points="457 1904, 407 1854, 407 1954, 457 1904" stroke="#000000" stroke-width="5"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="Times New Roman" font-size="30" font-weight="700" text-anchor="start" transform="rotate(-90 447 1914)" x="447" y="1914">1</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" transform="rotate(-90 377 1914)" x="377" y="1914">U2</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" transform="rotate(-90 407 1994)" x="407" y="1994">CONSTANT1</text>
<polygon fill="#ffff80" points="457 1814, 457 1799, 592 1799, 607 1814, 592 1829, 457 1829, 457 1814" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="457" y="1814">CF</text>
<polygon fill="#ffff80" points="457 1844, 457 1829, 592 1829, 607 1844, 592 1859, 457 1859, 457 1844" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="457" y="1844">ZF</text>
<polygon fill="#ffff80" points="457 2084, 457 2069, 592 2069, 607 2084, 592 2099, 457 2099, 457 2084" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="457" y="2084">IR2</text>
<polygon fill="#ffff80" points="457 2114, 457 2099, 592 2099, 607 2114, 592 2129, 457 2129, 457 2114" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="457" y="2114">IR3</text>
<polygon fill="#ffff80" points="457 2144, 457 2129, 592 2129, 607 2144, 592 2159, 457 2159, 457 2144" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="12" font-weight="700" text-anchor="start" x="457" y="2144">PC_LOAD_EN</text>
<polygon fill="#ffff80" points="457 1344, 457 1329, 592 1329, 607 1344, 592 1359, 457 1359, 457 1344" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="457" y="1344">CLK</text>
<polygon fill="#ffff80" points="457 964, 457 939, 582 939, 607 964, 582 989, 457 989, 457 964" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="22" font-weight="400" text-anchor="start" x="457" y="964">DBUS[7..0]</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="20" font-weight="400" text-anchor="start" x="907" y="984">DBUS0</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="20" font-weight="400" text-anchor="start" x="907" y="1014">DBUS1</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="20" font-weight="400" text-anchor="start" x="907" y="1044">DBUS2</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="20" font-weight="400" text-anchor="start" x="907" y="1074">DBUS3</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="20" font-weight="400" text-anchor="start" x="907" y="1104">DBUS4</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="20" font-weight="400" text-anchor="start" x="907" y="1134">DBUS5</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="20" font-weight="400" text-anchor="start" x="907" y="1164">DBUS6</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="20" font-weight="400" text-anchor="start" x="907" y="1194">DBUS7</text>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="2747" x2="2797" y1="984" y2="934"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="2747" x2="2797" y1="1014" y2="964"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="2747" x2="2797" y1="1044" y2="994"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="2747" x2="2797" y1="1074" y2="1024"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="2747" x2="2797" y1="1104" y2="1054"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="2747" x2="2797" y1="1134" y2="1084"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="2747" x2="2797" y1="1164" y2="1114"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="2747" x2="2797" y1="1194" y2="1144"/>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="2557" y="984">ABUS0</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="2557" y="1014">ABUS1</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="2557" y="1044">ABUS2</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="2557" y="1074">ABUS3</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="2557" y="1104">ABUS4</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="2557" y="1134">ABUS5</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="2557" y="1164">ABUS6</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="2557" y="1194">ABUS7</text>
<polygon fill="#ffff80" points="457 1514, 457 1489, 582 1489, 607 1514, 582 1539, 457 1539, 457 1514" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="12" font-weight="700" text-anchor="start" x="457" y="1514">PC_A_GATE_EN</text>
<text alignment-baseline="after-edge" fill="#000080" font-family="宋体" font-size="12" font-weight="400" text-anchor="start" x="357" y="2084">指令第3位</text>
<text alignment-baseline="after-edge" fill="#000080" font-family="宋体" font-size="12" font-weight="400" text-anchor="start" x="357" y="2124">指令第4位</text>
<polyline fill="none" points="2747 984, 2457 984" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="2457 1014, 2747 1014" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="2457 1044, 2747 1044" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="2457 1074, 2747 1074" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="2457 1104, 2747 1104" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="2457 1134, 2747 1134" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="2457 1164, 2747 1164" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="2457 1194, 2747 1194" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polygon fill="#ffff80" points="457 724, 457 699, 582 699, 607 724, 582 749, 457 749, 457 724" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="12" font-weight="700" text-anchor="start" x="457" y="724">PC_D_GATE_EN</text>
<polyline fill="none" points="2207 664, 2157 664, 2157 1124, 2157 1194" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="2207 574, 2097 574, 2097 1064, 2097 1104" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="2207 514, 2057 514, 2057 1024, 2057 1044" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="2207 484, 2037 484, 2037 1004, 2037 1014" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="2207 454, 2017 454, 2017 984" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="2557" y="454">DBUS0</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="2557" y="484">DBUS1</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="2557" y="514">DBUS2</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="2557" y="544">DBUS3</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="2557" y="574">DBUS4</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="2557" y="604">DBUS5</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="2557" y="634">DBUS6</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="2557" y="664">DBUS7</text>
<polyline fill="none" points="907 1874, 827 1874, 827 1904" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="2457 454, 2737 454" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="2457 484, 2737 484" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="2457 514, 2737 514" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="2457 544, 2737 544" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="2457 574, 2737 574" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="2457 604, 2737 604" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="2457 634, 2737 634" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="2457 664, 2737 664" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="2737" x2="2787" y1="454" y2="404"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="2737" x2="2787" y1="484" y2="434"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="2737" x2="2787" y1="514" y2="464"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="2737" x2="2787" y1="544" y2="494"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="2737" x2="2787" y1="574" y2="524"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="2737" x2="2787" y1="604" y2="554"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="2737" x2="2787" y1="634" y2="584"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="2737" x2="2787" y1="664" y2="614"/>
<polyline fill="none" points="2207 544, 2077 544, 2077 1074" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="2207 604, 2117 604, 2117 1134" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="2207 634, 2137 634, 2137 1164" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polygon fill="#ffff80" points="457 1254, 457 1234, 587 1234, 607 1254, 587 1274, 457 1274, 457 1254" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="457" y="1254">PC_ADD</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="微软雅黑" font-size="250" font-weight="700" text-anchor="start" x="447" y="314">程序计数器PC模块</text>
<polygon fill="#ffff80" points="457 1594, 457 1569, 582 1569, 607 1594, 582 1619, 457 1619, 457 1594" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="457" y="1594">INTR_LOAD</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1067" x2="1007" y1="1594" y2="1594"/>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1067" x2="1007" y1="1654" y2="1654"/>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1197" x2="1257" y1="1624" y2="1624"/>
<path d="M1145 1572 A 47 47 0 1 1 1145 1665" fill="none" stroke="#000000" stroke-linecap="round" stroke-width="5"/>
<polyline fill="none" points="1146 1666, 1067 1666, 1067 1572, 1146 1572" stroke="#000000" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="1108" y="1566">U3</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="1091" y="1712">AND</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1407" x2="1357" y1="984" y2="984"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1440" y="984">D0</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1407" x2="1357" y1="1014" y2="1014"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1440" y="1014">D1</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1407" x2="1357" y1="1044" y2="1044"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1440" y="1044">D2</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1407" x2="1357" y1="1074" y2="1074"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1440" y="1074">D3</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1407" x2="1357" y1="1104" y2="1104"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1440" y="1104">D4</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1407" x2="1357" y1="1134" y2="1134"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1440" y="1134">D5</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1407" x2="1357" y1="1164" y2="1164"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1440" y="1164">D6</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1407" x2="1357" y1="1194" y2="1194"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1440" y="1194">D7</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1607" x2="1657" y1="984" y2="984"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1574" y="984">Q0</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1607" x2="1657" y1="1014" y2="1014"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1574" y="1014">Q1</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1607" x2="1657" y1="1044" y2="1044"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1574" y="1044">Q2</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1607" x2="1657" y1="1074" y2="1074"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1574" y="1074">Q3</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1607" x2="1657" y1="1104" y2="1104"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1574" y="1104">Q4</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1607" x2="1657" y1="1134" y2="1134"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1574" y="1134">Q5</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1607" x2="1657" y1="1164" y2="1164"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1574" y="1164">Q6</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1607" x2="1657" y1="1194" y2="1194"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1574" y="1194">Q7</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1407" x2="1357" y1="1254" y2="1254"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1455" y="1254">EN</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1397" x2="1357" y1="1284" y2="1284"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1493" y="1284">^LOAD</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1397" x2="1357" y1="1314" y2="1314"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1480" y="1314">^CLR</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1607" x2="1657" y1="1254" y2="1254"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1564" y="1254">RCO</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1407" x2="1357" y1="1344" y2="1344"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1468" y="1344">CLK</text>
<rect fill="#c0dcc0" fill-opacity="0.5" height="500" stroke="#000000" stroke-width="5" width="200" x="1407" y="934"/>
<polyline fill="none" points="1407 1334, 1417 1344, 1407 1354" stroke="#000000" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<circle cx="1402" cy="1284" fill="#ffffff" r="6" stroke="#000000" stroke-width="5"/>
<circle cx="1402" cy="1314" fill="#ffffff" r="6" stroke="#000000" stroke-width="5"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="65" font-weight="700" text-anchor="start" x="1447" y="924">PC</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="1447" y="1484">C_SAB8</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2257" x2="2207" y1="984" y2="984"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2290" y="984">A0</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2257" x2="2207" y1="1014" y2="1014"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2290" y="1014">A1</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2257" x2="2207" y1="1044" y2="1044"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2290" y="1044">A2</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2257" x2="2207" y1="1074" y2="1074"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2290" y="1074">A3</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2257" x2="2207" y1="1104" y2="1104"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2290" y="1104">A4</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2257" x2="2207" y1="1134" y2="1134"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2290" y="1134">A5</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2257" x2="2207" y1="1164" y2="1164"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2290" y="1164">A6</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2257" x2="2207" y1="1194" y2="1194"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2290" y="1194">A7</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2407" x2="2457" y1="984" y2="984"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="2374" y="984">D0</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2407" x2="2457" y1="1014" y2="1014"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="2374" y="1014">D1</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2407" x2="2457" y1="1044" y2="1044"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="2374" y="1044">D2</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2407" x2="2457" y1="1074" y2="1074"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="2374" y="1074">D3</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2407" x2="2457" y1="1104" y2="1104"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="2374" y="1104">D4</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2407" x2="2457" y1="1134" y2="1134"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="2374" y="1134">D5</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2407" x2="2457" y1="1164" y2="1164"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="2374" y="1164">D6</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2407" x2="2457" y1="1194" y2="1194"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="2374" y="1194">D7</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2247" x2="2207" y1="1254" y2="1254"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2301" y="1253">^EN</text>
<rect fill="#a0c0ff" fill-opacity="0.5" height="350" stroke="#000000" stroke-width="5" width="150" x="2257" y="944"/>
<circle cx="2252" cy="1254" fill="none" r="5" stroke="#000000" stroke-width="5"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="2277" y="934">PC_gate</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="2257" y="1344">BUS_TRANS8</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2257" x2="2207" y1="454" y2="454"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2290" y="454">A0</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2257" x2="2207" y1="484" y2="484"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2290" y="484">A1</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2257" x2="2207" y1="514" y2="514"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2290" y="514">A2</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2257" x2="2207" y1="544" y2="544"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2290" y="544">A3</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2257" x2="2207" y1="574" y2="574"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2290" y="574">A4</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2257" x2="2207" y1="604" y2="604"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2290" y="604">A5</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2257" x2="2207" y1="634" y2="634"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2290" y="634">A6</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2257" x2="2207" y1="664" y2="664"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2290" y="664">A7</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2407" x2="2457" y1="454" y2="454"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="2374" y="454">D0</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2407" x2="2457" y1="484" y2="484"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="2374" y="484">D1</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2407" x2="2457" y1="514" y2="514"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="2374" y="514">D2</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2407" x2="2457" y1="544" y2="544"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="2374" y="544">D3</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2407" x2="2457" y1="574" y2="574"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="2374" y="574">D4</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2407" x2="2457" y1="604" y2="604"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="2374" y="604">D5</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2407" x2="2457" y1="634" y2="634"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="2374" y="634">D6</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2407" x2="2457" y1="664" y2="664"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="2374" y="664">D7</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2247" x2="2207" y1="724" y2="724"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2301" y="723">^EN</text>
<rect fill="#a0c0ff" fill-opacity="0.5" height="350" stroke="#000000" stroke-width="5" width="150" x="2257" y="414"/>
<circle cx="2252" cy="724" fill="none" r="5" stroke="#000000" stroke-width="5"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="2257" y="394">PC_D_gate</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="2257" y="814">BUS_TRANS8</text>
<polyline fill="none" points="2787 614, 2787 364, 2907 364" stroke="#000080" stroke-linecap="round" stroke-linejoin="round" stroke-width="20"/>
<polyline fill="none" points="2797 1144, 2797 864, 2907 864" stroke="#000080" stroke-linecap="round" stroke-linejoin="round" stroke-width="20"/>
<polygon fill="#ffff80" points="2907 364, 2907 339, 3062 339, 3087 364, 3062 389, 2907 389, 2907 364" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="2907" y="364">DBUS[7..0]</text>
<polygon fill="#ffff80" points="2907 864, 2907 839, 3062 839, 3087 864, 3062 889, 2907 889, 2907 864" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="2907" y="864">ABUS[7..0]</text>
<polyline fill="none" points="1657 984, 2207 984" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="2207 1014, 1657 1014" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1657 1044, 2207 1044" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="2207 1074, 1657 1074" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1657 1104, 2207 1104" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="2207 1134, 1657 1134" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1657 1164, 2207 1164" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="2207 1194, 1657 1194" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1357 984, 907 984" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1357 1014, 907 1014" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1357 1044, 907 1044" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1357 1074, 907 1074" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1357 1104, 907 1104" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1357 1134, 907 1134" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1357 1164, 907 1164" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1357 1194, 907 1194" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="857" x2="907" y1="1034" y2="984"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="857" x2="907" y1="1064" y2="1014"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="857" x2="907" y1="1094" y2="1044"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="857" x2="907" y1="1154" y2="1104"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="857" x2="907" y1="1184" y2="1134"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="857" x2="907" y1="1214" y2="1164"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="857" x2="907" y1="1244" y2="1194"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="857" x2="907" y1="1124" y2="1074"/>
<polyline fill="none" points="857 1244, 857 964, 607 964" stroke="#000080" stroke-linecap="round" stroke-linejoin="round" stroke-width="20"/>
<polyline fill="none" points="2207 724, 607 724" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1357 1254, 607 1254" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1357 1344, 607 1344" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="2207 1254, 2157 1254, 2157 1514, 607 1514" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="907 1814, 607 1814" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="907 1844, 607 1844" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="907 1904, 607 1904, 507 1904" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="907 2084, 607 2084" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="907 2114, 607 2114" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="907 2144, 607 2144" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1157 1874, 1257 1874, 1257 1714, 1007 1714, 1007 1654" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1007 1594, 607 1594" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1257 1624, 1307 1624, 1307 1284, 1357 1284" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<text alignment-baseline="after-edge" fill="#000080" font-family="宋体" font-size="25" font-weight="400" text-anchor="start" x="17" y="1614">加载中断服务程序入口地址</text>
<polygon fill="#ffff80" points="457 1314, 457 1299, 592 1299, 607 1314, 592 1329, 457 1329, 457 1314" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="457" y="1314">RESET</text>
<polyline fill="none" points="1357 1314, 607 1314" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<circle cx="2017" cy="984" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="2037" cy="1014" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="2057" cy="1044" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="2077" cy="1074" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="2097" cy="1104" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="2117" cy="1134" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="2137" cy="1164" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="2157" cy="1194" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="827" cy="1904" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
</svg>
添加文件
.subckt modulecir10 ISR7 ISR6 ISR5 ISR4 ISR3 ISR2 ISR1 ISR0 IRR7 IRR6 IRR5 IRR4 IRR3 IRR2 IRR1 IRR0 NETU2_3 NETU15_A0 NETU15_A1 NETU15_A2
aU11 ISR7 NETU11_2 NOT
aU12 ISR6 NETU12_2 NOT
aU13 ISR5 NETU13_2 NOT
aU14 ISR4 NETU14_2 NOT
aU16 ISR3 NETU16_2 NOT
aU17 ISR2 NETU17_2 NOT
aU18 ISR1 NETU18_2 NOT
aU19 ISR0 NETU19_2 NOT
aU21 IRR7 NETU15_D0 NOT
aU22 IRR6 NETU15_D1 NOT
aU23 IRR5 NETU15_D2 NOT
aU24 IRR4 NETU15_D3 NOT
aU25 IRR3 NETU15_D4 NOT
aU26 IRR2 NETU15_D5 NOT
aU27 IRR1 NETU15_D6 NOT
aU28 IRR0 NETU15_D7 NOT
aU4 NETU15_GS NETU2_2 NOT
aU5 NETU5_1 NETU1_AGTB NOT
aU8 NETU1_OALTB NETU20_2 NOT
.model NOT d_inverter(rise_delay = 1e-9 fall_delay = 1e-9 input_load = 1e-3)
aU2 [ NETU20_3 NETU2_2] NETU2_3 AND
aU20 [ NETU1_OAGTB NETU20_2] NETU20_3 AND
.model AND d_and(rise_delay = 1e-9 fall_delay = 1e-9 input_load = 1e-3)
xU15 NETU15_D0 NETU15_D1 NETU15_D2 NETU15_D3 NETU15_D4 NETU15_D5 NETU15_D6 NETU15_D7 NETU15_^EI NETU15_EO NETU15_GS NETU15_A2 NETU15_A1 NETU15_A0 74LS148D
xU7 NETU11_2 NETU12_2 NETU13_2 NETU14_2 NETU16_2 NETU17_2 NETU18_2 NETU19_2 NETU7_^EI NETU5_1 NETU7_GS NETU1_A2 NETU1_A1 NETU1_A0 74LS148D
.subckt 74LS148D D0 D1 D2 D3 D4 D5 D6 D7 EI EO GS A2 A1 A0
aU1 D2 NetU10_1 NOT
aU2 NetU10_1 NetU2_2 NOT
aU18 D1 NetU18_2 NOT
aU19 D3 NetU11_1 NOT
aU20 D4 NetU14_1 NOT
aU21 D5 NetU15_1 NOT
aU22 D6 NetU12_1 NOT
aU23 EI NetU10_4 NOT
aU24 D7 NetU13_1 NOT
aU25 NetU14_1 NetU10_2 NOT
aU26 NetU15_1 NetU10_3 NOT
aU27 NetU12_1 NetU27_2 NOT
.model NOT d_inverter(rise_delay = 1e-9 fall_delay = 1e-9 input_load = 1e-3)
aU3 [ NetU18_2 NetU2_2 NetU10_2 NetU27_2 NetU10_4] NetU29_1 AND5
.model AND5 d_and(rise_delay = 1e-9 fall_delay = 1e-9 input_load = 1e-3)
aU4 [ NetU11_1 NetU10_2 NetU27_2 NetU10_4] NetU29_2 AND4
aU10 [ NetU10_1 NetU10_2 NetU10_3 NetU10_4] NetU10_5 AND4
aU11 [ NetU11_1 NetU10_2 NetU10_3 NetU10_4] NetU11_5 AND4
.model AND4 d_and(rise_delay = 1e-9 fall_delay = 1e-9 input_load = 1e-3)
aU5 [ D6 D7 NetU10_4] NetU5_4 NAND3
.model NAND3 d_nand(rise_delay = 1e-9 fall_delay = 1e-9 input_load = 1e-3)
aU6 [ D0 D1 D2 D3 D4 D5] NetU6_7 NAND6
.model NAND6 d_nand(rise_delay = 1e-9 fall_delay = 1e-9 input_load = 1e-3)
aU9 [ NetU13_1 NetU10_4] NetU29_4 AND
aU12 [ NetU12_1 NetU10_4] NetU12_3 AND
aU13 [ NetU13_1 NetU10_4] NetU13_3 AND
aU14 [ NetU14_1 NetU10_4] NetU14_3 AND
aU15 [ NetU15_1 NetU10_4] NetU15_3 AND
aU16 [ NetU12_1 NetU10_4] NetU16_3 AND
aU17 [ NetU13_1 NetU10_4] NetU17_3 AND
.model AND d_and(rise_delay = 1e-9 fall_delay = 1e-9 input_load = 1e-3)
aU8 [ NetU15_1 NetU27_2 NetU10_4] NetU29_3 AND3
.model AND3 d_and(rise_delay = 1e-9 fall_delay = 1e-9 input_load = 1e-3)
aU7 [ NetU6_7 NetU5_4] EO OR
.model OR d_or(rise_delay = 1e-9 fall_delay = 1e-9 input_load = 1e-3)
aU28 [ EO NetU10_4] GS NAND
.model NAND d_nand(rise_delay = 1e-9 fall_delay = 1e-9 input_load = 1e-3)
aU29 [ NetU29_1 NetU29_2 NetU29_3 NetU29_4] A0 NOR4
aU30 [ NetU10_5 NetU11_5 NetU12_3 NetU13_3] A1 NOR4
aU31 [ NetU14_3 NetU15_3 NetU16_3 NetU17_3] A2 NOR4
.model NOR4 d_nor(rise_delay = 1e-9 fall_delay = 1e-9 input_load = 1e-3)
.ends
xU1 NETU1_A3 NETU1_B3 NETU1_A2 NETU15_A2 NETU1_A1 NETU15_A1 NETU1_A0 NETU15_A0 NETU1_AGTB NETU1_AEQB NETU1_ALTB NETU1_OALTB NETU1_OAEQB NETU1_OAGTB 74LS85D
.subckt 74LS85D A3 B3 A2 B2 A1 B1 A0 B0 AGTB AEQB ALTB OALTB OAEQB OAGTB
aU1 [ A3 B3] NetU1_3 NAND
aU11 [ A2 B2] NetU11_3 NAND
aU24 [ A1 B1] NetU19_2 NAND
aU28 [ A0 B0] NetU21_4 NAND
.model NAND d_nand(rise_delay = 1e-9 fall_delay = 1e-9 input_load = 1e-3)
aU2 [ A3 NetU1_3] NetU2_3 AND
aU3 [ NetU1_3 B3] Net17_1 AND
aU5 [ B3 NetU1_3] NetU37_1 AND
aU13 [ A2 NetU11_3] NetU12_1 AND
aU14 [ NetU11_3 B2] NetU12_2 AND
aU19 [ A1 NetU19_2] NetU18_1 AND
aU20 [ NetU19_2 B1] NetU18_2 AND
aU26 [ A0 NetU21_4] NetU25_1 AND
aU27 [ NetU21_4 B0] NetU25_2 AND
aU29 [ NetU1_3 A3] NetU29_3 AND
.model AND d_and(rise_delay = 1e-9 fall_delay = 1e-9 input_load = 1e-3)
aU4 [ NetU2_3 Net17_1] NetU10_1 NOR
aU12 [ NetU12_1 NetU12_2] NetU10_2 NOR
aU18 [ NetU18_1 NetU18_2] NetU10_3 NOR
aU25 [ NetU25_1 NetU25_2] NetU10_4 NOR
.model NOR d_nor(rise_delay = 1e-9 fall_delay = 1e-9 input_load = 1e-3)
aU6 [ B2 NetU11_3 NetU10_1] NetU38_1 AND3
aU23 [ NetU10_1 NetU11_3 A2] NetU23_4 AND3
.model AND3 d_and(rise_delay = 1e-9 fall_delay = 1e-9 input_load = 1e-3)
aU7 [ B1 NetU19_2 NetU10_1 NetU10_2] NetU39_1 AND4
aU22 [ NetU10_2 NetU10_1 NetU19_2 A1] NetU22_5 AND4
.model AND4 d_and(rise_delay = 1e-9 fall_delay = 1e-9 input_load = 1e-3)
aU8 [ B0 NetU21_4 NetU10_1 NetU10_2 NetU10_3] NetU40_1 AND5
aU9 [ NetU10_1 NetU10_2 NetU10_3 NetU10_4 ALTB] NetU41_1 AND5
aU10 [ NetU10_1 NetU10_2 NetU10_3 NetU10_4 AEQB] NetU10_6 AND5
aU15 [ NetU10_1 NetU10_2 AEQB NetU10_3 NetU10_4] OAEQB AND5
aU16 [ AEQB NetU10_4 NetU10_3 NetU10_2 NetU10_1] NetU16_6 AND5
aU17 [ AGTB NetU10_4 NetU10_2 NetU10_3 NetU10_1] NetU17_6 AND5
aU21 [ NetU10_3 NetU10_2 NetU10_1 NetU21_4 A0] NetU21_6 AND5
.model AND5 d_and(rise_delay = 1e-9 fall_delay = 1e-9 input_load = 1e-3)
aU30 NetU29_3 NetU30_2 NOT
aU31 NetU23_4 NetU31_2 NOT
aU32 NetU22_5 NetU32_2 NOT
aU33 NetU21_6 NetU33_2 NOT
aU34 NetU17_6 NetU34_2 NOT
aU35 NetU16_6 NetU35_2 NOT
aU37 NetU37_1 NetU37_2 NOT
aU38 NetU38_1 NetU38_2 NOT
aU39 NetU39_1 NetU39_2 NOT
aU40 NetU40_1 NetU40_2 NOT
aU41 NetU41_1 NetU41_2 NOT
aU42 NetU10_6 NetU42_2 NOT
.model NOT d_inverter(rise_delay = 1e-9 fall_delay = 1e-9 input_load = 1e-3)
aU36 [ NetU35_2 NetU34_2 NetU33_2 NetU32_2 NetU31_2 NetU30_2] OALTB AND6
aU43 [ NetU37_2 NetU38_2 NetU39_2 NetU40_2 NetU41_2 NetU42_2] OAGTB AND6
.model AND6 d_and(rise_delay = 1e-9 fall_delay = 1e-9 input_load = 1e-3)
x17 Net17_1 PROB
.subckt PROB 1
a1 1 2 InputBuffer
a2 2 Digload
.MODEL Digload d_pulldown(load = 1e-12)
.MODEL InputBuffer d_buffer (rise_delay = 1n fall_delay = 1n)
.ends
.ends
.ends
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<svg height="2006" version="1.1" width="3443" xmlns="http://www.w3.org/2000/svg">
<polygon fill="#ffff80" points="21 894, 21 869, 146 869, 171 894, 146 919, 21 919, 21 894" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="21" y="894">ISR[7..0]</text>
<polygon fill="#ffff80" points="21 1294, 21 1269, 146 1269, 171 1294, 146 1319, 21 1319, 21 1294" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="21" y="1294">IRR[7..0]</text>
<polyline fill="none" points="171 894, 321 894, 321 1144, 321 1194" stroke="#000080" stroke-linecap="round" stroke-linejoin="round" stroke-width="20"/>
<polyline fill="none" points="171 1294, 321 1294, 321 1594" stroke="#000080" stroke-linecap="round" stroke-linejoin="round" stroke-width="20"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="321" x2="371" y1="1194" y2="1144"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="321" x2="371" y1="1164" y2="1114"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="321" x2="371" y1="1134" y2="1084"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="321" x2="371" y1="1104" y2="1054"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="321" x2="371" y1="1074" y2="1024"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="321" x2="371" y1="1044" y2="994"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="321" x2="371" y1="1014" y2="964"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="321" x2="371" y1="984" y2="934"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="321" x2="371" y1="1594" y2="1544"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="321" x2="371" y1="1564" y2="1514"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="321" x2="371" y1="1534" y2="1484"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="321" x2="371" y1="1504" y2="1454"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="321" x2="371" y1="1474" y2="1424"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="321" x2="371" y1="1444" y2="1394"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="321" x2="371" y1="1414" y2="1364"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="321" x2="371" y1="1384" y2="1334"/>
<polyline fill="none" points="371 934, 521 934" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="371 964, 521 964" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="371 994, 521 994" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="371 1024, 521 1024" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="371 1054, 521 1054" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="371 1084, 521 1084" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="371 1114, 521 1114" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="371 1144, 521 1144" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="371 1334, 521 1334" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="371 1364, 521 1364" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="371 1394, 521 1394" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="371 1424, 521 1424" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="371 1454, 521 1454" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="371 1484, 521 1484" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="371 1514, 521 1514" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="371 1544, 521 1544" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="371" y="934">ISR7</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="371" y="964">ISR6</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="371" y="994">ISR5</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="371" y="1024">ISR4</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="371" y="1054">ISR3</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="371" y="1084">ISR2</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="371" y="1114">ISR1</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="371" y="1144">ISR0</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="371" y="1334">IRR7</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="371" y="1364">IRR6</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="371" y="1394">IRR5</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="371" y="1424">IRR4</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="371" y="1454">IRR3</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="371" y="1484">IRR2</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="371" y="1514">IRR1</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="371" y="1544">IRR0</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="761" x2="721" y1="1334" y2="1334"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="818" y="1334">D0</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="754" y="1333">10</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="761" x2="721" y1="1364" y2="1364"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="818" y="1365">D1</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="754" y="1363">11</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="761" x2="721" y1="1394" y2="1394"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="818" y="1395">D2</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="754" y="1393">12</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="761" x2="721" y1="1424" y2="1424"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="818" y="1425">D3</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="754" y="1423">13</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="761" x2="721" y1="1454" y2="1454"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="819" y="1455">D4</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="740" y="1452">1</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="761" x2="721" y1="1484" y2="1484"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="819" y="1487">D5</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="740" y="1482">2</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="761" x2="721" y1="1514" y2="1514"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="818" y="1516">D6</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="740" y="1512">3</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="761" x2="721" y1="1544" y2="1544"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="818" y="1547">D7</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="740" y="1542">4</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="761" x2="721" y1="1574" y2="1574"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="831" y="1574">^EI</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="740" y="1572">5</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="921" x2="971" y1="1484" y2="1484"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="888" y="1484">EO</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="938" y="1484">15</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="921" x2="971" y1="1454" y2="1454"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="888" y="1454">GS</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="938" y="1454">14</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="921" x2="971" y1="1394" y2="1394"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="888" y="1394">A2</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="951" y="1393">6</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="921" x2="971" y1="1364" y2="1364"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="888" y="1364">A1</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="951" y="1363">7</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="921" x2="971" y1="1334" y2="1334"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="888" y="1334">A0</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="951" y="1333">9</text>
<circle cx="765" cy="1334" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="765" cy="1364" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="765" cy="1483" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="767" cy="1544" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="767" cy="1574" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="766" cy="1453" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="765" cy="1394" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="765" cy="1513" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="765" cy="1423" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<rect fill="#ffffff" fill-opacity="0.5" height="295" stroke="#000000" stroke-width="5" width="150" x="772" y="1307"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="836" y="1296">U15</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="774" y="1653">74LS148D</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="761" x2="721" y1="934" y2="934"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="818" y="934">D0</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="754" y="933">10</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="761" x2="721" y1="964" y2="964"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="818" y="965">D1</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="754" y="963">11</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="761" x2="721" y1="994" y2="994"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="818" y="995">D2</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="754" y="993">12</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="761" x2="721" y1="1024" y2="1024"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="818" y="1025">D3</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="754" y="1023">13</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="761" x2="721" y1="1054" y2="1054"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="819" y="1055">D4</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="740" y="1052">1</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="761" x2="721" y1="1084" y2="1084"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="819" y="1087">D5</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="740" y="1082">2</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="761" x2="721" y1="1114" y2="1114"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="818" y="1116">D6</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="740" y="1112">3</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="761" x2="721" y1="1144" y2="1144"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="818" y="1147">D7</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="740" y="1142">4</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="761" x2="721" y1="1174" y2="1174"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="831" y="1174">^EI</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="740" y="1172">5</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="921" x2="971" y1="1084" y2="1084"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="888" y="1084">EO</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="938" y="1084">15</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="921" x2="971" y1="1054" y2="1054"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="888" y="1054">GS</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="938" y="1054">14</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="921" x2="971" y1="994" y2="994"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="888" y="994">A2</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="951" y="993">6</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="921" x2="971" y1="964" y2="964"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="888" y="964">A1</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="951" y="963">7</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="921" x2="971" y1="934" y2="934"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="888" y="934">A0</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="951" y="933">9</text>
<circle cx="765" cy="934" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="765" cy="964" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="765" cy="1083" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="767" cy="1144" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="767" cy="1174" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="766" cy="1053" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="765" cy="994" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="765" cy="1113" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="765" cy="1023" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<rect fill="#ffffff" fill-opacity="0.5" height="295" stroke="#000000" stroke-width="5" width="150" x="772" y="907"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="836" y="896">U7</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="774" y="1253">74LS148D</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1771" x2="1721" y1="934" y2="934"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1814" y="934">A3</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1756" y="934">15</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1771" x2="1721" y1="964" y2="964"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1814" y="964">B3</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1742" y="963">1</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1771" x2="1721" y1="994" y2="994"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1814" y="994">A2</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1756" y="994">13</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1771" x2="1721" y1="1024" y2="1024"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1814" y="1024">B2</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1756" y="1024">14</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1771" x2="1721" y1="1084" y2="1084"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1814" y="1084">A1</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1756" y="1084">12</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1771" x2="1721" y1="1114" y2="1114"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1814" y="1114">B1</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1756" y="1114">11</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1771" x2="1721" y1="1144" y2="1144"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1814" y="1144">A0</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1756" y="1144">10</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1771" x2="1721" y1="1174" y2="1174"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1814" y="1174">B0</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1742" y="1175">9</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1771" x2="1721" y1="1244" y2="1244"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1843" y="1244">AGTB</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1741" y="1245">4</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1771" x2="1721" y1="1274" y2="1274"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1843" y="1274">AEQB</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1741" y="1275">3</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1771" x2="1721" y1="1304" y2="1304"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1843" y="1304">ALTB</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1742" y="1304">2</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1921" x2="1971" y1="994" y2="994"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="1878" y="994">OALTB</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1948" y="994">7</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1921" x2="1971" y1="964" y2="964"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="1878" y="964">OAEQB</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1948" y="964">6</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1921" x2="1971" y1="934" y2="934"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="1878" y="934">OAGTB</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1948" y="934">5</text>
<rect fill="#ffffff" fill-opacity="0.5" height="430" stroke="#000000" stroke-width="5" width="150" x="1771" y="904"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="1836" y="893">U1</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="1781" y="1374">74LS85D</text>
<polyline fill="none" points="971 994, 1721 994" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="971 964, 1671 964, 1671 1084, 1721 1084" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="971 934, 1641 934, 1641 1144, 1721 1144" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="971 1334, 1521 1334, 1521 1174, 1721 1174" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="971 1364, 1491 1364, 1491 1114, 1721 1114" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="971 1394, 1461 1394, 1461 1024, 1721 1024" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1461 1394, 1461 1694, 2221 1694, 3271 1694" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1491 1364, 1491 1594, 2221 1594, 3271 1594" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1521 1334, 1521 1494, 2221 1494, 3271 1494" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="2671 964, 2921 964" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polygon fill="#ffff80" points="3271 994, 3271 969, 3396 969, 3421 994, 3396 1019, 3271 1019, 3271 994" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="3271" y="994">INTR</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="581" x2="521" y1="934" y2="934"/>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="661" x2="721" y1="934" y2="934"/>
<circle cx="657" cy="934" fill="none" r="5" stroke="#000000" stroke-width="5"/>
<polygon fill="#ffffff" fill-opacity="0.5" points="581 884, 581 984, 651 934, 581 884" stroke="#000000" stroke-width="5"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="601" y="898">U11</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="581" y="1030">NOT</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="581" x2="521" y1="964" y2="964"/>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="661" x2="721" y1="964" y2="964"/>
<circle cx="657" cy="964" fill="none" r="5" stroke="#000000" stroke-width="5"/>
<polygon fill="#ffffff" fill-opacity="0.5" points="581 914, 581 1014, 651 964, 581 914" stroke="#000000" stroke-width="5"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="601" y="928">U12</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="581" y="1060">NOT</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="581" x2="521" y1="994" y2="994"/>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="661" x2="721" y1="994" y2="994"/>
<circle cx="657" cy="994" fill="none" r="5" stroke="#000000" stroke-width="5"/>
<polygon fill="#ffffff" fill-opacity="0.5" points="581 944, 581 1044, 651 994, 581 944" stroke="#000000" stroke-width="5"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="601" y="958">U13</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="581" y="1090">NOT</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="581" x2="521" y1="1024" y2="1024"/>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="661" x2="721" y1="1024" y2="1024"/>
<circle cx="657" cy="1024" fill="none" r="5" stroke="#000000" stroke-width="5"/>
<polygon fill="#ffffff" fill-opacity="0.5" points="581 974, 581 1074, 651 1024, 581 974" stroke="#000000" stroke-width="5"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="601" y="988">U14</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="581" y="1120">NOT</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="581" x2="521" y1="1054" y2="1054"/>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="661" x2="721" y1="1054" y2="1054"/>
<circle cx="657" cy="1054" fill="none" r="5" stroke="#000000" stroke-width="5"/>
<polygon fill="#ffffff" fill-opacity="0.5" points="581 1004, 581 1104, 651 1054, 581 1004" stroke="#000000" stroke-width="5"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="601" y="1018">U16</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="581" y="1150">NOT</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="581" x2="521" y1="1084" y2="1084"/>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="661" x2="721" y1="1084" y2="1084"/>
<circle cx="657" cy="1084" fill="none" r="5" stroke="#000000" stroke-width="5"/>
<polygon fill="#ffffff" fill-opacity="0.5" points="581 1034, 581 1134, 651 1084, 581 1034" stroke="#000000" stroke-width="5"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="601" y="1048">U17</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="581" y="1180">NOT</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="581" x2="521" y1="1114" y2="1114"/>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="661" x2="721" y1="1114" y2="1114"/>
<circle cx="657" cy="1114" fill="none" r="5" stroke="#000000" stroke-width="5"/>
<polygon fill="#ffffff" fill-opacity="0.5" points="581 1064, 581 1164, 651 1114, 581 1064" stroke="#000000" stroke-width="5"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="601" y="1078">U18</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="581" y="1210">NOT</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="581" x2="521" y1="1144" y2="1144"/>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="661" x2="721" y1="1144" y2="1144"/>
<circle cx="657" cy="1144" fill="none" r="5" stroke="#000000" stroke-width="5"/>
<polygon fill="#ffffff" fill-opacity="0.5" points="581 1094, 581 1194, 651 1144, 581 1094" stroke="#000000" stroke-width="5"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="601" y="1108">U19</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="581" y="1240">NOT</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="581" x2="521" y1="1334" y2="1334"/>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="661" x2="721" y1="1334" y2="1334"/>
<circle cx="657" cy="1334" fill="none" r="5" stroke="#000000" stroke-width="5"/>
<polygon fill="#ffffff" fill-opacity="0.5" points="581 1284, 581 1384, 651 1334, 581 1284" stroke="#000000" stroke-width="5"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="601" y="1298">U21</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="581" y="1430">NOT</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="581" x2="521" y1="1364" y2="1364"/>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="661" x2="721" y1="1364" y2="1364"/>
<circle cx="657" cy="1364" fill="none" r="5" stroke="#000000" stroke-width="5"/>
<polygon fill="#ffffff" fill-opacity="0.5" points="581 1314, 581 1414, 651 1364, 581 1314" stroke="#000000" stroke-width="5"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="601" y="1328">U22</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="581" y="1460">NOT</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="581" x2="521" y1="1394" y2="1394"/>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="661" x2="721" y1="1394" y2="1394"/>
<circle cx="657" cy="1394" fill="none" r="5" stroke="#000000" stroke-width="5"/>
<polygon fill="#ffffff" fill-opacity="0.5" points="581 1344, 581 1444, 651 1394, 581 1344" stroke="#000000" stroke-width="5"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="601" y="1358">U23</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="581" y="1490">NOT</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="581" x2="521" y1="1424" y2="1424"/>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="661" x2="721" y1="1424" y2="1424"/>
<circle cx="657" cy="1424" fill="none" r="5" stroke="#000000" stroke-width="5"/>
<polygon fill="#ffffff" fill-opacity="0.5" points="581 1374, 581 1474, 651 1424, 581 1374" stroke="#000000" stroke-width="5"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="601" y="1388">U24</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="581" y="1520">NOT</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="581" x2="521" y1="1454" y2="1454"/>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="661" x2="721" y1="1454" y2="1454"/>
<circle cx="657" cy="1454" fill="none" r="5" stroke="#000000" stroke-width="5"/>
<polygon fill="#ffffff" fill-opacity="0.5" points="581 1404, 581 1504, 651 1454, 581 1404" stroke="#000000" stroke-width="5"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="601" y="1418">U25</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="581" y="1550">NOT</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="581" x2="521" y1="1484" y2="1484"/>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="661" x2="721" y1="1484" y2="1484"/>
<circle cx="657" cy="1484" fill="none" r="5" stroke="#000000" stroke-width="5"/>
<polygon fill="#ffffff" fill-opacity="0.5" points="581 1434, 581 1534, 651 1484, 581 1434" stroke="#000000" stroke-width="5"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="601" y="1448">U26</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="581" y="1580">NOT</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="581" x2="521" y1="1514" y2="1514"/>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="661" x2="721" y1="1514" y2="1514"/>
<circle cx="657" cy="1514" fill="none" r="5" stroke="#000000" stroke-width="5"/>
<polygon fill="#ffffff" fill-opacity="0.5" points="581 1464, 581 1564, 651 1514, 581 1464" stroke="#000000" stroke-width="5"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="601" y="1478">U27</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="581" y="1610">NOT</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="581" x2="521" y1="1544" y2="1544"/>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="661" x2="721" y1="1544" y2="1544"/>
<circle cx="657" cy="1544" fill="none" r="5" stroke="#000000" stroke-width="5"/>
<polygon fill="#ffffff" fill-opacity="0.5" points="581 1494, 581 1594, 651 1544, 581 1494" stroke="#000000" stroke-width="5"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="601" y="1508">U28</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="581" y="1640">NOT</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2981" x2="2921" y1="964" y2="964"/>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2981" x2="2921" y1="1024" y2="1024"/>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="3111" x2="3171" y1="994" y2="994"/>
<path d="M3059 942 A 47 47 0 1 1 3059 1035" fill="none" stroke="#000000" stroke-linecap="round" stroke-width="5"/>
<polyline fill="none" points="3060 1036, 2981 1036, 2981 942, 3060 942" stroke="#000000" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="3022" y="936">U2</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="3005" y="1082">AND</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1181" x2="1121" y1="1894" y2="1894"/>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1261" x2="1321" y1="1894" y2="1894"/>
<circle cx="1257" cy="1894" fill="none" r="5" stroke="#000000" stroke-width="5"/>
<polygon fill="#ffffff" fill-opacity="0.5" points="1181 1844, 1181 1944, 1251 1894, 1181 1844" stroke="#000000" stroke-width="5"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="1201" y="1858">U4</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="1181" y="1990">NOT</text>
<polyline fill="none" points="971 1454, 1121 1454, 1121 1894" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<text alignment-baseline="after-edge" fill="#000080" font-family="宋体" font-size="25" font-weight="400" text-anchor="start" x="981" y="1444">GS=0表示有外部中断请求</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1131" x2="1071" y1="1084" y2="1084"/>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1211" x2="1271" y1="1084" y2="1084"/>
<circle cx="1207" cy="1084" fill="none" r="5" stroke="#000000" stroke-width="5"/>
<polygon fill="#ffffff" fill-opacity="0.5" points="1131 1034, 1131 1134, 1201 1084, 1131 1034" stroke="#000000" stroke-width="5"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="1151" y="1048">U5</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="1131" y="1180">NOT</text>
<polyline fill="none" points="971 1084, 1071 1084" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1721 1244, 1271 1244, 1271 1084" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="微软雅黑" font-size="250" font-weight="700" text-anchor="start" x="501" y="314">PR优先级判别器</text>
<text alignment-baseline="after-edge" fill="#000080" font-family="宋体" font-size="25" font-weight="400" text-anchor="start" x="2121" y="1194">AGTB AEQB ALTB OAGTB OAEQB OALTB</text>
<text alignment-baseline="after-edge" fill="#000080" font-family="宋体" font-size="25" font-weight="400" text-anchor="start" x="2121" y="1294">0 0 0 1 0 1</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2081" x2="2021" y1="994" y2="994"/>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2161" x2="2221" y1="994" y2="994"/>
<circle cx="2157" cy="994" fill="none" r="5" stroke="#000000" stroke-width="5"/>
<polygon fill="#ffffff" fill-opacity="0.5" points="2081 944, 2081 1044, 2151 994, 2081 944" stroke="#000000" stroke-width="5"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="2101" y="958">U8</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="2081" y="1090">NOT</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2481" x2="2421" y1="934" y2="934"/>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2481" x2="2421" y1="994" y2="994"/>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2611" x2="2671" y1="964" y2="964"/>
<path d="M2559 912 A 47 47 0 0 1 2559 1005" fill="none" stroke="#000000" stroke-linecap="round" stroke-width="5"/>
<polyline fill="none" points="2560 1006, 2481 1006, 2481 912, 2560 912" stroke="#000000" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="2522" y="906">U20</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="2505" y="1052">AND</text>
<text alignment-baseline="after-edge" fill="#000080" font-family="宋体" font-size="25" font-weight="400" text-anchor="start" x="2261" y="824">A&gt;B,有更高优先级的中断请求</text>
<text alignment-baseline="after-edge" fill="#000080" font-family="宋体" font-size="25" font-weight="400" text-anchor="start" x="2121" y="1144">A=B时输入输出逻辑关系</text>
<polyline fill="none" points="1971 994, 2021 994" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<text alignment-baseline="after-edge" fill="#000080" font-family="微软雅黑" font-size="60" font-weight="700" text-anchor="start" x="921" y="514">固定优先级,0级中断优先级最高</text>
<polygon fill="#ffff80" points="3271 1494, 3271 1469, 3396 1469, 3421 1494, 3396 1519, 3271 1519, 3271 1494" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="3271" y="1494">IRNM0</text>
<polygon fill="#ffff80" points="3271 1594, 3271 1569, 3396 1569, 3421 1594, 3396 1619, 3271 1619, 3271 1594" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="3271" y="1594">IRNM1</text>
<polygon fill="#ffff80" points="3271 1694, 3271 1669, 3396 1669, 3421 1694, 3396 1719, 3271 1719, 3271 1694" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="3271" y="1694">IRNM2</text>
<polyline fill="none" points="1971 934, 2421 934" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="2221 994, 2421 994" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1321 1894, 2871 1894, 2871 1024, 2921 1024" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="3171 994, 3271 994" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<circle cx="1521" cy="1334" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="1491" cy="1364" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="1461" cy="1394" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
</svg>
添加文件
.subckt modulecir2 NETU10_A NETU10_B NETU9_^1G NETU10_^1G NETASR_CLK NETIA_GATE_^EN NETSP_GATE_^EN NETASR_GATE_^EN NETIA_^EN NETSP_^EN NETASR_^EN NETCST_^U\D NETCST_^LOAD NETCST_GATE_^EN DBUS7 DBUS6 DBUS5 DBUS4 DBUS3 DBUS2 DBUS1 DBUS0 DBUS7 DBUS6 DBUS5 DBUS4 DBUS3 DBUS2 DBUS1 DBUS0
xU9 NETU9_^1G NETU10_A NETU10_B NETR0_^EN NETR1_^EN NETR2_^EN NETR3_^EN 74LS139D
xU10 NETU10_^1G NETU10_A NETU10_B NETR0_GATE_^EN NETR1_GATE_^EN NETR2_GATE_^EN NETR3_GATE_^EN 74LS139D
.subckt 74LS139D ^1G 1A 1B 1Y0 1Y1 1Y2 1Y3
aU1 ^1G NetU1_2 NOT
aU2 1A NetU16_1 NOT
aU3 1B NetU17_1 NOT
aU16 NetU16_1 NetU16_2 NOT
aU17 NetU17_1 NetU17_2 NOT
.model NOT d_inverter(rise_delay = 1e-9 fall_delay = 1e-9 input_load = 1e-3)
aU4 [ NetU1_2 NetU16_1 NetU17_1] 1Y0 NAND3
aU5 [ NetU1_2 NetU17_1 NetU16_2] 1Y1 NAND3
aU6 [ NetU1_2 NetU16_1 NetU17_2] 1Y2 NAND3
aU7 [ NetU1_2 NetU16_2 NetU17_2] 1Y3 NAND3
.model NAND3 d_nand(rise_delay = 1e-9 fall_delay = 1e-9 input_load = 1e-3)
.ends
xR0 DBUS0 DBUS1 DBUS2 DBUS3 DBUS4 DBUS5 DBUS6 DBUS7 NETR0_GATE_A0 NETR0_GATE_A1 NETR0_GATE_A2 NETR0_GATE_A3 NETR0_GATE_A4 NETR0_GATE_A5 NETR0_GATE_A6 NETR0_GATE_A7 NETR0_^EN NETASR_CLK REG_EN8
xR1 DBUS0 DBUS1 DBUS2 DBUS3 DBUS4 DBUS5 DBUS6 DBUS7 NETR1_GATE_A0 NETR1_GATE_A1 NETR1_GATE_A2 NETR1_GATE_A3 NETR1_GATE_A4 NETR1_GATE_A5 NETR1_GATE_A6 NETR1_GATE_A7 NETR1_^EN NETASR_CLK REG_EN8
xR2 DBUS0 DBUS1 DBUS2 DBUS3 DBUS4 DBUS5 DBUS6 DBUS7 NETR2_GATE_A0 NETR2_GATE_A1 NETR2_GATE_A2 NETR2_GATE_A3 NETR2_GATE_A4 NETR2_GATE_A5 NETR2_GATE_A6 NETR2_GATE_A7 NETR2_^EN NETASR_CLK REG_EN8
xR3 DBUS0 DBUS1 DBUS2 DBUS3 DBUS4 DBUS5 DBUS6 DBUS7 NETR3_GATE_A0 NETR3_GATE_A1 NETR3_GATE_A2 NETR3_GATE_A3 NETR3_GATE_A4 NETR3_GATE_A5 NETR3_GATE_A6 NETR3_GATE_A7 NETR3_^EN NETASR_CLK REG_EN8
xIA DBUS0 DBUS1 DBUS2 NETIA_D3 NETIA_D3 NETIA_D3 NETIA_D3 NETIA_D3 NETIA_GATE_A0 NETIA_GATE_A1 NETIA_GATE_A2 NETIA_GATE_A3 NETIA_GATE_A4 NETIA_GATE_A5 NETIA_GATE_A6 NETIA_GATE_A7 NETIA_^EN NETASR_CLK REG_EN8
xASR DBUS0 DBUS1 DBUS2 DBUS3 DBUS4 DBUS5 DBUS6 DBUS7 NETASR_GATE_A0 NETASR_GATE_A1 NETASR_GATE_A2 NETASR_GATE_A3 NETASR_GATE_A4 NETASR_GATE_A5 NETASR_GATE_A6 NETASR_GATE_A7 NETASR_^EN NETASR_CLK REG_EN8
xSP DBUS0 DBUS1 DBUS2 DBUS3 DBUS4 DBUS5 DBUS6 DBUS7 NETCST_D0 NETCST_D1 NETCST_D2 NETCST_D3 NETCST_D4 NETCST_D5 NETCST_D6 NETCST_D7 NETSP_^EN NETASR_CLK REG_EN8
.subckt REG_EN8 1D 2D 3D 4D 5D 6D 7D 8D 1Q 2Q 3Q 4Q 5Q 6Q 7Q 8Q ENABLE CLOCK
aU1 [ Q7 NetU1_2] NetU1_3 AND
aU3 [ 8D NetU14_2] NetU3_3 AND
aU7 [ Q6 NetU7_2] NetU10_1 AND
aU8 [ 7D NetU14_2] NetU10_2 AND
aU13 [ Q5 NetU13_2] NetU13_3 AND
aU14 [ 6D NetU14_2] NetU14_3 AND
aU19 [ Q4 NetU19_2] NetU19_3 AND
aU20 [ 5D NetU14_2] NetU20_3 AND
aU25 [ Q3 NetU25_2] NetU25_3 AND
aU26 [ 4D NetU14_2] NetU26_3 AND
aU31 [ Q2 NetU31_2] NetU31_3 AND
aU32 [ 3D NetU14_2] NetU32_3 AND
aU37 [ Q1 NetU37_2] NetU37_3 AND
aU38 [ 2D NetU14_2] NetU38_3 AND
aU39 [ Q0 NetU39_2] NetU39_3 AND
aU40 [ 1D NetU14_2] NetU40_3 AND
.model AND d_and(rise_delay = 1e-9 fall_delay = 1e-9 input_load = 1e-3)
aU2 NetU14_2 NetU1_2 NOT
aU6 NetU4_3 NetU5_D NOT
aU9 NetU14_2 NetU7_2 NOT
aU11 NetU10_3 NetU11_2 NOT
aU15 NetU14_2 NetU13_2 NOT
aU17 NetU16_3 NetU17_2 NOT
aU22 NetU14_2 NetU19_2 NOT
aU23 NetU21_3 NetU23_2 NOT
aU28 NetU14_2 NetU25_2 NOT
aU29 NetU27_3 NetU29_2 NOT
aU33 NetU14_2 NetU31_2 NOT
aU35 NetU34_3 NetU35_2 NOT
aU41 NetU14_2 NetU37_2 NOT
aU44 NetU42_3 NetU44_2 NOT
aU45 NetU43_3 NetU45_2 NOT
aU48 NetU14_2 NetU39_2 NOT
aU50 EN NetU14_2 NOT
.model NOT d_inverter(rise_delay = 1e-9 fall_delay = 1e-9 input_load = 1e-3)
aU4 [ NetU1_3 NetU3_3] NetU4_3 NOR
aU10 [ NetU10_1 NetU10_2] NetU10_3 NOR
aU16 [ NetU13_3 NetU14_3] NetU16_3 NOR
aU21 [ NetU19_3 NetU20_3] NetU21_3 NOR
aU27 [ NetU25_3 NetU26_3] NetU27_3 NOR
aU34 [ NetU31_3 NetU32_3] NetU34_3 NOR
aU42 [ NetU37_3 NetU38_3] NetU42_3 NOR
aU43 [ NetU39_3 NetU40_3] NetU43_3 NOR
.model NOR d_nor(rise_delay = 1e-9 fall_delay = 1e-9 input_load = 1e-3)
aU5 NetU5_D CLK NetU12_^CLR NetU12_^CLR Q7 NetU5_^Q 74LS74D
aU12 NetU11_2 CLK NetU12_^CLR NetU12_^CLR Q6 NetU12_^Q 74LS74D
aU18 NetU17_2 CLK NetU12_^CLR NetU12_^CLR Q5 NetU18_^Q 74LS74D
aU24 NetU23_2 CLK NetU12_^CLR NetU12_^CLR Q4 NetU24_^Q 74LS74D
aU30 NetU29_2 CLK NetU12_^CLR NetU12_^CLR Q3 NetU30_^Q 74LS74D
aU36 NetU35_2 CLK NetU12_^CLR NetU12_^CLR Q2 NetU36_^Q 74LS74D
aU46 NetU44_2 CLK NetU12_^CLR NetU12_^CLR Q1 NetU46_^Q 74LS74D
aU47 NetU45_2 CLK NetU12_^CLR NetU12_^CLR Q0 NetU47_^Q 74LS74D
.model 74LS74D d_dff(clk_delay = 13.0e-9 set_delay = 25.0e-9 reset_delay = 27.0e-9 ic = 2 rise_delay = 10.0e-9 fall_delay = 3e-9)
xU49 NetU12_^CLR CONSTANT0
.subckt CONSTANT0 constant0
VV1 Net1_1 0 DC 0
a1 [Net1_1] [constant0] ADC
.model ADC adc_bridge(in_low = 0.3 in_high = 1)
.ends
xUClk CLOCK CLK NNOT
xUEN ENABLE EN NNOT
xU2 Q0 1Q NNOT
xU3 Q1 2Q NNOT
xU4 Q3 4Q NNOT
xU5 Q2 3Q NNOT
xU6 Q4 5Q NNOT
xU7 Q5 6Q NNOT
xU8 Q6 7Q NNOT
xU9 Q7 8Q NNOT
.subckt NNOT IN OUT
aU1 IN NetU1_2 NOT
aU2 NetU1_2 OUT NOT
.model NOT d_inverter(rise_delay = 1e-9 fall_delay = 1e-9 input_load = 1e-3)
.ends
.ends
xCST NETCST_D0 NETCST_D1 NETCST_D2 NETCST_D3 NETCST_D4 NETCST_D5 NETCST_D6 NETCST_D7 NETCST_GATE_A0 NETCST_GATE_A1 NETCST_GATE_A2 NETCST_GATE_A3 NETCST_GATE_A4 NETCST_GATE_A5 NETCST_GATE_A6 NETCST_GATE_A7 NETCST_^CTEN NETCST_^LOAD NETCST_^U\D NETCST_^RCO NETCST_MAX\MIN NETASR_CLK HC8
.subckt HC8 D0 D1 D2 D3 D4 D5 D6 D7 1Q 2Q 3Q 4Q 5Q 6Q 7Q 8Q CTEN LOAD U\D RCO MAX\MIN CLOCK
xU1 CLK U\D EN LOAD D0 D1 D2 D3 NETU1_^RC0 NETU1_MAX\MIN Q3 Q2 Q1 Q0 74LS191D
xU2 CLK U\D NETU1_^RC0 LOAD D4 D5 D6 D7 RCO MAX\MIN Q7 Q6 Q5 Q4 74LS191D
.subckt 74LS191D CLK ^U\D ^CTEN ^LOAD A B C D ^RC0 MAX\MIN QD QC QB QA
aU1 CLK NetU1_2 NOT
aU2 ^U\D NetU10_2 NOT
aU3 NetU10_2 NetU3_2 NOT
aU11 ^CTEN NetU11_2 NOT
aU32 ^LOAD NetU13_2 NOT
aU33 NetU31_3 NetU20_^CLR NOT
aU34 NetU27_3 NetU20_^PR NOT
aU35 NetU26_3 NetU19_^CLR NOT
aU36 NetU22_3 NetU19_^PR NOT
aU37 NetU21_3 NetU18_^CLR NOT
aU38 NetU14_3 NetU18_^PR NOT
aU39 NetU13_3 NetU12_^CLR NOT
aU40 NetU13_1 NetU12_^PR NOT
aU41 NetU1_2 NetU12_CLK NOT
.model NOT d_inverter(rise_delay = 1e-9 fall_delay = 1e-9 input_load = 1e-3)
aU4 [ NetU10_2 QA QB QC QD] NetU4_6 AND5
aU5 [ NetU3_2 NetU12_^Q NetU18_^Q NetU19_^Q NetU20_^Q] NetU5_6 AND5
.model AND5 d_and(rise_delay = 1e-9 fall_delay = 1e-9 input_load = 1e-3)
aU6 [ NetU4_6 NetU5_6] MAX\MIN OR
aU17 [ NetU15_3 NetU16_3] NetU17_3 OR
aU25 [ NetU23_4 NetU24_4] NetU19_T OR
aU30 [ NetU28_5 NetU29_5] NetU20_T OR
.model OR d_or(rise_delay = 1e-9 fall_delay = 1e-9 input_load = 1e-3)
aU7 [ A NetU13_2] NetU13_1 NAND
aU13 [ NetU13_1 NetU13_2] NetU13_3 NAND
aU14 [ B NetU13_2] NetU14_3 NAND
aU21 [ NetU14_3 NetU13_2] NetU21_3 NAND
aU22 [ C NetU13_2] NetU22_3 NAND
aU26 [ NetU22_3 NetU13_2] NetU26_3 NAND
aU27 [ D NetU13_2] NetU27_3 NAND
aU31 [ NetU27_3 NetU13_2] NetU31_3 NAND
.model NAND d_nand(rise_delay = 1e-9 fall_delay = 1e-9 input_load = 1e-3)
aU8 [ NetU1_2 NetU11_2 MAX\MIN] ^RC0 NAND3
.model NAND3 d_nand(rise_delay = 1e-9 fall_delay = 1e-9 input_load = 1e-3)
xU9 NetU3_2 ^CTEN NetU16_2 NNAND
xU10 ^CTEN NetU10_2 NetU10_3 NNAND
.subckt NNAND 1 2 3
aU1 1 NetU1_2 NOT
aU2 2 NetU2_2 NOT
.model NOT d_inverter(rise_delay = 1e-9 fall_delay = 1e-9 input_load = 1e-3)
aU3 [ NetU1_2 NetU2_2] 3 AND
.model AND d_and(rise_delay = 1e-9 fall_delay = 1e-9 input_load = 1e-3)
.ends
aU15 [ NetU10_3 NetU12_^Q] NetU15_3 AND
aU16 [ QA NetU16_2] NetU16_3 AND
.model AND d_and(rise_delay = 1e-9 fall_delay = 1e-9 input_load = 1e-3)
aU23 [ NetU10_3 NetU12_^Q NetU18_^Q] NetU23_4 AND3
aU24 [ QA QB NetU16_2] NetU24_4 AND3
.model AND3 d_and(rise_delay = 1e-9 fall_delay = 1e-9 input_load = 1e-3)
aU28 [ NetU10_3 NetU12_^Q NetU18_^Q NetU19_^Q] NetU28_5 AND4
aU29 [ QA QB QC NetU16_2] NetU29_5 AND4
.model AND4 d_and(rise_delay = 1e-9 fall_delay = 1e-9 input_load = 1e-3)
aU20 NetU20_T NetU12_CLK NetU20_^PR NetU20_^CLR QD NetU20_^Q TFLOP
aU19 NetU19_T NetU12_CLK NetU19_^PR NetU19_^CLR QC NetU19_^Q TFLOP
aU18 NetU17_3 NetU12_CLK NetU18_^PR NetU18_^CLR QB NetU18_^Q TFLOP
aU12 NetU11_2 NetU12_CLK NetU12_^PR NetU12_^CLR QA NetU12_^Q TFLOP
.model TFLOP d_tff(clk_delay = 13.0e-9 set_delay = 25.0e-9 reset_delay = 27.0e-9 ic = 2 rise_delay = 10.0e-9 fall_delay = 3e-9 t_load = 0.2e-12)
.ends
xU3 Q0 1Q NNOT
xU4 Q1 2Q NNOT
xU5 Q2 3Q NNOT
xU6 Q3 4Q NNOT
xU7 Q4 5Q NNOT
xU8 Q5 6Q NNOT
xU9 Q6 7Q NNOT
xU10 Q7 8Q NNOT
xU11 CLOCK CLK NNOT
xU12 CTEN EN NNOT
.subckt NNOT IN OUT
aU1 IN NetU1_2 NOT
aU2 NetU1_2 OUT NOT
.model NOT d_inverter(rise_delay = 1e-9 fall_delay = 1e-9 input_load = 1e-3)
.ends
.ends
xU1 NETIA_D3 CONSTANT1
.subckt CONSTANT1 constant1
VV1 Net1_1 0 DC 3.5
a1 [Net1_1] [constant1] ADC
.model ADC adc_bridge(in_low = 0.3 in_high = 1)
.ends
xR0_gate NETR0_GATE_A0 NETR0_GATE_A1 NETR0_GATE_A2 NETR0_GATE_A3 NETR0_GATE_A4 NETR0_GATE_A5 NETR0_GATE_A6 NETR0_GATE_A7 DBUS0 DBUS1 DBUS2 DBUS3 DBUS4 DBUS5 DBUS6 DBUS7 NETR0_GATE_^EN BUS_TRANS8
xR1_gate NETR1_GATE_A0 NETR1_GATE_A1 NETR1_GATE_A2 NETR1_GATE_A3 NETR1_GATE_A4 NETR1_GATE_A5 NETR1_GATE_A6 NETR1_GATE_A7 DBUS0 DBUS1 DBUS2 DBUS3 DBUS4 DBUS5 DBUS6 DBUS7 NETR1_GATE_^EN BUS_TRANS8
xR2_gate NETR2_GATE_A0 NETR2_GATE_A1 NETR2_GATE_A2 NETR2_GATE_A3 NETR2_GATE_A4 NETR2_GATE_A5 NETR2_GATE_A6 NETR2_GATE_A7 DBUS0 DBUS1 DBUS2 DBUS3 DBUS4 DBUS5 DBUS6 DBUS7 NETR2_GATE_^EN BUS_TRANS8
xR3_gate NETR3_GATE_A0 NETR3_GATE_A1 NETR3_GATE_A2 NETR3_GATE_A3 NETR3_GATE_A4 NETR3_GATE_A5 NETR3_GATE_A6 NETR3_GATE_A7 DBUS0 DBUS1 DBUS2 DBUS3 DBUS4 DBUS5 DBUS6 DBUS7 NETR3_GATE_^EN BUS_TRANS8
xIA_gate NETIA_GATE_A0 NETIA_GATE_A1 NETIA_GATE_A2 NETIA_GATE_A3 NETIA_GATE_A4 NETIA_GATE_A5 NETIA_GATE_A6 NETIA_GATE_A7 DBUS0 DBUS1 DBUS2 DBUS3 DBUS4 DBUS5 DBUS6 DBUS7 NETIA_GATE_^EN BUS_TRANS8
xASR_gate NETASR_GATE_A0 NETASR_GATE_A1 NETASR_GATE_A2 NETASR_GATE_A3 NETASR_GATE_A4 NETASR_GATE_A5 NETASR_GATE_A6 NETASR_GATE_A7 DBUS0 DBUS1 DBUS2 DBUS3 DBUS4 DBUS5 DBUS6 DBUS7 NETASR_GATE_^EN BUS_TRANS8
xSP_gate NETCST_D0 NETCST_D1 NETCST_D2 NETCST_D3 NETCST_D4 NETCST_D5 NETCST_D6 NETCST_D7 DBUS0 DBUS1 DBUS2 DBUS3 DBUS4 DBUS5 DBUS6 DBUS7 NETSP_GATE_^EN BUS_TRANS8
xCST_gate NETCST_GATE_A0 NETCST_GATE_A1 NETCST_GATE_A2 NETCST_GATE_A3 NETCST_GATE_A4 NETCST_GATE_A5 NETCST_GATE_A6 NETCST_GATE_A7 DBUS0 DBUS1 DBUS2 DBUS3 DBUS4 DBUS5 DBUS6 DBUS7 NETCST_GATE_^EN BUS_TRANS8
.subckt BUS_TRANS8 A0 A1 A2 A3 A4 A5 A6 A7 B0 B1 B2 B3 B4 B5 B6 B7 EN
xU3 EN IEN NNOT
xU5 A0 IA0 NNOT
xU6 A1 IA1 NNOT
xU7 A2 IA2 NNOT
xU8 A3 IA3 NNOT
xU9 A4 IA4 NNOT
xU10 A5 IA5 NNOT
xU11 A6 IA6 NNOT
xU12 A7 IA7 NNOT
.subckt NNOT IN OUT
aU1 IN NetU1_2 NOT
aU2 NetU1_2 OUT NOT
.model NOT d_inverter(rise_delay = 1e-9 fall_delay = 1e-9 input_load = 1e-3)
.ends
a1 [ IA0 IA1 IA2 IA3 IA4 IA5 IA6 IA7] IEN [ B0 B1 B2 B3 B4 B5 B6 B7] MULTI_TRISTATE
.model MULTI_TRISTATE d_multristate(delay = 0.5e-9 input_load = 0.5e-12 enable_load = 0.5e-12)
.ends
.ends
这个 源代码变更 因为 太大 而不能显示。 你可以 浏览blob
/*******************************************************************************
Copyright (c) 2008 - 2018 北京英真时代科技有限公司。保留所有权利。
*******************************************************************************/
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>
typedef unsigned char BYTE;
typedef long BOOL;
#define FALSE 0
#define TRUE 1
#define MAX_LINE_LENGTH 256 // 一行代码最多可以有多少个字符
#define MAX_LINE_COUNT 1024 // 源代码文件最多可以有多少行
#define MAX_SYMBOL_LENGTH 64 // 一个符号最多可以包含多少个字符
#define MAX_SYMBOL_COUNT 256 // 源代码文件中最多可以包含多少个符号
#ifndef MAX_PATH
#define MAX_PATH 256 // 文件路径最多可以包含多少个字符
#endif
// 代码行数据库。记录源代码文件中所有代码行的信息(包括注释行、空行)
struct LINE_RECORD
{
char line_string[MAX_LINE_LENGTH]; // 代码行的内容
unsigned long line_num; // 行号
unsigned long address; // 此行代码转换的机器码在映像文件中的地址(偏移)
int machine_code_count; // 此行代码转换的机器码的字节数量
unsigned long flag; // 代码行标志位,32位
};
struct LINE_RECORD line_database[MAX_LINE_COUNT] = {0};
int line_count = 0;
int machine_code_line_count = 0; // 记录产生了机器码的代码行的数量
// 在此定义所有的代码行标志位。注意,代码行标志位是按位或的关系。
#define LF_INSTRUCTION 0x00000001 // 代码行标志位的最低位是1,表示此行是一条指令,否则表示此行是数据
// 重定位表。如果指令中使用了标号、变量名等符号,在第一次扫描时无法确定他们的地址,需要
// 在第二次扫描时进行重定位。
struct REALLOCATE
{
unsigned long address; // 第一次扫描时,在这里记录了需要重定位的机器码的地址(偏移),
// 第二次扫描时,根据符号的地址进行重定位。
char symbol_name[MAX_SYMBOL_LENGTH]; // 需要重定位的符号名称。
int line_num; // 行号。
};
struct REALLOCATE reallocate_table[MAX_LINE_COUNT] = {0};
int reallocate_count = 0;
// 符号表。符号包括源代码中的标号、变量名。
struct SYMBOL
{
char name[MAX_SYMBOL_LENGTH]; // 符号名称
unsigned long address; // 符号表示的地址。重定位时需要用到。
int machine_code_count; // 符号生成的机器码的数量(以字节为单位)。
int line_num; // 行号
int ref_count; // 引用计数
};
struct SYMBOL symbol_table[MAX_SYMBOL_COUNT] = {0};
int symbol_count = 0;
// 汇编过程的状态
enum
{
AS_BEGIN // 起始状态。在遇到代码段名称前,处于此状态
,AS_TEXT // 正在处理代码段。遇到代码段名称后,遇到数据的名称前,处于此状态
,AS_DATA // 正在处理数据段。遇到数据段名称后,处于此状态
};
unsigned long assembler_state = AS_BEGIN;
//
// 在下面定义所有的关键字
//
// 段名称
const char* code_section_keyword = ".text"; // 代码段标志
char const* data_section_keyword = ".data"; // 数据段标志
// 指令名称
const char* mov_instruction_keyword = "mov";
const char* jmp_instruction_keyword = "jmp";
const char* add_instruction_keyword = "add";
const char* adc_instruction_keyword = "adc";
const char* sub_instruction_keyword = "sub";
const char* sbb_instruction_keyword = "sbb";
const char* and_instruction_keyword = "and";
const char* or_instruction_keyword = "or";
const char* read_instruction_keyword = "read";
const char* write_instruction_keyword = "write";
const char* jc_instruction_keyword = "jc";
const char* jz_instruction_keyword = "jz";
const char* call_instruction_keyword = "call";
const char* in_instruction_keyword = "in";
const char* out_instruction_keyword = "out";
const char* ret_instruction_keyword = "ret";
const char* shr_instruction_keyword = "shr";
const char* shl_instruction_keyword = "shl";
const char* rcr_instruction_keyword = "rcr";
const char* rcl_instruction_keyword = "rcl";
const char* not_instruction_keyword = "not";
const char* iret_instruction_keyword = "iret";
const char* nop_instruction_keyword = "nop";
const char* int_instruction_keyword = "int";
const char* lea_instruction_keyword = "lea";
// 通用寄存器名称
const char* r0_register_keyword = "r0";
const char* r1_register_keyword = "r1";
const char* r2_register_keyword = "r2";
const char* r3_register_keyword = "r3";
const char* r0_register_indirect_keyword = "[r0]";
const char* r1_register_indirect_keyword = "[r1]";
const char* r2_register_indirect_keyword = "[r2]";
const char* r3_register_indirect_keyword = "[r3]";
const char* a_register_keyword = "a";
const char* sp_register_keyword = "sp";
const char* delimit_char = "\n\t\r "; // 需要忽略的空白字符
const char* delimit_char_comma = "\n\t\r, "; // 需要忽略的空白字符,包括英文逗号
// 汇编产生的机器码
#define MAX_MACHINE_CODE 1024
BYTE machine_code[MAX_MACHINE_CODE];
unsigned long machine_code_address = 0;
unsigned long machine_code_old_address = 0;
const char* assembly_file_name = NULL; // 汇编文件路径
const char* target_file_name = NULL; // 目标文件路径
const char* list_file_name = NULL; // 列表文件路径
const char* dbg_file_name = NULL; // 调试信息文件路径
const unsigned long dbg_file_magic = 58;
const unsigned long dbg_file_version = 1;
// 输出汇编过程中发现的语法错误信息
void error_msg(const char* error_msg, int line_num)
{
if(line_num >= 1)
{
printf("%s:%d: error: %s\n", assembly_file_name, line_num, error_msg);
}
else
{
printf("%s: error: %s\n", assembly_file_name, error_msg);
}
exit(1);
}
char formated_msg[1024]; // 将格式化后的错误信息放在此字符串中。
void error_msg_miss_op(const char* instruction_name, int line_num)
{
sprintf(formated_msg, "%s 指令缺少操作数。", instruction_name);
error_msg(formated_msg, line_num);
}
void error_msg_wrong_op(const char* instruction_name, int line_num)
{
sprintf(formated_msg, "%s 指令不支持这样的操作数。", instruction_name);
error_msg(formated_msg, line_num);
}
void error_msg_same_symbol(const char* symbol, int line_num, int ref_line_num)
{
sprintf(formated_msg, "符号 %s 重复定义。参见第 %d 行。", symbol, ref_line_num);
error_msg(formated_msg, line_num);
}
void error_msg_keyword_symbol(const char* symbol, int line_num)
{
sprintf(formated_msg, "不能使用保留的关键字 %s 作为符号名称。", symbol);
error_msg(formated_msg, line_num);
}
void error_msg_wrong_data(const char* data, int line_num)
{
sprintf(formated_msg, "%s 不是有效的数据。", data);
error_msg(formated_msg, line_num);
}
// 输出汇编过程中发现的警告信息
void warning_msg(const char* warning_msg, int line_num)
{
if(line_num >= 1)
{
printf("%s:%d: warning: %s\n", assembly_file_name, line_num, warning_msg);
}
else
{
printf("%s: warning: %s\n", assembly_file_name, warning_msg);
}
}
void warning_msg_invalid_line(int line_num)
{
warning_msg("忽略无效的代码行。", line_num);
}
void warning_msg_unref_symbol(const char* symbol, int line_num)
{
sprintf(formated_msg, "符号 %s 未被引用。", symbol);
warning_msg(formated_msg, line_num);
}
// 判断是否是立即数。如果是数字开头,或者是负号开头的,就认为是立即数。
int is_immediate(const char* token)
{
return (isdigit(token[0]) || '-' == token[0]) ? 1 : 0;
}
// 判断是否是主存数据
int is_main_memory(const char* token)
{
return (isdigit(token[0]) || '@' == token[0]) ? 1 : 0;
}
// 指令操作数类型
enum
{
OT_REGISTER_A // 累加器
,OT_REGISTER_R0 // r0
,OT_REGISTER_R1 // r1
,OT_REGISTER_R2 // r2
,OT_REGISTER_R3 // r3
,OT_REGISTER_R0_INDIRECT // [r0]
,OT_REGISTER_R1_INDIRECT // [r1]
,OT_REGISTER_R2_INDIRECT // [r2]
,OT_REGISTER_R3_INDIRECT // [r3]
,OT_IMMEDIATE // 立即数
,OT_SYMBOL // 符号
,OT_REGISTER_SP // 堆栈指针寄存器
};
// 得到指令操作数的类型
unsigned long get_operand_type(const char* op)
{
unsigned long op_type;
if(stricmp(op, a_register_keyword) == 0)
{
op_type = OT_REGISTER_A;
}
else if(stricmp(op, r0_register_keyword) == 0)
{
op_type = OT_REGISTER_R0;
}
else if(stricmp(op, r1_register_keyword) == 0)
{
op_type = OT_REGISTER_R1;
}
else if(stricmp(op, r2_register_keyword) == 0)
{
op_type = OT_REGISTER_R2;
}
else if(stricmp(op, r3_register_keyword) == 0)
{
op_type = OT_REGISTER_R3;
}
else if(stricmp(op, r0_register_indirect_keyword) == 0)
{
op_type = OT_REGISTER_R0_INDIRECT;
}
else if(stricmp(op, r1_register_indirect_keyword) == 0)
{
op_type = OT_REGISTER_R1_INDIRECT;
}
else if(stricmp(op, r2_register_indirect_keyword) == 0)
{
op_type = OT_REGISTER_R2_INDIRECT;
}
else if(stricmp(op, r3_register_indirect_keyword) == 0)
{
op_type = OT_REGISTER_R3_INDIRECT;
}
else if (stricmp(op, sp_register_keyword) == 0)
{
op_type = OT_REGISTER_SP;
}
else if(is_immediate(op))
{
op_type = OT_IMMEDIATE;
}
else
{
op_type = OT_SYMBOL;
}
return op_type;
}
// 根据 r? 寄存器和机器码的基础值,得到一个机器码
char get_machine_code_from_r(unsigned long op_type, char code_base)
{
return code_base + (char)(op_type - OT_REGISTER_R0);
}
// 根据 [r?] 寄存器和机器码的基础值,得到一个机器码
char get_machine_code_from_r_indirect(unsigned long op_type, char code_base)
{
return code_base + (char)(op_type - OT_REGISTER_R0_INDIRECT);
}
// 根据立即数得到一个机器码。注意,允许使用负数,所以返回值是带符号的 8 位 char。
char get_machine_code_from_immediate(const char* immediate)
{
char* end;
int start_index = (immediate[0] == '-' ? 1 : 0);
int base = (immediate[start_index] == '0' && (immediate[start_index + 1] == 'x' || immediate[start_index + 1] == 'X')) ? 16 : 10;
return (char)strtol(immediate, &end, base);
}
// 向重定位表中添加一个重定位信息
void add_reallocate(const char* symbol, int line_num)
{
reallocate_table[reallocate_count].address = machine_code_address;
strcpy(reallocate_table[reallocate_count].symbol_name, symbol);
reallocate_table[reallocate_count].line_num = line_num;
reallocate_count++;
}
// mov op1, op2
void parse_mov(int line_num)
{
char *op1, *op2;
unsigned long op1_type, op2_type;
if(assembler_state != AS_TEXT)
{
warning_msg_invalid_line(line_num);
return;
}
op1 = strtok(NULL, delimit_char_comma);
op2 = strtok(NULL, delimit_char);
if(NULL == op1 || NULL == op2)
{
error_msg_miss_op(mov_instruction_keyword, line_num);
}
op1_type = get_operand_type(op1);
op2_type = get_operand_type(op2);
if(OT_REGISTER_A == op1_type
&& (op2_type >= OT_REGISTER_R0 && op2_type <= OT_REGISTER_R3))
{
// mov a, r?
machine_code[machine_code_address] = get_machine_code_from_r(op2_type, 0x70);
machine_code_address++;
}
else if(OT_REGISTER_A == op1_type
&& (op2_type >= OT_REGISTER_R0_INDIRECT && op2_type <= OT_REGISTER_R3_INDIRECT))
{
// mov a, [r?]
machine_code[machine_code_address] = get_machine_code_from_r_indirect(op2_type, 0x74);
machine_code_address++;
}
else if(OT_REGISTER_A == op1_type && OT_SYMBOL == op2_type)
{
// mov a, symbol
machine_code[machine_code_address] = 0x78;
machine_code_address++;
// 重定位
add_reallocate(op2, line_num);
machine_code_address++;
}
else if(OT_REGISTER_A == op1_type && OT_IMMEDIATE == op2_type)
{
// mov a, immediate
machine_code[machine_code_address] = 0x7c;
machine_code_address++;
machine_code[machine_code_address] = get_machine_code_from_immediate(op2);
machine_code_address++;
}
else if((op1_type >= OT_REGISTER_R0 && op1_type <= OT_REGISTER_R3)
&& OT_REGISTER_A == op2_type)
{
// mov r?, a
machine_code[machine_code_address] = get_machine_code_from_r(op1_type, 0x80);
machine_code_address++;
}
else if((op1_type >= OT_REGISTER_R0_INDIRECT && op1_type <= OT_REGISTER_R3_INDIRECT)
&& OT_REGISTER_A == op2_type)
{
// mov [r?], a
machine_code[machine_code_address] = get_machine_code_from_r_indirect(op1_type, 0x84);
machine_code_address++;
}
else if(OT_SYMBOL == op1_type && OT_REGISTER_A == op2_type)
{
// mov symbol, a
machine_code[machine_code_address] = 0x88;
machine_code_address++;
// 重定位
add_reallocate(op1, line_num);
machine_code_address++;
}
else if((op1_type >= OT_REGISTER_R0 && op1_type <= OT_REGISTER_R3)
&& OT_IMMEDIATE == op2_type)
{
// mov r?, immediate
machine_code[machine_code_address] = get_machine_code_from_r(op1_type, 0x8c);
machine_code_address++;
machine_code[machine_code_address] = get_machine_code_from_immediate(op2);
machine_code_address++;
}
else if (OT_REGISTER_SP == op1_type && OT_IMMEDIATE == op2_type)
{
// mov sp, immediate
machine_code[machine_code_address] = 0x9c;
machine_code_address++;
machine_code[machine_code_address] = get_machine_code_from_immediate(op2);
machine_code_address++;
}
else
{
error_msg_wrong_op(mov_instruction_keyword, line_num);
}
//
// 在代码行数据库中,标记此行是一个指令行
//
line_database[line_count].flag |= LF_INSTRUCTION;
}
// jmp symbol
void parse_jmp(int line_num)
{
char *op;
unsigned long op_type;
if(assembler_state != AS_TEXT)
{
warning_msg_invalid_line(line_num);
return;
}
op = strtok(NULL, delimit_char);
if(NULL == op)
{
error_msg_miss_op(jmp_instruction_keyword, line_num);
}
op_type = get_operand_type(op);
if(OT_SYMBOL == op_type)
{
// jmp symbol
machine_code[machine_code_address] = 0xAC;
machine_code_address++;
// 重定位
add_reallocate(op, line_num);
machine_code_address++;
}
else
{
error_msg_wrong_op(jmp_instruction_keyword, line_num);
}
//
// 在代码行数据库中,标记此行是一个指令行
//
line_database[line_count].flag |= LF_INSTRUCTION;
}
// add op1, op2
void parse_add(int line_num)
{
char *op1, *op2;
unsigned long op1_type, op2_type;
if(assembler_state != AS_TEXT)
{
warning_msg_invalid_line(line_num);
return;
}
op1 = strtok(NULL, delimit_char_comma);
op2 = strtok(NULL, delimit_char);
if(NULL == op1 || NULL == op2)
{
error_msg_miss_op(add_instruction_keyword, line_num);
}
op1_type = get_operand_type(op1);
op2_type = get_operand_type(op2);
if(OT_REGISTER_A == op1_type
&& (op2_type >= OT_REGISTER_R0 && op2_type <= OT_REGISTER_R3))
{
// add a, r?
machine_code[machine_code_address] = get_machine_code_from_r(op2_type, 0x10);
machine_code_address++;
}
else if(OT_REGISTER_A == op1_type
&& (op2_type >= OT_REGISTER_R0_INDIRECT && op2_type <= OT_REGISTER_R3_INDIRECT))
{
// add a, [r?]
machine_code[machine_code_address] = get_machine_code_from_r_indirect(op2_type, 0x14);
machine_code_address++;
}
else if(OT_REGISTER_A == op1_type && OT_SYMBOL == op2_type)
{
// add a, symbol
machine_code[machine_code_address] = 0x18;
machine_code_address++;
// 重定位
add_reallocate(op2, line_num);
machine_code_address++;
}
else if(OT_REGISTER_A == op1_type && OT_IMMEDIATE == op2_type)
{
// add a, immediate
machine_code[machine_code_address] = 0x1c;
machine_code_address++;
machine_code[machine_code_address] = get_machine_code_from_immediate(op2);
machine_code_address++;
}
else
{
error_msg_wrong_op(add_instruction_keyword, line_num);
}
//
// 在代码行数据库中,标记此行是一个指令行
//
line_database[line_count].flag |= LF_INSTRUCTION;
}
// adc op1, op2
void parse_adc(int line_num)
{
char *op1, *op2;
unsigned long op1_type, op2_type;
if(assembler_state != AS_TEXT)
{
warning_msg_invalid_line(line_num);
return;
}
op1 = strtok(NULL, delimit_char_comma);
op2 = strtok(NULL, delimit_char);
if(NULL == op1 || NULL == op2)
{
error_msg_miss_op(adc_instruction_keyword, line_num);
}
op1_type = get_operand_type(op1);
op2_type = get_operand_type(op2);
if(OT_REGISTER_A == op1_type
&& (op2_type >= OT_REGISTER_R0 && op2_type <= OT_REGISTER_R3))
{
// adc a, r?
machine_code[machine_code_address] = get_machine_code_from_r(op2_type, 0x20);
machine_code_address++;
}
else if(OT_REGISTER_A == op1_type
&& (op2_type >= OT_REGISTER_R0_INDIRECT && op2_type <= OT_REGISTER_R3_INDIRECT))
{
// adc a, [r?]
machine_code[machine_code_address] = get_machine_code_from_r_indirect(op2_type, 0x24);
machine_code_address++;
}
else if(OT_REGISTER_A == op1_type && OT_SYMBOL == op2_type)
{
// adc a, symbol
machine_code[machine_code_address] = 0x28;
machine_code_address++;
// 重定位
add_reallocate(op2, line_num);
machine_code_address++;
}
else if(OT_REGISTER_A == op1_type && OT_IMMEDIATE == op2_type)
{
// adc a, immediate
machine_code[machine_code_address] = 0x2c;
machine_code_address++;
machine_code[machine_code_address] = get_machine_code_from_immediate(op2);
machine_code_address++;
}
else
{
error_msg_wrong_op(adc_instruction_keyword, line_num);
}
//
// 在代码行数据库中,标记此行是一个指令行
//
line_database[line_count].flag |= LF_INSTRUCTION;
}
// sub op1, op2
void parse_sub(int line_num)
{
char *op1, *op2;
unsigned long op1_type, op2_type;
if(assembler_state != AS_TEXT)
{
warning_msg_invalid_line(line_num);
return;
}
op1 = strtok(NULL, delimit_char_comma);
op2 = strtok(NULL, delimit_char);
if(NULL == op1 || NULL == op2)
{
error_msg_miss_op(sub_instruction_keyword, line_num);
}
op1_type = get_operand_type(op1);
op2_type = get_operand_type(op2);
if(OT_REGISTER_A == op1_type
&& (op2_type >= OT_REGISTER_R0 && op2_type <= OT_REGISTER_R3))
{
// sub a, r?
machine_code[machine_code_address] = get_machine_code_from_r(op2_type, 0x30);
machine_code_address++;
}
else if(OT_REGISTER_A == op1_type
&& (op2_type >= OT_REGISTER_R0_INDIRECT && op2_type <= OT_REGISTER_R3_INDIRECT))
{
// sub a, [r?]
machine_code[machine_code_address] = get_machine_code_from_r_indirect(op2_type, 0x34);
machine_code_address++;
}
else if(OT_REGISTER_A == op1_type && OT_SYMBOL == op2_type)
{
// sub a, symbol
machine_code[machine_code_address] = 0x38;
machine_code_address++;
// 重定位
add_reallocate(op2, line_num);
machine_code_address++;
}
else if(OT_REGISTER_A == op1_type && OT_IMMEDIATE == op2_type)
{
// sub a, immediate
machine_code[machine_code_address] = 0x3c;
machine_code_address++;
machine_code[machine_code_address] = get_machine_code_from_immediate(op2);
machine_code_address++;
}
else
{
error_msg_wrong_op(sub_instruction_keyword, line_num);
}
//
// 在代码行数据库中,标记此行是一个指令行
//
line_database[line_count].flag |= LF_INSTRUCTION;
}
// sbb op1, op2
void parse_sbb(int line_num)
{
char *op1, *op2;
unsigned long op1_type, op2_type;
if(assembler_state != AS_TEXT)
{
warning_msg_invalid_line(line_num);
return;
}
op1 = strtok(NULL, delimit_char_comma);
op2 = strtok(NULL, delimit_char);
if(NULL == op1 || NULL == op2)
{
error_msg_miss_op(sbb_instruction_keyword, line_num);
}
op1_type = get_operand_type(op1);
op2_type = get_operand_type(op2);
if(OT_REGISTER_A == op1_type
&& (op2_type >= OT_REGISTER_R0 && op2_type <= OT_REGISTER_R3))
{
// sbb a, r?
machine_code[machine_code_address] = get_machine_code_from_r(op2_type, 0x40);
machine_code_address++;
}
else if(OT_REGISTER_A == op1_type
&& (op2_type >= OT_REGISTER_R0_INDIRECT && op2_type <= OT_REGISTER_R3_INDIRECT))
{
// sbb a, [r?]
machine_code[machine_code_address] = get_machine_code_from_r_indirect(op2_type, 0x44);
machine_code_address++;
}
else if(OT_REGISTER_A == op1_type && OT_SYMBOL == op2_type)
{
// sbb a, symbol
machine_code[machine_code_address] = 0x48;
machine_code_address++;
// 重定位
add_reallocate(op2, line_num);
machine_code_address++;
}
else if(OT_REGISTER_A == op1_type && OT_IMMEDIATE == op2_type)
{
// sbb a, immediate
machine_code[machine_code_address] = 0x4c;
machine_code_address++;
machine_code[machine_code_address] = get_machine_code_from_immediate(op2);
machine_code_address++;
}
else
{
error_msg_wrong_op(sbb_instruction_keyword, line_num);
}
//
// 在代码行数据库中,标记此行是一个指令行
//
line_database[line_count].flag |= LF_INSTRUCTION;
}
// and op1, op2
void parse_and(int line_num)
{
char *op1, *op2;
unsigned long op1_type, op2_type;
if(assembler_state != AS_TEXT)
{
warning_msg_invalid_line(line_num);
return;
}
op1 = strtok(NULL, delimit_char_comma);
op2 = strtok(NULL, delimit_char);
if(NULL == op1 || NULL == op2)
{
error_msg_miss_op(and_instruction_keyword, line_num);
}
op1_type = get_operand_type(op1);
op2_type = get_operand_type(op2);
if(OT_REGISTER_A == op1_type
&& (op2_type >= OT_REGISTER_R0 && op2_type <= OT_REGISTER_R3))
{
// and a, r?
machine_code[machine_code_address] = get_machine_code_from_r(op2_type, 0x50);
machine_code_address++;
}
else if(OT_REGISTER_A == op1_type
&& (op2_type >= OT_REGISTER_R0_INDIRECT && op2_type <= OT_REGISTER_R3_INDIRECT))
{
// and a, [r?]
machine_code[machine_code_address] = get_machine_code_from_r_indirect(op2_type, 0x54);
machine_code_address++;
}
else if(OT_REGISTER_A == op1_type && OT_SYMBOL == op2_type)
{
// and a, symbol
machine_code[machine_code_address] = 0x58;
machine_code_address++;
// 重定位
add_reallocate(op2, line_num);
machine_code_address++;
}
else if(OT_REGISTER_A == op1_type && OT_IMMEDIATE == op2_type)
{
// and a, immediate
machine_code[machine_code_address] = 0x5c;
machine_code_address++;
machine_code[machine_code_address] = get_machine_code_from_immediate(op2);
machine_code_address++;
}
else
{
error_msg_wrong_op(and_instruction_keyword, line_num);
}
//
// 在代码行数据库中,标记此行是一个指令行
//
line_database[line_count].flag |= LF_INSTRUCTION;
}
// or op1, op2
void parse_or(int line_num)
{
char *op1, *op2;
unsigned long op1_type, op2_type;
if(assembler_state != AS_TEXT)
{
warning_msg_invalid_line(line_num);
return;
}
op1 = strtok(NULL, delimit_char_comma);
op2 = strtok(NULL, delimit_char);
if(NULL == op1 || NULL == op2)
{
error_msg_miss_op(or_instruction_keyword, line_num);
}
op1_type = get_operand_type(op1);
op2_type = get_operand_type(op2);
if(OT_REGISTER_A == op1_type
&& (op2_type >= OT_REGISTER_R0 && op2_type <= OT_REGISTER_R3))
{
// or a, r?
machine_code[machine_code_address] = get_machine_code_from_r(op2_type, 0x60);
machine_code_address++;
}
else if(OT_REGISTER_A == op1_type
&& (op2_type >= OT_REGISTER_R0_INDIRECT && op2_type <= OT_REGISTER_R3_INDIRECT))
{
// or a, [r?]
machine_code[machine_code_address] = get_machine_code_from_r_indirect(op2_type, 0x64);
machine_code_address++;
}
else if(OT_REGISTER_A == op1_type && OT_SYMBOL == op2_type)
{
// or a, symbol
machine_code[machine_code_address] = 0x68;
machine_code_address++;
// 重定位
add_reallocate(op2, line_num);
machine_code_address++;
}
else if(OT_REGISTER_A == op1_type && OT_IMMEDIATE == op2_type)
{
// or a, immediate
machine_code[machine_code_address] = 0x6c;
machine_code_address++;
machine_code[machine_code_address] = get_machine_code_from_immediate(op2);
machine_code_address++;
}
else
{
error_msg_wrong_op(or_instruction_keyword, line_num);
}
//
// 在代码行数据库中,标记此行是一个指令行
//
line_database[line_count].flag |= LF_INSTRUCTION;
}
// lea a, symbol
void parse_lea(int line_num)
{
char *op1, *op2;
unsigned long op1_type, op2_type;
if(assembler_state != AS_TEXT)
{
warning_msg_invalid_line(line_num);
return;
}
op1 = strtok(NULL, delimit_char_comma);
op2 = strtok(NULL, delimit_char);
if(NULL == op1 || NULL == op2)
{
error_msg_miss_op(lea_instruction_keyword, line_num);
}
op1_type = get_operand_type(op1);
op2_type = get_operand_type(op2);
if(OT_REGISTER_A == op1_type && OT_SYMBOL == op2_type)
{
// lea a, symbol
machine_code[machine_code_address] = 0x98;
machine_code_address++;
// 重定位
add_reallocate(op2, line_num);
machine_code_address++;
}
else
{
error_msg_wrong_op(lea_instruction_keyword, line_num);
}
//
// 在代码行数据库中,标记此行是一个指令行
//
line_database[line_count].flag |= LF_INSTRUCTION;
}
// read symbol
void parse_read(int line_num)
{
char *op;
unsigned long op_type;
if(assembler_state != AS_TEXT)
{
warning_msg_invalid_line(line_num);
return;
}
op = strtok(NULL, delimit_char);
if(NULL == op)
{
error_msg_miss_op(read_instruction_keyword, line_num);
}
op_type = get_operand_type(op);
if(OT_SYMBOL == op_type)
{
// read symbol
machine_code[machine_code_address] = 0x90;
machine_code_address++;
// 重定位
add_reallocate(op, line_num);
machine_code_address++;
}
else
{
error_msg_wrong_op(read_instruction_keyword, line_num);
}
//
// 在代码行数据库中,标记此行是一个指令行
//
line_database[line_count].flag |= LF_INSTRUCTION;
}
// write symbol
void parse_write(int line_num)
{
char *op;
unsigned long op_type;
if(assembler_state != AS_TEXT)
{
warning_msg_invalid_line(line_num);
return;
}
op = strtok(NULL, delimit_char);
if(NULL == op)
{
error_msg_miss_op(write_instruction_keyword, line_num);
}
op_type = get_operand_type(op);
if(OT_SYMBOL == op_type)
{
// write symbol
machine_code[machine_code_address] = 0x94;
machine_code_address++;
// 重定位
add_reallocate(op, line_num);
machine_code_address++;
}
else
{
error_msg_wrong_op(write_instruction_keyword, line_num);
}
//
// 在代码行数据库中,标记此行是一个指令行
//
line_database[line_count].flag |= LF_INSTRUCTION;
}
// jc symbol
void parse_jc(int line_num)
{
char *op;
unsigned long op_type;
if(assembler_state != AS_TEXT)
{
warning_msg_invalid_line(line_num);
return;
}
op = strtok(NULL, delimit_char);
if(NULL == op)
{
error_msg_miss_op(jc_instruction_keyword, line_num);
}
op_type = get_operand_type(op);
if(OT_SYMBOL == op_type)
{
// jc symbol
machine_code[machine_code_address] = 0xA0;
machine_code_address++;
// 重定位
add_reallocate(op, line_num);
machine_code_address++;
}
else
{
error_msg_wrong_op(jc_instruction_keyword, line_num);
}
//
// 在代码行数据库中,标记此行是一个指令行
//
line_database[line_count].flag |= LF_INSTRUCTION;
}
// jz symbol
void parse_jz(int line_num)
{
char *op;
unsigned long op_type;
if(assembler_state != AS_TEXT)
{
warning_msg_invalid_line(line_num);
return;
}
op = strtok(NULL, delimit_char);
if(NULL == op)
{
error_msg_miss_op(jz_instruction_keyword, line_num);
}
op_type = get_operand_type(op);
if(OT_SYMBOL == op_type)
{
// jz symbol
machine_code[machine_code_address] = 0xA4;
machine_code_address++;
// 重定位
add_reallocate(op, line_num);
machine_code_address++;
}
else
{
error_msg_wrong_op(jz_instruction_keyword, line_num);
}
//
// 在代码行数据库中,标记此行是一个指令行
//
line_database[line_count].flag |= LF_INSTRUCTION;
}
// call symbol
void parse_call(int line_num)
{
char *op;
unsigned long op_type;
if(assembler_state != AS_TEXT)
{
warning_msg_invalid_line(line_num);
return;
}
op = strtok(NULL, delimit_char);
if(NULL == op)
{
error_msg_miss_op(call_instruction_keyword, line_num);
}
op_type = get_operand_type(op);
if(OT_SYMBOL == op_type)
{
// call symbol
machine_code[machine_code_address] = 0xE8;
machine_code_address++;
// 重定位
add_reallocate(op, line_num);
machine_code_address++;
}
else
{
error_msg_wrong_op(call_instruction_keyword, line_num);
}
//
// 在代码行数据库中,标记此行是一个指令行
//
line_database[line_count].flag |= LF_INSTRUCTION;
}
// int immediate
void parse_int(int line_num)
{
char *op;
unsigned long op_type;
if(assembler_state != AS_TEXT)
{
warning_msg_invalid_line(line_num);
return;
}
op = strtok(NULL, delimit_char);
if(NULL == op)
{
error_msg_miss_op(int_instruction_keyword, line_num);
}
op_type = get_operand_type(op);
if(OT_IMMEDIATE == op_type)
{
// int immediate
machine_code[machine_code_address] = 0xB8;
machine_code_address++;
machine_code[machine_code_address] = get_machine_code_from_immediate(op);
machine_code_address++;
}
else
{
error_msg_wrong_op(int_instruction_keyword, line_num);
}
//
// 在代码行数据库中,标记此行是一个指令行
//
line_database[line_count].flag |= LF_INSTRUCTION;
}
// in
void parse_in(int line_num)
{
machine_code[machine_code_address] = 0xB0;
machine_code_address++;
//
// 在代码行数据库中,标记此行是一个指令行
//
line_database[line_count].flag |= LF_INSTRUCTION;
}
// out
void parse_out(int line_num)
{
machine_code[machine_code_address] = 0xB4;
machine_code_address++;
//
// 在代码行数据库中,标记此行是一个指令行
//
line_database[line_count].flag |= LF_INSTRUCTION;
}
// ret
void parse_ret(int line_num)
{
machine_code[machine_code_address] = 0xC8;
machine_code_address++;
//
// 在代码行数据库中,标记此行是一个指令行
//
line_database[line_count].flag |= LF_INSTRUCTION;
}
// shr a
void parse_shr(int line_num)
{
char *op;
unsigned long op_type;
if(assembler_state != AS_TEXT)
{
warning_msg_invalid_line(line_num);
return;
}
op = strtok(NULL, delimit_char);
if(NULL == op)
{
error_msg_miss_op(shr_instruction_keyword, line_num);
}
op_type = get_operand_type(op);
if(OT_REGISTER_A == op_type)
{
machine_code[machine_code_address] = 0xD0;
machine_code_address++;
}
else
{
error_msg_wrong_op(shr_instruction_keyword, line_num);
}
//
// 在代码行数据库中,标记此行是一个指令行
//
line_database[line_count].flag |= LF_INSTRUCTION;
}
// shl a
void parse_shl(int line_num)
{
char *op;
unsigned long op_type;
if(assembler_state != AS_TEXT)
{
warning_msg_invalid_line(line_num);
return;
}
op = strtok(NULL, delimit_char);
if(NULL == op)
{
error_msg_miss_op(shl_instruction_keyword, line_num);
}
op_type = get_operand_type(op);
if(OT_REGISTER_A == op_type)
{
machine_code[machine_code_address] = 0xD4;
machine_code_address++;
}
else
{
error_msg_wrong_op(shl_instruction_keyword, line_num);
}
//
// 在代码行数据库中,标记此行是一个指令行
//
line_database[line_count].flag |= LF_INSTRUCTION;
}
// rcr a
void parse_rcr(int line_num)
{
char *op;
unsigned long op_type;
if(assembler_state != AS_TEXT)
{
warning_msg_invalid_line(line_num);
return;
}
op = strtok(NULL, delimit_char);
if(NULL == op)
{
error_msg_miss_op(rcr_instruction_keyword, line_num);
}
op_type = get_operand_type(op);
if(OT_REGISTER_A == op_type)
{
machine_code[machine_code_address] = 0xD8;
machine_code_address++;
}
else
{
error_msg_wrong_op(rcr_instruction_keyword, line_num);
}
//
// 在代码行数据库中,标记此行是一个指令行
//
line_database[line_count].flag |= LF_INSTRUCTION;
}
// rcl a
void parse_rcl(int line_num)
{
char *op;
unsigned long op_type;
if(assembler_state != AS_TEXT)
{
warning_msg_invalid_line(line_num);
return;
}
op = strtok(NULL, delimit_char);
if(NULL == op)
{
error_msg_miss_op(rcl_instruction_keyword, line_num);
}
op_type = get_operand_type(op);
if(OT_REGISTER_A == op_type)
{
machine_code[machine_code_address] = 0xDC;
machine_code_address++;
}
else
{
error_msg_wrong_op(rcl_instruction_keyword, line_num);
}
//
// 在代码行数据库中,标记此行是一个指令行
//
line_database[line_count].flag |= LF_INSTRUCTION;
}
// not a
void parse_not(int line_num)
{
char *op;
unsigned long op_type;
if(assembler_state != AS_TEXT)
{
warning_msg_invalid_line(line_num);
return;
}
op = strtok(NULL, delimit_char);
if(NULL == op)
{
error_msg_miss_op(not_instruction_keyword, line_num);
}
op_type = get_operand_type(op);
if(OT_REGISTER_A == op_type)
{
machine_code[machine_code_address] = 0xE4;
machine_code_address++;
}
else
{
error_msg_wrong_op(not_instruction_keyword, line_num);
}
//
// 在代码行数据库中,标记此行是一个指令行
//
line_database[line_count].flag |= LF_INSTRUCTION;
}
// iret
void parse_iret(int line_num)
{
machine_code[machine_code_address] = 0xF8;
machine_code_address++;
//
// 在代码行数据库中,标记此行是一个指令行
//
line_database[line_count].flag |= LF_INSTRUCTION;
}
// nop
void parse_nop(int line_num)
{
machine_code[machine_code_address] = 0xE0;
machine_code_address++;
//
// 在代码行数据库中,标记此行是一个指令行
//
line_database[line_count].flag |= LF_INSTRUCTION;
}
// 向符号表中添加一个符号
void add_symbol(const char* symbol, int line_num)
{
int i;
// 符号名称不能重复
for(i=0; i<symbol_count; i++)
{
if(stricmp(symbol, symbol_table[i].name) == 0)
{
error_msg_same_symbol(symbol, line_num, symbol_table[i].line_num);
}
}
// 符号数量有限
if(symbol_count == MAX_SYMBOL_COUNT)
{
sprintf(formated_msg, "定义了太多的符号。最多可以定义 %d 个符号。", MAX_SYMBOL_COUNT);
error_msg(formated_msg, line_num);
}
// 添加符号
strcpy(symbol_table[symbol_count].name, symbol);
symbol_table[symbol_count].address = machine_code_address;
symbol_table[symbol_count].line_num = line_num;
symbol_count++;
}
// 解析符号
void parse_symbol(const char* symbol_with_colon, int line_num)
{
char symbol[MAX_SYMBOL_LENGTH];
char* token;
// 删除符号末尾的冒号
strcpy(symbol, symbol_with_colon);
symbol[strlen(symbol) - 1] = 0;
if(AS_TEXT == assembler_state)
{
// 代码段中的标号作为符号。记录到符号表中,不产生机器码。
add_symbol(symbol, line_num);
// 标号必须单独占一行,否则报错
if (strtok(NULL, delimit_char) != NULL)
{
error_msg("标号必须单独占用一行。", line_num);
}
}
else if(AS_DATA == assembler_state)
{
// 数据段中的变量作为符号。一个变量可以包含多个字节数据。记录到符号表中,产生机器码。
add_symbol(symbol, line_num);
while((token = strtok(NULL, delimit_char)) != NULL)
{
if(!is_immediate(token))
{
error_msg_wrong_data(token, line_num);
}
machine_code[machine_code_address] = get_machine_code_from_immediate(token);
machine_code_address++;
symbol_table[symbol_count - 1].machine_code_count++;
}
}
else
{
warning_msg_invalid_line(line_num);
}
}
// 解析代码段开始标志
void parse_code_section_keyword(int line_num)
{
// 代码段标志
if(AS_DATA == assembler_state)
{
error_msg("代码段不能定义在数据段的后面。", line_num);
}
else if(AS_TEXT == assembler_state)
{
error_msg("定义了重复的代码段。", line_num);
}
assembler_state = AS_TEXT;
}
// 解析数据段开始标志
void parse_data_section_keyword(int line_num)
{
// 数据段标志
if(AS_DATA == assembler_state)
{
error_msg("定义了重复的数据段。", line_num);
}
else if(AS_BEGIN == assembler_state)
{
error_msg("数据段不能定义在代码段的前面。", line_num);
}
assembler_state = AS_DATA;
}
// 定义关键字和解析函数的对应关系
typedef void (*PARSE_FUNCTION)(int line_num);
struct KEYWORD_FUNCTION_ENTRY
{
const char** keyword;
PARSE_FUNCTION parse_function;
};
//
// 必须将关键字及其解析函数放在下面的表中。从而可以使用“表驱动”的编程模式。
//
struct KEYWORD_FUNCTION_ENTRY keyword_function_table[] =
{
{ NULL, NULL } // 未用
,{ &code_section_keyword, parse_code_section_keyword }
,{ &data_section_keyword, parse_data_section_keyword }
,{ &mov_instruction_keyword, parse_mov }
,{ &jmp_instruction_keyword, parse_jmp }
,{ &add_instruction_keyword, parse_add }
,{ &adc_instruction_keyword, parse_adc }
,{ &sub_instruction_keyword, parse_sub }
,{ &sbb_instruction_keyword, parse_sbb }
,{ &and_instruction_keyword, parse_and }
,{ &or_instruction_keyword, parse_or }
,{ &read_instruction_keyword, parse_read }
,{ &write_instruction_keyword, parse_write }
,{ &jc_instruction_keyword, parse_jc }
,{ &jz_instruction_keyword, parse_jz }
,{ &call_instruction_keyword, parse_call }
,{ &in_instruction_keyword, parse_in }
,{ &out_instruction_keyword, parse_out }
,{ &ret_instruction_keyword, parse_ret }
,{ &shr_instruction_keyword, parse_shr }
,{ &shl_instruction_keyword, parse_shl }
,{ &rcr_instruction_keyword, parse_rcr }
,{ &rcl_instruction_keyword, parse_rcl }
,{ &not_instruction_keyword, parse_not }
,{ &iret_instruction_keyword, parse_iret }
,{ &nop_instruction_keyword, parse_nop }
,{ &int_instruction_keyword, parse_int }
,{ &lea_instruction_keyword, parse_lea }
,{ &r0_register_keyword, NULL }
,{ &r1_register_keyword, NULL }
,{ &r2_register_keyword, NULL }
,{ &r3_register_keyword, NULL }
,{ &r0_register_indirect_keyword, NULL }
,{ &r1_register_indirect_keyword, NULL }
,{ &r2_register_indirect_keyword, NULL }
,{ &r3_register_indirect_keyword, NULL }
,{ &a_register_keyword, NULL }
,{ &sp_register_keyword, NULL }
};
// 判断是否是一个关键字。返回0,不是关键字;返回非0,是关键字,并且返回值就是关键字在表中的下标。
int match_keyword(const char* token)
{
int i;
for(i=1; i<sizeof(keyword_function_table)/sizeof(keyword_function_table[0]); i++)
{
if(stricmp(token, *keyword_function_table[i].keyword) == 0)
{
return i;
}
}
return 0;
}
// 判断是否是一个符号
int is_symbol(const char* token, int line_num)
{
int i;
char symbol_name[MAX_SYMBOL_LENGTH];
// 最后一个字符必须是冒号
if(token[strlen(token) - 1] != ':')
{
return 0;
}
// 第一个字符必须是字母或者下划线
if(token[0] != '_' && !isalpha(token[0]))
{
return 0;
}
// 后面的字符必须是字母、数字、下划线
for(i=0; i<(int)strlen(token)-2; i++)
{
if(token[i] != '_' && !isalpha(token[i]) && !isdigit(token[i]))
{
return 0;
}
}
// 不能与关键字相同
strcpy(symbol_name, token);
symbol_name[strlen(symbol_name) - 1] = 0;
if(match_keyword(symbol_name) != 0)
{
error_msg_keyword_symbol(symbol_name, line_num);
}
return 1;
}
// 输出版本信息
void version_msg()
{
printf(
"Engintime DM1000 8位模型机汇编器 [版本 2.0]\n"
"版权所有 (c) 2008-2018 北京英真时代科技有限公司。保留所有权利。\n"
);
}
// 输出帮助信息
void help_msg()
{
printf(
"Engintime DM1000 8位模型机汇编器。\n\n"
"用法:\n\n"
" dmasm.exe assembly_file_name [options]\n\n"
"选项:\n\n"
" -g debug_file_name\t指定生成的调试信息文件路径。\n"
" -h\t\t\t打印此帮助信息。\n"
" -l list_file_name\t指定生成的列表文件路径。\n"
" -o target_file_name\t指定生成的目标文件路径。若未指定,默认生成 a.obj 文件。\n"
" -v\t\t\t打印版本信息。\n"
);
printf("\n");
version_msg();
exit(1);
}
void argument_error_msg()
{
printf("命令行参数错误。\n\n");
help_msg();
}
// 处理器用户输入的命令行参数
void process_argument(int argc, char* argv[])
{
int i;
// argv[0] 是 "easm.exe",所以可以忽略。
for(i=1; i<argc; i++)
{
if(strcmp(argv[i], "-v") == 0)
{
version_msg();
exit(1);
}
else if(strcmp(argv[i], "-h") == 0)
{
help_msg();
}
else if(strcmp(argv[i], "-o") == 0)
{
if(i + 1 < argc)
{
i++;
target_file_name = argv[i];
}
else
{
argument_error_msg();
}
}
else if(strcmp(argv[i], "-l") == 0)
{
if(i + 1 < argc)
{
i++;
list_file_name = argv[i];
}
else
{
argument_error_msg();
}
}
else if(strcmp(argv[i], "-g") == 0)
{
if(i + 1 < argc)
{
i++;
dbg_file_name = argv[i];
}
else
{
argument_error_msg();
}
}
else if(NULL == assembly_file_name && argv[i][0] != '-')
{
// 输入的汇编源代码文件路径。
assembly_file_name = argv[i];
}
else
{
argument_error_msg();
}
}
//
// 如果命令行参数中没有指定输入的汇编文件,就打印错误信息后退出
//
if(NULL == assembly_file_name)
{
printf("命令行参数错误。没有指定汇编源代码文件的路径。\n");
help_msg();
}
}
// 将一个字符串写入二进制文件中。先将字符串长度写入文件,然后将字符串中的
// 每个字符依次写入文件,不包括字符串末尾的 0.
void write_string_to_binary_file(const char* str, FILE* fp)
{
int str_length;
if(str != NULL)
{
str_length = strlen(str);
fwrite(&str_length, 1, sizeof(str_length), fp);
fwrite(str, 1, str_length, fp);
}
else
{
str_length = 0;
fwrite(&str_length, 1, sizeof(str_length), fp);
}
}
int main(int argc, char* argv[])
{
FILE* fp;
char* token;
char line[MAX_LINE_LENGTH];
int i, j;
int line_num = 1; // 行号从第一行开始计数
int keyword_index;
//
// 处理命令行参数
//
process_argument(argc, argv);
//
// 打开汇编源代码文件
//
fp = fopen(assembly_file_name, "r");
if(NULL == fp)
{
printf("无法打开源代码文件 %s\n", assembly_file_name);
return 1;
}
//////////////////////////////////////////////////////////////////////////
// 第一遍扫描
version_msg();
printf("\n正在汇编 %s...\n", assembly_file_name);
//
// 一次读取一行文本,同时记录所有的代码行信息
//
while(fgets(line, sizeof(line), fp) != NULL)
{
//
// 将一行代码的信息记录到代码行数据库中
//
strcpy(line_database[line_count].line_string, line);
line_database[line_count].line_num = line_num;
line_database[line_count].address = machine_code_address;
//
// 将代码行中的注释剥离
//
line[strcspn(line, ";")] = 0;
//
// 开始解析代码行
//
token = strtok(line, delimit_char);
if(NULL == token)
{
// 如果是空行,不做任何处理
}
else if((keyword_index = match_keyword(token)) != 0
&& keyword_function_table[keyword_index].parse_function != NULL)
{
// 根据关键字进行相应的处理
keyword_function_table[keyword_index].parse_function(line_num);
}
else if(is_symbol(token, line_num))
{
// 处理符号
parse_symbol(token, line_num);
}
else
{
error_msg("无法识别的代码行。", line_num);
}
//
// 补充代码行数据库信息
//
line_database[line_count].machine_code_count = machine_code_address - machine_code_old_address;
machine_code_old_address = machine_code_address;
//
// 记录产生了机器码的代码行数量
//
if(line_database[line_count].machine_code_count != 0)
{
machine_code_line_count++;
}
//
// 增加行号
//
line_count++;
line_num++;
if(line_count == MAX_LINE_COUNT)
{
sprintf(formated_msg, "汇编文件中的代码行过多,最多只能有 %d 行代码。", MAX_LINE_COUNT);
error_msg(formated_msg, -1);
}
}
fclose(fp);
//////////////////////////////////////////////////////////////////////////
// 第二遍扫描
//
// 根据符号表更新重定位表
//
for(i=0; i<reallocate_count; i++)
{
for(j=0; j<symbol_count; j++)
{
if(stricmp(symbol_table[j].name, reallocate_table[i].symbol_name) == 0)
{
machine_code[reallocate_table[i].address] = (BYTE)symbol_table[j].address;
symbol_table[j].ref_count++;
break;
}
}
if(j == symbol_count)
{
// 重定位表中使用的符号在符号表中未定义,报错
sprintf(formated_msg, "使用了未定义的符号 %s。", reallocate_table[i].symbol_name);
error_msg(formated_msg, reallocate_table[i].line_num);
}
}
//
// 如果存在未引用的符号,输出警告信息。
//
for(i=0; i<symbol_count; i++)
{
if(0 == symbol_table[i].ref_count)
{
warning_msg_unref_symbol(symbol_table[i].name, symbol_table[i].line_num);
}
}
//////////////////////////////////////////////////////////////////////////
// 产生各种输出文件
//
// 将机器码写入二进制文件
//
if(NULL == target_file_name)
{
target_file_name = "a.obj";
}
fp = fopen(target_file_name, "wb");
if(NULL == fp)
{
printf("无法打开输出文件 %s\n", target_file_name);
return 1;
}
fwrite(machine_code, 1, machine_code_address, fp);
fclose(fp);
printf("\n生成目标文件 %s\n", target_file_name);
//
// 将代码行数据库中的信息写入列表文件
//
if(list_file_name != NULL)
{
fp = fopen(list_file_name, "w");
if(NULL == fp)
{
printf("无法打开列表文件 %s\n", list_file_name);
return 1;
}
for(i=0; i<line_count; i++)
{
// 行号
fprintf(fp, "%04d ", line_database[i].line_num);
// 地址和机器码
if(line_database[i].machine_code_count > 0)
{
fprintf(fp, "%02X ", line_database[i].address);
for(j=0; j<line_database[i].machine_code_count; j++)
{
// 确保每行最多写两个字节的机器码
if(j != 0 && j % 2 == 0)
{
if(2 == j)
{
fprintf(fp, " ");
}
else
{
fprintf(fp, "\n ");
}
}
fprintf(fp, "%02X ", machine_code[line_database[i].address + j]);
if(1 == j)
{
fprintf(fp, " ");
fprintf(fp, line_database[i].line_string);
}
}
if(1 == j)
{
fprintf(fp, " ");
fprintf(fp, line_database[i].line_string);
}
else if(j > 2)
{
fprintf(fp, "\n");
}
}
else
{
fprintf(fp, " ");
// 源代码
fprintf(fp, line_database[i].line_string);
}
}
fclose(fp);
printf("生成列表文件 %s\n", list_file_name);
}
//
// 将代码行数据库中的信息写入二进制的调试信息文件。
//
// 调试信息的基本格式为:
// 魔数(4字节),固定不可改变
// 版本号(4字节),固定不可改变
// 源代码文件绝对路径字符串长度(4字节)
// 源代码文件绝对路径字符串(不包括字符串结尾的0)
// 列表文件绝对路径字符串长度(4字节)
// 列表文件绝对路径字符串(不包括字符串结尾的0)
//
// 代码行数据库中元素的数量(4字节)
// 代码行数据库中的所有元素
//
// 符号表元素的数量(4字节)
// 符号表中的所有元素
//
if(dbg_file_name != NULL)
{
fp = fopen(dbg_file_name, "wb");
if(NULL == fp)
{
printf("无法打开调试信息文件 %s\n", dbg_file_name);
return 1;
}
// 魔数
fwrite(&dbg_file_magic, 1, sizeof(dbg_file_magic), fp);
// 版本号
fwrite(&dbg_file_version, 1, sizeof(dbg_file_version), fp);
// 源代码文件路径
write_string_to_binary_file(assembly_file_name, fp);
// 列表文件路径
write_string_to_binary_file(list_file_name, fp);
// 代码行数据库中的所有元素
fwrite(&machine_code_line_count, 1, sizeof(machine_code_line_count), fp);
for(i=0; i<line_count; i++)
{
// 跳过没有产生机器码的代码行
if(0 == line_database[i].machine_code_count)
{
continue;
}
fwrite(&line_database[i].line_num, 1, sizeof(unsigned long), fp);
fwrite(&line_database[i].address, 1, sizeof(unsigned long), fp);
fwrite(&line_database[i].machine_code_count, 1, sizeof(int), fp);
fwrite(&line_database[i].flag, 1, sizeof(unsigned long), fp);
}
// 符号表中的所有元素
fwrite(&symbol_count, 1, sizeof(symbol_count), fp);
for(i=0; i<symbol_count; i++)
{
write_string_to_binary_file(symbol_table[i].name, fp);
fwrite(&symbol_table[i].address, 1, sizeof(unsigned long), fp);
fwrite(&symbol_table[i].machine_code_count, 1, sizeof(int), fp);
fwrite(&symbol_table[i].line_num, 1, sizeof(int), fp);
}
fclose(fp);
printf("生成调试信息文件 %s\n", dbg_file_name);
}
return 0;
}
添加文件
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<project id="1066ea9b-8510-4194-ab6e-5b2e2c42f996" name="interrupt" version="1">
<files>
<filefolder id="a9f57fc8-c239-4574-a5da-f8fa2760024b" name="子模块">
<file relativepath="ALU.dlsche"/>
<file relativepath="PC.dlsche"/>
<file relativepath="REG.dlsche"/>
<file relativepath="CU.dlsche"/>
<file relativepath="MEM.dlsche"/>
<file relativepath="IRR1.dlsche"/>
<file relativepath="uPC_NEXT.dlsche"/>
<file relativepath="IRR.dlsche"/>
<file relativepath="HDINT.dlsche"/>
<file relativepath="PR.dlsche"/>
<file relativepath="ISR.dlsche"/>
</filefolder>
<filefolder id="80f1035e-e898-408b-bb0c-e69c72ad13b4" name="汇编源程序">
<file relativepath="ram.asm"/>
<file relativepath="ram.bat"/>
</filefolder>
<filefolder id="03f70f98-2bea-4829-91ee-a9e5f6ee0c87" name="微指令源程序">
<file relativepath="rom.masm"/>
<file relativepath="rom.bat"/>
</filefolder>
<filefolder id="be71b6f0-d920-4758-8b3a-3a343b490c2e" name="存储器映射文件">
<file relativepath="ram.rxm"/>
<file relativepath="rom.rxm"/>
</filefolder>
<file relativepath="DM1000.dlsche"/>
</files>
</project>
/*******************************************************************************
Copyright (c) 2008 - 2018 北京英真时代科技有限公司。保留所有权利。
*******************************************************************************/
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>
typedef unsigned char BYTE;
typedef long BOOL;
#define FALSE 0
#define TRUE 1
#define MAX_LINE_LENGTH 256 // 一行代码最多可以有多少个字符
#define MAX_LINE_COUNT 1024 // 源代码文件最多可以有多少行
#define MAX_SYMBOL_LENGTH 64 // 一个符号最多可以包含多少个字符
#define MAX_SYMBOL_COUNT 256 // 源代码文件中最多可以包含多少个符号
#ifndef MAX_PATH
#define MAX_PATH 256 // 文件路径最多可以包含多少了字符
#endif
// 代码行数据库。记录源代码文件中所有代码行的信息(包括注释行、空行)
struct LINE_RECORD
{
char line_string[MAX_LINE_LENGTH]; // 代码行的内容
unsigned long line_num; // 行号
unsigned long address; // 此行代码转换的机器码在映像文件中的地址(偏移)。注意,对于 DM1000 来说,微指令的一个地址对应 4 个字节。
int machine_code_count; // 此行代码转换的机器码的字节数量
unsigned long flag; // 代码行标志位,32位
};
struct LINE_RECORD line_database[MAX_LINE_COUNT] = {0};
int line_count = 0;
int machine_code_line_count = 0; // 记录产生了机器码的代码行的数量
// 在此定义所有的代码行标志位。注意,代码行标志位是按位或的关系。
#define LF_INSTRUCTION 0x00000001 // 代码行标志位的最低位是1,表示此行是一条指令,否则表示此行是数据
//
// 在下面定义所有的关键字
//
// 寄存器名称
const char* rx_register_keyword = "rx";
const char* mar_register_keyword = "mar";
const char* rin_register_keyword = "rin";
const char* rout_register_keyword = "rout";
const char* sp_register_keyword = "sp";
const char* ia_register_keyword = "ia";
const char* ir_register_keyword = "ir";
const char* flag_register_keyword = "flag";
const char* pc_register_keyword = "pc";
const char* a_register_keyword = "a";
const char* w_register_keyword = "w";
const char* asr_register_keyword = "asr";
const char* upc_register_keyword = "upc";
// 堆栈计数器
const char* cst_counter_keyword = "cst";
//
// alu 操作码
const char* alu_add_keyword = "alu_add";
const char* alu_adc_keyword = "alu_adc";
const char* alu_sub_keyword = "alu_sub";
const char* alu_sbb_keyword = "alu_sbb";
const char* alu_and_keyword = "alu_and";
const char* alu_or_keyword = "alu_or";
const char* alu_aout_keyword = "alu_aout";
const char* alu_shr_keyword = "alu_shr";
const char* alu_shl_keyword = "alu_shl";
const char* alu_rcr_keyword = "alu_rcr";
const char* alu_rcl_keyword = "alu_rcl";
const char* alu_not_keyword = "alu_not";
const char* sp_inc_keyword = "sp_inc";
const char* sp_dec_keyword = "sp_dec";
const char* int_number_keyword = "int_number"; // 中断号
const char* int_ia_keyword = "int_ia";
const char* int_pc_keyword = "[int_pc]";
// 访问主存或外设的操作数
const char* pc_main_memory_keyword = "[pc]";
const char* pc_inc_main_memory_keyword = "[pc+]"; // 读出PC指向内存单元的值,同时允许PC加1
const char* mar_main_memory_keyword = "[mar]";
const char* mar_extern_memory_keyword = "<mar>";
const char* delimit_char = "\n\t\r "; // 需要忽略的空白字符
const char* delimit_char_comma = "\n\t\r, "; // 需要忽略的空白字符,包括英文逗号
// 单操作数微指令
struct ONE_OPERAND_INSTRUCTION_ENTRY
{
const char** op;
unsigned long micro_machine_code;
};
struct ONE_OPERAND_INSTRUCTION_ENTRY one_operand_table[] =
{
{ NULL, 0x0 } // 未用
,{ &pc_register_keyword, 0xffffffff } // inc pc
,{ &upc_register_keyword, 0xffffffcf } // reset upc
};
// 查表,操作数是否匹配。返回0,操作数不匹配;返回非0,操作数匹配,并且返回值就是操作数在表中的下标。
int match_one_operand(const char* op)
{
int i;
for(i=1; i<sizeof(one_operand_table)/sizeof(one_operand_table[0]); i++)
{
if((stricmp(op, *one_operand_table[i].op) == 0))
{
return i;
}
}
return 0;
}
// 双操作数微指令
struct PATH_INSTRUCTION_OPERAND_ENTRY
{
const char** op1;
const char** op2;
unsigned long micro_machine_code;
};
//////////////////////////////////////////////////////////////////////////
//
struct PATH_INSTRUCTION_OPERAND_ENTRY path_operand_table[] =
{
{ NULL, NULL, 0x0 } // 未用
,{ &pc_main_memory_keyword, &ir_register_keyword, 0xfff93fef } // path [pc], ir ff e3 ff ff
,{ &alu_add_keyword, &a_register_keyword, 0x99e4ffef } // path alu_add, a ff ff fe 90
,{ &alu_sub_keyword, &a_register_keyword, 0x86e4ffef } // path alu_sub, a ff ff fe 91
,{ &alu_or_keyword, &a_register_keyword, 0xbee4ffef } // path alu_or, a
,{ &alu_and_keyword, &a_register_keyword, 0xbbe4ffef } // path alu_and, a
,{ &alu_adc_keyword, &a_register_keyword, 0x89e4ffef } // path alu_adc, a
,{ &alu_sbb_keyword, &a_register_keyword, 0x96e4ffef } // path alu_sbb, a
,{ &alu_shr_keyword, &a_register_keyword, 0x90d5ffef } // path alu_shr, a ff ff fc b7
,{ &alu_shl_keyword, &a_register_keyword, 0x90d6ffef } // path alu_shl, a
,{ &alu_rcr_keyword, &a_register_keyword, 0x90e5ffef } // path alu_rcr, a
,{ &alu_rcl_keyword, &a_register_keyword, 0x90e6ffef } // path alu_rcl, a
,{ &alu_not_keyword, &a_register_keyword, 0xb0f4ffef } // path alu_not, a
,{ &rx_register_keyword, &w_register_keyword, 0x7ffaffef } // path rx, w
,{ &rx_register_keyword, &mar_register_keyword, 0xfffaf7ef } // path rx, mar
,{ &mar_main_memory_keyword, &w_register_keyword, 0x7ff9fbef } // path [mar], w
,{ &pc_main_memory_keyword, &mar_register_keyword, 0xfff977ef } // path [pc], mar
,{ &pc_main_memory_keyword, &w_register_keyword, 0x7ff97fef } // path [pc], w
,{ &rx_register_keyword, &a_register_keyword, 0xbffaffef } // path rx, a
,{ &mar_main_memory_keyword, &a_register_keyword, 0xbff9fbef } // path [mar], a 从地址寄存器指定的内存单元读数据到a寄存器
,{ &pc_main_memory_keyword, &a_register_keyword, 0xbff97fef } // path [pc], a
,{ &a_register_keyword, &rx_register_keyword, 0xd0b4ffef } // path a, rx
,{ &a_register_keyword, &mar_main_memory_keyword, 0xd0f4fbed } // path a, [mar] 将a寄存器数据写入地址寄存器指向的内存
,{ &pc_main_memory_keyword, &rx_register_keyword, 0xffb97fef } // path [pc], rx
,{ &mar_extern_memory_keyword, &a_register_keyword, 0xbff97fef } // path <mar>, a 从地址寄存器指定的外部设备读数据到a寄存器
,{ &alu_aout_keyword, &mar_main_memory_keyword, 0xd0f4fbec } // path alu_aout, [mar]
,{ &pc_main_memory_keyword, &pc_register_keyword, 0xfff96fef } // path [pc], pc
,{ &pc_inc_main_memory_keyword, &pc_register_keyword, 0xfff96fff } // path [+pc], pc 读出PC指向主存单元的内容,同时允许PC加1,主要用在jz和jc指令中
,{ &pc_register_keyword, &sp_register_keyword, 0xfff3feef } // path pc, sp
,{ &ia_register_keyword, &mar_register_keyword, 0xfff1f7ef } // path ia, mar
,{ &pc_register_keyword, &mar_register_keyword, 0xfff3f7ef } // path pc, mar
,{ &rin_register_keyword, &a_register_keyword, 0xbff0ffef } // path rin, a
,{ &a_register_keyword, &rout_register_keyword, 0xd0f4ffee } // path a, rout
,{ &mar_main_memory_keyword, &pc_register_keyword, 0xfff9ebef } // 从地址寄存器指定的内存单元读数据到程序计数器pc
,{ &pc_main_memory_keyword, &sp_register_keyword, 0xfff97eef } // path [pc], sp 执行后pc应加1指向下一条指令
,{ &sp_register_keyword, &mar_register_keyword, 0xfff2f7ef } // path sp, mar
,{ &sp_register_keyword, &cst_counter_keyword, 0xff72ffef } // path sp, cst
,{ &pc_main_memory_keyword, &ia_register_keyword, 0xfff97feb } // path [pc], ia 执行后pc应加1指向下一条指令
,{ &pc_main_memory_keyword, &asr_register_keyword, 0xfff97def } // path [pc], asr
,{ &cst_counter_keyword, &mar_register_keyword, 0xfff8f7ef } // path cst, mar
,{ &cst_counter_keyword, &sp_register_keyword, 0xfff8feef } // path cst, sp
,{ &sp_inc_keyword, &cst_counter_keyword, 0xffffffe7 } // path st_add, cst
,{ &sp_dec_keyword, &cst_counter_keyword, 0xffffffef } // path st_minus, cst
,{ &pc_register_keyword, &mar_main_memory_keyword, 0xfff3fbed } // path pc, [mar] 将pc值写入mar指向的内存
,{ &asr_register_keyword, &pc_register_keyword, 0xfff7efef } // path asr, pc
,{ &sp_register_keyword, &asr_register_keyword, 0xfff2fdef } // path sp, asr
,{ &int_ia_keyword, &pc_register_keyword, 0xfff1dfef } // path int_ia, pc
,{ &int_pc_keyword, &pc_register_keyword, 0xfff95fef } // path int_pc, pc
,{ &int_number_keyword, &ia_register_keyword, 0xfffbffeb } // path int_number, ia 将中断号给ia寄存器
};
// 查表,判断两个操作数是否匹配。返回0,操作数不完全匹配;返回非0,操作数完全匹配,并且返回值就是操作数在表中的下标。
int match_ops(const char* op1, const char* op2)
{
int i;
for(i=1; i<sizeof(path_operand_table)/sizeof(path_operand_table[0]); i++)
{
if((stricmp(op1, *path_operand_table[i].op1) == 0)
&& (stricmp(op2, *path_operand_table[i].op2) == 0))
{
return i;
}
}
return 0;
}
// 汇编产生的机器码
#define MAX_MACHINE_CODE 1024
BYTE machine_code[MAX_MACHINE_CODE];
unsigned long machine_code_address = 0; // 一个地址对应一个字节
unsigned long machine_code_old_address = 0;
const char* micro_file_name = NULL; // 微指令文件路径
const char* target_file_name = NULL; // 目标文件路径
const char* list_file_name = NULL; // 列表文件路径
const char* dbg_file_name = NULL; // 调试信息文件路径
const unsigned long dbg_file_magic = 58;
const unsigned long dbg_file_version = 1;
// 输出汇编过程中发现的语法错误信息
void error_msg(const char* error_msg, int line_num)
{
if(line_num >= 1)
{
printf("%s:%d: error: %s\n", micro_file_name, line_num, error_msg);
}
else
{
printf("%s: error: %s\n", micro_file_name, error_msg);
}
exit(1);
}
char formated_msg[1024]; // 将格式化后的错误信息放在此字符串中。
void error_msg_miss_op(const char* instruction_name, int line_num)
{
sprintf(formated_msg, "%s 指令缺少操作数。", instruction_name);
error_msg(formated_msg, line_num);
}
void error_msg_wrong_op(const char* instruction_name, int line_num)
{
sprintf(formated_msg, "%s 指令不支持这样的操作数。", instruction_name);
error_msg(formated_msg, line_num);
}
// 定义关键字和解析函数的对应关系
typedef void (*PARSE_FUNCTION)(int line_num);
struct KEYWORD_FUNCTION_ENTRY
{
const char** keyword;
PARSE_FUNCTION parse_function;
};
// 指令名称
const char* dup_instruction_keyword = "dup";
const char* null_instruction_keyword = "null";
const char* path_instruction_keyword = "path";
const char* inc_instruction_keyword = "inc"; // pc+1
const char* reset_instruction_keyword = "reset"; // 复位
const char* ask_for_int_instruction_keyword = "ask_for_int"; //查询硬中断
const char* inta1_instruction_keyword = "inta1"; //第一个中断应答信号
const char* inta2_instruction_keyword = "inta2"; //第二个中断应答信号
const char* eoi_instruction_keyword = "eoi"; //中断返回
// 判断是否是立即数。不支持负数。
int is_immediate(const char* token)
{
return isdigit(token[0]);
}
// 根据立即数得到值。不支持负数。
unsigned long get_value_from_immediate(const char* immediate)
{
char* end;
int base = (immediate[0] == '0' && (immediate[1] == 'x' || immediate[1] == 'X')) ? 16 : 10;
return strtoul(immediate, &end, base);
}
// dup n, null
void parse_dup(int line_num)
{
char *op1, *op2;
int i;
unsigned long micro_instruction_count; // 微指令个数
unsigned long micro_code; // 微指令编码
op1 = strtok(NULL, delimit_char_comma);
op2 = strtok(NULL, delimit_char);
if(NULL == op1 || NULL == op2)
{
error_msg_miss_op(dup_instruction_keyword, line_num);
}
// dup微指令的第一个操作数必须是立即数(十进制或十六进制)
if (!is_immediate(op1))
{
error_msg_wrong_op(dup_instruction_keyword, line_num);
}
// 得到微指令个数
micro_instruction_count = get_value_from_immediate(op1);
// 解析第二个操作数
if (is_immediate(op2))
{
micro_code = get_value_from_immediate(op2);
}
else if(0 == stricmp(op2, null_instruction_keyword))
{
micro_code = 0xffffffff;
}
else
{
error_msg_wrong_op(dup_instruction_keyword, line_num);
}
for (i = 0; i < (int)micro_instruction_count; i++)
{
memcpy(&machine_code[machine_code_address], &micro_code, 4);
machine_code_address += 4;
}
}
// null
void parse_null(int line_num)
{
unsigned long ul = 0xffffffff;
memcpy(&machine_code[machine_code_address], &ul, 4);
machine_code_address += 4;
}
// ask_for_int
void parse_ask_for_int(int line_num)
{
unsigned long ul = 0xffffffaf;
memcpy(&machine_code[machine_code_address], &ul, 4);
machine_code_address += 4;
}
// inta1
void parse_inta1(int line_num)
{
unsigned long ul = 0xfffbffef;
memcpy(&machine_code[machine_code_address], &ul, 4);
machine_code_address += 4;
}
// inta2
void parse_inta2(int line_num)
{
unsigned long ul = 0xfffcffeb;
memcpy(&machine_code[machine_code_address], &ul, 4);
machine_code_address += 4;
}
// eoi
void parse_eoi(int line_num)
{
unsigned long ul = 0xfffdffef;
memcpy(&machine_code[machine_code_address], &ul, 4);
machine_code_address += 4;
}
// path op1, op2
void parse_path(int line_num)
{
char *op1, *op2;
int index;
op1 = strtok(NULL, delimit_char_comma);
op2 = strtok(NULL, delimit_char);
if(NULL == op1 || NULL == op2)
{
error_msg_miss_op(path_instruction_keyword, line_num);
}
index = match_ops(op1, op2);
if (0 == index)
{
error_msg_wrong_op(path_instruction_keyword, line_num);
}
memcpy(&machine_code[machine_code_address], &path_operand_table[index].micro_machine_code, 4);
machine_code_address += 4;
//
// 在代码行数据库中,标记此行是一个指令行
//
line_database[line_count].flag |= LF_INSTRUCTION;
}
// inc
void parse_inc(int line_num)
{
char *op;
int index;
op = strtok(NULL, delimit_char_comma);
if(NULL == op)
{
error_msg_miss_op(inc_instruction_keyword, line_num);
}
index = match_one_operand(op);
if (0 == index)
{
error_msg_wrong_op(inc_instruction_keyword, line_num);
}
memcpy(&machine_code[machine_code_address], &one_operand_table[index].micro_machine_code, 4);
machine_code_address += 4;
//
// 在代码行数据库中,标记此行是一个指令行
//
line_database[line_count].flag |= LF_INSTRUCTION;
}
// reset
void parse_reset(int line_num)
{
char *op;
int index;
op = strtok(NULL, delimit_char_comma);
if(NULL == op)
{
error_msg_miss_op(reset_instruction_keyword, line_num);
}
index = match_one_operand(op);
if (0 == index)
{
error_msg_wrong_op(reset_instruction_keyword, line_num);
}
memcpy(&machine_code[machine_code_address], &one_operand_table[index].micro_machine_code, 4);
machine_code_address += 4;
//
// 在代码行数据库中,标记此行是一个指令行
//
line_database[line_count].flag |= LF_INSTRUCTION;
}
//
// 必须将关键字及其解析函数放在下面的表中。从而可以使用“表驱动”的编程模式。
//
struct KEYWORD_FUNCTION_ENTRY keyword_function_table[] =
{
{ NULL, NULL } // 未用
,{ &dup_instruction_keyword, parse_dup }
,{ &null_instruction_keyword, parse_null }
,{ &path_instruction_keyword, parse_path }
,{ &inc_instruction_keyword, parse_inc }
,{ &reset_instruction_keyword, parse_reset }
,{ &ask_for_int_instruction_keyword, parse_ask_for_int }
,{ &inta1_instruction_keyword, parse_inta1 }
,{ &inta2_instruction_keyword, parse_inta2 }
,{ &eoi_instruction_keyword, parse_eoi }
};
// 判断是否是一个关键字。返回0,不是关键字;返回非0,是关键字,并且返回值就是关键字在表中的下标。
int match_keyword(const char* token)
{
int i;
for(i=1; i<sizeof(keyword_function_table)/sizeof(keyword_function_table[0]); i++)
{
if(stricmp(token, *keyword_function_table[i].keyword) == 0)
{
return i;
}
}
return 0;
}
// 输出版本信息
void version_msg()
{
printf(
"Engintime DM1000 8位模型机微指令汇编器 [版本 2.0]\n"
"版权所有 (c) 2008-2018 北京英真时代科技有限公司。保留所有权利。\n"
);
}
// 输出帮助信息
void help_msg()
{
printf(
"Engintime DM1000 8位模型机微指令汇编器。\n\n"
"用法:\n\n"
" microasm.exe micro_file_name [options]\n\n"
"选项:\n\n"
" -g debug_file_name\t指定生成的调试信息文件路径。\n"
" -h\t\t\t打印此帮助信息。\n"
" -l list_file_name\t指定生成的列表文件路径。\n"
" -o target_file_name\t指定生成的目标文件路径。若未指定,默认生成 micro.obj 文件。\n"
" -v\t\t\t打印版本信息。\n"
);
printf("\n");
version_msg();
exit(1);
}
void argument_error_msg()
{
printf("命令行参数错误。\n\n");
help_msg();
}
// 处理器用户输入的命令行参数
void process_argument(int argc, char* argv[])
{
int i;
// argv[0] 是 "easm.exe",所以可以忽略。
for(i=1; i<argc; i++)
{
if(strcmp(argv[i], "-v") == 0)
{
version_msg();
exit(1);
}
else if(strcmp(argv[i], "-h") == 0)
{
help_msg();
}
else if(strcmp(argv[i], "-o") == 0)
{
if(i + 1 < argc)
{
i++;
target_file_name = argv[i];
}
else
{
argument_error_msg();
}
}
else if(strcmp(argv[i], "-l") == 0)
{
if(i + 1 < argc)
{
i++;
list_file_name = argv[i];
}
else
{
argument_error_msg();
}
}
else if(strcmp(argv[i], "-g") == 0)
{
if(i + 1 < argc)
{
i++;
dbg_file_name = argv[i];
}
else
{
argument_error_msg();
}
}
else if(NULL == micro_file_name && argv[i][0] != '-')
{
// 输入的汇编源代码文件路径。
micro_file_name = argv[i];
}
else
{
argument_error_msg();
}
}
//
// 如果命令行参数中没有指定输入的汇编文件,就打印错误信息后退出
//
if(NULL == micro_file_name)
{
printf("命令行参数错误。没有指定微指令源代码文件的路径。\n");
help_msg();
}
}
// 将一个字符串写入二进制文件中。先将字符串长度写入文件,然后将字符串中的
// 每个字符依次写入文件,不包括字符串末尾的 0.
void write_string_to_binary_file(const char* str, FILE* fp)
{
int str_length;
if(str != NULL)
{
str_length = strlen(str);
fwrite(&str_length, 1, sizeof(str_length), fp);
fwrite(str, 1, str_length, fp);
}
else
{
str_length = 0;
fwrite(&str_length, 1, sizeof(str_length), fp);
}
}
int main(int argc, char* argv[])
{
FILE* fp;
char* token;
char line[MAX_LINE_LENGTH];
int i, j;
int line_num = 1; // 行号从第一行开始计数
int keyword_index;
unsigned long micro_code;
//
// 处理命令行参数
//
process_argument(argc, argv);
//
// 打开汇编源代码文件
//
fp = fopen(micro_file_name, "r");
if(NULL == fp)
{
printf("无法打开微指令源代码文件 %s\n", micro_file_name);
return 1;
}
////////////////////////////////////////////////////////////////////////////
//// 扫描
version_msg();
printf("\n正在汇编 %s...\n", micro_file_name);
//
// 一次读取一行文本,同时记录所有的代码行信息
//
while(fgets(line, sizeof(line), fp) != NULL)
{
//
// 将一行代码的信息记录到代码行数据库中
//
strcpy(line_database[line_count].line_string, line);
line_database[line_count].line_num = line_num;
line_database[line_count].address = machine_code_address;
//
// 将代码行中的注释剥离
//
line[strcspn(line, ";")] = 0;
//
// 开始解析代码行
//
token = strtok(line, delimit_char);
if(NULL == token)
{
// 如果是空行,不做任何处理
}
else if((keyword_index = match_keyword(token)) != 0)
{
// 根据关键字进行相应的处理
keyword_function_table[keyword_index].parse_function(line_num);
}
else if(is_immediate(token))
{
// 将立即数直接作为微指令
micro_code = get_value_from_immediate(token);
memcpy(&machine_code[machine_code_address], &micro_code, 4);
machine_code_address += 4;
}
else
{
error_msg("无法识别的代码行。", line_num);
}
//
// 补充代码行数据库信息
//
line_database[line_count].machine_code_count = machine_code_address - machine_code_old_address;
machine_code_old_address = machine_code_address;
//
// 记录产生了机器码的代码行数量
//
if(line_database[line_count].machine_code_count != 0)
{
machine_code_line_count++;
}
//
// 增加行号
//
line_count++;
line_num++;
if(line_count == MAX_LINE_COUNT)
{
sprintf(formated_msg, "微指令文件中的代码行过多,最多只能有 %d 行代码。", MAX_LINE_COUNT);
error_msg(formated_msg, -1);
}
}
fclose(fp);
////////////////////////////////////////////////////////////////////////////
//// 产生各种输出文件
//
// 将机器码写入二进制文件
//
if(NULL == target_file_name)
{
target_file_name = "micro.obj";
}
fp = fopen(target_file_name, "wb");
if(NULL == fp)
{
printf("无法打开目标文件 %s\n", target_file_name);
return 1;
}
fwrite(machine_code, 1, machine_code_address, fp);
fclose(fp);
printf("\n生成目标文件 %s\n", target_file_name);
//
// 将代码行数据库中的信息写入列表文件
//
if(list_file_name != NULL)
{
fp = fopen(list_file_name, "w");
if(NULL == fp)
{
printf("无法打开列表文件 %s\n", list_file_name);
return 1;
}
for(i=0; i<line_count; i++)
{
// 行号
fprintf(fp, "%04d ", line_database[i].line_num);
// 地址和机器码
if(line_database[i].machine_code_count > 0)
{
fprintf(fp, "%02X ", line_database[i].address);
for(j=0; j<4; j++)
{
fprintf(fp, "%02X ", machine_code[line_database[i].address + j]);
}
fprintf(fp, " ");
}
else
{
fprintf(fp, " ");
}
// 源代码
fprintf(fp, line_database[i].line_string);
}
fclose(fp);
printf("生成列表文件 %s\n", list_file_name);
}
//
// 将代码行数据库中的信息写入二进制的调试信息文件。
//
// 调试信息的基本格式为:
// 魔数(4字节),固定不可改变
// 版本号(4字节),固定不可改变
// 源代码文件绝对路径字符串长度(4字节)
// 源代码文件绝对路径字符串(不包括字符串结尾的0)
// 列表文件绝对路径字符串长度(4字节)
// 列表文件绝对路径字符串(不包括字符串结尾的0)
//
// 代码行数据库中元素的数量(4字节)
// 代码行数据库中的所有元素
//
// 符号表元素的数量(4字节)
// 符号表中的所有元素
//
if(dbg_file_name != NULL)
{
fp = fopen(dbg_file_name, "wb");
if(NULL == fp)
{
printf("无法打开调试信息文件 %s\n", dbg_file_name);
return 1;
}
// 魔数
fwrite(&dbg_file_magic, 1, sizeof(dbg_file_magic), fp);
// 版本号
fwrite(&dbg_file_version, 1, sizeof(dbg_file_version), fp);
// 源代码文件路径
write_string_to_binary_file(micro_file_name, fp);
// 列表文件路径
write_string_to_binary_file(list_file_name, fp);
// 代码行数据库中的所有元素
fwrite(&machine_code_line_count, 1, sizeof(machine_code_line_count), fp);
for(i=0; i<line_count; i++)
{
// 跳过没有产生机器码的代码行
if(0 == line_database[i].machine_code_count)
{
continue;
}
fwrite(&line_database[i].line_num, 1, sizeof(unsigned long), fp);
fwrite(&line_database[i].address, 1, sizeof(unsigned long), fp);
fwrite(&line_database[i].machine_code_count, 1, sizeof(int), fp);
fwrite(&line_database[i].flag, 1, sizeof(unsigned long), fp);
}
// 没有符号表。但是为了确保调试信息的格式能够被正确读取,必须写入符号表数量为 0
i = 0;
fwrite(&i, 1, sizeof(i), fp);
fclose(fp);
printf("生成调试信息文件 %s\n", dbg_file_name);
}
return 0;
}
添加文件
添加文件
; 示例程序
.text
mov sp, 0xf8 ;初始化堆栈指针寄存器
;=======================================================
;安装中断向量,安装中断的过程是将各个中断服务程序的入口地址(首地址)保存到对应中断向量指向的存储单元中。
;中断向量本身是一个地址,它指向一个存储单元,该存储单元保存的就是某个中断服务程序的入口地址(起始地址)
;设中断向量列表的首地址为0xf8,即第一个中断向量是存储单元0xf8
;0号中断向量0xf8,0xf8中保存0号中断服务程序的入口地址
lea a, int_0
mov r0, 0xf8
mov [r0], a
;1号中断向量0xf9,0xf9中保存1号中断服务程序的入口地址
lea a, int_1
mov r0, 0xf9
mov [r0], a
;2号中断向量0xfa,0xfa中保存2号中断服务程序的入口地址
lea a, int_2
mov r0, 0xfa
mov [r0], a
;3号中断向量0xfb,0xfb中保存3号中断服务程序的入口地址
lea a, int_3
mov r0, 0xfb
mov [r0], a
;=======================================================
;主程序代码
mov a, -1
LOOPC:
mov r0, 1
add a, r0
jmp LOOPC
;=======================================================
;中断服务程序
;0号中断的服务程序
int_0:
mov a, 0x10
adc a, -1
ret
;1号中断的服务程序
int_1:
mov a, 0x11
sub a, -1
ret
;2号中断的服务程序
int_2:
mov a, 0x12
and a, r0
ret
;3号中断的服务程序
int_3:
mov a, 0x13
or a, [r0]
ret
@echo off
dmasm.exe ram.asm -o ram.rxm -l ram.lst -g ram.dbg
pause
添加文件
0001 ; 示例程序
0002
0003 .text
0004
0005 00 9C F8 mov sp, 0xf8 ;初始化堆栈指针寄存器
0006
0007 ;=======================================================
0008 ;安装中断向量,安装中断的过程是将各个中断服务程序的入口地址(首地址)保存到对应中断向量指向的存储单元中。
0009 ;中断向量本身是一个地址,它指向一个存储单元,该存储单元保存的就是某个中断服务程序的入口地址(起始地址)
0010 ;设中断向量列表的首地址为0xf8,即第一个中断向量是存储单元0xf8
0011 ;0号中断向量0xf8,0xf8中保存0号中断服务程序的入口地址
0012 02 98 1D lea a, int_0
0013 04 8C F8 mov r0, 0xf8
0014 06 84 mov [r0], a
0015
0016 ;1号中断向量0xf9,0xf9中保存1号中断服务程序的入口地址
0017 07 98 22 lea a, int_1
0018 09 8C F9 mov r0, 0xf9
0019 0B 84 mov [r0], a
0020
0021 ;2号中断向量0xfa,0xfa中保存2号中断服务程序的入口地址
0022 0C 98 27 lea a, int_2
0023 0E 8C FA mov r0, 0xfa
0024 10 84 mov [r0], a
0025
0026 ;3号中断向量0xfb,0xfb中保存3号中断服务程序的入口地址
0027 11 98 2B lea a, int_3
0028 13 8C FB mov r0, 0xfb
0029 15 84 mov [r0], a
0030
0031 ;=======================================================
0032 ;主程序代码
0033
0034 16 7C FF mov a, -1
0035
0036 LOOPC:
0037 18 8C 01 mov r0, 1
0038 1A 10 add a, r0
0039
0040 1B AC 18 jmp LOOPC
0041
0042
0043 ;=======================================================
0044 ;中断服务程序
0045 ;0号中断的服务程序
0046 int_0:
0047 1D 7C 10 mov a, 0x10
0048 1F 2C FF adc a, -1
0049 21 C8 ret
0050
0051 ;1号中断的服务程序
0052 int_1:
0053 22 7C 11 mov a, 0x11
0054 24 3C FF sub a, -1
0055 26 C8 ret
0056
0057 ;2号中断的服务程序
0058 int_2:
0059 27 7C 12 mov a, 0x12
0060 29 50 and a, r0
0061 2A C8 ret
0062
0063 ;3号中断的服务程序
0064 int_3:
0065 2B 7C 13 mov a, 0x13
0066 2D 64 or a, [r0]
0067 2E C8 ret
0068
添加文件
# 说明
基于 DM1000 的硬中断电路实现
# 原理图
![raw svg](computer_system/lab8/interrupt/DM1000.dlsche.svg)
\ No newline at end of file
@echo off
microasm.exe rom.masm -o rom.rxm -l rom.lst -g rom.dbg
pause
\ No newline at end of file
添加文件
0001 ; (C) 2008-2018 北京英真时代科技有限公司。保留所有权利。
0002
0003 ; 所有指令的第一条微指令地址必须是8的倍数
0004 ; 取指微指令,所有指令的第一步均为取指操作,都要执行该条微指令
0005 00 EF 3F F9 FF path [pc], ir
0006
0007 ; 填充空白指令 01-1f
0008 04 FF FF FF FF dup 31, null
0009
0010 ; add a, rx
0011 80 EF FF FA 7F path rx, w
0012 84 EF FF E4 99 path alu_add, a
0013 88 FF FF FF FF inc pc
0014
0015 ;查询硬中断请求,将低3位中断号与高5位中断向量基地址组合,得到8位中断向量(8位地址)
0016 ;该中断向量指向一个存储单元,该存储单元保存的就是中断服务程序的入口地址
0017 ;若允许中断且有中断请求,则微程序跳转到硬中断处理处执行
0018 8C AF FF FF FF ask_for_int
0019 90 CF FF FF FF reset upc
0020
0021 94 FF FF FF FF dup 3, null
0022
0023 ; add a, [rx]
0024 A0 EF F7 FA FF path rx, mar
0025 A4 EF FB F9 7F path [mar], w
0026 A8 EF FF E4 99 path alu_add, a
0027 AC FF FF FF FF inc pc
0028 B0 AF FF FF FF ask_for_int
0029 B4 CF FF FF FF reset upc
0030
0031 B8 FF FF FF FF dup 2, null
0032
0033 ; add a, symbol
0034 C0 FF FF FF FF inc pc
0035 C4 EF 77 F9 FF path [pc], mar
0036 C8 EF FB F9 7F path [mar], w
0037 CC EF FF E4 99 path alu_add, a
0038 D0 FF FF FF FF inc pc
0039 D4 AF FF FF FF ask_for_int
0040 D8 CF FF FF FF reset upc
0041
0042 DC FF FF FF FF dup 1, null
0043
0044 ; add a, immediate
0045 E0 FF FF FF FF inc pc
0046 E4 EF 7F F9 7F path [pc], w
0047 E8 EF FF E4 99 path alu_add, a
0048 EC FF FF FF FF inc pc
0049 F0 AF FF FF FF ask_for_int ;查询硬中断请求,若有请求,则转去执行硬中断预处理微程序
0050 F4 CF FF FF FF reset upc
0051
0052 F8 FF FF FF FF dup 2, null
0053
0054 ; adc a, rx
0055 100 EF FF FA 7F path rx, w
0056 104 EF FF E4 89 path alu_adc, a
0057 108 FF FF FF FF inc pc
0058 10C AF FF FF FF ask_for_int
0059 110 CF FF FF FF reset upc
0060
0061 114 FF FF FF FF dup 3, null
0062
0063 ; adc a, [rx]
0064 120 EF F7 FA FF path rx, mar
0065 124 EF FB F9 7F path [mar], w
0066 128 EF FF E4 89 path alu_adc, a
0067 12C FF FF FF FF inc pc
0068 130 AF FF FF FF ask_for_int
0069 134 CF FF FF FF reset upc
0070
0071 138 FF FF FF FF dup 2, null
0072
0073 ; adc a, symbol
0074 140 FF FF FF FF inc pc
0075 144 EF 77 F9 FF path [pc], mar
0076 148 EF FB F9 7F path [mar], w
0077 14C EF FF E4 89 path alu_adc, a
0078 150 FF FF FF FF inc pc
0079 154 AF FF FF FF ask_for_int
0080 158 CF FF FF FF reset upc
0081
0082 15C FF FF FF FF dup 1, null
0083
0084 ; adc a, immediate
0085 160 FF FF FF FF inc pc
0086 164 EF 7F F9 7F path [pc], w
0087 168 EF FF E4 89 path alu_adc, a
0088 16C FF FF FF FF inc pc
0089 170 AF FF FF FF ask_for_int
0090 174 CF FF FF FF reset upc
0091
0092 178 FF FF FF FF dup 2, null
0093
0094 ; sub a, rx
0095 180 EF FF FA 7F path rx, w
0096 184 EF FF E4 86 path alu_sub, a
0097 188 FF FF FF FF inc pc
0098 18C AF FF FF FF ask_for_int
0099 190 CF FF FF FF reset upc
0100
0101 194 FF FF FF FF dup 3, null
0102
0103 ; sub a, [rx]
0104 1A0 EF F7 FA FF path rx, mar
0105 1A4 EF FB F9 7F path [mar], w
0106 1A8 EF FF E4 86 path alu_sub, a
0107 1AC FF FF FF FF inc pc
0108 1B0 AF FF FF FF ask_for_int
0109 1B4 CF FF FF FF reset upc
0110
0111 1B8 FF FF FF FF dup 2, null
0112
0113 ; sub a, symbol
0114 1C0 FF FF FF FF inc pc
0115 1C4 EF 77 F9 FF path [pc], mar
0116 1C8 EF FB F9 7F path [mar], w
0117 1CC EF FF E4 86 path alu_sub, a
0118 1D0 FF FF FF FF inc pc
0119 1D4 AF FF FF FF ask_for_int
0120 1D8 CF FF FF FF reset upc
0121
0122 1DC FF FF FF FF dup 1, null
0123
0124 ; sub a, immediate
0125 1E0 FF FF FF FF inc pc
0126 1E4 EF 7F F9 7F path [pc], w
0127 1E8 EF FF E4 86 path alu_sub, a
0128 1EC FF FF FF FF inc pc
0129 1F0 AF FF FF FF ask_for_int
0130 1F4 CF FF FF FF reset upc
0131
0132 1F8 FF FF FF FF dup 2, null
0133
0134 ; sbb a, rx
0135 200 EF FF FA 7F path rx, w
0136 204 EF FF E4 96 path alu_sbb, a
0137 208 FF FF FF FF inc pc
0138 20C AF FF FF FF ask_for_int
0139 210 CF FF FF FF reset upc
0140
0141 214 FF FF FF FF dup 3, null
0142
0143 ; sbb a, [rx]
0144 220 EF F7 FA FF path rx, mar
0145 224 EF FB F9 7F path [mar], w
0146 228 EF FF E4 96 path alu_sbb, a
0147 22C FF FF FF FF inc pc
0148 230 AF FF FF FF ask_for_int
0149 234 CF FF FF FF reset upc
0150
0151 238 FF FF FF FF dup 2, null
0152
0153 ; sbb a, symbol
0154 240 FF FF FF FF inc pc
0155 244 EF 77 F9 FF path [pc], mar
0156 248 EF FB F9 7F path [mar], w
0157 24C EF FF E4 96 path alu_sbb, a
0158 250 FF FF FF FF inc pc
0159 254 AF FF FF FF ask_for_int
0160 258 CF FF FF FF reset upc
0161
0162 25C FF FF FF FF dup 1, null
0163
0164 ; sbb a, immediate
0165 260 FF FF FF FF inc pc
0166 264 EF 7F F9 7F path [pc], w
0167 268 EF FF E4 96 path alu_sbb, a
0168 26C FF FF FF FF inc pc
0169 270 AF FF FF FF ask_for_int
0170 274 CF FF FF FF reset upc
0171
0172 278 FF FF FF FF dup 2, null
0173
0174 ; and a, rx
0175 280 EF FF FA 7F path rx, w
0176 284 EF FF E4 BB path alu_and a
0177 288 FF FF FF FF inc pc
0178 28C AF FF FF FF ask_for_int
0179 290 CF FF FF FF reset upc
0180
0181 294 FF FF FF FF dup 3, null
0182
0183 ; and a, [rx]
0184 2A0 EF F7 FA FF path rx, mar
0185 2A4 EF FB F9 7F path [mar], w
0186 2A8 EF FF E4 BB path alu_and, a
0187 2AC FF FF FF FF inc pc
0188 2B0 AF FF FF FF ask_for_int
0189 2B4 CF FF FF FF reset upc
0190
0191 2B8 FF FF FF FF dup 2, null
0192
0193 ; and a, symbol
0194 2C0 FF FF FF FF inc pc
0195 2C4 EF 77 F9 FF path [pc], mar
0196 2C8 EF FB F9 7F path [mar], w
0197 2CC EF FF E4 BB path alu_and, a
0198 2D0 FF FF FF FF inc pc
0199 2D4 AF FF FF FF ask_for_int
0200 2D8 CF FF FF FF reset upc
0201
0202 2DC FF FF FF FF dup 1, null
0203
0204 ; and a, immediate
0205 2E0 FF FF FF FF inc pc
0206 2E4 EF 7F F9 7F path [pc], w
0207 2E8 EF FF E4 BB path alu_and, a
0208 2EC FF FF FF FF inc pc
0209 2F0 AF FF FF FF ask_for_int
0210 2F4 CF FF FF FF reset upc
0211
0212 2F8 FF FF FF FF dup 2, null
0213
0214 ; or a, rx
0215 300 EF FF FA 7F path rx, w
0216 304 EF FF E4 BE path alu_or a
0217 308 FF FF FF FF inc pc
0218 30C AF FF FF FF ask_for_int
0219 310 CF FF FF FF reset upc
0220
0221 314 FF FF FF FF dup 3, null
0222
0223 ; or a, [rx]
0224 320 EF F7 FA FF path rx, mar
0225 324 EF FB F9 7F path [mar], w
0226 328 EF FF E4 BE path alu_or, a
0227 32C FF FF FF FF inc pc
0228 330 AF FF FF FF ask_for_int
0229 334 CF FF FF FF reset upc
0230
0231 338 FF FF FF FF dup 2, null
0232
0233 ; or a, symbol
0234 340 FF FF FF FF inc pc
0235 344 EF 77 F9 FF path [pc], mar
0236 348 EF FB F9 7F path [mar], w
0237 34C EF FF E4 BE path alu_or, a
0238 350 FF FF FF FF inc pc
0239 354 AF FF FF FF ask_for_int
0240 358 CF FF FF FF reset upc
0241
0242 35C FF FF FF FF dup 1, null
0243
0244 ; or a, immediate
0245 360 FF FF FF FF inc pc
0246 364 EF 7F F9 7F path [pc], w
0247 368 EF FF E4 BE path alu_or, a
0248 36C FF FF FF FF inc pc
0249 370 AF FF FF FF ask_for_int
0250 374 CF FF FF FF reset upc
0251
0252 378 FF FF FF FF dup 2, null
0253
0254 ; mov a, rx
0255 380 EF FF FA BF path rx, a
0256 384 FF FF FF FF inc pc
0257 388 AF FF FF FF ask_for_int
0258 38C CF FF FF FF reset upc
0259
0260 390 FF FF FF FF dup 4, null
0261
0262 ; mov a, [rx]
0263 3A0 EF F7 FA FF path rx, mar
0264 3A4 EF FB F9 BF path [mar], a
0265 3A8 FF FF FF FF inc pc
0266 3AC AF FF FF FF ask_for_int
0267 3B0 CF FF FF FF reset upc
0268
0269 3B4 FF FF FF FF dup 3, null
0270
0271 ; mov a, symbol
0272 3C0 FF FF FF FF inc pc
0273 3C4 EF 77 F9 FF path [pc], mar
0274 3C8 EF FB F9 BF path [mar], a
0275 3CC FF FF FF FF inc pc
0276 3D0 AF FF FF FF ask_for_int
0277 3D4 CF FF FF FF reset upc
0278
0279 3D8 FF FF FF FF dup 2, null
0280
0281 ; mov a, immediate
0282 3E0 FF FF FF FF inc pc
0283 3E4 EF 7F F9 BF path [pc], a
0284 3E8 FF FF FF FF inc pc
0285 3EC AF FF FF FF ask_for_int
0286 3F0 CF FF FF FF reset upc
0287
0288 3F4 FF FF FF FF dup 3, null
0289
0290 ; mov rx, a
0291 400 EF FF B4 D0 path a, rx
0292 404 FF FF FF FF inc pc
0293 408 AF FF FF FF ask_for_int
0294 40C CF FF FF FF reset upc
0295
0296 410 FF FF FF FF dup 4, null
0297
0298 ; mov [rx], a
0299 420 EF F7 FA FF path rx, mar
0300 424 ED FB F4 D0 path a, [mar]
0301 428 FF FF FF FF inc pc
0302 42C AF FF FF FF ask_for_int
0303 430 CF FF FF FF reset upc
0304
0305 434 FF FF FF FF dup 3, null
0306
0307 ; mov symbol, a
0308 440 FF FF FF FF inc pc
0309 444 EF 77 F9 FF path [pc], mar
0310 448 ED FB F4 D0 path a, [mar]
0311 44C FF FF FF FF inc pc
0312 450 AF FF FF FF ask_for_int
0313 454 CF FF FF FF reset upc
0314
0315 458 FF FF FF FF dup 2, null
0316
0317 ; mov rx, immediate
0318 460 FF FF FF FF inc pc
0319 464 EF 7F B9 FF path [pc], rx
0320 468 FF FF FF FF inc pc
0321 46C AF FF FF FF ask_for_int
0322 470 CF FF FF FF reset upc
0323
0324 474 FF FF FF FF dup 3, null
0325
0326 ; read a, symbol
0327 480 FF FF FF FF inc pc
0328 484 EF 77 F9 FF path [pc], mar
0329 488 EF 7F F9 BF path <mar>, a
0330 48C FF FF FF FF inc pc
0331 490 AF FF FF FF ask_for_int
0332 494 CF FF FF FF reset upc
0333
0334 498 FF FF FF FF dup 2, null
0335
0336 ; write symbol, a
0337 4A0 FF FF FF FF inc pc
0338 4A4 EF 77 F9 FF path [pc], mar
0339 4A8 EC FB F4 D0 path alu_aout, [mar]
0340 4AC FF FF FF FF inc pc
0341 4B0 AF FF FF FF ask_for_int
0342 4B4 CF FF FF FF reset upc
0343
0344 4B8 FF FF FF FF dup 2, null
0345
0346 ; lea a, symbol
0347 4C0 FF FF FF FF inc pc
0348 4C4 EF 7F F9 BF path [pc], a
0349 4C8 FF FF FF FF inc pc
0350 4CC AF FF FF FF ask_for_int
0351 4D0 CF FF FF FF reset upc
0352
0353 4D4 FF FF FF FF dup 3, null
0354
0355 ;mov sp, immediate
0356 4E0 FF FF FF FF inc pc
0357 4E4 EF 7E F9 FF path [pc], sp
0358 4E8 FF FF FF FF inc pc
0359 4EC AF FF FF FF ask_for_int
0360 4F0 CF FF FF FF reset upc
0361
0362 4F4 FF FF FF FF dup 3, null
0363
0364 ; jc symbol
0365 500 FF FF FF FF inc pc
0366 504 EF 6F F9 FF path [pc], pc
0367 508 AF FF FF FF ask_for_int
0368 50C CF FF FF FF reset upc
0369
0370 510 FF FF FF FF dup 4, null
0371
0372 ; jz symbol
0373 520 FF FF FF FF inc pc
0374 524 EF 6F F9 FF path [pc], pc
0375 528 AF FF FF FF ask_for_int
0376 52C CF FF FF FF reset upc
0377
0378 530 FF FF FF FF dup 4, null
0379
0380 ; 填充空白指令
0381 540 FF FF FF FF dup 8, null
0382
0383 ; jmp symbol
0384 560 FF FF FF FF inc pc
0385 564 EF 6F F9 FF path [pc], pc
0386 568 AF FF FF FF ask_for_int
0387 56C CF FF FF FF reset upc
0388
0389 570 FF FF FF FF dup 4, null
0390
0391 ; in
0392 580 EF FF F0 BF path rin, a
0393 584 FF FF FF FF inc pc
0394 588 AF FF FF FF ask_for_int
0395 58C CF FF FF FF reset upc
0396
0397 590 FF FF FF FF dup 4, null
0398
0399 ; out
0400 5A0 EE FF F4 D0 path a, rout
0401 5A4 FF FF FF FF inc pc
0402 5A8 AF FF FF FF ask_for_int
0403 5AC CF FF FF FF reset upc
0404
0405 5B0 FF FF FF FF dup 4, null
0406
0407 ; int immediate
0408 5C0 FF FF FF FF inc pc
0409 5C4 EB 7F F9 FF path [pc], ia
0410 5C8 EF FF 72 FF path sp, cst
0411 5CC E7 FF FF FF path sp_inc, cst
0412 5D0 EF FE F8 FF path cst, sp
0413 5D4 EF F7 F2 FF path sp, mar
0414 5D8 FF FF FF FF inc pc
0415 5DC ED FB F3 FF path pc, [mar]
0416 5E0 EF F7 F1 FF path ia, mar
0417 5E4 EF EB F9 FF path [mar], pc
0418 5E8 CF FF FF FF reset upc
0419
0420 5EC FF FF FF FF dup 5, null
0421
0422 ;
0423 600 FF FF FF FF dup 16, null
0424
0425 ;硬中断调用返回指令
0426 ; ret
0427 640 EF F7 F2 FF path sp, mar
0428 644 EF FF 72 FF path sp, cst
0429 648 E7 FF FF FF path sp_inc, cst
0430 64C EF FE F8 FF path cst, sp
0431 650 EF EB F9 FF path [mar], pc
0432 654 EF FF FD FF eoi ;清除已经服务完的硬中断标志
0433 658 CF FF FF FF reset upc
0434
0435 65C FF FF FF FF dup 1, null
0436
0437 ; 填充空白指令
0438 660 FF FF FF FF dup 8, null
0439
0440 ; shr a
0441 680 EF FF D5 90 path alu_shr, a
0442 684 FF FF FF FF inc pc
0443 688 AF FF FF FF ask_for_int
0444 68C CF FF FF FF reset upc
0445
0446 690 FF FF FF FF dup 4, null
0447
0448 ; shl a
0449 6A0 EF FF D6 90 path alu_shl, a
0450 6A4 FF FF FF FF inc pc
0451 6A8 AF FF FF FF ask_for_int
0452 6AC CF FF FF FF reset upc
0453
0454 6B0 FF FF FF FF dup 4, null
0455
0456 ; rcr a
0457 6C0 EF FF E5 90 path alu_rcr, a
0458 6C4 FF FF FF FF inc pc
0459 6C8 AF FF FF FF ask_for_int
0460 6CC CF FF FF FF reset upc
0461
0462 6D0 FF FF FF FF dup 4, null
0463
0464 ; rcl a
0465 6E0 EF FF E6 90 path alu_rcl, a
0466 6E4 FF FF FF FF inc pc
0467 6E8 AF FF FF FF ask_for_int
0468 6EC CF FF FF FF reset upc
0469
0470 6F0 FF FF FF FF dup 4, null
0471
0472 ; nop
0473 700 FF FF FF FF inc pc
0474 704 CF FF FF FF reset upc
0475
0476 708 FF FF FF FF dup 6, null
0477
0478 ; not a
0479 720 EF FF F4 B0 path alu_not, a
0480 724 FF FF FF FF inc pc
0481 728 AF FF FF FF ask_for_int
0482 72C CF FF FF FF reset upc
0483
0484 730 FF FF FF FF dup 4, null
0485
0486 ; call symbol
0487 740 FF FF FF FF inc pc
0488 744 EF 7D F9 FF path [pc], asr
0489 748 EF FF 72 FF path sp, cst
0490 74C EF FF FF FF path sp_dec, cst
0491 750 EF FE F8 FF path cst, sp
0492 754 EF F7 F2 FF path sp, mar
0493 758 FF FF FF FF inc pc
0494 75C ED FB F3 FF path pc, [mar]
0495 760 EF EF F7 FF path asr, pc
0496 764 AF FF FF FF ask_for_int
0497 768 CF FF FF FF reset upc
0498
0499 76C FF FF FF FF dup 5, null
0500
0501 ;======================================================================
0502 ; 硬中断处理微指令程序,完成中断现场保护并跳转到中断服务程序的入口地址处执行中断服务程序
0503 780 EF FF 72 FF path sp, cst ;将堆栈指针寄存器sp的值传送到cst计数器
0504 784 EF FF FF FF path sp_dec, cst ;计数器cst减1
0505 788 EF FE F8 FF path cst, sp ;将减计数结果写回sp,完成堆栈指针sp-1操作,为返回地址入栈做准备
0506 78C EF F7 F2 FF path sp, mar ;sp堆栈指针寄存器内容传送到地址寄存器mar
0507 790 ED FB F3 FF path pc, [mar] ;将返回地址PC入栈
0508
0509 ; 获取中断号中断服务程序入口地址
0510 794 EF FF FB FF inta1
0511 798 EB FF FC FF inta2 ;发出第二个中断应答信号,主要用于清除已经响应的中断请求,避免重复响应
0512
0513 79C EF DF F1 FF path int_ia, pc ;将中断向量(ia寄存器的内容)传入PC
0514 7A0 EF 5F F9 FF path [int_pc], pc ;读出中断向量中的内容(中断服务程序首地址),将其加载到PC,执行中断服务程序
0515 7A4 CF FF FF FF reset upc
0516
0517 7A8 FF FF FF FF dup 6, null
0518
0519 ;======================================================================
0520 ;软中断返回指令
0521 ; iret
0522 7C0 EF F7 F2 FF path sp, mar
0523 7C4 EF FF 72 FF path sp, cst
0524 7C8 E7 FF FF FF path sp_inc, cst
0525 7CC EF FE F8 FF path cst, sp
0526 7D0 EF EB F9 FF path [mar], pc
0527 7D4 CF FF FF FF reset upc
0528
0529 7D8 FF FF FF FF dup 2, null
0530
0531
0532
; (C) 2008-2018 北京英真时代科技有限公司。保留所有权利。
; 所有指令的第一条微指令地址必须是8的倍数
; 取指微指令,所有指令的第一步均为取指操作,都要执行该条微指令
path [pc], ir
; 填充空白指令 01-1f
dup 31, null
; add a, rx
path rx, w
path alu_add, a
inc pc
;查询硬中断请求,将低3位中断号与高5位中断向量基地址组合,得到8位中断向量(8位地址)
;该中断向量指向一个存储单元,该存储单元保存的就是中断服务程序的入口地址
;若允许中断且有中断请求,则微程序跳转到硬中断处理处执行
ask_for_int
reset upc
dup 3, null
; add a, [rx]
path rx, mar
path [mar], w
path alu_add, a
inc pc
ask_for_int
reset upc
dup 2, null
; add a, symbol
inc pc
path [pc], mar
path [mar], w
path alu_add, a
inc pc
ask_for_int
reset upc
dup 1, null
; add a, immediate
inc pc
path [pc], w
path alu_add, a
inc pc
ask_for_int ;查询硬中断请求,若有请求,则转去执行硬中断预处理微程序
reset upc
dup 2, null
; adc a, rx
path rx, w
path alu_adc, a
inc pc
ask_for_int
reset upc
dup 3, null
; adc a, [rx]
path rx, mar
path [mar], w
path alu_adc, a
inc pc
ask_for_int
reset upc
dup 2, null
; adc a, symbol
inc pc
path [pc], mar
path [mar], w
path alu_adc, a
inc pc
ask_for_int
reset upc
dup 1, null
; adc a, immediate
inc pc
path [pc], w
path alu_adc, a
inc pc
ask_for_int
reset upc
dup 2, null
; sub a, rx
path rx, w
path alu_sub, a
inc pc
ask_for_int
reset upc
dup 3, null
; sub a, [rx]
path rx, mar
path [mar], w
path alu_sub, a
inc pc
ask_for_int
reset upc
dup 2, null
; sub a, symbol
inc pc
path [pc], mar
path [mar], w
path alu_sub, a
inc pc
ask_for_int
reset upc
dup 1, null
; sub a, immediate
inc pc
path [pc], w
path alu_sub, a
inc pc
ask_for_int
reset upc
dup 2, null
; sbb a, rx
path rx, w
path alu_sbb, a
inc pc
ask_for_int
reset upc
dup 3, null
; sbb a, [rx]
path rx, mar
path [mar], w
path alu_sbb, a
inc pc
ask_for_int
reset upc
dup 2, null
; sbb a, symbol
inc pc
path [pc], mar
path [mar], w
path alu_sbb, a
inc pc
ask_for_int
reset upc
dup 1, null
; sbb a, immediate
inc pc
path [pc], w
path alu_sbb, a
inc pc
ask_for_int
reset upc
dup 2, null
; and a, rx
path rx, w
path alu_and a
inc pc
ask_for_int
reset upc
dup 3, null
; and a, [rx]
path rx, mar
path [mar], w
path alu_and, a
inc pc
ask_for_int
reset upc
dup 2, null
; and a, symbol
inc pc
path [pc], mar
path [mar], w
path alu_and, a
inc pc
ask_for_int
reset upc
dup 1, null
; and a, immediate
inc pc
path [pc], w
path alu_and, a
inc pc
ask_for_int
reset upc
dup 2, null
; or a, rx
path rx, w
path alu_or a
inc pc
ask_for_int
reset upc
dup 3, null
; or a, [rx]
path rx, mar
path [mar], w
path alu_or, a
inc pc
ask_for_int
reset upc
dup 2, null
; or a, symbol
inc pc
path [pc], mar
path [mar], w
path alu_or, a
inc pc
ask_for_int
reset upc
dup 1, null
; or a, immediate
inc pc
path [pc], w
path alu_or, a
inc pc
ask_for_int
reset upc
dup 2, null
; mov a, rx
path rx, a
inc pc
ask_for_int
reset upc
dup 4, null
; mov a, [rx]
path rx, mar
path [mar], a
inc pc
ask_for_int
reset upc
dup 3, null
; mov a, symbol
inc pc
path [pc], mar
path [mar], a
inc pc
ask_for_int
reset upc
dup 2, null
; mov a, immediate
inc pc
path [pc], a
inc pc
ask_for_int
reset upc
dup 3, null
; mov rx, a
path a, rx
inc pc
ask_for_int
reset upc
dup 4, null
; mov [rx], a
path rx, mar
path a, [mar]
inc pc
ask_for_int
reset upc
dup 3, null
; mov symbol, a
inc pc
path [pc], mar
path a, [mar]
inc pc
ask_for_int
reset upc
dup 2, null
; mov rx, immediate
inc pc
path [pc], rx
inc pc
ask_for_int
reset upc
dup 3, null
; read a, symbol
inc pc
path [pc], mar
path <mar>, a
inc pc
ask_for_int
reset upc
dup 2, null
; write symbol, a
inc pc
path [pc], mar
path alu_aout, [mar]
inc pc
ask_for_int
reset upc
dup 2, null
; lea a, symbol
inc pc
path [pc], a
inc pc
ask_for_int
reset upc
dup 3, null
;mov sp, immediate
inc pc
path [pc], sp
inc pc
ask_for_int
reset upc
dup 3, null
; jc symbol
inc pc
path [pc], pc
ask_for_int
reset upc
dup 4, null
; jz symbol
inc pc
path [pc], pc
ask_for_int
reset upc
dup 4, null
; 填充空白指令
dup 8, null
; jmp symbol
inc pc
path [pc], pc
ask_for_int
reset upc
dup 4, null
; in
path rin, a
inc pc
ask_for_int
reset upc
dup 4, null
; out
path a, rout
inc pc
ask_for_int
reset upc
dup 4, null
; int immediate
inc pc
path [pc], ia
path sp, cst
path sp_inc, cst
path cst, sp
path sp, mar
inc pc
path pc, [mar]
path ia, mar
path [mar], pc
reset upc
dup 5, null
;
dup 16, null
;硬中断调用返回指令
; ret
path sp, mar
path sp, cst
path sp_inc, cst
path cst, sp
path [mar], pc
eoi ;清除已经服务完的硬中断标志
reset upc
dup 1, null
; 填充空白指令
dup 8, null
; shr a
path alu_shr, a
inc pc
ask_for_int
reset upc
dup 4, null
; shl a
path alu_shl, a
inc pc
ask_for_int
reset upc
dup 4, null
; rcr a
path alu_rcr, a
inc pc
ask_for_int
reset upc
dup 4, null
; rcl a
path alu_rcl, a
inc pc
ask_for_int
reset upc
dup 4, null
; nop
inc pc
reset upc
dup 6, null
; not a
path alu_not, a
inc pc
ask_for_int
reset upc
dup 4, null
; call symbol
inc pc
path [pc], asr
path sp, cst
path sp_dec, cst
path cst, sp
path sp, mar
inc pc
path pc, [mar]
path asr, pc
ask_for_int
reset upc
dup 5, null
;======================================================================
; 硬中断处理微指令程序,完成中断现场保护并跳转到中断服务程序的入口地址处执行中断服务程序
path sp, cst ;将堆栈指针寄存器sp的值传送到cst计数器
path sp_dec, cst ;计数器cst减1
path cst, sp ;将减计数结果写回sp,完成堆栈指针sp-1操作,为返回地址入栈做准备
path sp, mar ;sp堆栈指针寄存器内容传送到地址寄存器mar
path pc, [mar] ;将返回地址PC入栈
; 获取中断号中断服务程序入口地址
inta1
inta2 ;发出第二个中断应答信号,主要用于清除已经响应的中断请求,避免重复响应
path int_ia, pc ;将中断向量(ia寄存器的内容)传入PC
path [int_pc], pc ;读出中断向量中的内容(中断服务程序首地址),将其加载到PC,执行中断服务程序
reset upc
dup 6, null
;======================================================================
;软中断返回指令
; iret
path sp, mar
path sp, cst
path sp_inc, cst
path cst, sp
path [mar], pc
reset upc
dup 2, null
添加文件
添加文件
.subckt modulecir6 UPC15 UPC14 UPC13 UPC12 UPC11 UPC10 UPC9 UPC8 UPC7 UPC6 UPC5 UPC4 UPC3 UPC2 UPC1 UPC0 UPC_NEXT15 UPC_NEXT14 UPC_NEXT13 UPC_NEXT12 UPC_NEXT11 UPC_NEXT10 UPC_NEXT9 UPC_NEXT8 UPC_NEXT7 UPC_NEXT6 UPC_NEXT5 UPC_NEXT4 UPC_NEXT3 UPC_NEXT2 UPC_NEXT1 UPC_NEXT0
xU1 UPC0 UPC1 UPC2 UPC3 B0 B1 B2 B3 NETU1_CN NETU1_S1 NETU1_S2 NETU1_CN NETU1_CN NETU1_M NETU1_^G NETU1_^P NETU1_AEQB NETU1_CN4 UPC_NEXT3 UPC_NEXT2 UPC_NEXT1 UPC_NEXT0 74LS181
xU2 UPC4 UPC5 UPC6 UPC7 B4 B5 B6 B7 NETU1_CN NETU2_S1 NETU2_S2 NETU1_CN NETU1_CN4 NETU2_M NETU2_^G NETU2_^P NETU2_AEQB NETU2_CN4 UPC_NEXT7 UPC_NEXT6 UPC_NEXT5 UPC_NEXT4 74LS181
xU3 UPC8 UPC9 UPC10 UPC11 B8 B9 B10 B11 NETU1_CN NETU3_S1 NETU3_S2 NETU1_CN NETU2_CN4 NETU3_M NETU3_^G NETU3_^P NETU3_AEQB NETU3_CN4 UPC_NEXT11 UPC_NEXT10 UPC_NEXT9 UPC_NEXT8 74LS181
xU4 UPC12 UPC13 UPC14 UPC15 B12 B13 B14 B15 NETU1_CN NETU4_S1 NETU4_S2 NETU1_CN NETU3_CN4 NETU4_M NETU4_^G NETU4_^P NETU4_AEQB NETU4_CN4 UPC_NEXT15 UPC_NEXT14 UPC_NEXT13 UPC_NEXT12 74LS181
.subckt 74LS181 ^A0 ^A1 ^A2 ^A3 ^B0 ^B1 ^B2 ^B3 S0 S1 S2 S3 CN M ^G ^P AEQB CN4 ^F3 ^F2 ^F1 ^F0
aU1 [ ^B3 S3 ^A3] NetU1_4 AND3
aU2 [ ^A3 S2 NetU2_3] NetU2_4 AND3
aU9 [ NetU10_1 NetU10_2 NetU28_2] NetU14_3 AND3
aU19 [ ^B2 S3 ^A2] NetU19_4 AND3
aU20 [ ^A2 S2 NetU20_3] NetU20_4 AND3
aU28 [ NetU10_2 NetU28_2 NetU26_5] NetU28_4 AND3
aU33 [ ^B1 S3 ^A1] NetU33_4 AND3
aU34 [ ^A1 S2 NetU34_3] NetU34_4 AND3
aU41 [ NetU10_3 NetU10_4 NetU26_5] NetU41_4 AND3
aU46 [ ^B0 S3 ^A0] NetU46_4 AND3
aU47 [ ^A0 S2 NetU47_3] NetU47_4 AND3
aU54 [ CN NetU11_4 NetU26_5] NetU54_4 AND3
.model AND3 d_and(rise_delay = 1e-9 fall_delay = 1e-9 input_load = 1e-3)
aU3 [ NetU1_4 NetU2_4] NetU10_1 NOR
aU23 [ NetU19_4 NetU20_4] NetU10_2 NOR
aU37 [ NetU33_4 NetU34_4] NetU10_3 NOR
aU52 [ NetU46_4 NetU47_4] NetU11_4 NOR
aU57 [ NetU54_4 NetU55_3] NetU45_2 NOR
.model NOR d_nor(rise_delay = 1e-9 fall_delay = 1e-9 input_load = 1e-3)
aU4 [ NetU2_3 S1] NetU4_3 AND
aU5 [ S0 ^B3] NetU5_3 AND
aU6 [ NetU10_1 NetU24_4] NetU14_2 AND
aU21 [ NetU20_3 S1] NetU21_3 AND
aU22 [ S0 ^B2] NetU22_3 AND
aU29 [ NetU24_4 NetU26_5] NetU29_3 AND
aU35 [ NetU34_3 S1] NetU35_3 AND
aU36 [ S0 ^B1] NetU36_3 AND
aU42 [ NetU28_2 NetU26_5] NetU42_3 AND
aU48 [ NetU47_3 S1] NetU48_3 AND
aU49 [ S0 ^B0] NetU49_3 AND
aU55 [ NetU10_4 NetU26_5] NetU55_3 AND
.model AND d_and(rise_delay = 1e-9 fall_delay = 1e-9 input_load = 1e-3)
aU7 [ NetU4_3 NetU5_3 ^A3] NetU13_2 NOR3
aU24 [ NetU21_3 NetU22_3 ^A2] NetU24_4 NOR3
aU38 [ NetU35_3 NetU36_3 ^A1] NetU28_2 NOR3
aU44 [ NetU40_5 NetU41_4 NetU42_3] NetU31_2 NOR3
aU51 [ NetU48_3 NetU49_3 ^A0] NetU10_4 NOR3
.model NOR3 d_nor(rise_delay = 1e-9 fall_delay = 1e-9 input_load = 1e-3)
aU8 ^B3 NetU2_3 NOT
aU15 ^G NetU15_2 NOT
aU17 NetU11_6 NetU16_2 NOT
aU25 ^B2 NetU20_3 NOT
aU39 ^B1 NetU34_3 NOT
aU50 ^B0 NetU47_3 NOT
aU56 M NetU26_5 NOT
.model NOT d_inverter(rise_delay = 1e-9 fall_delay = 1e-9 input_load = 1e-3)
aU10 [ NetU10_1 NetU10_2 NetU10_3 NetU10_4] NetU10_5 AND4
aU27 [ NetU10_3 NetU10_2 NetU10_4 NetU26_5] NetU27_5 AND4
aU40 [ CN NetU11_4 NetU10_3 NetU26_5] NetU40_5 AND4
aU60 [ ^F3 ^F2 ^F1 ^F0] AEQB AND4
.model AND4 d_and(rise_delay = 1e-9 fall_delay = 1e-9 input_load = 1e-3)
aU11 [ NetU10_1 NetU10_2 NetU10_3 NetU11_4 CN] NetU11_6 NAND5
.model NAND5 d_nand(rise_delay = 1e-9 fall_delay = 1e-9 input_load = 1e-3)
aU12 [ NetU10_1 NetU10_2 NetU10_3 NetU11_4] ^P NAND4
.model NAND4 d_nand(rise_delay = 1e-9 fall_delay = 1e-9 input_load = 1e-3)
aU13 [ NetU10_1 NetU13_2] NetU13_3 XOR
aU18 [ NetU13_3 NetU18_2] ^F3 XOR
aU30 [ NetU10_2 NetU24_4] NetU30_3 XOR
aU31 [ NetU30_3 NetU31_2] ^F2 XOR
aU43 [ NetU10_3 NetU28_2] NetU43_3 XOR
aU45 [ NetU43_3 NetU45_2] ^F1 XOR
aU53 [ NetU11_4 NetU10_4] NetU53_3 XOR
aU59 [ NetU53_3 NetU58_3] ^F0 XOR
.model XOR d_xor(rise_delay = 1e-9 fall_delay = 1e-9 input_load = 1e-3)
aU14 [ NetU13_2 NetU14_2 NetU14_3 NetU10_5] ^G NOR4
aU32 [ NetU26_6 NetU27_5 NetU28_4 NetU29_3] NetU18_2 NOR4
.model NOR4 d_nor(rise_delay = 1e-9 fall_delay = 1e-9 input_load = 1e-3)
aU16 [ NetU15_2 NetU16_2] CN4 OR
.model OR d_or(rise_delay = 1e-9 fall_delay = 1e-9 input_load = 1e-3)
aU26 [ CN NetU11_4 NetU10_3 NetU10_2 NetU26_5] NetU26_6 AND5
.model AND5 d_and(rise_delay = 1e-9 fall_delay = 1e-9 input_load = 1e-3)
aU58 [ CN NetU26_5] NetU58_3 NAND
.model NAND d_nand(rise_delay = 1e-9 fall_delay = 1e-9 input_load = 1e-3)
.ends
xU5 NETU1_CN CONSTANT1
xU6 B2 CONSTANT1
.subckt CONSTANT1 constant1
VV1 Net1_1 0 DC 3.5
a1 [Net1_1] [constant1] ADC
.model ADC adc_bridge(in_low = 0.3 in_high = 1)
.ends
.ends
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<svg height="3794" version="1.1" width="3258" xmlns="http://www.w3.org/2000/svg">
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1527" x2="1487" y1="656" y2="656"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1590" y="656">^A0</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1506" y="656">2</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1527" x2="1487" y1="686" y2="686"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1590" y="686">^A1</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1519" y="686">23</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1527" x2="1487" y1="716" y2="716"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1590" y="716">^A2</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1519" y="716">21</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1527" x2="1487" y1="746" y2="746"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1590" y="746">^A3</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1519" y="746">19</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1527" x2="1487" y1="806" y2="806"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1590" y="806">^B0</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1506" y="804">1</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1527" x2="1487" y1="836" y2="836"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1590" y="836">^B1</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1520" y="835">22</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1527" x2="1487" y1="866" y2="866"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1590" y="866">^B2</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1520" y="865">20</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1527" x2="1487" y1="896" y2="896"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1590" y="896">^B3</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1520" y="895">18</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1537" x2="1487" y1="966" y2="966"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1580" y="966">S0</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1507" y="964">6</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1537" x2="1487" y1="996" y2="996"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1580" y="996">S1</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1507" y="995">5</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1537" x2="1487" y1="1026" y2="1026"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1580" y="1026">S2</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1507" y="1025">4</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1537" x2="1487" y1="1056" y2="1056"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1580" y="1056">S3</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1507" y="1055">3</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1537" x2="1487" y1="1116" y2="1116"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1580" y="1116">CN</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1507" y="1117">7</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1537" x2="1487" y1="1146" y2="1146"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1570" y="1146">M</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1507" y="1147">8</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1697" x2="1737" y1="926" y2="926"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="1654" y="926">^G</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1702" y="926">17</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1697" x2="1737" y1="896" y2="896"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="1654" y="896">^P</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1702" y="896">15</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1687" x2="1737" y1="836" y2="836"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="1654" y="836">AEQB</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1702" y="836">14</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1687" x2="1737" y1="806" y2="806"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="1654" y="806">CN4</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1702" y="806">16</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1697" x2="1737" y1="746" y2="746"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="1654" y="746">^F3</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1702" y="746">13</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1697" x2="1737" y1="716" y2="716"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="1654" y="716">^F2</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1702" y="716">11</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1697" x2="1737" y1="686" y2="686"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="1654" y="686">^F1</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1702" y="686">10</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1697" x2="1737" y1="656" y2="656"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="1654" y="656">^F0</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1715" y="655">9</text>
<circle cx="1532" cy="896" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="1531" cy="716" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="1531" cy="806" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="1531" cy="746" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="1531" cy="685" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="1532" cy="866" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="1532" cy="656" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="1531" cy="836" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="1691" cy="657" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="1692" cy="687" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="1692" cy="716" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="1691" cy="746" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="1691" cy="896" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="1691" cy="927" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<rect fill="#ffffff" fill-opacity="0.5" height="550" stroke="#000000" stroke-width="5" width="150" x="1537" y="616"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="1604" y="596">U1</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="1547" y="1212">74LS181</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1527" x2="1487" y1="1356" y2="1356"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1590" y="1356">^A0</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1506" y="1356">2</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1527" x2="1487" y1="1386" y2="1386"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1590" y="1386">^A1</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1519" y="1386">23</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1527" x2="1487" y1="1416" y2="1416"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1590" y="1416">^A2</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1519" y="1416">21</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1527" x2="1487" y1="1446" y2="1446"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1590" y="1446">^A3</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1519" y="1446">19</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1527" x2="1487" y1="1506" y2="1506"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1590" y="1506">^B0</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1506" y="1504">1</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1527" x2="1487" y1="1536" y2="1536"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1590" y="1536">^B1</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1520" y="1535">22</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1527" x2="1487" y1="1566" y2="1566"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1590" y="1566">^B2</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1520" y="1565">20</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1527" x2="1487" y1="1596" y2="1596"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1590" y="1596">^B3</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1520" y="1595">18</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1537" x2="1487" y1="1666" y2="1666"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1580" y="1666">S0</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1507" y="1664">6</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1537" x2="1487" y1="1696" y2="1696"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1580" y="1696">S1</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1507" y="1695">5</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1537" x2="1487" y1="1726" y2="1726"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1580" y="1726">S2</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1507" y="1725">4</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1537" x2="1487" y1="1756" y2="1756"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1580" y="1756">S3</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1507" y="1755">3</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1537" x2="1487" y1="1816" y2="1816"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1580" y="1816">CN</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1507" y="1817">7</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1537" x2="1487" y1="1846" y2="1846"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1570" y="1846">M</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1507" y="1847">8</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1697" x2="1737" y1="1626" y2="1626"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="1654" y="1626">^G</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1702" y="1626">17</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1697" x2="1737" y1="1596" y2="1596"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="1654" y="1596">^P</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1702" y="1596">15</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1687" x2="1737" y1="1536" y2="1536"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="1654" y="1536">AEQB</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1702" y="1536">14</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1687" x2="1737" y1="1506" y2="1506"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="1654" y="1506">CN4</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1702" y="1506">16</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1697" x2="1737" y1="1446" y2="1446"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="1654" y="1446">^F3</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1702" y="1446">13</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1697" x2="1737" y1="1416" y2="1416"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="1654" y="1416">^F2</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1702" y="1416">11</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1697" x2="1737" y1="1386" y2="1386"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="1654" y="1386">^F1</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1702" y="1386">10</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1697" x2="1737" y1="1356" y2="1356"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="1654" y="1356">^F0</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1715" y="1355">9</text>
<circle cx="1532" cy="1596" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="1531" cy="1416" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="1531" cy="1506" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="1531" cy="1446" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="1531" cy="1385" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="1532" cy="1566" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="1532" cy="1356" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="1531" cy="1536" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="1691" cy="1357" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="1692" cy="1387" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="1692" cy="1416" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="1691" cy="1446" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="1691" cy="1596" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="1691" cy="1627" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<rect fill="#ffffff" fill-opacity="0.5" height="550" stroke="#000000" stroke-width="5" width="150" x="1537" y="1316"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="1604" y="1296">U2</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="1547" y="1912">74LS181</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1527" x2="1487" y1="2096" y2="2096"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1590" y="2096">^A0</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1506" y="2096">2</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1527" x2="1487" y1="2126" y2="2126"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1590" y="2126">^A1</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1519" y="2126">23</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1527" x2="1487" y1="2156" y2="2156"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1590" y="2156">^A2</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1519" y="2156">21</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1527" x2="1487" y1="2186" y2="2186"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1590" y="2186">^A3</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1519" y="2186">19</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1527" x2="1487" y1="2246" y2="2246"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1590" y="2246">^B0</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1506" y="2244">1</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1527" x2="1487" y1="2276" y2="2276"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1590" y="2276">^B1</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1520" y="2275">22</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1527" x2="1487" y1="2306" y2="2306"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1590" y="2306">^B2</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1520" y="2305">20</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1527" x2="1487" y1="2336" y2="2336"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1590" y="2336">^B3</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1520" y="2335">18</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1537" x2="1487" y1="2406" y2="2406"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1580" y="2406">S0</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1507" y="2404">6</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1537" x2="1487" y1="2436" y2="2436"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1580" y="2436">S1</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1507" y="2435">5</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1537" x2="1487" y1="2466" y2="2466"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1580" y="2466">S2</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1507" y="2465">4</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1537" x2="1487" y1="2496" y2="2496"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1580" y="2496">S3</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1507" y="2495">3</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1537" x2="1487" y1="2556" y2="2556"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1580" y="2556">CN</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1507" y="2557">7</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1537" x2="1487" y1="2586" y2="2586"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1570" y="2586">M</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1507" y="2587">8</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1697" x2="1737" y1="2366" y2="2366"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="1654" y="2366">^G</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1702" y="2366">17</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1697" x2="1737" y1="2336" y2="2336"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="1654" y="2336">^P</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1702" y="2336">15</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1687" x2="1737" y1="2276" y2="2276"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="1654" y="2276">AEQB</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1702" y="2276">14</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1687" x2="1737" y1="2246" y2="2246"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="1654" y="2246">CN4</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1702" y="2246">16</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1697" x2="1737" y1="2186" y2="2186"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="1654" y="2186">^F3</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1702" y="2186">13</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1697" x2="1737" y1="2156" y2="2156"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="1654" y="2156">^F2</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1702" y="2156">11</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1697" x2="1737" y1="2126" y2="2126"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="1654" y="2126">^F1</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1702" y="2126">10</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1697" x2="1737" y1="2096" y2="2096"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="1654" y="2096">^F0</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1715" y="2095">9</text>
<circle cx="1532" cy="2336" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="1531" cy="2156" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="1531" cy="2246" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="1531" cy="2186" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="1531" cy="2125" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="1532" cy="2306" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="1532" cy="2096" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="1531" cy="2276" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="1691" cy="2097" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="1692" cy="2127" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="1692" cy="2156" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="1691" cy="2186" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="1691" cy="2336" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="1691" cy="2367" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<rect fill="#ffffff" fill-opacity="0.5" height="550" stroke="#000000" stroke-width="5" width="150" x="1537" y="2056"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="1604" y="2036">U3</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="1547" y="2652">74LS181</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1527" x2="1487" y1="2886" y2="2886"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1590" y="2886">^A0</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1506" y="2886">2</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1527" x2="1487" y1="2916" y2="2916"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1590" y="2916">^A1</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1519" y="2916">23</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1527" x2="1487" y1="2946" y2="2946"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1590" y="2946">^A2</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1519" y="2946">21</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1527" x2="1487" y1="2976" y2="2976"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1590" y="2976">^A3</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1519" y="2976">19</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1527" x2="1487" y1="3036" y2="3036"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1590" y="3036">^B0</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1506" y="3034">1</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1527" x2="1487" y1="3066" y2="3066"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1590" y="3066">^B1</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1520" y="3065">22</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1527" x2="1487" y1="3096" y2="3096"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1590" y="3096">^B2</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1520" y="3095">20</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1527" x2="1487" y1="3126" y2="3126"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1590" y="3126">^B3</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1520" y="3125">18</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1537" x2="1487" y1="3196" y2="3196"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1580" y="3196">S0</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1507" y="3194">6</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1537" x2="1487" y1="3226" y2="3226"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1580" y="3226">S1</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1507" y="3225">5</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1537" x2="1487" y1="3256" y2="3256"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1580" y="3256">S2</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1507" y="3255">4</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1537" x2="1487" y1="3286" y2="3286"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1580" y="3286">S3</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1507" y="3285">3</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1537" x2="1487" y1="3346" y2="3346"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1580" y="3346">CN</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1507" y="3347">7</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1537" x2="1487" y1="3376" y2="3376"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1570" y="3376">M</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1507" y="3377">8</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1697" x2="1737" y1="3156" y2="3156"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="1654" y="3156">^G</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1702" y="3156">17</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1697" x2="1737" y1="3126" y2="3126"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="1654" y="3126">^P</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1702" y="3126">15</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1687" x2="1737" y1="3066" y2="3066"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="1654" y="3066">AEQB</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1702" y="3066">14</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1687" x2="1737" y1="3036" y2="3036"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="1654" y="3036">CN4</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1702" y="3036">16</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1697" x2="1737" y1="2976" y2="2976"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="1654" y="2976">^F3</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1702" y="2976">13</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1697" x2="1737" y1="2946" y2="2946"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="1654" y="2946">^F2</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1702" y="2946">11</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1697" x2="1737" y1="2916" y2="2916"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="1654" y="2916">^F1</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1702" y="2916">10</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1697" x2="1737" y1="2886" y2="2886"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="1654" y="2886">^F0</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1715" y="2885">9</text>
<circle cx="1532" cy="3126" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="1531" cy="2946" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="1531" cy="3036" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="1531" cy="2976" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="1531" cy="2915" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="1532" cy="3096" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="1532" cy="2886" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="1531" cy="3066" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="1691" cy="2887" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="1692" cy="2917" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="1692" cy="2946" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="1691" cy="2976" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="1691" cy="3126" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="1691" cy="3157" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<rect fill="#ffffff" fill-opacity="0.5" height="550" stroke="#000000" stroke-width="5" width="150" x="1537" y="2846"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="1604" y="2826">U4</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="1547" y="3442">74LS181</text>
<polyline fill="none" points="1487 656, 1387 656, 1387 616, 1387 266, 437 266" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1487 686, 1367 686, 1367 616, 1367 286, 437 286" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1487 716, 1347 716, 1347 616, 1347 306, 437 306" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1487 746, 1327 746, 1327 616, 1327 326, 437 326" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1487 1356, 1307 1356, 1307 616, 1307 346, 437 346" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1487 1386, 1287 1386, 1287 616, 1287 366, 437 366" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1487 1416, 1267 1416, 1267 616, 1267 386, 437 386" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1487 1446, 1247 1446, 1247 616, 1247 406, 437 406" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1487 2096, 1227 2096, 1227 616, 1227 426, 437 426" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1487 2126, 1207 2126, 1207 616, 1207 446, 437 446" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1487 2156, 1187 2156, 1187 616, 1187 466, 437 466" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1487 2186, 1167 2186, 1167 616, 1167 486, 437 486" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1487 2886, 1147 2886, 1147 616, 1147 506, 437 506" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1487 2916, 1127 2916, 1127 616, 1127 526, 437 526" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1487 2946, 1107 2946, 1107 616, 1107 546, 437 546" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1487 2976, 1087 2976, 1087 616, 1087 566, 437 566" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1487 3126, 1147 3126, 1147 3466, 1147 3766, 437 3766" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1487 3096, 1127 3096, 1127 3466, 1127 3746, 437 3746" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1487 3066, 1107 3066, 1107 3466, 1107 3726, 437 3726" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1487 3036, 1087 3036, 1087 3466, 1087 3706, 437 3706" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1487 2336, 1067 2336, 1067 3466, 1067 3686, 437 3686" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1487 2306, 1047 2306, 1047 3466, 1047 3666, 437 3666" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1487 2276, 1027 2276, 1027 3466, 1027 3646, 437 3646" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1487 2246, 1007 2246, 1007 3466, 1007 3626, 437 3626" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1487 1596, 987 1596, 987 3466, 987 3606, 437 3606" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1487 1566, 967 1566, 967 3466, 967 3586, 437 3586" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1487 1536, 947 1536, 947 3466, 947 3566, 437 3566" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1487 1506, 927 1506, 927 3466, 927 3546, 437 3546" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1487 896, 907 896, 907 3466, 907 3526, 437 3526" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1487 836, 867 836, 867 3466, 867 3486, 437 3486" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1487 806, 847 806, 847 3466, 437 3466" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="387" x2="437" y1="616" y2="566"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="387" x2="437" y1="596" y2="546"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="387" x2="437" y1="576" y2="526"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="387" x2="437" y1="556" y2="506"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="387" x2="437" y1="536" y2="486"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="387" x2="437" y1="516" y2="466"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="387" x2="437" y1="496" y2="446"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="387" x2="437" y1="476" y2="426"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="387" x2="437" y1="456" y2="406"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="387" x2="437" y1="436" y2="386"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="387" x2="437" y1="416" y2="366"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="387" x2="437" y1="396" y2="346"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="387" x2="437" y1="376" y2="326"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="387" x2="437" y1="356" y2="306"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="387" x2="437" y1="336" y2="286"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="387" x2="437" y1="316" y2="266"/>
<polygon fill="#ffff80" points="37 266, 37 241, 212 241, 237 266, 212 291, 37 291, 37 266" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="37" y="266">uPC[15..0]</text>
<polyline fill="none" points="1737 806, 1787 806, 1787 1256, 1437 1256, 1437 1816, 1487 1816" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1737 1506, 1787 1506, 1787 1986, 1437 1986, 1437 2556, 1487 2556" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1737 2246, 1787 2246, 1787 2736, 1437 2736, 1437 3346, 1487 3346" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="107" x2="107" y1="906" y2="956"/>
<polygon fill="#ffffff" fill-opacity="0.5" points="107 906, 157 856, 57 856, 107 906" stroke="#000000" stroke-width="5"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="Times New Roman" font-size="30" font-weight="700" text-anchor="start" x="97" y="896">1</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="97" y="826">U5</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="17" y="856">CONSTANT1</text>
<polyline fill="none" points="1487 966, 1397 966, 1397 3286, 1487 3286" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1487 3196, 1397 3196" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1487 2496, 1397 2496" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1487 2406, 1397 2406" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1487 1756, 1397 1756" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1487 1666, 1397 1666" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1487 1056, 1397 1056" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1737 1446, 2037 1446, 2037 1866, 2637 1866" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1737 1416, 2057 1416, 2057 1846, 2637 1846" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1737 1386, 2077 1386, 2077 1826, 2637 1826" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1737 1356, 2097 1356, 2097 1806, 2627 1806, 2637 1806" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1737 746, 2117 746, 2117 1786, 2637 1786" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1737 716, 2137 716, 2137 1766, 2637 1766" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1737 686, 2157 686, 2157 1746, 2637 1746" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1737 656, 2177 656, 2177 1726, 2637 1726" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1737 2096, 2037 2096, 2037 1886, 2637 1886" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1737 2126, 2057 2126, 2057 1906, 2637 1906" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1737 2156, 2077 2156, 2077 1926, 2637 1926" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1737 2186, 2097 2186, 2097 1946, 2637 1946" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1737 2886, 2117 2886, 2117 1966, 2637 1966" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1737 2916, 2137 2916, 2137 1986, 2637 1986" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1737 2946, 2157 2946, 2157 2006, 2637 2006" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1737 2976, 2177 2976, 2177 2026, 2637 2026" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="2637" x2="2687" y1="1726" y2="1676"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="2637" x2="2687" y1="1746" y2="1696"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="2637" x2="2687" y1="1766" y2="1716"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="2637" x2="2687" y1="1786" y2="1736"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="2637" x2="2687" y1="1806" y2="1756"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="2637" x2="2687" y1="1826" y2="1776"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="2637" x2="2687" y1="1846" y2="1796"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="2637" x2="2687" y1="1866" y2="1816"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="2637" x2="2687" y1="1886" y2="1836"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="2637" x2="2687" y1="1906" y2="1856"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="2637" x2="2687" y1="1926" y2="1876"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="2637" x2="2687" y1="1946" y2="1896"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="2637" x2="2687" y1="1966" y2="1916"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="2637" x2="2687" y1="1986" y2="1936"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="2637" x2="2687" y1="2006" y2="1956"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="2637" x2="2687" y1="2026" y2="1976"/>
<polyline fill="none" points="237 266, 387 266, 387 616" stroke="#000080" stroke-linecap="round" stroke-linejoin="round" stroke-width="20"/>
<polyline fill="none" points="2787 1616, 2687 1616, 2687 1976" stroke="#000080" stroke-linecap="round" stroke-linejoin="round" stroke-width="20"/>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="707" y="266">uPC0</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="707" y="286">uPC1</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="707" y="306">uPC2</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="707" y="326">uPC3</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="707" y="346">uPC4</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="707" y="366">uPC5</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="707" y="386">uPC6</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="707" y="406">uPC7</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="707" y="426">uPC8</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="707" y="446">uPC9</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="707" y="466">uPC10</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="707" y="486">uPC11</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="707" y="506">uPC12</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="707" y="526">uPC13</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="707" y="546">uPC14</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="707" y="566">uPC15</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="607" y="3466">B0</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="607" y="3486">B1</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="607" y="3506">B2</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="607" y="3526">B3</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="607" y="3546">B4</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="607" y="3566">B5</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="607" y="3586">B6</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="607" y="3606">B7</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="607" y="3626">B8</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="607" y="3646">B9</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="607" y="3666">B10</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="607" y="3686">B11</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="607" y="3706">B12</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="607" y="3726">B13</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="607" y="3746">B14</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="607" y="3766">B15</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="2307" y="1726">uPC_Next0</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="2307" y="1746">uPC_Next1</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="2307" y="1766">uPC_Next2</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="2307" y="1786">uPC_Next3</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="2307" y="1806">uPC_Next4</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="2307" y="1826">uPC_Next5</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="2307" y="1846">uPC_Next6</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="2307" y="1866">uPC_Next7</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="2307" y="1886">uPC_Next8</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="2307" y="1906">uPC_Next9</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="2307" y="1926">uPC_Next10</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="2307" y="1946">uPC_Next11</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="2307" y="1966">uPC_Next12</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="2307" y="1986">uPC_Next13</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="2307" y="2006">uPC_Next14</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="2307" y="2026">uPC_Next15</text>
<polygon fill="#ffff80" points="2787 1616, 2787 1591, 3012 1591, 3037 1616, 3012 1641, 2787 1641, 2787 1616" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="2787" y="1616">uPC_Next[15..0]</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="宋体" font-size="90" font-weight="400" text-anchor="start" x="67" y="3666">加数4</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="微软雅黑" font-size="180" font-weight="700" text-anchor="start" x="1727" y="236">微程序加计数模块</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="宋体" font-size="90" font-weight="400" text-anchor="start" x="1767" y="456">uPC+4指向下一条微指令</text>
<polyline fill="none" points="1487 1116, 1397 1116" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1397 966, 607 966, 107 966, 107 956" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1487 866, 887 866, 887 3506, 437 3506, 157 3506, 157 3446" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="157" x2="157" y1="3396" y2="3446"/>
<polygon fill="#ffffff" fill-opacity="0.5" points="157 3396, 207 3346, 107 3346, 157 3396" stroke="#000000" stroke-width="5"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="Times New Roman" font-size="30" font-weight="700" text-anchor="start" x="147" y="3386">1</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="147" y="3316">U6</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="67" y="3346">CONSTANT1</text>
<text alignment-baseline="after-edge" fill="#000080" font-family="宋体" font-size="35" font-weight="400" text-anchor="start" x="147" y="936">运算方式控制信号:无进位加法</text>
<circle cx="1397" cy="966" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="1397" cy="1116" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="1397" cy="1056" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="1397" cy="1666" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="1397" cy="1756" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="1397" cy="2406" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="1397" cy="2496" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="1397" cy="3196" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
</svg>
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论