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

📄 ps2.map.eqn

📁 通过VERILOG HDL语言使用CPLD连接PS2键盘.
💻 EQN
字号:
-- Copyright (C) 1991-2005 Altera Corporation
-- Your use of Altera Corporation's design tools, logic functions 
-- and other software and tools, and its AMPP partner logic 
-- functions, and any output files any of the foregoing 
-- (including device programming or simulation files), and any 
-- associated documentation or information are expressly subject 
-- to the terms and conditions of the Altera Program License 
-- Subscription Agreement, Altera MegaCore Function License 
-- Agreement, or other applicable license agreement, including, 
-- without limitation, that your use is for the sole purpose of 
-- programming logic devices manufactured by Altera and sold by 
-- Altera or its authorized distributors.  Please refer to the 
-- applicable agreement for further details.
--counter[0] is counter[0]
counter[0]_reg_input = VCC;
counter[0] = TFFE(counter[0]_reg_input, !GLOBAL(sys_clock), , , reset);


--counter[1] is counter[1]
counter[1]_p1_out = counter[3] & !counter[2] & !counter[1];
counter[1]_or_out = counter[1]_p1_out # !counter[0];
counter[1]_reg_input = !counter[1]_or_out;
counter[1] = TFFE(counter[1]_reg_input, !GLOBAL(sys_clock), , , reset);


--counter[2] is counter[2]
counter[2]_p1_out = counter[0] & counter[1];
counter[2]_or_out = counter[2]_p1_out;
counter[2]_reg_input = counter[2]_or_out;
counter[2] = TFFE(counter[2]_reg_input, !GLOBAL(sys_clock), , , reset);


--counter[3] is counter[3]
counter[3]_p1_out = counter[2] & counter[0] & counter[1];
counter[3]_p2_out = !counter[2] & counter[0] & !counter[1] & counter[3];
counter[3]_or_out = counter[3]_p1_out # counter[3]_p2_out;
counter[3]_reg_input = counter[3]_or_out;
counter[3] = TFFE(counter[3]_reg_input, !GLOBAL(sys_clock), , , reset);


--filter[9] is filter[9]
filter[9]_or_out = !key_clock;
filter[9]_reg_input = filter[9]_or_out;
filter[9]_p3_out = counter[0] & counter[3] & !counter[1] & !counter[2];
filter[9] = DFFE(filter[9]_reg_input, !GLOBAL(sys_clock), reset, , filter[9]_p3_out);


--filter[8] is filter[8]
filter[8]_or_out = !key_clock;
filter[8]_reg_input = filter[8]_or_out;
filter[8]_p3_out = !counter[0] & counter[3] & !counter[1] & !counter[2];
filter[8] = DFFE(filter[8]_reg_input, !GLOBAL(sys_clock), reset, , filter[8]_p3_out);


--filter[5] is filter[5]
filter[5]_or_out = !key_clock;
filter[5]_reg_input = filter[5]_or_out;
filter[5]_p3_out = counter[0] & !counter[3] & !counter[1] & counter[2];
filter[5] = DFFE(filter[5]_reg_input, !GLOBAL(sys_clock), reset, , filter[5]_p3_out);


--filter[4] is filter[4]
filter[4]_or_out = !key_clock;
filter[4]_reg_input = filter[4]_or_out;
filter[4]_p3_out = !counter[0] & !counter[3] & !counter[1] & counter[2];
filter[4] = DFFE(filter[4]_reg_input, !GLOBAL(sys_clock), reset, , filter[4]_p3_out);


--filter[1] is filter[1]
filter[1]_or_out = !key_clock;
filter[1]_reg_input = filter[1]_or_out;
filter[1]_p3_out = !counter[1] & !counter[2] & counter[0] & !counter[3];
filter[1] = DFFE(filter[1]_reg_input, !GLOBAL(sys_clock), reset, , filter[1]_p3_out);


--filter[0] is filter[0]
filter[0]_or_out = !key_clock;
filter[0]_reg_input = filter[0]_or_out;
filter[0]_p3_out = !counter[1] & !counter[2] & !counter[0] & !counter[3];
filter[0] = DFFE(filter[0]_reg_input, !GLOBAL(sys_clock), reset, , filter[0]_p3_out);


--filter[7] is filter[7]
filter[7]_or_out = !key_clock;
filter[7]_reg_input = filter[7]_or_out;
filter[7]_p3_out = counter[2] & counter[1] & counter[0] & !counter[3];
filter[7] = DFFE(filter[7]_reg_input, !GLOBAL(sys_clock), reset, , filter[7]_p3_out);


--filter[6] is filter[6]
filter[6]_or_out = !key_clock;
filter[6]_reg_input = filter[6]_or_out;
filter[6]_p3_out = counter[2] & counter[1] & !counter[0] & !counter[3];
filter[6] = DFFE(filter[6]_reg_input, !GLOBAL(sys_clock), reset, , filter[6]_p3_out);


