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

📄 ps2_keyboard_interface.map.eqn

📁 实现PS/2接口与RS-232接口的数据传输
💻 EQN
📖 第 1 页 / 共 5 页
字号:
C1_count[6] = DFFEAS(C1L31, mclk, !reset,  ,  ,  ,  ,  ,  );


--C1_count[5] is div_256:inst1|count[5]
C1_count[5] = DFFEAS(C1L11, mclk, !reset,  ,  ,  ,  ,  ,  );


--C1_count[4] is div_256:inst1|count[4]
C1_count[4] = DFFEAS(C1L9, mclk, !reset,  ,  ,  ,  ,  ,  );


--C1_count[3] is div_256:inst1|count[3]
C1_count[3] = DFFEAS(C1L7, mclk, !reset,  ,  ,  ,  ,  ,  );


--C1_count[2] is div_256:inst1|count[2]
C1_count[2] = DFFEAS(C1L5, mclk, !reset,  ,  ,  ,  ,  ,  );


--C1_count[1] is div_256:inst1|count[1]
C1_count[1] = DFFEAS(C1L3, mclk, !reset,  ,  ,  ,  ,  ,  );


--C1_count[0] is div_256:inst1|count[0]
C1_count[0] = DFFEAS(C1L1, mclk, !reset,  ,  ,  ,  ,  ,  );


--C1L1 is div_256:inst1|add~106
C1L1 = C1_count[0] $ VCC;

--C1L2 is div_256:inst1|add~107
C1L2 = CARRY(C1_count[0]);


--C1L3 is div_256:inst1|add~108
C1L3 = C1_count[1] & !C1L2 # !C1_count[1] & (C1L2 # GND);

