📄 ps2_keyboard_interface.fit.eqn
字号:
--B1L703 is ps2_keyboard_interface:inst|timer_60usec_count[6]~245 at LCCOMB_X9_Y7_N12
B1L703 = CARRY(B1_timer_60usec_count[6] & !B1L403);
--B1L903 is ps2_keyboard_interface:inst|timer_60usec_count[7]~246 at LCCOMB_X9_Y7_N14
B1L903 = B1_timer_60usec_count[7] & !B1L703 # !B1_timer_60usec_count[7] & (B1L703 # GND);
--B1L013 is ps2_keyboard_interface:inst|timer_60usec_count[7]~247 at LCCOMB_X9_Y7_N14
B1L013 = CARRY(!B1L703 # !B1_timer_60usec_count[7]);
--B1L213 is ps2_keyboard_interface:inst|timer_60usec_count[8]~248 at LCCOMB_X9_Y7_N16
B1L213 = B1_timer_60usec_count[8] & (B1L013 $ GND) # !B1_timer_60usec_count[8] & !B1L013 & VCC;
--B1L313 is ps2_keyboard_interface:inst|timer_60usec_count[8]~249 at LCCOMB_X9_Y7_N16
B1L313 = CARRY(B1_timer_60usec_count[8] & !B1L013);
--B1L513 is ps2_keyboard_interface:inst|timer_60usec_count[9]~250 at LCCOMB_X9_Y7_N18
B1L513 = B1_timer_60usec_count[9] & !B1L313 # !B1_timer_60usec_count[9] & (B1L313 # GND);
--B1L613 is ps2_keyboard_interface:inst|timer_60usec_count[9]~251 at LCCOMB_X9_Y7_N18
B1L613 = CARRY(!B1L313 # !B1_timer_60usec_count[9]);
--B1L813 is ps2_keyboard_interface:inst|timer_60usec_count[10]~252 at LCCOMB_X9_Y7_N20
B1L813 = B1_timer_60usec_count[10] & (B1L613 $ GND) # !B1_timer_60usec_count[10] & !B1L613 & VCC;
--B1L913 is ps2_keyboard_interface:inst|timer_60usec_count[10]~253 at LCCOMB_X9_Y7_N20
B1L913 = CARRY(B1_timer_60usec_count[10] & !B1L613);
--B1L123 is ps2_keyboard_interface:inst|timer_60usec_count[11]~254 at LCCOMB_X9_Y7_N22
B1L123 = B1L913 $ B1_timer_60usec_count[11];
--B1_m1_state.m1_rx_rising_edge_marker is ps2_keyboard_interface:inst|m1_state.m1_rx_rising_edge_marker at LCFF_X9_Y7_N25
B1_m1_state.m1_rx_rising_edge_marker = DFFEAS(B1L64, GLOBAL(C1L61), , , , , , , );
--B1_ps2_data_s is ps2_keyboard_interface:inst|ps2_data_s at LCFF_X9_Y10_N17
B1_ps2_data_s = DFFEAS(UNCONNECTED_DATAIN, GLOBAL(C1L61), , , , A1L6, , , VCC);
--B1_m1_state.m1_tx_error_no_keyboard_ack is ps2_keyboard_interface:inst|m1_state.m1_tx_error_no_keyboard_ack at LCFF_X9_Y8_N29
B1_m1_state.m1_tx_error_no_keyboard_ack = DFFEAS(B1L72, GLOBAL(C1L61), , , , , , !reset, );
--B1_m1_state.m1_tx_done_recovery is ps2_keyboard_interface:inst|m1_state.m1_tx_done_recovery at LCFF_X9_Y8_N1
B1_m1_state.m1_tx_done_recovery = DFFEAS(B1L62, GLOBAL(C1L61), , , , , , !reset, );
--B1L44 is ps2_keyboard_interface:inst|m1_state~199 at LCCOMB_X9_Y10_N16
B1L44 = B1_ps2_data_s & (B1_m1_state.m1_tx_error_no_keyboard_ack # B1_m1_state.m1_tx_done_recovery) # !B1_m1_state.m1_rx_clk_h;
--B1L54 is ps2_keyboard_interface:inst|m1_state~200 at LCCOMB_X9_Y7_N28
B1L54 = reset & !B1_m1_state.m1_rx_rising_edge_marker & (!B1L44 # !B1_ps2_clk_s);
--B1L47 is ps2_keyboard_interface:inst|q~6029 at LCCOMB_X9_Y8_N10
B1L47 = reset & B1_q[1];
--B1L42 is ps2_keyboard_interface:inst|m1_next_state.m1_tx_clk_h~47 at LCCOMB_X9_Y8_N12
B1L42 = B1_m1_state.m1_tx_rising_edge_marker # B1_ps2_clk_s & B1_m1_state.m1_tx_clk_h & B1_tx_shifting_done;
--B1L82 is ps2_keyboard_interface:inst|m1_next_state.m1_tx_wait_clk_h~119 at LCCOMB_X9_Y8_N2
B1L82 = B1_ps2_clk_s & (B1_m1_state.m1_tx_clk_l # B1_m1_state.m1_tx_wait_clk_h & B1_timer_5usec_done) # !B1_ps2_clk_s & (B1_m1_state.m1_tx_wait_clk_h);
--B1L52 is ps2_keyboard_interface:inst|m1_next_state.m1_tx_clk_l~94 at LCCOMB_X9_Y8_N24
B1L52 = !B1_ps2_clk_s & (B1_m1_state.m1_tx_clk_l # B1_m1_state.m1_tx_clk_h & B1_tx_shifting_done);
--J1_tsr[3] is uart_if:inst3|uart:U1|txmit:u2|tsr[3] at LCFF_X26_Y21_N25
J1_tsr[3] = DFFEAS(J1L17, !GLOBAL(J1L71), !GLOBAL(B1L352), , J1L36, , , , );
--J1_tbr[2] is uart_if:inst3|uart:U1|txmit:u2|tbr[2] at LCFF_X27_Y20_N1
J1_tbr[2] = DFFEAS(J1L54, GLOBAL(E1L38), !GLOBAL(B1L352), , , , , , );
--J1L07 is uart_if:inst3|uart:U1|txmit:u2|tsr~539 at LCCOMB_X26_Y21_N2
J1L07 = J1L23 & (J1_tsr[3]) # !J1L23 & J1_tbr[2];
--E1_din[1] is uart_if:inst3|din[1] at LCFF_X23_Y21_N19
E1_din[1] = DFFEAS(F1L7, GLOBAL(E1L51), !GLOBAL(B1L352), , E1L86, , , , );
--F1L3Q is data_buf:inst4|data_in_buf[0]~603 at LCFF_X23_Y21_N17
F1L3Q = DFFEAS(F1L2, GLOBAL(D1L14), !GLOBAL(B1L352), , F1L1, , , , );
--F1L4 is data_buf:inst4|data_in_buf[0]~605 at LCCOMB_X23_Y21_N10
F1L4 = B1_rx_released & (F1L3Q $ F1L2) # !B1_rx_released & (B1_rx_ascii[0]);
--E1_cnt[3] is uart_if:inst3|cnt[3] at LCFF_X49_Y14_N7
E1_cnt[3] = DFFEAS(E1L41, GLOBAL(D1L14), !GLOBAL(B1L352), , E1L4, , , , );
--E1_read_en is uart_if:inst3|read_en at LCFF_X24_Y23_N21
E1_read_en = DFFEAS(E1L97, GLOBAL(E1L51), !GLOBAL(B1L352), , , , , , );
--E1_read_once is uart_if:inst3|read_once at LCFF_X23_Y23_N17
E1_read_once = DFFEAS(E1L18, GLOBAL(E1L51), , , B1_rx_released, , , E1_read_en, );
--J1_tsre is uart_if:inst3|uart:U1|txmit:u2|tsre at LCFF_X25_Y23_N7
J1_tsre = DFFEAS(J1L66, !GLOBAL(J1L71), !GLOBAL(B1L352), , !J1_no_bits_sent[1], , , , );
--J1_tbre is uart_if:inst3|uart:U1|txmit:u2|tbre at LCFF_X24_Y23_N15
J1_tbre = DFFEAS(J1L55, GLOBAL(D1L14), !GLOBAL(B1L352), , , , , , );
--E1L86 is uart_if:inst3|din[6]~63 at LCCOMB_X24_Y23_N24
E1L86 = !E1_read_once & !E1_read_en & !J1_tsre & !J1_tbre;
--B1L062 is ps2_keyboard_interface:inst|timer_5usec_count[0]~156 at LCCOMB_X9_Y9_N10
B1L062 = B1_timer_5usec_count[0] & (B1_timer_5usec_done $ VCC) # !B1_timer_5usec_count[0] & B1_timer_5usec_done & VCC;
--B1L162 is ps2_keyboard_interface:inst|timer_5usec_count[0]~157 at LCCOMB_X9_Y9_N10
B1L162 = CARRY(B1_timer_5usec_count[0] & B1_timer_5usec_done);
--B1L362 is ps2_keyboard_interface:inst|timer_5usec_count[1]~158 at LCCOMB_X9_Y9_N12
B1L362 = B1_timer_5usec_count[1] & !B1L162 # !B1_timer_5usec_count[1] & (B1L162 # GND);
--B1L462 is ps2_keyboard_interface:inst|timer_5usec_count[1]~159 at LCCOMB_X9_Y9_N12
B1L462 = CARRY(!B1L162 # !B1_timer_5usec_count[1]);
--B1L662 is ps2_keyboard_interface:inst|timer_5usec_count[2]~160 at LCCOMB_X9_Y9_N14
B1L662 = B1_timer_5usec_count[2] & (B1L462 $ GND) # !B1_timer_5usec_count[2] & !B1L462 & VCC;
--B1L762 is ps2_keyboard_interface:inst|timer_5usec_count[2]~161 at LCCOMB_X9_Y9_N14
B1L762 = CARRY(B1_timer_5usec_count[2] & !B1L462);
--B1L962 is ps2_keyboard_interface:inst|timer_5usec_count[3]~162 at LCCOMB_X9_Y9_N16
B1L962 = B1_timer_5usec_count[3] & !B1L762 # !B1_timer_5usec_count[3] & (B1L762 # GND);
--B1L072 is ps2_keyboard_interface:inst|timer_5usec_count[3]~163 at LCCOMB_X9_Y9_N16
B1L072 = CARRY(!B1L762 # !B1_timer_5usec_count[3]);
--B1L272 is ps2_keyboard_interface:inst|timer_5usec_count[4]~164 at LCCOMB_X9_Y9_N18
B1L272 = B1_timer_5usec_count[4] & (B1L072 $ GND) # !B1_timer_5usec_count[4] & !B1L072 & VCC;
--B1L372 is ps2_keyboard_interface:inst|timer_5usec_count[4]~165 at LCCOMB_X9_Y9_N18
B1L372 = CARRY(B1_timer_5usec_count[4] & !B1L072);
--B1L572 is ps2_keyboard_interface:inst|timer_5usec_count[5]~166 at LCCOMB_X9_Y9_N20
B1L572 = B1_timer_5usec_count[5] & !B1L372 # !B1_timer_5usec_count[5] & (B1L372 # GND);
--B1L672 is ps2_keyboard_interface:inst|timer_5usec_count[5]~167 at LCCOMB_X9_Y9_N20
B1L672 = CARRY(!B1L372 # !B1_timer_5usec_count[5]);
--B1L872 is ps2_keyboard_interface:inst|timer_5usec_count[6]~168 at LCCOMB_X9_Y9_N22
B1L872 = B1_timer_5usec_count[6] & (B1L672 $ GND) # !B1_timer_5usec_count[6] & !B1L672 & VCC;
--B1L972 is ps2_keyboard_interface:inst|timer_5usec_count[6]~169 at LCCOMB_X9_Y9_N22
B1L972 = CARRY(B1_timer_5usec_count[6] & !B1L672);
--B1L182 is ps2_keyboard_interface:inst|timer_5usec_count[7]~170 at LCCOMB_X9_Y9_N24
B1L182 = B1_timer_5usec_count[7] $ B1L972;
--B1L57 is ps2_keyboard_interface:inst|q~6030 at LCCOMB_X9_Y9_N0
B1L57 = B1_ps2_data_s & reset;
--B1L32 is ps2_keyboard_interface:inst|m1_next_state.m1_rx_clk_l~8 at LCCOMB_X9_Y8_N16
B1L32 = B1_m1_state.m1_rx_falling_edge_marker # !B1_ps2_clk_s & B1_m1_state.m1_rx_clk_l;
--B1L64 is ps2_keyboard_interface:inst|m1_state~201 at LCCOMB_X9_Y7_N24
B1L64 = reset & B1_m1_state.m1_rx_clk_l & B1_ps2_clk_s;
--B1L72 is ps2_keyboard_interface:inst|m1_next_state.m1_tx_error_no_keyboard_ack~52 at LCCOMB_X9_Y8_N28
B1L72 = B1_ps2_data_s & !B1_ps2_clk_s & (B1_m1_state.m1_tx_wait_keyboard_ack # B1_m1_state.m1_tx_error_no_keyboard_ack) # !B1_ps2_data_s & (B1_m1_state.m1_tx_error_no_keyboard_ack);
--B1L62 is ps2_keyboard_interface:inst|m1_next_state.m1_tx_done_recovery~62 at LCCOMB_X9_Y8_N0
B1L62 = B1_ps2_data_s & (B1_m1_state.m1_tx_done_recovery & !B1_ps2_clk_s) # !B1_ps2_data_s & (B1_m1_state.m1_tx_done_recovery # B1_m1_state.m1_tx_wait_keyboard_ack & !B1_ps2_clk_s);
--J1_tsr[4] is uart_if:inst3|uart:U1|txmit:u2|tsr[4] at LCFF_X26_Y21_N31
J1_tsr[4] = DFFEAS(J1L27, !GLOBAL(J1L71), !GLOBAL(B1L352), , J1L36, , , , );
--J1_tbr[3] is uart_if:inst3|uart:U1|txmit:u2|tbr[3] at LCFF_X23_Y20_N1
J1_tbr[3] = DFFEAS(UNCONNECTED_DATAIN, GLOBAL(E1L38), !GLOBAL(B1L352), , , E1_din[3], , , VCC);
--J1L17 is uart_if:inst3|uart:U1|txmit:u2|tsr~540 at LCCOMB_X26_Y21_N24
J1L17 = J1L23 & J1_tsr[4] # !J1L23 & (J1_tbr[3]);
--E1_din[2] is uart_if:inst3|din[2] at LCFF_X23_Y21_N23
E1_din[2] = DFFEAS(F1L01, GLOBAL(E1L51), !GLOBAL(B1L352), , E1L86, , , , );
--F1L6Q is data_buf:inst4|data_in_buf[1]~606 at LCFF_X23_Y21_N31
F1L6Q = DFFEAS(F1L5, GLOBAL(D1L14), !GLOBAL(B1L352), , F1L1, , , , );
--F1L7 is data_buf:inst4|data_in_buf[1]~608 at LCCOMB_X23_Y21_N18
F1L7 = B1_rx_released & (F1L6Q $ (F1L5)) # !B1_rx_released & (B1_rx_ascii[1]);
--F1_i[3] is data_buf:inst4|i[3] at LCFF_X24_Y21_N1
F1_i[3] = DFFEAS(F1L82, GLOBAL(D1L14), !GLOBAL(B1L352), , , , , , );
--F1_i[2] is data_buf:inst4|i[2] at LCFF_X24_Y21_N7
F1_i[2] = DFFEAS(F1L92, GLOBAL(D1L14), !GLOBAL(B1L352), , , , , , );
--F1_i[1] is data_buf:inst4|i[1] at LCFF_X24_Y21_N11
F1_i[1] = DFFEAS(F1L03, GLOBAL(D1L14), !GLOBAL(B1L352), , , , , , );
--F1L1 is data_buf:inst4|LessThan~60 at LCCOMB_X23_Y21_N12
F1L1 = F1_i[2] & F1_i[1] & F1_i[3];
--F1L2 is data_buf:inst4|data_in_buf[0]~41 at LCCOMB_X23_Y21_N16
F1L2 = GLOBAL(B1L352) & (F1L2) # !GLOBAL(B1L352) & B1_rx_ascii[0];
--E1_cnt[2] is uart_if:inst3|cnt[2] at LCFF_X48_Y14_N15
E1_cnt[2] = DFFEAS(E1L21, GLOBAL(D1L14), !GLOBAL(B1L352), , E1L5, , , , );
--E1_cnt[1] is uart_if:inst3|cnt[1] at LCFF_X49_Y14_N1
E1_cnt[1] = DFFEAS(E1L01, GLOBAL(D1L14), !GLOBAL(B1L352), , E1_cnt[0], , , , );
--E1_cnt[0] is uart_if:inst3|cnt[0] at LCFF_X49_Y13_N13
E1_cnt[0] = DFFEAS(E1L8, GLOBAL(D1L14), !GLOBAL(B1L352), , , , , , );
--E1L4 is uart_if:inst3|add~202 at LCCOMB_X49_Y14_N14
E1L4 = E1_cnt[0] & E1_cnt[1] & E1_cnt[2];
--E1L22Q is uart_if:inst3|data_out[6]~reg0 at LCFF_X25_Y23_N5
E1L22Q = DFFEAS(E1L25, GLOBAL(E1L51), !GLOBAL(B1L352), , E1L32, , , , );
--E1L12Q is uart_if:inst3|data_out[5]~reg0 at LCFF_X25_Y23_N9
E1L12Q = DFFEAS(E1L35, GLOBAL(E1L51), !GLOBAL(B1L352), , E1L32, , , , );
--E1L02Q is uart_if:inst3|data_out[4]~reg0 at LCFF_X25_Y23_N3
E1L02Q = DFFEAS(E1L45, GLOBAL(E1L51), !GLOBAL(B1L352), , E1L32, , , , );
--E1L91Q is uart_if:inst3|data_out[3]~reg0 at LCFF_X25_Y23_N31
E1L91Q = DFFEAS(E1L55, GLOBAL(E1L51), !GLOBAL(B1L352), , E1L32, , , , );
--E1L1 is uart_if:inst3|LessThan~170 at LCCOMB_X24_Y23_N28
E1L1 = !E1L91Q # !E1L12Q # !E1L02Q # !E1L22Q;
--E1L81Q is uart_if:inst3|data_out[2]~reg0 at LCFF_X23_Y23_N5
E1L81Q = DFFEAS(E1L65, GLOBAL(E1L51), !GLOBAL(B1L352), , E1L32, , , , );
--E1L71Q is uart_if:inst3|data_out[1]~reg0 at LCFF_X23_Y23_N11
E1L71Q = DFFEAS(E1L75, GLOBAL(E1L51), !GLOBAL(B1L352), , E1L32, , , , );
--E1L61Q is uart_if:inst3|data_out[0]~reg0 at LCFF_X23_Y23_N15
E1L61Q = DFFEAS(E1L85, GLOBAL(E1L51), !GLOBAL(B1L352), , E1L32, , , , );
--E1L2 is uart_if:inst3|LessThan~171 at LCCOMB_X24_Y23_N6
E1L2 = E1L1 # !E1L61Q # !E1L81Q # !E1L71Q;
--E1L42Q is uart_if:inst3|data_out[7]~reg0 at LCFF_X23_Y23_N3
E1L42Q = DFFEAS(E1L95, GLOBAL(E1L51), !GLOBAL(B1L352), , E1L32, , , , );
--E1_rdn is uart_if:inst3|rdn at LCFF_X24_Y23_N27
E1_rdn = DFFEAS(E1L47, GLOBAL(E1L51), !GLOBAL(B1L352), , , , , , );
--E1L67 is uart_if:inst3|read_en~134 at LCCOMB_X24_Y23_N12
E1L67 = E1L2 & !E1_read_en & !E1_rdn & !E1L42Q;
--H1_rbr[6] is uart_if:inst3|uart:U1|rcvr:u1|rbr[6] at LCFF_X24_Y16_N15
H1_rbr[6] = DFFEAS(H1L54, GLOBAL(H1L91), GLOBAL(B1L352), , H1L74, , , , );
--H1_rbr[5] is uart_if:inst3|uart:U1|rcvr:u1|rbr[5] at LCFF_X24_Y16_N19
H1_rbr[5] = DFFEAS(UNCONNECTED_DATAIN, GLOBAL(H1L91), GLOBAL(B1L352), , H1L74, H1_rsr[5], , , VCC);
--H1_rbr[7] is uart_if:inst3|uart:U1|rcvr:u1|rbr[7] at LCFF_X24_Y16_N3
H1_rbr[7] = DFFEAS(H1L84, GLOBAL(H1L91), GLOBAL(B1L352), , H1L74, , , , );
--E1L77 is uart_if:inst3|read_en~135 at LCCOMB_X24_Y16_N18
E1L77 = E1_rdn & H1_rbr[6] & H1_rbr[5] & !H1_rbr[7];
--H1_rbr[4] is uart_if:inst3|uart:U1|rcvr:u1|rbr[4] at LCFF_X24_Y16_N7
H1_rbr[4] = DFFEAS(UNCONNECTED_DATAIN, GLOBAL(H1L91), GLOBAL(B1L352), , H1L74, H1_rsr[4], , , VCC);
--H1_rbr[1] is uart_if:inst3|uart:U1|rcvr:u1|rbr[1] at LCFF_X24_Y16_N17
H1_rbr[1] = DFFEAS(UNCONNECTED_DATAIN, GLOBAL(H1L91), GLOBAL(B1L352), , H1L74, H1_rsr[1], , , VCC);
--H1_rbr[3] is uart_if:inst3|uart:U1|rcvr:u1|rbr[3] at LCFF_X24_Y16_N21
H1_rbr[3] = DFFEAS(H1L14, GLOBAL(H1L91), GLOBAL(B1L352), , H1L74, , , , );
--H1_rbr[2] is uart_if:inst3|uart:U1|rcvr:u1|rbr[2] at LCFF_X24_Y16_N27
H1_rbr[2] = DFFEAS(H1L93, GLOBAL(H1L91), GLOBAL(B1L352), , H1L74, , , , );
--E1L87 is uart_if:inst3|read_en~136 at LCCOMB_X24_Y16_N16
E1L87 = !H1_rbr[3] & !H1_rbr[2] & H1_rbr[1] & H1_rbr[4];
--H1_rbr[0] is uart_if:inst3|uart:U1|rcvr:u1|rbr[0] at LCFF_X24_Y16_N5
H1_rbr[0] = DFFEAS(H1L63, GLOBAL(H1L91), GLOBAL(B1L352), , H1L74, , , , );
--E1L97 is uart_if:inst3|read_en~137 at LCCOMB_X24_Y23_N20
E1L97 = !E1L67 & (H1_rbr[0] # !E1L87 # !E1L77);
--E1_data_out_d[7] is uart_if:inst3|data_out_d[7] at LCFF_X25_Y23_N25
E1_data_out_d[7] = DFFEAS(E1L05, GLOBAL(E1L51), !GLOBAL(B1L352), ,
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -