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

📄 ps2tolcd.map.eqn

📁 一个用cpld模拟驱动鼠标或者键盘的程序已经测试过
💻 EQN
📖 第 1 页 / 共 4 页
字号:
--operation mode is normal

C1L091 = !C1L49 & !C1L722 # !C1L39;


--C1L191 is ps2_keyboard_interface:inst3|reduce_or~1303
--operation mode is normal

C1L191 = !C1L19 & !C1L18 # !C1L49 # !C1L622;


--C1L291 is ps2_keyboard_interface:inst3|reduce_or~1304
--operation mode is normal

C1L291 = C1L75 & (!C1L19 # !C1L101);


--C1L391 is ps2_keyboard_interface:inst3|reduce_or~1305
--operation mode is normal

C1L391 = C1L981 & C1L091 & C1L191 & C1L291;


--C1L96 is ps2_keyboard_interface:inst3|reduce_nor~69
--operation mode is normal

C1L96 = C1L622 # !C1L77 # !C1L822 # !C1_q[4];


--C1L491 is ps2_keyboard_interface:inst3|reduce_or~1306
--operation mode is normal

C1L491 = C1L58 & !C1L49 & (!C1L77 # !C1L531) # !C1L58 & (!C1L77 # !C1L531);


--C1L591 is ps2_keyboard_interface:inst3|reduce_or~1307
--operation mode is normal

C1L591 = C1L26 & C1L56 & C1L96 & C1L491;


--C1L691 is ps2_keyboard_interface:inst3|reduce_or~1308
--operation mode is normal

C1L691 = C1L581 # C1L881 # !C1L591 # !C1L391;


--C1L791 is ps2_keyboard_interface:inst3|reduce_or~1309
--operation mode is normal

C1L791 = !C1L841 # !C1L851 # !C1L651;


--C1L891 is ps2_keyboard_interface:inst3|reduce_or~1310
--operation mode is normal

C1L891 = C1L37 & (C1L67 # C1_q[6] & C1L701);


--C1L991 is ps2_keyboard_interface:inst3|reduce_or~1311
--operation mode is normal

C1L991 = C1L77 & (C1L98 # C1_q[4] & C1L822);


--C1L002 is ps2_keyboard_interface:inst3|reduce_or~1312
--operation mode is normal

C1L002 = C1L891 # C1L622 & C1L991 # !C1L461;


--C1L07 is ps2_keyboard_interface:inst3|reduce_nor~91
--operation mode is normal

C1L07 = C1L622 # !C1L28 # !C1L822 # !C1_q[4];


--C1L102 is ps2_keyboard_interface:inst3|reduce_or~1313
--operation mode is normal

C1L102 = C1L07 & (C1_q[3] # !C1L08 & !C1L811);


--C1L202 is ps2_keyboard_interface:inst3|reduce_or~1314
--operation mode is normal

C1L202 = C1L622 # !C1L87 & !C1L28 # !C1L98;


--C1L302 is ps2_keyboard_interface:inst3|reduce_or~1315
--operation mode is normal

C1L302 = C1L721 & (!C1L801 # !C1L09) # !C1L721 & !C1L18 & (!C1L801 # !C1L09);


--C1L402 is ps2_keyboard_interface:inst3|reduce_or~1316
--operation mode is normal

C1L402 = C1L202 & C1L302 & (!C1L39 # !C1L77);


--C1L502 is ps2_keyboard_interface:inst3|reduce_or~1317
--operation mode is normal

C1L502 = C1L971 & C1L481 & C1L102 & C1L402;


--C1L602 is ps2_keyboard_interface:inst3|reduce_or~1318
--operation mode is normal

C1L602 = C1L791 # C1L002 # !C1L502 # !C1L591;


--C1L241 is ps2_keyboard_interface:inst3|reduce_or~17
--operation mode is normal

C1L241 = !C1L071 # !C1L99 # !C1L361;


--C1L341 is ps2_keyboard_interface:inst3|reduce_or~18
--operation mode is normal

C1L341 = !C1L17 # !C1L921 # !C1L411 # !C1L751;


--C1L702 is ps2_keyboard_interface:inst3|reduce_or~1319
--operation mode is normal

C1L702 = C1L331 & (C1L49 # C1_q[6] & C1L78);


--C1L802 is ps2_keyboard_interface:inst3|reduce_or~1320
--operation mode is normal

C1L802 = C1L49 & !C1L622 & (C1L19 # C1L18);


--C1L902 is ps2_keyboard_interface:inst3|reduce_or~1321
--operation mode is normal

C1L902 = C1L802 # C1L301 & (C1L49 # C1L722);


--C1L012 is ps2_keyboard_interface:inst3|reduce_or~1322
--operation mode is normal

C1L012 = C1L722 & C1L19 & !C1L622 # !C1L231;


--C1L112 is ps2_keyboard_interface:inst3|reduce_or~1323
--operation mode is normal

C1L112 = C1L702 # C1L902 # C1L012;


--C1L441 is ps2_keyboard_interface:inst3|reduce_or~19
--operation mode is normal

C1L441 = C1L112 # !C1L502 # !C1L391 # !C1L571;


--C1L541 is ps2_keyboard_interface:inst3|reduce_or~20
--operation mode is normal

C1L541 = C1L921 & !C1L931 & !C1L401 # !C1L021;


--B1L1 is div_256:inst1|add~106
--operation mode is normal

B1L1_carry_eqn = B1L3;
B1L1 = B1_count[6] $ (!B1L1_carry_eqn);


--C1_m1_state.m1_tx_rising_edge_marker is ps2_keyboard_interface:inst3|m1_state.m1_tx_rising_edge_marker
--operation mode is normal

C1_m1_state.m1_tx_rising_edge_marker_lut_out = C1_m1_state.m1_tx_wait_clk_h & reset & C1_ps2_clk_s & !C1_timer_5usec_done;
C1_m1_state.m1_tx_rising_edge_marker = DFFEAS(C1_m1_state.m1_tx_rising_edge_marker_lut_out, B1_clk, VCC, , , , , , );


--C1_m1_state.m1_rx_falling_edge_marker is ps2_keyboard_interface:inst3|m1_state.m1_rx_falling_edge_marker
--operation mode is normal

C1_m1_state.m1_rx_falling_edge_marker_lut_out = !C1_ps2_clk_s & !C1_m1_state.m1_rx_clk_h & (reset);
C1_m1_state.m1_rx_falling_edge_marker = DFFEAS(C1_m1_state.m1_rx_falling_edge_marker_lut_out, B1_clk, VCC, , , , , , );


--C1L44 is ps2_keyboard_interface:inst3|q[8]~6020
--operation mode is normal

C1L44 = C1_m1_state.m1_tx_rising_edge_marker # C1_m1_state.m1_rx_falling_edge_marker # !reset;


--C1_hold_released is ps2_keyboard_interface:inst3|hold_released
--operation mode is normal

C1_hold_released_lut_out = !C1L912 & (C1_hold_released # !C1L74 & !C1_rx_shifting_done);
C1_hold_released = DFFEAS(C1_hold_released_lut_out, B1_clk, VCC, , , , , , );


--C1L2 is ps2_keyboard_interface:inst3|always10~33
--operation mode is normal

C1L2 = C1_rx_shifting_done # !C1L19 # !C1L28;


--C1L3 is ps2_keyboard_interface:inst3|always11~33
--operation mode is normal

C1L3 = C1_rx_shifting_done # !C1L88 # !C1L77;


--C1_q[9] is ps2_keyboard_interface:inst3|q[9]
--operation mode is normal

C1_q[9]_lut_out = reset & C1_q[10];
C1_q[9] = DFFEAS(C1_q[9]_lut_out, B1_clk, VCC, , C1L44, , , , );


--C1_m1_state.m1_tx_wait_keyboard_ack is ps2_keyboard_interface:inst3|m1_state.m1_tx_wait_keyboard_ack
--operation mode is normal

C1_m1_state.m1_tx_wait_keyboard_ack_lut_out = C1_m1_state.m1_tx_clk_h & (C1_m1_state.m1_tx_wait_keyboard_ack & C1_ps2_clk_s # !C1_tx_shifting_done) # !C1_m1_state.m1_tx_clk_h & (C1_m1_state.m1_tx_wait_keyboard_ack & C1_ps2_clk_s);
C1_m1_state.m1_tx_wait_keyboard_ack = DFFEAS(C1_m1_state.m1_tx_wait_keyboard_ack_lut_out, B1_clk, VCC, , , , , !reset, );


--C1L7 is ps2_keyboard_interface:inst3|bit_count[0]~183
--operation mode is normal

C1L7 = reset & C1_rx_shifting_done & (!C1_m1_state.m1_tx_wait_keyboard_ack);


--C1_timer_60usec_count[1] is ps2_keyboard_interface:inst3|timer_60usec_count[1]
--operation mode is arithmetic

C1_timer_60usec_count[1]_carry_eqn = C1L152;
C1_timer_60usec_count[1]_lut_out = C1_timer_60usec_count[1] $ (C1_timer_60usec_count[1]_carry_eqn);
C1_timer_60usec_count[1] = DFFEAS(C1_timer_60usec_count[1]_lut_out, B1_clk, VCC, , , , , C1L041, );

--C1L352 is ps2_keyboard_interface:inst3|timer_60usec_count[1]~221
--operation mode is arithmetic

C1L352 = CARRY(!C1L152 # !C1_timer_60usec_count[1]);


--C1_timer_60usec_count[3] is ps2_keyboard_interface:inst3|timer_60usec_count[3]
--operation mode is arithmetic

C1_timer_60usec_count[3]_carry_eqn = C1L552;
C1_timer_60usec_count[3]_lut_out = C1_timer_60usec_count[3] $ (C1_timer_60usec_count[3]_carry_eqn);
C1_timer_60usec_count[3] = DFFEAS(C1_timer_60usec_count[3]_lut_out, B1_clk, VCC, , , , , C1L041, );

--C1L752 is ps2_keyboard_interface:inst3|timer_60usec_count[3]~225
--operation mode is arithmetic

C1L752 = CARRY(!C1L552 # !C1_timer_60usec_count[3]);


--C1_timer_60usec_count[0] is ps2_keyboard_interface:inst3|timer_60usec_count[0]
--operation mode is arithmetic

C1_timer_60usec_count[0]_lut_out = C1L672 $ C1_timer_60usec_count[0];
C1_timer_60usec_count[0] = DFFEAS(C1_timer_60usec_count[0]_lut_out, B1_clk, VCC, , , , , C1L041, );

--C1L152 is ps2_keyboard_interface:inst3|timer_60usec_count[0]~229
--operation mode is arithmetic

C1L152 = CARRY(C1L672 & C1_timer_60usec_count[0]);


--C1_timer_60usec_count[2] is ps2_keyboard_interface:inst3|timer_60usec_count[2]
--operation mode is arithmetic

C1_timer_60usec_count[2]_carry_eqn = C1L352;
C1_timer_60usec_count[2]_lut_out = C1_timer_60usec_count[2] $ (!C1_timer_60usec_count[2]_carry_eqn);
C1_timer_60usec_count[2] = DFFEAS(C1_timer_60usec_count[2]_lut_out, B1_clk, VCC, , , , , C1L041, );

--C1L552 is ps2_keyboard_interface:inst3|timer_60usec_count[2]~233
--operation mode is arithmetic

C1L552 = CARRY(C1_timer_60usec_count[2] & (!C1L352));


--C1L372 is ps2_keyboard_interface:inst3|timer_60usec_done~79
--operation mode is normal

C1L372 = C1_timer_60usec_count[1] # C1_timer_60usec_count[3] # !C1_timer_60usec_count[2] # !C1_timer_60usec_count[0];


--C1_timer_60usec_count[4] is ps2_keyboard_interface:inst3|timer_60usec_count[4]
--operation mode is arithmetic

C1_timer_60usec_count[4]_carry_eqn = C1L752;
C1_timer_60usec_count[4]_lut_out = C1_timer_60usec_count[4] $ (!C1_timer_60usec_count[4]_carry_eqn);
C1_timer_60usec_count[4] = DFFEAS(C1_timer_60usec_count[4]_lut_out, B1_clk, VCC, , , , , C1L041, );

--C1L952 is ps2_keyboard_interface:inst3|timer_60usec_count[4]~237
--operation mode is arithmetic

C1L952 = CARRY(C1_timer_60usec_count[4] & (!C1L752));


--C1_timer_60usec_count[5] is ps2_keyboard_interface:inst3|timer_60usec_count[5]
--operation mode is arithmetic

C1_timer_60usec_count[5]_carry_eqn = C1L952;
C1_timer_60usec_count[5]_lut_out = C1_timer_60usec_count[5] $ (C1_timer_60usec_count[5]_carry_eqn);
C1_timer_60usec_count[5] = DFFEAS(C1_timer_60usec_count[5]_lut_out, B1_clk, VCC, , , , , C1L041, );

--C1L162 is ps2_keyboard_interface:inst3|timer_60usec_count[5]~241
--operation mode is arithmetic

C1L162 = CARRY(!C1L952 # !C1_timer_60usec_count[5]);


--C1_timer_60usec_count[6] is ps2_keyboard_interface:inst3|timer_60usec_count[6]
--operation mode is arithmetic

C1_timer_60usec_count[6]_carry_eqn = C1L162;
C1_timer_60usec_count[6]_lut_out = C1_timer_60usec_count[6] $ (!C1_timer_60usec_count[6]_carry_eqn);
C1_timer_60usec_count[6] = DFFEAS(C1_timer_60usec_count[6]_lut_out, B1_clk, VCC, , , , , C1L041, );

--C1L362 is ps2_keyboard_interface:inst3|timer_60usec_count[6]~245
--operation mode is arithmetic

C1L362 = CARRY(C1_timer_60usec_count[6] & (!C1L162));


--C1_timer_60usec_count[7] is ps2_keyboard_interface:inst3|timer_60usec_count[7]
--operation mode is arithmetic

C1_timer_60usec_count[7]_carry_eqn = C1L362;
C1_timer_60usec_count[7]_lut_out = C1_timer_60usec_count[7] $ (C1_timer_60usec_count[7]_carry_eqn);
C1_timer_60usec_count[7] = DFFEAS(C1_timer_60usec_count[7]_lut_out, B1_clk, VCC, , , , , C1L041, );

--C1L562 is ps2_keyboard_interface:inst3|timer_60usec_count[7]~249
--operation mode is arithmetic

C1L562 = CARRY(!C1L362 # !C1_timer_60usec_count[7]);


--C1L472 is ps2_keyboard_interface:inst3|timer_60usec_done~80
--operation mode is normal

C1L472 = C1_timer_60usec_count[4] # C1_timer_60usec_count[5] # C1_timer_60usec_count[6] # !C1_timer_60usec_count[7];


--C1_timer_60usec_count[10] is ps2_keyboard_interface:inst3|timer_60usec_count[10]
--operation mode is arithmetic

C1_timer_60usec_count[10]_carry_eqn = C1L962;
C1_timer_60usec_count[10]_lut_out = C1_timer_60usec_count[10] $ (!C1_timer_60usec_count[10]_carry_eqn);
C1_timer_60usec_count[10] = DFFEAS(C1_timer_60usec_count[10]_lut_out, B1_clk, VCC, , , , , C1L041, );

--C1L172 is ps2_keyboard_interface:inst3|timer_60usec_count[10]~253
--operation mode is arithmetic

C1L172 = CARRY(C1_timer_60usec_count[10] & (!C1L962));


--C1_timer_60usec_count[8] is ps2_keyboard_interface:inst3|timer_60usec_count[8]
--operation mode is arithmetic

C1_timer_60usec_count[8]_carry_eqn = C1L562;
C1_timer_60usec_count[8]_lut_out = C1_timer_60usec_count[8] $ (!C1_timer_60usec_count[8]_carry_eqn);
C1_timer_60usec_count[8] = DFFEAS(C1_timer_60usec_count[8]_lut_out, B1_clk, VCC, , , , , C1L041, );

--C1L762 is ps2_keyboard_interface:inst3|timer_60usec_count[8]~257
--operation mode is arithmetic

C1L762 = CARRY(C1_timer_60usec_count[8] & (!C1L562));


--C1_timer_60usec_count[9] is ps2_keyboard_interface:inst3|timer_60usec_count[9]
--operation mode is arithmetic

C1_timer_60usec_count[9]_carry_eqn = C1L762;
C1_timer_60usec_count[9]_lut_out = C1_timer_60usec_count[9] $ (C1_timer_60usec_count[9]_carry_eqn);
C1_timer_60usec_count[9] = DFFEAS(C1_timer_60usec_count[9]_lut_out, B1_clk, VCC, , , , , C1L041, );

--C1L962 is ps2_keyboard_interface:inst3|timer_60usec_count[9]~261
--operation mode is arithmetic

C1L962 = CARRY(!C1L762 # !C1_timer_60usec_count[9]);


--C1_timer_60usec_count[11] is ps2_keyboard_interface:inst3|timer_60usec_count[11]
--operation mode is normal

C1_timer_60usec_count[11]_carry_eqn = C1L172;
C1_timer_60usec_count[11]_lut_out = C1_timer_60usec_count[11] $ (C1_timer_60usec_count[11]_carry_eqn);
C1_timer_60usec_count[11] = DFFEAS(C1_timer_60usec_count[11]_lut_out, B1_clk, VCC, , , , , C1L041, );


--C1L572 is ps2_keyboard_interface:inst3|timer_60usec_done~81
--operation mode is normal

C1L572 = C1_timer_60usec_count[10] # !C1_timer_60usec_count[11] # !C1_timer_60usec_count[9] # !C1_timer_60usec_count[8];


--C1L672 is ps2_keyboard_interface:inst3|timer_60usec_done~82
--operation mode is normal

C1L672 = C1L372 # C1L472 # C1L572;


--C1_m1_state.m1_rx_clk_h is ps2_keyboard_interface:inst3|m1_state.m1_rx_clk_h
--operation mode is normal

C1_m1_state.m1_rx_clk_h_lut_out = !C1_m1_state.m1_rx_rising_edge_marker & reset & (!C1L82 # !C1_ps2_clk_s);
C1_m1_state.m1_rx_clk_h = DFFEAS(C1_m1_state.m1_rx_clk_h_lut_out, B1_clk, VCC, , , , , , );


--C1_ps2_clk_s is ps2_keyboard_interface:inst3|ps2_clk_s
--operation mode is normal

C1_ps2_clk_s_lut_out = A1L21;
C1_ps2_clk_s = DFFEAS(C1_ps2_clk_s_lut_out, B1_clk, VCC, , , , , , );


--C1L8 is ps2_keyboard_interface:inst3|bit_count[0]~184
--operation mode is normal

C1L8 = !C1L672 & !C1_m1_state.m1_rx_clk_h & C1_ps2_clk_s # !C1L7;


--C1L1 is ps2_keyboard_interface:inst3|always5~4
--operation mode is normal

C1L1 = C1_m1_state.m1_tx_rising_edge_marker # C1_m1_state.m1_rx_falling_edge_marker;


--C1_q[0] is ps2_keyboard_interface:inst3|q[0]
--operation mode is normal

C1_q[0]_lut_out = C1_q[1] & reset;
C1_q[0] = DFFEAS(C1_q[0]_lut_out, B1_clk, VCC, , C1L44, , , , );


--C1_m1_state.m1_tx_clk_h is ps2_keyboard_interface:inst3|m1_state.m1_tx_clk_h
--operation mode is normal

C1_m1_state.m1_tx_clk_h_lut_out = C1_m1_state.m1_tx_rising_edge_marker # C1_ps2_clk_s & C1_m1_state.m1_tx_clk_h & C1_tx_shifting_done;
C1_m1_state.m1_tx_clk_h = DFFEAS(C1_m1_state.m1_tx_clk_h_lut_out, B1_clk, VCC, , , , , !reset, );


--C1L22 is ps2_keyboard_interface:inst3|m1_state.m1_tx_clk_l~30
--operation mode is normal

C1L22 = !C1_m1_state.m1_tx_clk_h & !C1_m1_state.m1_tx_rising_edge_marker;


--C1_m1_state.m1_tx_wait_clk_h is ps2_keyboard_interface:inst3|m1_state.m1_tx_wait_clk_h
--operation mode is normal

C1_m1_state.m1_tx_wait_clk_h_lut_out = C1_ps2_clk_s & (C1_m1_state.m1_tx_clk_l # C1_m1_state.m1_tx_wait_clk_h & C1_timer_5usec_done) # !C1_ps2_clk_s & (C1_m1_state.m1_tx_wait_clk_h);
C1_m1_state.m1_tx_wait_clk_h = DFFEAS(C1_m1_state.m1_tx_wait_clk_h_lut_out, B1_clk, VCC, , , , , !reset, );


--C1_m1_state.m1_tx_clk_l is ps2_keyboard_interface:inst3|m1_state.m1_tx_clk_l
--operation mode is normal

C1_m1_state.m1_tx_clk_l_lut_out = !C1_ps2_clk_s & (C1_m1_state.m1_tx_clk_l # C1_m1_state.m1_tx_clk_h & C1_tx_shifting_done);
C1_m1_state.m1_tx_clk_l = DFFEAS(C1_m1_state.m1_tx_clk_l_lut_out, B1_clk, VCC, , , , , !reset, );


--C1L03 is ps2_keyboard_interface:inst3|ps2_data_hi_z~29
--operation mode is normal

C1L03 = C1_q[0] # C1L22 & !C1_m1_state.m1_tx_wait_clk_h & !C1_m1_state.m1_tx_clk_l;


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

B1_count[6]_lut_out = B1L1;
B1_count[6] = DFFEAS(B1_count[6]_lut_out, mclk, reset, , , , , , );


⌨️ 快捷键说明

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