--filter[3] is filter[3]
filter[3]_or_out = !key_clock;
filter[3]_reg_input = filter[3]_or_out;
filter[3]_p3_out = !counter[2] & counter[1] & counter[0] & !counter[3];
filter[3] = DFFE(filter[3]_reg_input, !GLOBAL(sys_clock), reset, , filter[3]_p3_out);


--filter[2] is filter[2]
filter[2]_or_out = !key_clock;
filter[2]_reg_input = filter[2]_or_out;
filter[2]_p3_out = !counter[2] & counter[1] & !counter[0] & !counter[3];
filter[2] = DFFE(filter[2]_reg_input, !GLOBAL(sys_clock), reset, , filter[2]_p3_out);


--smooth_key_clock is smooth_key_clock
smooth_key_clock_p1_out = !filter[9] & !filter[8] & !filter[7] & !filter[6] & !filter[5] & !filter[4] & !filter[3] & !filter[2] & !filter[1] & !filter[0] & smooth_key_clock;
smooth_key_clock_p3_out = filter[9] & filter[8] & filter[7] & filter[6] & filter[5] & filter[4] & filter[3] & filter[2] & filter[1] & filter[0] & !smooth_key_clock;
smooth_key_clock_or_out = smooth_key_clock_p1_out # smooth_key_clock_p3_out;
smooth_key_clock_reg_input = smooth_key_clock_or_out;
smooth_key_clock = TFFE(smooth_key_clock_reg_input, !GLOBAL(sys_clock), reset, , );


--\process2:counter[0] is \process2:counter[0]
\process2:counter[0]_p1_out = \process2:counter[3] & \process2:counter[1] & !\process2:counter[2] & !\process2:counter[0];
\process2:counter[0]_or_out = \process2:counter[0]_p1_out;
\process2:counter[0]_reg_input = !\process2:counter[0]_or_out;
\process2:counter[0] = TFFE(\process2:counter[0]_reg_input, smooth_key_clock, reset, , );


--\process2:counter[1] is \process2:counter[1]
\process2:counter[1]_p1_out = \process2:counter[3] & !\process2:counter[2] & \process2:counter[1];
\process2:counter[1]_or_out = \process2:counter[1]_p1_out # \process2:counter[0];
\process2:counter[1]_reg_input = \process2:counter[1]_or_out;
\process2:counter[1] = TFFE(\process2:counter[1]_reg_input, smooth_key_clock, reset, , );


--\process2:counter[2] is \process2:counter[2]
\process2:counter[2]_p1_out = \process2:counter[1] & \process2:counter[0];
\process2:counter[2]_or_out = \process2:counter[2]_p1_out;
\process2:counter[2]_reg_input = \process2:counter[2]_or_out;
\process2:counter[2] = TFFE(\process2:counter[2]_reg_input, smooth_key_clock, reset, , );


--\process2:counter[3] is \process2:counter[3]
\process2:counter[3]_p1_out = \process2:counter[0] & \process2:counter[1] & \process2:counter[2];
\process2:counter[3]_p4_out = !\process2:counter[0] & \process2:counter[1] & !\process2:counter[2] & \process2:counter[3];
\process2:counter[3]_or_out = \process2:counter[3]_p1_out # \process2:counter[3]_p4_out;
\process2:counter[3]_reg_input = \process2:counter[3]_or_out;
\process2:counter[3] = TFFE(\process2:counter[3]_reg_input, smooth_key_clock, reset, , );


--A1L25Q is scan_end~reg0
A1L25Q_p1_out = \process2:counter[3] & \process2:counter[1] & !\process2:counter[2] & !\process2:counter[0];
A1L25Q_or_out = A1L25Q_p1_out;
A1L25Q_reg_input = !(A1L25Q_or_out);
A1L25Q = DFFE(A1L25Q_reg_input, smooth_key_clock, reset, , );


--save_scan_code[1] is save_scan_code[1]
save_scan_code[1]_p1_out = key_data & !\process2:counter[3] & \process2:counter[0] & !\process2:counter[1] & !\process2:counter[2] & reset & !save_scan_code[1];
save_scan_code[1]_p2_out = !key_data & !\process2:counter[3] & \process2:counter[0] & !\process2:counter[1] & !\process2:counter[2] & reset & save_scan_code[1];
save_scan_code[1]_or_out = save_scan_code[1]_p1_out # save_scan_code[1]_p2_out;
save_scan_code[1]_reg_input = save_scan_code[1]_or_out;
save_scan_code[1] = TFFE(save_scan_code[1]_reg_input, smooth_key_clock, , , );


--save_scan_code[9] is save_scan_code[9]
save_scan_code[9]_p1_out = key_data & \process2:counter[0] & \process2:counter[3] & !\process2:counter[1] & !\process2:counter[2] & reset & !save_scan_code[9];
save_scan_code[9]_p2_out = !key_data & \process2:counter[0] & \process2:counter[3] & !\process2:counter[1] & !\process2:counter[2] & reset & save_scan_code[9];
save_scan_code[9]_or_out = save_scan_code[9]_p1_out # save_scan_code[9]_p2_out;
save_scan_code[9]_reg_input = save_scan_code[9]_or_out;
save_scan_code[9] = TFFE(save_scan_code[9]_reg_input, smooth_key_clock, , , );


--save_scan_code[8] is save_scan_code[8]
save_scan_code[8]_p1_out = key_data & !\process2:counter[0] & \process2:counter[3] & !\process2:counter[1] & !\process2:counter[2] & reset & !save_scan_code[8];
save_scan_code[8]_p2_out = !key_data & !\process2:counter[0] & \process2:counter[3] & !\process2:counter[1] & !\process2:counter[2] & reset & save_scan_code[8];
save_scan_code[8]_or_out = save_scan_code[8]_p1_out # save_scan_code[8]_p2_out;
save_scan_code[8]_reg_input = save_scan_code[8]_or_out;
save_scan_code[8] = TFFE(save_scan_code[8]_reg_input, smooth_key_clock, , , );


--A1L63Q is scan_code[0]~reg0
A1L63Q_or_out = save_scan_code[1];
A1L63Q_reg_input = A1L63Q_or_out;
A1L63Q = DFFE(A1L63Q_reg_input, !A1L25Q, , , );


--save_scan_code[5] is save_scan_code[5]
save_scan_code[5]_p1_out = key_data & \process2:counter[0] & !\process2:counter[1] & \process2:counter[2] & !\process2:counter[3] & reset & !save_scan_code[5];
save_scan_code[5]_p2_out = !key_data & \process2:counter[0] & !\process2:counter[1] & \process2:counter[2] & !\process2:counter[3] & reset & save_scan_code[5];
save_scan_code[5]_or_out = save_scan_code[5]_p1_out # save_scan_code[5]_p2_out;
save_scan_code[5]_reg_input = save_scan_code[5]_or_out;
save_scan_code[5] = TFFE(save_scan_code[5]_reg_input, smooth_key_clock, , , );


--save_scan_code[4] is save_scan_code[4]
save_scan_code[4]_p1_out = key_data & !\process2:counter[0] & !\process2:counter[1] & \process2:counter[2] & !\process2:counter[3] & reset & !save_scan_code[4];
save_scan_code[4]_p2_out = !key_data & !\process2:counter[0] & !\process2:counter[1] & \process2:counter[2] & !\process2:counter[3] & reset & save_scan_code[4];
save_scan_code[4]_or_out = save_scan_code[4]_p1_out # save_scan_code[4]_p2_out;
save_scan_code[4]_reg_input = save_scan_code[4]_or_out;
save_scan_code[4] = TFFE(save_scan_code[4]_reg_input, smooth_key_clock, , , );


--save_scan_code[3] is save_scan_code[3]
save_scan_code[3]_p1_out = key_data & !\process2:counter[2] & \process2:counter[0] & \process2:counter[1] & !\process2:counter[3] & reset & !save_scan_code[3];
save_scan_code[3]_p2_out = !key_data & !\process2:counter[2] & \process2:counter[0] & \process2:counter[1] & !\process2:counter[3] & reset & save_scan_code[3];
save_scan_code[3]_or_out = save_scan_code[3]_p1_out # save_scan_code[3]_p2_out;
save_scan_code[3]_reg_input = save_scan_code[3]_or_out;
save_scan_code[3] = TFFE(save_scan_code[3]_reg_input, smooth_key_clock, , , );


--save_scan_code[2] is save_scan_code[2]
save_scan_code[2]_p1_out = key_data & !\process2:counter[2] & !\process2:counter[0] & \process2:counter[1] & !\process2:counter[3] & reset & !save_scan_code[2];
save_scan_code[2]_p2_out = !key_data & !\process2:counter[2] & !\process2:counter[0] & \process2:counter[1] & !\process2:counter[3] & reset & save_scan_code[2];
save_scan_code[2]_or_out = save_scan_code[2]_p1_out # save_scan_code[2]_p2_out;
save_scan_code[2]_reg_input = save_scan_code[2]_or_out;
save_scan_code[2] = TFFE(save_scan_code[2]_reg_input, smooth_key_clock, , , );


--A1L05Q is scan_code[7]~reg0
A1L05Q_or_out = save_scan_code[8];
A1L05Q_reg_input = A1L05Q_or_out;
A1L05Q = DFFE(A1L05Q_reg_input, !A1L25Q, , , );


--A1L45Q is scan_parity~reg0
A1L45Q_or_out = save_scan_code[9];
A1L45Q_reg_input = A1L45Q_or_out;
A1L45Q = DFFE(A1L45Q_reg_input, !A1L25Q, , , );


--save_scan_code[7] is save_scan_code[7]
save_scan_code[7]_p1_out = key_data & \process2:counter[0] & \process2:counter[2] & \process2:counter[1] & !\process2:counter[3] & reset & !save_scan_code[7];
save_scan_code[7]_p2_out = !key_data & \process2:counter[0] & \process2:counter[2] & \process2:counter[1] & !\process2:counter[3] & reset & save_scan_code[7];
save_scan_code[7]_or_out = save_scan_code[7]_p1_out # save_scan_code[7]_p2_out;
save_scan_code[7]_reg_input = save_scan_code[7]_or_out;
save_scan_code[7] = TFFE(save_scan_code[7]_reg_input, smooth_key_clock, , , );


--save_scan_code[6] is save_scan_code[6]
save_scan_code[6]_p1_out = key_data & !\process2:counter[0] & \process2:counter[2] & \process2:counter[1] & !\process2:counter[3] & reset & !save_scan_code[6];
save_scan_code[6]_p2_out = !key_data & !\process2:counter[0] & \process2:counter[2] & \process2:counter[1] & !\process2:counter[3] & reset & save_scan_code[6];
save_scan_code[6]_or_out = save_scan_code[6]_p1_out # save_scan_code[6]_p2_out;
save_scan_code[6]_reg_input = save_scan_code[6]_or_out;
save_scan_code[6] = TFFE(save_scan_code[6]_reg_input, smooth_key_clock, , , );


--A1L44Q is scan_code[4]~reg0
A1L44Q_or_out = save_scan_code[5];
A1L44Q_reg_input = A1L44Q_or_out;
A1L44Q = DFFE(A1L44Q_reg_input, !A1L25Q, , , );


--A1L24Q is scan_code[3]~reg0
A1L24Q_or_out = save_scan_code[4];
A1L24Q_reg_input = A1L24Q_or_out;
A1L24Q = DFFE(A1L24Q_reg_input, !A1L25Q, , , );


--A1L04Q is scan_code[2]~reg0
A1L04Q_or_out = save_scan_code[3];
A1L04Q_reg_input = A1L04Q_or_out;
A1L04Q = DFFE(A1L04Q_reg_input, !A1L25Q, , , );


--A1L83Q is scan_code[1]~reg0
A1L83Q_or_out = save_scan_code[2];
A1L83Q_reg_input = A1L83Q_or_out;
A1L83Q = DFFE(A1L83Q_reg_input, !A1L25Q, , , );


--A1L84Q is scan_code[6]~reg0
A1L84Q_or_out = save_scan_code[7];
A1L84Q_reg_input = A1L84Q_or_out;
A1L84Q = DFFE(A1L84Q_reg_input, !A1L25Q, , , );


--A1L64Q is scan_code[5]~reg0
A1L64Q_or_out = save_scan_code[6];
A1L64Q_reg_input = A1L64Q_or_out;
A1L64Q = DFFE(A1L64Q_reg_input, !A1L25Q, , , );


--reset is reset
--operation mode is input

reset = INPUT();


--sys_clock is sys_clock
--operation mode is input

sys_clock = INPUT();


--key_data is key_data
--operation mode is input

key_data = INPUT();


--key_clock is key_clock
--operation mode is input

key_clock = INPUT();


--scan_end is scan_end
--operation mode is output

scan_end = OUTPUT(A1L25Q);


--scan_code[0] is scan_code[0]
--operation mode is output

scan_code[0] = OUTPUT(A1L63Q);


--scan_code[7] is scan_code[7]
--operation mode is output

scan_code[7] = OUTPUT(A1L05Q);


--scan_parity is scan_parity
--operation mode is output

scan_parity = OUTPUT(A1L45Q);


--scan_code[1] is scan_code[1]
--operation mode is output

scan_code[1] = OUTPUT(A1L83Q);


--scan_code[2] is scan_code[2]
--operation mode is output

scan_code[2] = OUTPUT(A1L04Q);


--scan_code[3] is scan_code[3]
--operation mode is output

scan_code[3] = OUTPUT(A1L24Q);


--scan_code[4] is scan_code[4]
--operation mode is output

scan_code[4] = OUTPUT(A1L44Q);


--scan_code[5] is scan_code[5]
--operation mode is output

scan_code[5] = OUTPUT(A1L64Q);


--scan_code[6] is scan_code[6]
--operation mode is output

scan_code[6] = OUTPUT(A1L84Q);


⌨️ 快捷键说明

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