⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ps2_keyboard_interface.fit.eqn

📁 键盘输入串口输出显示字符,通过串口显示键盘输入的字符
💻 EQN
📖 第 1 页 / 共 5 页
字号:
B1L523 = B1_timer_60usec_count[10] # !B1_timer_60usec_count[11] # !B1_timer_60usec_count[9] # !B1_timer_60usec_count[8];


--B1L623 is ps2_keyboard_interface:inst|timer_60usec_done~82 at LCCOMB_X10_Y7_N14
B1L623 = B1L323 # B1L423 # B1L523;


--B1_m1_state.m1_rx_clk_h is ps2_keyboard_interface:inst|m1_state.m1_rx_clk_h at LCFF_X9_Y7_N29
B1_m1_state.m1_rx_clk_h = DFFEAS(B1L54, GLOBAL(C1L61),  ,  ,  ,  ,  ,  ,  );


--B1_ps2_clk_s is ps2_keyboard_interface:inst|ps2_clk_s at LCFF_X10_Y7_N3
B1_ps2_clk_s = DFFEAS(UNCONNECTED_DATAIN, GLOBAL(C1L61),  ,  ,  , A1L4,  ,  , VCC);


--B1L61 is ps2_keyboard_interface:inst|bit_count[3]~178 at LCCOMB_X10_Y7_N2
B1L61 = !B1L623 & B1_ps2_clk_s & !B1_m1_state.m1_rx_clk_h # !B1L51;


--B1L71 is ps2_keyboard_interface:inst|bit_count[3]~179 at LCCOMB_X10_Y8_N16
B1L71 = B1_bit_count[3] $ B1L31;


--B1_q[0] is ps2_keyboard_interface:inst|q[0] at LCFF_X9_Y8_N11
B1_q[0] = DFFEAS(B1L47, GLOBAL(C1L61),  ,  , B1L46,  ,  ,  ,  );


--B1_m1_state.m1_tx_clk_h is ps2_keyboard_interface:inst|m1_state.m1_tx_clk_h at LCFF_X9_Y8_N13
B1_m1_state.m1_tx_clk_h = DFFEAS(B1L42, GLOBAL(C1L61),  ,  ,  ,  ,  , !reset,  );


--B1L53 is ps2_keyboard_interface:inst|m1_state.m1_tx_clk_l~33 at LCCOMB_X9_Y8_N6
B1L53 = !B1_m1_state.m1_tx_rising_edge_marker & !B1_m1_state.m1_tx_clk_h;


--B1_m1_state.m1_tx_wait_clk_h is ps2_keyboard_interface:inst|m1_state.m1_tx_wait_clk_h at LCFF_X9_Y8_N3
B1_m1_state.m1_tx_wait_clk_h = DFFEAS(B1L82, GLOBAL(C1L61),  ,  ,  ,  ,  , !reset,  );


--B1_m1_state.m1_tx_clk_l is ps2_keyboard_interface:inst|m1_state.m1_tx_clk_l at LCFF_X9_Y8_N25
B1_m1_state.m1_tx_clk_l = DFFEAS(B1L52, GLOBAL(C1L61),  ,  ,  ,  ,  , !reset,  );


--B1L84 is ps2_keyboard_interface:inst|ps2_data_hi_z~29 at LCCOMB_X9_Y8_N22
B1L84 = B1_q[0] # !B1_m1_state.m1_tx_wait_clk_h & !B1_m1_state.m1_tx_clk_l & B1L53;


--J1_wrn1 is uart_if:inst3|uart:U1|txmit:u2|wrn1 at LCFF_X24_Y23_N9
J1_wrn1 = DFFEAS(UNCONNECTED_DATAIN, GLOBAL(D1L14), !GLOBAL(B1L352),  ,  , E1_wrn,  ,  , VCC);


--J1_wrn2 is uart_if:inst3|uart:U1|txmit:u2|wrn2 at LCFF_X24_Y23_N31
J1_wrn2 = DFFEAS(UNCONNECTED_DATAIN, GLOBAL(D1L14), !GLOBAL(B1L352),  ,  , J1_wrn1,  ,  , VCC);


--J1L2 is uart_if:inst3|uart:U1|txmit:u2|always1~13 at LCCOMB_X24_Y23_N30
J1L2 = J1_wrn1 & !J1_wrn2;


--J1L45 is uart_if:inst3|uart:U1|txmit:u2|tbre~72 at LCCOMB_X26_Y21_N10
J1L45 = J1_no_bits_sent[1] # !J1_no_bits_sent[3] # !J1_no_bits_sent[2] # !J1_no_bits_sent[0];


--J1_tsr[2] is uart_if:inst3|uart:U1|txmit:u2|tsr[2] at LCFF_X26_Y21_N3
J1_tsr[2] = DFFEAS(J1L07, !GLOBAL(J1L71), !GLOBAL(B1L352),  , J1L36,  ,  ,  ,  );


--J1_tbr[1] is uart_if:inst3|uart:U1|txmit:u2|tbr[1] at LCFF_X24_Y20_N1
J1_tbr[1] = DFFEAS(UNCONNECTED_DATAIN, GLOBAL(E1L38), !GLOBAL(B1L352),  ,  , E1_din[1],  ,  , VCC);


--J1L96 is uart_if:inst3|uart:U1|txmit:u2|tsr~538 at LCCOMB_X26_Y21_N12
J1L96 = J1L23 & J1_tsr[2] # !J1L23 & (J1_tbr[1]);


--E1_din[0] is uart_if:inst3|din[0] at LCFF_X23_Y21_N11
E1_din[0] = DFFEAS(F1L4, GLOBAL(E1L51), !GLOBAL(B1L352),  , E1L86,  ,  ,  ,  );


--E1_wrn is uart_if:inst3|wrn at LCFF_X24_Y23_N25
E1_wrn = DFFEAS(E1L86, GLOBAL(E1L51), !GLOBAL(B1L352),  ,  ,  ,  ,  ,  );


--D1_acc[11] is div_4:inst2|acc[11] at LCFF_X1_Y13_N23
D1_acc[11] = DFFEAS(D1L63, GLOBAL(A1L2),  ,  ,  ,  ,  ,  ,  );


--D1_acc[10] is div_4:inst2|acc[10] at LCFF_X1_Y13_N21
D1_acc[10] = DFFEAS(D1L33, GLOBAL(A1L2),  ,  ,  ,  ,  ,  ,  );


--D1_acc[9] is div_4:inst2|acc[9] at LCFF_X1_Y13_N19
D1_acc[9] = DFFEAS(D1L03, GLOBAL(A1L2),  ,  ,  ,  ,  ,  ,  );


--D1_acc[8] is div_4:inst2|acc[8] at LCFF_X1_Y13_N17
D1_acc[8] = DFFEAS(D1L72, GLOBAL(A1L2),  ,  ,  ,  ,  ,  ,  );


--D1_acc[7] is div_4:inst2|acc[7] at LCFF_X1_Y13_N15
D1_acc[7] = DFFEAS(D1L42, GLOBAL(A1L2),  ,  ,  ,  ,  ,  ,  );


--D1_acc[6] is div_4:inst2|acc[6] at LCFF_X1_Y13_N13
D1_acc[6] = DFFEAS(D1L12, GLOBAL(A1L2),  ,  ,  ,  ,  ,  ,  );


--D1_acc[5] is div_4:inst2|acc[5] at LCFF_X1_Y13_N11
D1_acc[5] = DFFEAS(D1L81, GLOBAL(A1L2),  ,  ,  ,  ,  ,  ,  );


--D1_acc[4] is div_4:inst2|acc[4] at LCFF_X1_Y13_N9
D1_acc[4] = DFFEAS(D1L51, GLOBAL(A1L2),  ,  ,  ,  ,  ,  ,  );


--D1_acc[3] is div_4:inst2|acc[3] at LCFF_X1_Y13_N7
D1_acc[3] = DFFEAS(D1L21, GLOBAL(A1L2),  ,  ,  ,  ,  ,  ,  );


--D1_acc[2] is div_4:inst2|acc[2] at LCFF_X1_Y13_N5
D1_acc[2] = DFFEAS(D1L9, GLOBAL(A1L2),  ,  ,  ,  ,  ,  ,  );


--D1_acc[1] is div_4:inst2|acc[1] at LCFF_X1_Y13_N3
D1_acc[1] = DFFEAS(D1L6, GLOBAL(A1L2),  ,  ,  ,  ,  ,  ,  );


--D1_acc[0] is div_4:inst2|acc[0] at LCFF_X1_Y13_N1
D1_acc[0] = DFFEAS(D1L3, GLOBAL(A1L2),  ,  ,  ,  ,  ,  ,  );


--D1L3 is div_4:inst2|acc[0]~104 at LCCOMB_X1_Y13_N0
D1L3 = D1_acc[0] $ VCC;

--D1L4 is div_4:inst2|acc[0]~105 at LCCOMB_X1_Y13_N0
D1L4 = CARRY(D1_acc[0]);


--D1L6 is div_4:inst2|acc[1]~106 at LCCOMB_X1_Y13_N2
D1L6 = D1_acc[1] & D1L4 & VCC # !D1_acc[1] & !D1L4;

--D1L7 is div_4:inst2|acc[1]~107 at LCCOMB_X1_Y13_N2
D1L7 = CARRY(!D1_acc[1] & !D1L4);


