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

📄 ps2_keyboard_interface.map.eqn

📁 本实验实现PS/2接口与RS-232接口的数据传输
💻 EQN
📖 第 1 页 / 共 5 页
字号:
--B1_m1_state.m1_tx_rising_edge_marker is ps2_keyboard_interface:inst|m1_state.m1_tx_rising_edge_marker
--operation mode is normal

B1_m1_state.m1_tx_rising_edge_marker_lut_out = B1_m1_state.m1_tx_wait_clk_h & reset & B1_ps2_clk_s & !B1_timer_5usec_done;
B1_m1_state.m1_tx_rising_edge_marker = DFFEAS(B1_m1_state.m1_tx_rising_edge_marker_lut_out, C1_clk, VCC, , , , , , );


--B1_m1_state.m1_rx_falling_edge_marker is ps2_keyboard_interface:inst|m1_state.m1_rx_falling_edge_marker
--operation mode is normal

B1_m1_state.m1_rx_falling_edge_marker_lut_out = !B1_ps2_clk_s & !B1_m1_state.m1_rx_clk_h & (reset);
B1_m1_state.m1_rx_falling_edge_marker = DFFEAS(B1_m1_state.m1_rx_falling_edge_marker_lut_out, C1_clk, VCC, , , , , , );


--B1L64 is ps2_keyboard_interface:inst|q[10]~6020
--operation mode is normal

B1L64 = B1_m1_state.m1_tx_rising_edge_marker # B1_m1_state.m1_rx_falling_edge_marker # !reset;


--B1L2 is ps2_keyboard_interface:inst|always10~33
--operation mode is normal

B1L2 = B1_rx_shifting_done # !B1L19 # !B1L38;


--B1L3 is ps2_keyboard_interface:inst|always11~33
--operation mode is normal

B1L3 = B1_rx_shifting_done # !B1L78 # !B1L87;


--B1_q[9] is ps2_keyboard_interface:inst|q[9]
--operation mode is normal

B1_q[9]_lut_out = reset & B1_q[10];
B1_q[9] = DFFEAS(B1_q[9]_lut_out, C1_clk, VCC, , B1L64, , , , );


--B1_m1_state.m1_tx_wait_keyboard_ack is ps2_keyboard_interface:inst|m1_state.m1_tx_wait_keyboard_ack
--operation mode is normal

B1_m1_state.m1_tx_wait_keyboard_ack_lut_out = B1_m1_state.m1_tx_clk_h & (B1_m1_state.m1_tx_wait_keyboard_ack & B1_ps2_clk_s # !B1_tx_shifting_done) # !B1_m1_state.m1_tx_clk_h & (B1_m1_state.m1_tx_wait_keyboard_ack & B1_ps2_clk_s);
B1_m1_state.m1_tx_wait_keyboard_ack = DFFEAS(B1_m1_state.m1_tx_wait_keyboard_ack_lut_out, C1_clk, VCC, , , , , !reset, );


--B1L21 is ps2_keyboard_interface:inst|bit_count[3]~183
--operation mode is normal

B1L21 = 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]
--operation mode is arithmetic

B1_timer_60usec_count[1]_carry_eqn = B1L452;
B1_timer_60usec_count[1]_lut_out = B1_timer_60usec_count[1] $ (B1_timer_60usec_count[1]_carry_eqn);
B1_timer_60usec_count[1] = DFFEAS(B1_timer_60usec_count[1]_lut_out, C1_clk, VCC, , , , , B1L041, );

--B1L652 is ps2_keyboard_interface:inst|timer_60usec_count[1]~221
--operation mode is arithmetic

B1L652 = CARRY(!B1L452 # !B1_timer_60usec_count[1]);


--B1_timer_60usec_count[3] is ps2_keyboard_interface:inst|timer_60usec_count[3]
--operation mode is arithmetic

B1_timer_60usec_count[3]_carry_eqn = B1L852;
B1_timer_60usec_count[3]_lut_out = B1_timer_60usec_count[3] $ (B1_timer_60usec_count[3]_carry_eqn);
B1_timer_60usec_count[3] = DFFEAS(B1_timer_60usec_count[3]_lut_out, C1_clk, VCC, , , , , B1L041, );

--B1L062 is ps2_keyboard_interface:inst|timer_60usec_count[3]~225
--operation mode is arithmetic

B1L062 = CARRY(!B1L852 # !B1_timer_60usec_count[3]);


--B1_timer_60usec_count[0] is ps2_keyboard_interface:inst|timer_60usec_count[0]
--operation mode is arithmetic

B1_timer_60usec_count[0]_lut_out = B1L972 $ B1_timer_60usec_count[0];
B1_timer_60usec_count[0] = DFFEAS(B1_timer_60usec_count[0]_lut_out, C1_clk, VCC, , , , , B1L041, );

--B1L452 is ps2_keyboard_interface:inst|timer_60usec_count[0]~229
--operation mode is arithmetic

B1L452 = CARRY(B1L972 & B1_timer_60usec_count[0]);


--B1_timer_60usec_count[2] is ps2_keyboard_interface:inst|timer_60usec_count[2]
--operation mode is arithmetic

B1_timer_60usec_count[2]_carry_eqn = B1L652;
B1_timer_60usec_count[2]_lut_out = B1_timer_60usec_count[2] $ (!B1_timer_60usec_count[2]_carry_eqn);
B1_timer_60usec_count[2] = DFFEAS(B1_timer_60usec_count[2]_lut_out, C1_clk, VCC, , , , , B1L041, );

--B1L852 is ps2_keyboard_interface:inst|timer_60usec_count[2]~233
--operation mode is arithmetic

B1L852 = CARRY(B1_timer_60usec_count[2] & (!B1L652));


--B1L672 is ps2_keyboard_interface:inst|timer_60usec_done~79
--operation mode is normal

B1L672 = 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]
--operation mode is arithmetic

B1_timer_60usec_count[4]_carry_eqn = B1L062;
B1_timer_60usec_count[4]_lut_out = B1_timer_60usec_count[4] $ (!B1_timer_60usec_count[4]_carry_eqn);
B1_timer_60usec_count[4] = DFFEAS(B1_timer_60usec_count[4]_lut_out, C1_clk, VCC, , , , , B1L041, );

--B1L262 is ps2_keyboard_interface:inst|timer_60usec_count[4]~237
--operation mode is arithmetic

B1L262 = CARRY(B1_timer_60usec_count[4] & (!B1L062));


--B1_timer_60usec_count[5] is ps2_keyboard_interface:inst|timer_60usec_count[5]
--operation mode is arithmetic

B1_timer_60usec_count[5]_carry_eqn = B1L262;
B1_timer_60usec_count[5]_lut_out = B1_timer_60usec_count[5] $ (B1_timer_60usec_count[5]_carry_eqn);
B1_timer_60usec_count[5] = DFFEAS(B1_timer_60usec_count[5]_lut_out, C1_clk, VCC, , , , , B1L041, );

--B1L462 is ps2_keyboard_interface:inst|timer_60usec_count[5]~241
--operation mode is arithmetic

B1L462 = CARRY(!B1L262 # !B1_timer_60usec_count[5]);


--B1_timer_60usec_count[6] is ps2_keyboard_interface:inst|timer_60usec_count[6]
--operation mode is arithmetic

B1_timer_60usec_count[6]_carry_eqn = B1L462;
B1_timer_60usec_count[6]_lut_out = B1_timer_60usec_count[6] $ (!B1_timer_60usec_count[6]_carry_eqn);
B1_timer_60usec_count[6] = DFFEAS(B1_timer_60usec_count[6]_lut_out, C1_clk, VCC, , , , , B1L041, );

--B1L662 is ps2_keyboard_interface:inst|timer_60usec_count[6]~245
--operation mode is arithmetic

B1L662 = CARRY(B1_timer_60usec_count[6] & (!B1L462));


--B1_timer_60usec_count[7] is ps2_keyboard_interface:inst|timer_60usec_count[7]
--operation mode is arithmetic

B1_timer_60usec_count[7]_carry_eqn = B1L662;
B1_timer_60usec_count[7]_lut_out = B1_timer_60usec_count[7] $ (B1_timer_60usec_count[7]_carry_eqn);
B1_timer_60usec_count[7] = DFFEAS(B1_timer_60usec_count[7]_lut_out, C1_clk, VCC, , , , , B1L041, );

--B1L862 is ps2_keyboard_interface:inst|timer_60usec_count[7]~249
--operation mode is arithmetic

B1L862 = CARRY(!B1L662 # !B1_timer_60usec_count[7]);


--B1L772 is ps2_keyboard_interface:inst|timer_60usec_done~80
--operation mode is normal

B1L772 = 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]
--operation mode is arithmetic

B1_timer_60usec_count[10]_carry_eqn = B1L272;
B1_timer_60usec_count[10]_lut_out = B1_timer_60usec_count[10] $ (!B1_timer_60usec_count[10]_carry_eqn);
B1_timer_60usec_count[10] = DFFEAS(B1_timer_60usec_count[10]_lut_out, C1_clk, VCC, , , , , B1L041, );

--B1L472 is ps2_keyboard_interface:inst|timer_60usec_count[10]~253
--operation mode is arithmetic

B1L472 = CARRY(B1_timer_60usec_count[10] & (!B1L272));


--B1_timer_60usec_count[8] is ps2_keyboard_interface:inst|timer_60usec_count[8]
--operation mode is arithmetic

B1_timer_60usec_count[8]_carry_eqn = B1L862;
B1_timer_60usec_count[8]_lut_out = B1_timer_60usec_count[8] $ (!B1_timer_60usec_count[8]_carry_eqn);
B1_timer_60usec_count[8] = DFFEAS(B1_timer_60usec_count[8]_lut_out, C1_clk, VCC, , , , , B1L041, );

--B1L072 is ps2_keyboard_interface:inst|timer_60usec_count[8]~257
--operation mode is arithmetic

B1L072 = CARRY(B1_timer_60usec_count[8] & (!B1L862));


--B1_timer_60usec_count[9] is ps2_keyboard_interface:inst|timer_60usec_count[9]
--operation mode is arithmetic

B1_timer_60usec_count[9]_carry_eqn = B1L072;
B1_timer_60usec_count[9]_lut_out = B1_timer_60usec_count[9] $ (B1_timer_60usec_count[9]_carry_eqn);
B1_timer_60usec_count[9] = DFFEAS(B1_timer_60usec_count[9]_lut_out, C1_clk, VCC, , , , , B1L041, );

--B1L272 is ps2_keyboard_interface:inst|timer_60usec_count[9]~261
--operation mode is arithmetic

B1L272 = CARRY(!B1L072 # !B1_timer_60usec_count[9]);


--B1_timer_60usec_count[11] is ps2_keyboard_interface:inst|timer_60usec_count[11]
--operation mode is normal

B1_timer_60usec_count[11]_carry_eqn = B1L472;
B1_timer_60usec_count[11]_lut_out = B1_timer_60usec_count[11] $ (B1_timer_60usec_count[11]_carry_eqn);
B1_timer_60usec_count[11] = DFFEAS(B1_timer_60usec_count[11]_lut_out, C1_clk, VCC, , , , , B1L041, );


--B1L872 is ps2_keyboard_interface:inst|timer_60usec_done~81
--operation mode is normal

B1L872 = B1_timer_60usec_count[10] # !B1_timer_60usec_count[11] # !B1_timer_60usec_count[9] # !B1_timer_60usec_count[8];


--B1L972 is ps2_keyboard_interface:inst|timer_60usec_done~82
--operation mode is normal

B1L972 = B1L672 # B1L772 # B1L872;


--B1_m1_state.m1_rx_clk_h is ps2_keyboard_interface:inst|m1_state.m1_rx_clk_h
--operation mode is normal

B1_m1_state.m1_rx_clk_h_lut_out = !B1_m1_state.m1_rx_rising_edge_marker & reset & (!B1L82 # !B1_ps2_clk_s);
B1_m1_state.m1_rx_clk_h = DFFEAS(B1_m1_state.m1_rx_clk_h_lut_out, C1_clk, VCC, , , , , , );


--B1_ps2_clk_s is ps2_keyboard_interface:inst|ps2_clk_s
--operation mode is normal

B1_ps2_clk_s_lut_out = A1L3;
B1_ps2_clk_s = DFFEAS(B1_ps2_clk_s_lut_out, C1_clk, VCC, , , , , , );


--B1L31 is ps2_keyboard_interface:inst|bit_count[3]~184
--operation mode is normal

B1L31 = !B1L972 & !B1_m1_state.m1_rx_clk_h & B1_ps2_clk_s # !B1L21;


--B1L1 is ps2_keyboard_interface:inst|always5~4
--operation mode is normal

B1L1 = B1_m1_state.m1_tx_rising_edge_marker # B1_m1_state.m1_rx_falling_edge_marker;


--B1_q[0] is ps2_keyboard_interface:inst|q[0]
--operation mode is normal

B1_q[0]_lut_out = B1_q[1] & reset;
B1_q[0] = DFFEAS(B1_q[0]_lut_out, C1_clk, VCC, , B1L64, , , , );


--B1_m1_state.m1_tx_clk_h is ps2_keyboard_interface:inst|m1_state.m1_tx_clk_h
--operation mode is normal

B1_m1_state.m1_tx_clk_h_lut_out = B1_m1_state.m1_tx_rising_edge_marker # B1_ps2_clk_s & B1_m1_state.m1_tx_clk_h & B1_tx_shifting_done;
B1_m1_state.m1_tx_clk_h = DFFEAS(B1_m1_state.m1_tx_clk_h_lut_out, C1_clk, VCC, , , , , !reset, );


--B1_m1_state.m1_tx_clk_l~30 is ps2_keyboard_interface:inst|m1_state.m1_tx_clk_l~30
--operation mode is normal

B1_m1_state.m1_tx_clk_l~30 = !B1_m1_state.m1_tx_clk_h & !B1_m1_state.m1_tx_rising_edge_marker;


--B1_m1_state.m1_tx_wait_clk_h is ps2_keyboard_interface:inst|m1_state.m1_tx_wait_clk_h
--operation mode is normal

B1_m1_state.m1_tx_wait_clk_h_lut_out = 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);
B1_m1_state.m1_tx_wait_clk_h = DFFEAS(B1_m1_state.m1_tx_wait_clk_h_lut_out, C1_clk, VCC, , , , , !reset, );


--B1_m1_state.m1_tx_clk_l is ps2_keyboard_interface:inst|m1_state.m1_tx_clk_l
--operation mode is normal

B1_m1_state.m1_tx_clk_l_lut_out = !B1_ps2_clk_s & (B1_m1_state.m1_tx_clk_l # B1_m1_state.m1_tx_clk_h & B1_tx_shifting_done);
B1_m1_state.m1_tx_clk_l = DFFEAS(B1_m1_state.m1_tx_clk_l_lut_out, C1_clk, VCC, , , , , !reset, );


--B1L03 is ps2_keyboard_interface:inst|ps2_data_hi_z~29
--operation mode is normal

B1L03 = B1_q[0] # B1_m1_state.m1_tx_clk_l~30 & !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
--operation mode is normal

J1_wrn1_lut_out = E1_wrn;
J1_wrn1 = DFFEAS(J1_wrn1_lut_out, D1_acc[12], B1_rx_released, , , , , , );


--J1_wrn2 is uart_if:inst3|uart:U1|txmit:u2|wrn2
--operation mode is normal

J1_wrn2_lut_out = J1_wrn1;
J1_wrn2 = DFFEAS(J1_wrn2_lut_out, D1_acc[12], B1_rx_released, , , , , , );


--J1L2 is uart_if:inst3|uart:U1|txmit:u2|always1~13
--operation mode is normal

J1L2 = J1_wrn1 & (!J1_wrn2);


--J1L63 is uart_if:inst3|uart:U1|txmit:u2|tbre~72
--operation mode is normal

J1L63 = 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]
--operation mode is normal

J1_tsr[2]_lut_out = J1L02 & J1_tsr[3] # !J1L02 & (J1_tbr[2]);
J1_tsr[2] = DFFEAS(J1_tsr[2]_lut_out, !J1_clkdiv[3], B1_rx_released, , J1L44, , , , );


--J1_tbr[1] is uart_if:inst3|uart:U1|txmit:u2|tbr[1]
--operation mode is normal

J1_tbr[1]_lut_out = E1_din[1];
J1_tbr[1] = DFFEAS(J1_tbr[1]_lut_out, E1_wrn, B1_rx_released, , , , , , );


--E1_din[0] is uart_if:inst3|din[0]
--operation mode is normal

E1_din[0]_lut_out = F1L2Q;
E1_din[0] = DFFEAS(E1_din[0]_lut_out, E1_cnt[3], B1_rx_released, , E1L64, , , , );


--E1_wrn is uart_if:inst3|wrn
--operation mode is normal

E1_wrn_lut_out = E1L64;
E1_wrn = DFFEAS(E1_wrn_lut_out, E1_cnt[3], B1_rx_released, , , , , , );


--D1_acc[11] is div_4:inst2|acc[11]
--operation mode is arithmetic

D1_acc[11]_carry_eqn = D1L32;
D1_acc[11]_lut_out = D1_acc[11] $ (D1_acc[11]_carry_eqn);
D1_acc[11] = DFFEAS(D1_acc[11]_lut_out, mclk, VCC, , , , , , );

--D1L52 is div_4:inst2|acc[11]~96
--operation mode is arithmetic

D1L52 = CARRY(!D1L32 # !D1_acc[11]);


--J1L9 is uart_if:inst3|uart:U1|txmit:u2|clkdiv[2]~41
--operation mode is normal

J1L9 = J1_clk1x_enable & J1_clkdiv[1] & J1_clkdiv[0];


--J1L7 is uart_if:inst3|uart:U1|txmit:u2|clkdiv[1]~42
--operation mode is normal

J1L7 = J1_clk1x_enable & J1_clkdiv[0];


--B1L74 is ps2_keyboard_interface:inst|reduce_nor~1
--operation mode is normal

B1L74 = !B1L63 # !B1_q[5];


--C1_count[6] is div_256:inst1|count[6]
--operation mode is normal

C1_count[6]_lut_out = C1L1;
C1_count[6] = DFFEAS(C1_count[6]_lut_out, mclk, reset, , , , , , );


--C1L2 is div_256:inst1|add~111
--operation mode is arithmetic

C1L2_carry_eqn = C1L5;
C1L2 = C1_count[5] $ (C1L2_carry_eqn);

--C1L3 is div_256:inst1|add~113
--operation mode is arithmetic

C1L3 = CARRY(!C1L5 # !C1_count[5]);


--B1_timer_5usec_count[2] is ps2_keyboard_interface:inst|timer_5usec_count[2]
--operation mode is arithmetic

B1_timer_5usec_count[2]_carry_eqn = B1L732;
B1_timer_5usec_count[2]_lut_out = B1_timer_5usec_count[2] $ (!B1_timer_5usec_count[2]_carry_eqn);
B1_timer_5usec_count[2] = DFFEAS(B1_timer_5usec_count[2]_lut_out, C1_clk, VCC, , , , , !B1_m1_state.m1_tx_wait_clk_h, );

--B1L932 is ps2_keyboard_interface:inst|timer_5usec_count[2]~149
--operation mode is arithmetic

B1L932 = CARRY(B1_timer_5usec_count[2] & (!B1L732));


--B1_timer_5usec_count[1] is ps2_keyboard_interface:inst|timer_5usec_count[1]
--operation mode is arithmetic

B1_timer_5usec_count[1]_carry_eqn = B1L532;
B1_timer_5usec_count[1]_lut_out = B1_timer_5usec_count[1] $ (B1_timer_5usec_count[1]_carry_eqn);
B1_timer_5usec_count[1] = DFFEAS(B1_timer_5usec_count[1]_lut_out, C1_clk, VCC, , , , , !B1_m1_state.m1_tx_wait_clk_h, );

--B1L732 is ps2_keyboard_interface:inst|timer_5usec_count[1]~153
--operation mode is arithmetic

B1L732 = CARRY(!B1L532 # !B1_timer_5usec_count[1]);


--B1_timer_5usec_count[0] is ps2_keyboard_interface:inst|timer_5usec_count[0]
--operation mode is arithmetic

B1_timer_5usec_count[0]_lut_out = B1_timer_5usec_done $ B1_timer_5usec_count[0];
B1_timer_5usec_count[0] = DFFEAS(B1_timer_5usec_count[0]_lut_out, C1_clk, VCC, , , , , !B1_m1_state.m1_tx_wait_clk_h, );

--B1L532 is ps2_keyboard_interface:inst|timer_5usec_count[0]~157
--operation mode is arithmetic

B1L532 = CARRY(B1_timer_5usec_done & B1_timer_5usec_count[0]);


--B1L052 is ps2_keyboard_interface:inst|timer_5usec_done~40
--operation mode is normal

B1L052 = B1_timer_5usec_count[1] # !B1_timer_5usec_count[0];


--B1_timer_5usec_count[6] is ps2_keyboard_interface:inst|timer_5usec_count[6]
--operation mode is arithmetic

B1_timer_5usec_count[6]_carry_eqn = B1L542;
B1_timer_5usec_count[6]_lut_out = B1_timer_5usec_count[6] $ (!B1_timer_5usec_count[6]_carry_eqn);
B1_timer_5usec_count[6] = DFFEAS(B1_timer_5usec_count[6]_lut_out, C1_clk, VCC, , , , , !B1_m1_state.m1_tx_wait_clk_h, );

--B1L742 is ps2_keyboard_interface:inst|timer_5usec_count[6]~161
--operation mode is arithmetic

⌨️ 快捷键说明

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