--C1L4 is div_256:inst1|add~109
C1L4 = CARRY(!C1L2 # !C1_count[1]);


--C1L5 is div_256:inst1|add~110
C1L5 = C1_count[2] & (C1L4 $ GND) # !C1_count[2] & !C1L4 & VCC;

--C1L6 is div_256:inst1|add~111
C1L6 = CARRY(C1_count[2] & !C1L4);


--C1L7 is div_256:inst1|add~112
C1L7 = C1_count[3] & !C1L6 # !C1_count[3] & (C1L6 # GND);

--C1L8 is div_256:inst1|add~113
C1L8 = CARRY(!C1L6 # !C1_count[3]);


--C1L9 is div_256:inst1|add~114
C1L9 = C1_count[4] & (C1L8 $ GND) # !C1_count[4] & !C1L8 & VCC;

--C1L01 is div_256:inst1|add~115
C1L01 = CARRY(C1_count[4] & !C1L8);


--C1L11 is div_256:inst1|add~116
C1L11 = C1_count[5] & !C1L01 # !C1_count[5] & (C1L01 # GND);

--C1L21 is div_256:inst1|add~117
C1L21 = CARRY(!C1L01 # !C1_count[5]);


--C1L31 is div_256:inst1|add~118
C1L31 = C1_count[6] $ !C1L21;


--B1L56 is ps2_keyboard_interface:inst|q~6019
B1L56 = B1_q[7] & reset;


--B1_m1_state.m1_tx_rising_edge_marker is ps2_keyboard_interface:inst|m1_state.m1_tx_rising_edge_marker
B1_m1_state.m1_tx_rising_edge_marker = DFFEAS(B1L14, C1_clk,  ,  ,  ,  ,  ,  ,  );


--B1_m1_state.m1_rx_falling_edge_marker is ps2_keyboard_interface:inst|m1_state.m1_rx_falling_edge_marker
B1_m1_state.m1_rx_falling_edge_marker = DFFEAS(B1L24, C1_clk,  ,  ,  ,  ,  ,  ,  );


--B1L46 is ps2_keyboard_interface:inst|q[10]~6020
B1L46 = B1_m1_state.m1_tx_rising_edge_marker # B1_m1_state.m1_rx_falling_edge_marker # !reset;


--B1L66 is ps2_keyboard_interface:inst|q~6021
B1L66 = B1_q[4] & reset;


--B1L76 is ps2_keyboard_interface:inst|q~6022
B1L76 = B1_q[3] & reset;


--B1L86 is ps2_keyboard_interface:inst|q~6023
B1L86 = B1_q[5] & reset;


--B1L2 is ps2_keyboard_interface:inst|always10~33
B1L2 = B1_rx_shifting_done # !B1L711;


--B1L22 is ps2_keyboard_interface:inst|left_shift_key~148
B1L22 = B1L2 & B1_left_shift_key # !B1L2 & (B1L901 & (!B1_hold_released) # !B1L901 & B1_left_shift_key);


--B1L3 is ps2_keyboard_interface:inst|always11~33
B1L3 = B1_rx_shifting_done # !B1L801;


--B1L142 is ps2_keyboard_interface:inst|right_shift_key~148
B1L142 = B1L3 & B1_right_shift_key # !B1L3 & (B1L89 & (!B1_hold_released) # !B1L89 & B1_right_shift_key);


--B1L96 is ps2_keyboard_interface:inst|q~6024
B1L96 = B1_q[2] & reset;


--B1L07 is ps2_keyboard_interface:inst|q~6025
B1L07 = B1_q[6] & reset;


--B1_q[9] is ps2_keyboard_interface:inst|q[9]
B1_q[9] = DFFEAS(B1L37, C1_clk,  ,  , B1L46,  ,  ,  ,  );


--B1L17 is ps2_keyboard_interface:inst|q~6026
B1L17 = reset & B1_q[9];


--B1L27 is ps2_keyboard_interface:inst|q~6027
B1L27 = B1_q[8] & reset;


--B1L1 is ps2_keyboard_interface:inst|always5~4
B1L1 = B1_m1_state.m1_tx_rising_edge_marker # B1_m1_state.m1_rx_falling_edge_marker;


--B1L6 is ps2_keyboard_interface:inst|bit_count[0]~171
B1L6 = B1_bit_count[0] & (B1L1 $ VCC) # !B1_bit_count[0] & B1L1 & VCC;

--B1L7 is ps2_keyboard_interface:inst|bit_count[0]~172
B1L7 = CARRY(B1_bit_count[0] & B1L1);


--B1L9 is ps2_keyboard_interface:inst|bit_count[1]~173
B1L9 = B1_bit_count[1] & !B1L7 # !B1_bit_count[1] & (B1L7 # GND);

--B1L01 is ps2_keyboard_interface:inst|bit_count[1]~174
B1L01 = CARRY(!B1L7 # !B1_bit_count[1]);


--B1L21 is ps2_keyboard_interface:inst|bit_count[2]~175
B1L21 = B1_bit_count[2] & (B1L01 $ GND) # !B1_bit_count[2] & !B1L01 & VCC;

--B1L31 is ps2_keyboard_interface:inst|bit_count[2]~176
B1L31 = CARRY(B1_bit_count[2] & !B1L01);


--B1_m1_state.m1_tx_wait_keyboard_ack is ps2_keyboard_interface:inst|m1_state.m1_tx_wait_keyboard_ack
B1_m1_state.m1_tx_wait_keyboard_ack = DFFEAS(B1L34, C1_clk,  ,  ,  ,  ,  , !reset,  );


--B1L51 is ps2_keyboard_interface:inst|bit_count[3]~177
B1L51 = reset & B1_rx_shifting_done & !B1_m1_state.m1_tx_wait_keyboard_ack;


--B1_timer_60usec_count[1] is ps2_keyboard_interface:inst|timer_60usec_count[1]
B1_timer_60usec_count[1] = DFFEAS(B1L092, C1_clk,  ,  ,  ,  ,  , B1L461,  );


--B1_timer_60usec_count[3] is ps2_keyboard_interface:inst|timer_60usec_count[3]
B1_timer_60usec_count[3] = DFFEAS(B1L692, C1_clk,  ,  ,  ,  ,  , B1L461,  );


--B1_timer_60usec_count[0] is ps2_keyboard_interface:inst|timer_60usec_count[0]
B1_timer_60usec_count[0] = DFFEAS(B1L782, C1_clk,  ,  ,  ,  ,  , B1L461,  );


--B1_timer_60usec_count[2] is ps2_keyboard_interface:inst|timer_60usec_count[2]
B1_timer_60usec_count[2] = DFFEAS(B1L392, C1_clk,  ,  ,  ,  ,  , B1L461,  );


--B1L223 is ps2_keyboard_interface:inst|timer_60usec_done~79
B1L223 = B1_timer_60usec_count[1] # B1_timer_60usec_count[3] # !B1_timer_60usec_count[2] # !B1_timer_60usec_count[0];


--B1_timer_60usec_count[4] is ps2_keyboard_interface:inst|timer_60usec_count[4]
B1_timer_60usec_count[4] = DFFEAS(B1L992, C1_clk,  ,  ,  ,  ,  , B1L461,  );


--B1_timer_60usec_count[5] is ps2_keyboard_interface:inst|timer_60usec_count[5]
B1_timer_60usec_count[5] = DFFEAS(B1L203, C1_clk,  ,  ,  ,  ,  , B1L461,  );


--B1_timer_60usec_count[6] is ps2_keyboard_interface:inst|timer_60usec_count[6]
B1_timer_60usec_count[6] = DFFEAS(B1L503, C1_clk,  ,  ,  ,  ,  , B1L461,  );


--B1_timer_60usec_count[7] is ps2_keyboard_interface:inst|timer_60usec_count[7]
B1_timer_60usec_count[7] = DFFEAS(B1L803, C1_clk,  ,  ,  ,  ,  , B1L461,  );


--B1L323 is ps2_keyboard_interface:inst|timer_60usec_done~80
B1L323 = B1_timer_60usec_count[4] # B1_timer_60usec_count[5] # B1_timer_60usec_count[6] # !B1_timer_60usec_count[7];


--B1_timer_60usec_count[10] is ps2_keyboard_interface:inst|timer_60usec_count[10]
B1_timer_60usec_count[10] = DFFEAS(B1L713, C1_clk,  ,  ,  ,  ,  , B1L461,  );


--B1_timer_60usec_count[8] is ps2_keyboard_interface:inst|timer_60usec_count[8]
B1_timer_60usec_count[8] = DFFEAS(B1L113, C1_clk,  ,  ,  ,  ,  , B1L461,  );


--B1_timer_60usec_count[9] is ps2_keyboard_interface:inst|timer_60usec_count[9]
B1_timer_60usec_count[9] = DFFEAS(B1L413, C1_clk,  ,  ,  ,  ,  , B1L461,  );


--B1_timer_60usec_count[11] is ps2_keyboard_interface:inst|timer_60usec_count[11]
B1_timer_60usec_count[11] = DFFEAS(B1L023, C1_clk,  ,  ,  ,  ,  , B1L461,  );


--B1L423 is ps2_keyboard_interface:inst|timer_60usec_done~81
B1L423 = B1_timer_60usec_count[10] # !B1_timer_60usec_count[11] # !B1_timer_60usec_count[9] # !B1_timer_60usec_count[8];


--B1L523 is ps2_keyboard_interface:inst|timer_60usec_done~82
B1L523 = B1L223 # B1L323 # B1L423;


--B1_m1_state.m1_rx_clk_h is ps2_keyboard_interface:inst|m1_state.m1_rx_clk_h
B1_m1_state.m1_rx_clk_h = DFFEAS(B1L54, C1_clk,  ,  ,  ,  ,  ,  ,  );


--B1_ps2_clk_s is ps2_keyboard_interface:inst|ps2_clk_s
B1_ps2_clk_s = DFFEAS(A1L3, C1_clk,  ,  ,  ,  ,  ,  ,  );


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


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


--B1_q[0] is ps2_keyboard_interface:inst|q[0]
B1_q[0] = DFFEAS(B1L47, C1_clk,  ,  , B1L46,  ,  ,  ,  );


--B1_m1_state.m1_tx_clk_h is ps2_keyboard_interface:inst|m1_state.m1_tx_clk_h
B1_m1_state.m1_tx_clk_h = DFFEAS(B1L42, C1_clk,  ,  ,  ,  ,  , !reset,  );


--B1L53 is ps2_keyboard_interface:inst|m1_state.m1_tx_clk_l~33
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
B1_m1_state.m1_tx_wait_clk_h = DFFEAS(B1L82, C1_clk,  ,  ,  ,  ,  , !reset,  );


--B1_m1_state.m1_tx_clk_l is ps2_keyboard_interface:inst|m1_state.m1_tx_clk_l
B1_m1_state.m1_tx_clk_l = DFFEAS(B1L52, C1_clk,  ,  ,  ,  ,  , !reset,  );


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


--J1_wrn1 is uart_if:inst3|uart:U1|txmit:u2|wrn1
J1_wrn1 = DFFEAS(E1_wrn, D1_acc[12], !B1_rx_released,  ,  ,  ,  ,  ,  );


--J1_wrn2 is uart_if:inst3|uart:U1|txmit:u2|wrn2
J1_wrn2 = DFFEAS(J1_wrn1, D1_acc[12], !B1_rx_released,  ,  ,  ,  ,  ,  );


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


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


--J1_tsr[2] is uart_if:inst3|uart:U1|txmit:u2|tsr[2]
J1_tsr[2] = DFFEAS(J1L36, !J1_clkdiv[3], !B1_rx_released,  , J1L65,  ,  ,  ,  );


--J1_tbr[1] is uart_if:inst3|uart:U1|txmit:u2|tbr[1]
J1_tbr[1] = DFFEAS(E1_din[1], E1_wrn, !B1_rx_released,  ,  ,  ,  ,  ,  );


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


--E1_din[0] is uart_if:inst3|din[0]
E1_din[0] = DFFEAS(F1L4, E1_cnt[3], !B1_rx_released,  , E1L76,  ,  ,  ,  );


--E1_wrn is uart_if:inst3|wrn
E1_wrn = DFFEAS(E1L76, E1_cnt[3], !B1_rx_released,  ,  ,  ,  ,  ,  );


--D1_acc[11] is div_4:inst2|acc[11]
D1_acc[11] = DFFEAS(D1L63, mclk,  ,  ,  ,  ,  ,  ,  );


--D1_acc[10] is div_4:inst2|acc[10]
D1_acc[10] = DFFEAS(D1L33, mclk,  ,  ,  ,  ,  ,  ,  );


--D1_acc[9] is div_4:inst2|acc[9]
D1_acc[9] = DFFEAS(D1L03, mclk,  ,  ,  ,  ,  ,  ,  );


--D1_acc[8] is div_4:inst2|acc[8]
D1_acc[8] = DFFEAS(D1L72, mclk,  ,  ,  ,  ,  ,  ,  );


--D1_acc[7] is div_4:inst2|acc[7]
D1_acc[7] = DFFEAS(D1L42, mclk,  ,  ,  ,  ,  ,  ,  );


--D1_acc[6] is div_4:inst2|acc[6]
D1_acc[6] = DFFEAS(D1L12, mclk,  ,  ,  ,  ,  ,  ,  );


--D1_acc[5] is div_4:inst2|acc[5]
D1_acc[5] = DFFEAS(D1L81, mclk,  ,  ,  ,  ,  ,  ,  );


--D1_acc[4] is div_4:inst2|acc[4]
D1_acc[4] = DFFEAS(D1L51, mclk,  ,  ,  ,  ,  ,  ,  );


--D1_acc[3] is div_4:inst2|acc[3]
D1_acc[3] = DFFEAS(D1L21, mclk,  ,  ,  ,  ,  ,  ,  );


--D1_acc[2] is div_4:inst2|acc[2]
D1_acc[2] = DFFEAS(D1L9, mclk,  ,  ,  ,  ,  ,  ,  );


--D1_acc[1] is div_4:inst2|acc[1]
D1_acc[1] = DFFEAS(D1L6, mclk,  ,  ,  ,  ,  ,  ,  );


--D1_acc[0] is div_4:inst2|acc[0]
D1_acc[0] = DFFEAS(D1L3, mclk,  ,  ,  ,  ,  ,  ,  );


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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

⌨️ 快捷键说明

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