--D1L9 is div_4:inst2|acc[2]~108 at LCCOMB_X1_Y13_N4
D1L9 = D1_acc[2] & (GND # !D1L7) # !D1_acc[2] & (D1L7 $ GND);

--D1L01 is div_4:inst2|acc[2]~109 at LCCOMB_X1_Y13_N4
D1L01 = CARRY(D1_acc[2] # !D1L7);


--D1L21 is div_4:inst2|acc[3]~110 at LCCOMB_X1_Y13_N6
D1L21 = D1_acc[3] & !D1L01 # !D1_acc[3] & (D1L01 # GND);

--D1L31 is div_4:inst2|acc[3]~111 at LCCOMB_X1_Y13_N6
D1L31 = CARRY(!D1L01 # !D1_acc[3]);


--D1L51 is div_4:inst2|acc[4]~112 at LCCOMB_X1_Y13_N8
D1L51 = D1_acc[4] & (GND # !D1L31) # !D1_acc[4] & (D1L31 $ GND);

--D1L61 is div_4:inst2|acc[4]~113 at LCCOMB_X1_Y13_N8
D1L61 = CARRY(D1_acc[4] # !D1L31);


--D1L81 is div_4:inst2|acc[5]~114 at LCCOMB_X1_Y13_N10
D1L81 = D1_acc[5] & !D1L61 # !D1_acc[5] & (D1L61 # GND);

--D1L91 is div_4:inst2|acc[5]~115 at LCCOMB_X1_Y13_N10
D1L91 = CARRY(!D1L61 # !D1_acc[5]);


--D1L12 is div_4:inst2|acc[6]~116 at LCCOMB_X1_Y13_N12
D1L12 = D1_acc[6] & (D1L91 $ GND) # !D1_acc[6] & !D1L91 & VCC;

--D1L22 is div_4:inst2|acc[6]~117 at LCCOMB_X1_Y13_N12
D1L22 = CARRY(D1_acc[6] & !D1L91);


--D1L42 is div_4:inst2|acc[7]~118 at LCCOMB_X1_Y13_N14
D1L42 = D1_acc[7] & D1L22 & VCC # !D1_acc[7] & !D1L22;

--D1L52 is div_4:inst2|acc[7]~119 at LCCOMB_X1_Y13_N14
D1L52 = CARRY(!D1_acc[7] & !D1L22);


--D1L72 is div_4:inst2|acc[8]~120 at LCCOMB_X1_Y13_N16
D1L72 = D1_acc[8] & (D1L52 $ GND) # !D1_acc[8] & !D1L52 & VCC;

--D1L82 is div_4:inst2|acc[8]~121 at LCCOMB_X1_Y13_N16
D1L82 = CARRY(D1_acc[8] & !D1L52);


--D1L03 is div_4:inst2|acc[9]~122 at LCCOMB_X1_Y13_N18
D1L03 = D1_acc[9] & !D1L82 # !D1_acc[9] & (D1L82 # GND);

--D1L13 is div_4:inst2|acc[9]~123 at LCCOMB_X1_Y13_N18
D1L13 = CARRY(!D1L82 # !D1_acc[9]);


--D1L33 is div_4:inst2|acc[10]~124 at LCCOMB_X1_Y13_N20
D1L33 = D1_acc[10] & (D1L13 $ GND) # !D1_acc[10] & !D1L13 & VCC;

--D1L43 is div_4:inst2|acc[10]~125 at LCCOMB_X1_Y13_N20
D1L43 = CARRY(D1_acc[10] & !D1L13);


--D1L63 is div_4:inst2|acc[11]~126 at LCCOMB_X1_Y13_N22
D1L63 = D1_acc[11] & !D1L43 # !D1_acc[11] & (D1L43 # GND);

--D1L73 is div_4:inst2|acc[11]~127 at LCCOMB_X1_Y13_N22
D1L73 = CARRY(!D1L43 # !D1_acc[11]);


--D1L93 is div_4:inst2|acc[12]~128 at LCCOMB_X1_Y13_N24
D1L93 = !D1L73;


--J1L21 is uart_if:inst3|uart:U1|txmit:u2|clkdiv[2]~41 at LCCOMB_X24_Y23_N0
J1L21 = J1_clkdiv[0] & J1_clk1x_enable & J1_clkdiv[1];


--J1L9 is uart_if:inst3|uart:U1|txmit:u2|clkdiv[1]~42 at LCCOMB_X24_Y23_N16
J1L9 = J1_clkdiv[0] & J1_clk1x_enable;


--B1L67 is ps2_keyboard_interface:inst|reduce_nor~1 at LCCOMB_X10_Y7_N18
B1L67 = !B1_q[5] # !B1L45;


--B1L02 is ps2_keyboard_interface:inst|hold_released~62 at LCCOMB_X10_Y7_N8
B1L02 = !B1L052 & (B1_hold_released # !B1_rx_shifting_done & !B1L67);


--B1_timer_5usec_count[1] is ps2_keyboard_interface:inst|timer_5usec_count[1] at LCFF_X9_Y9_N13
B1_timer_5usec_count[1] = DFFEAS(B1L362, GLOBAL(C1L61),  ,  ,  ,  ,  , !B1_m1_state.m1_tx_wait_clk_h,  );


--B1_timer_5usec_count[0] is ps2_keyboard_interface:inst|timer_5usec_count[0] at LCFF_X9_Y9_N11
B1_timer_5usec_count[0] = DFFEAS(B1L062, GLOBAL(C1L61),  ,  ,  ,  ,  , !B1_m1_state.m1_tx_wait_clk_h,  );


--B1L482 is ps2_keyboard_interface:inst|timer_5usec_done~44 at LCCOMB_X9_Y9_N2
B1L482 = B1_timer_5usec_count[1] # !B1_timer_5usec_count[0];


--B1_timer_5usec_count[2] is ps2_keyboard_interface:inst|timer_5usec_count[2] at LCFF_X9_Y9_N15
B1_timer_5usec_count[2] = DFFEAS(B1L662, GLOBAL(C1L61),  ,  ,  ,  ,  , !B1_m1_state.m1_tx_wait_clk_h,  );


--B1_timer_5usec_count[6] is ps2_keyboard_interface:inst|timer_5usec_count[6] at LCFF_X9_Y9_N23
B1_timer_5usec_count[6] = DFFEAS(B1L872, GLOBAL(C1L61),  ,  ,  ,  ,  , !B1_m1_state.m1_tx_wait_clk_h,  );


--B1_timer_5usec_count[4] is ps2_keyboard_interface:inst|timer_5usec_count[4] at LCFF_X9_Y9_N19
B1_timer_5usec_count[4] = DFFEAS(B1L272, GLOBAL(C1L61),  ,  ,  ,  ,  , !B1_m1_state.m1_tx_wait_clk_h,  );


--B1_timer_5usec_count[5] is ps2_keyboard_interface:inst|timer_5usec_count[5] at LCFF_X9_Y9_N21
B1_timer_5usec_count[5] = DFFEAS(B1L572, GLOBAL(C1L61),  ,  ,  ,  ,  , !B1_m1_state.m1_tx_wait_clk_h,  );


--B1_timer_5usec_count[7] is ps2_keyboard_interface:inst|timer_5usec_count[7] at LCFF_X9_Y9_N25
B1_timer_5usec_count[7] = DFFEAS(B1L182, GLOBAL(C1L61),  ,  ,  ,  ,  , !B1_m1_state.m1_tx_wait_clk_h,  );


--B1L582 is ps2_keyboard_interface:inst|timer_5usec_done~45 at LCCOMB_X9_Y9_N28
B1L582 = B1_timer_5usec_count[6] # !B1_timer_5usec_count[7] # !B1_timer_5usec_count[4] # !B1_timer_5usec_count[5];


--B1_timer_5usec_count[3] is ps2_keyboard_interface:inst|timer_5usec_count[3] at LCFF_X9_Y9_N17
B1_timer_5usec_count[3] = DFFEAS(B1L962, GLOBAL(C1L61),  ,  ,  ,  ,  , !B1_m1_state.m1_tx_wait_clk_h,  );


--B1_timer_5usec_done is ps2_keyboard_interface:inst|timer_5usec_done at LCCOMB_X9_Y9_N4
B1_timer_5usec_done = B1L482 # B1_timer_5usec_count[2] # B1L582 # !B1_timer_5usec_count[3];


--B1L14 is ps2_keyboard_interface:inst|m1_state~196 at LCCOMB_X9_Y9_N26
B1L14 = reset & B1_ps2_clk_s & B1_m1_state.m1_tx_wait_clk_h & !B1_timer_5usec_done;


--B1L24 is ps2_keyboard_interface:inst|m1_state~197 at LCCOMB_X9_Y7_N26
B1L24 = !B1_ps2_clk_s & reset & !B1_m1_state.m1_rx_clk_h;


--B1_q[10] is ps2_keyboard_interface:inst|q[10] at LCFF_X9_Y9_N1
B1_q[10] = DFFEAS(B1L57, GLOBAL(C1L61),  ,  , B1L46,  ,  ,  ,  );


--B1L37 is ps2_keyboard_interface:inst|q~6028 at LCCOMB_X9_Y9_N30
B1L37 = reset & B1_q[10];


--B1_tx_shifting_done is ps2_keyboard_interface:inst|tx_shifting_done at LCCOMB_X10_Y8_N30
B1_tx_shifting_done = B1_bit_count[0] # B1_bit_count[2] # !B1_bit_count[1] # !B1_bit_count[3];


--B1L34 is ps2_keyboard_interface:inst|m1_state~198 at LCCOMB_X9_Y8_N26
B1L34 = B1_m1_state.m1_tx_clk_h & (B1_ps2_clk_s & B1_m1_state.m1_tx_wait_keyboard_ack # !B1_tx_shifting_done) # !B1_m1_state.m1_tx_clk_h & B1_ps2_clk_s & B1_m1_state.m1_tx_wait_keyboard_ack;


--B1L882 is ps2_keyboard_interface:inst|timer_60usec_count[0]~232 at LCCOMB_X9_Y7_N0
B1L882 = B1L623 & (B1_timer_60usec_count[0] $ VCC) # !B1L623 & B1_timer_60usec_count[0] & VCC;

--B1L982 is ps2_keyboard_interface:inst|timer_60usec_count[0]~233 at LCCOMB_X9_Y7_N0
B1L982 = CARRY(B1L623 & B1_timer_60usec_count[0]);


--B1L192 is ps2_keyboard_interface:inst|timer_60usec_count[1]~234 at LCCOMB_X9_Y7_N2
B1L192 = B1_timer_60usec_count[1] & !B1L982 # !B1_timer_60usec_count[1] & (B1L982 # GND);

--B1L292 is ps2_keyboard_interface:inst|timer_60usec_count[1]~235 at LCCOMB_X9_Y7_N2
B1L292 = CARRY(!B1L982 # !B1_timer_60usec_count[1]);


--B1_m1_state.m1_rx_clk_l is ps2_keyboard_interface:inst|m1_state.m1_rx_clk_l at LCFF_X9_Y8_N17
B1_m1_state.m1_rx_clk_l = DFFEAS(B1L32, GLOBAL(C1L61),  ,  ,  ,  ,  , !reset,  );


--B1L461 is ps2_keyboard_interface:inst|reduce_or~0 at LCCOMB_X9_Y7_N30
B1L461 = !B1_m1_state.m1_rx_clk_l & B1_m1_state.m1_rx_clk_h;


--B1L492 is ps2_keyboard_interface:inst|timer_60usec_count[2]~236 at LCCOMB_X9_Y7_N4
B1L492 = B1_timer_60usec_count[2] & (B1L292 $ GND) # !B1_timer_60usec_count[2] & !B1L292 & VCC;

--B1L592 is ps2_keyboard_interface:inst|timer_60usec_count[2]~237 at LCCOMB_X9_Y7_N4
B1L592 = CARRY(B1_timer_60usec_count[2] & !B1L292);


--B1L792 is ps2_keyboard_interface:inst|timer_60usec_count[3]~238 at LCCOMB_X9_Y7_N6
B1L792 = B1_timer_60usec_count[3] & !B1L592 # !B1_timer_60usec_count[3] & (B1L592 # GND);

--B1L892 is ps2_keyboard_interface:inst|timer_60usec_count[3]~239 at LCCOMB_X9_Y7_N6
B1L892 = CARRY(!B1L592 # !B1_timer_60usec_count[3]);


--B1L003 is ps2_keyboard_interface:inst|timer_60usec_count[4]~240 at LCCOMB_X9_Y7_N8
B1L003 = B1_timer_60usec_count[4] & (B1L892 $ GND) # !B1_timer_60usec_count[4] & !B1L892 & VCC;

--B1L103 is ps2_keyboard_interface:inst|timer_60usec_count[4]~241 at LCCOMB_X9_Y7_N8
B1L103 = CARRY(B1_timer_60usec_count[4] & !B1L892);


--B1L303 is ps2_keyboard_interface:inst|timer_60usec_count[5]~242 at LCCOMB_X9_Y7_N10
B1L303 = B1_timer_60usec_count[5] & !B1L103 # !B1_timer_60usec_count[5] & (B1L103 # GND);

--B1L403 is ps2_keyboard_interface:inst|timer_60usec_count[5]~243 at LCCOMB_X9_Y7_N10
B1L403 = CARRY(!B1L103 # !B1_timer_60usec_count[5]);


--B1L603 is ps2_keyboard_interface:inst|timer_60usec_count[6]~244 at LCCOMB_X9_Y7_N12
B1L603 = B1_timer_60usec_count[6] & (B1L403 $ GND) # !B1_timer_60usec_count[6] & !B1L403 & VCC;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -