t1.phd
来自「一个veriloghdl编写的键盘扫描程序」· PHD 代码 · 共 213 行
PHD
213 行
" XPLAOPT Version 9.99.99.99
" Created on Fri Mar 04 13:07:31 2005
" 52 Mcells, 80 PLApts, 8 Levels, 143 Fanins
" XPLAOPT -run s -it b -i KeypadScan.blx -dev XC2C32A-6CP56 -reg -xor a -mode 1
" -th 28 -fi 32 -bfi 38 -pre keep -unused pullup -terminate pullup -no_output_files
MODULE KeypadScan
clk pin ;
column<0> pin ;
column<1> pin ;
column<2> pin ;
column<3> pin ;
column<4> pin ;
column<5> pin ;
column<6> pin ;
column<7> pin ;
out<0> pin ; " 2 pt.
out<1> pin ; " 2 pt.
out<2> pin ; " 2 pt.
out<3> pin ; " 2 pt.
out<4> pin ; " 2 pt.
out<5> pin ; " 2 pt.
row<0> pin ; " 1 pt.
row<1> pin ; " 1 pt.
row<2> pin ; " 1 pt.
row<3> pin ; " 1 pt.
row<4> pin ; " 1 pt.
row<5> pin ; " 1 pt.
row<6> pin ; " 1 pt.
row<7> pin ; " 1 pt.
N_PZ_100 node istype 'collapse'; " 1 pt.
N_PZ_101 node istype 'collapse'; " 1 pt.
N_PZ_72 node istype 'collapse'; " 1 pt.
N_PZ_73 node istype 'collapse'; " 1 pt.
N_PZ_74 node istype 'collapse'; " 1 pt.
N_PZ_75 node istype 'collapse'; " 1 pt.
N_PZ_76 node istype 'collapse'; " 1 pt.
N_PZ_77 node istype 'collapse'; " 2 pt.
N_PZ_78 node istype 'collapse'; " 1 pt.
N_PZ_79 node istype 'collapse'; " 2 pt.
N_PZ_80 node istype 'collapse'; " 2 pt.
N_PZ_81 node istype 'collapse'; " 1 pt.
N_PZ_82 node istype 'collapse'; " 2 pt.
N_PZ_83 node istype 'collapse'; " 1 pt.
N_PZ_84 node istype 'collapse'; " 1 pt.
N_PZ_85 node istype 'collapse'; " 1 pt.
N_PZ_86 node istype 'collapse'; " 2 pt.
N_PZ_87 node istype 'collapse'; " 1 pt.
N_PZ_88 node istype 'collapse'; " 1 pt.
N_PZ_89 node istype 'collapse'; " 2 pt.
N_PZ_90 node istype 'collapse'; " 1 pt.
N_PZ_91 node istype 'collapse'; " 1 pt.
N_PZ_92 node istype 'collapse'; " 1 pt.
N_PZ_93 node istype 'collapse'; " 1 pt.
N_PZ_94 node istype 'collapse'; " 1 pt.
N_PZ_95 node istype 'collapse'; " 1 pt.
N_PZ_96 node istype 'collapse'; " 1 pt.
N_PZ_97 node istype 'collapse'; " 1 pt.
N_PZ_98 node istype 'collapse'; " 1 pt.
N_PZ_99 node istype 'collapse'; " 1 pt.
_n009837 node ; " 4 pt.
_n010237 node ; " 4 pt.
outreg<0> node ; " 3 pt.
outreg<1> node ; " 3 pt.
outreg<2> node ; " 2 pt.
outreg<3> node ; " 3 pt.
outreg<4> node ; " 3 pt.
outreg<5> node ; " 2 pt.
xpla property 'USER_SLEW_RATE row<2> row<0> row<6> row<4> row<5> row<1> row<3> row<7> out<0>
out<1> out<2> out<3> out<4> out<5> ';
xpla property 'POWER_UP_HIGH row<2> row<0> row<6> row<4> row<5> row<1> row<3> ';
xpla property 'unused_pullup';
xpla property 'timespec row<6>.Q row<7>.D 1.000000';
xpla property 'timespec row<4>.Q row<5>.D 1.000000';
xpla property 'timespec row<0>.Q row<1>.D 1.000000';
xpla property 'timespec row<1>.Q row<2>.D 1.000000';
xpla property 'timespec row<7>.Q row<0>.D 1.000000';
xpla property 'timespec row<2>.Q row<3>.D 1.000000';
xpla property 'timespec row<5>.Q row<6>.D 1.000000';
xpla property 'timespec row<3>.Q row<4>.D 1.000000';
xpla property 'IOSTD column<7> 2 -1';
xpla property 'IOSTD column<6> 2 -1';
xpla property 'IOSTD column<5> 2 -1';
xpla property 'IOSTD column<4> 2 -1';
xpla property 'IOSTD column<3> 2 -1';
xpla property 'IOSTD column<2> 2 -1';
xpla property 'IOSTD column<1> 2 -1';
xpla property 'IOSTD column<0> 2 -1';
xpla property 'IOSTD row<2> 2 -1';
xpla property 'IOSTD row<0> 2 -1';
xpla property 'IOSTD row<6> 2 -1';
xpla property 'IOSTD row<4> 2 -1';
xpla property 'IOSTD row<5> 2 -1';
xpla property 'IOSTD row<1> 2 -1';
xpla property 'IOSTD row<3> 2 -1';
xpla property 'IOSTD row<7> 2 -1';
xpla property 'IOSTD clk 2 -1';
xpla property 'IOSTD out<0> 2 -1';
xpla property 'IOSTD out<1> 2 -1';
xpla property 'IOSTD out<2> 2 -1';
xpla property 'IOSTD out<3> 2 -1';
xpla property 'IOSTD out<4> 2 -1';
xpla property 'IOSTD out<5> 2 -1';
EQUATIONS
N_PZ_100 = !_n010237 & !N_PZ_96; "--- [PT=1, FI=2, LVL=7] ---
N_PZ_101 = N_PZ_87 & N_PZ_88; "--- [PT=1, FI=2, LVL=3] ---
N_PZ_72 = column<2> & column<0>; "--- [PT=1, FI=2, LVL=1] ---
N_PZ_73 = column<4> & column<1>; "--- [PT=1, FI=2, LVL=1] ---
N_PZ_74 = column<3> & N_PZ_72; "--- [PT=1, FI=2, LVL=2] ---
N_PZ_75 = column<6> & column<5>; "--- [PT=1, FI=2, LVL=1] ---
N_PZ_76 = column<7> & N_PZ_73; "--- [PT=1, FI=2, LVL=2] ---
N_PZ_77 = !row<5>.Q & row<7>.Q
# row<5>.Q & !row<7>.Q; "--- [PT=2, FI=2, LVL=1] ---
N_PZ_78 = N_PZ_74 & N_PZ_75; "--- [PT=1, FI=2, LVL=3] ---
N_PZ_79 = !row<2>.Q & row<3>.Q
# row<2>.Q & !row<3>.Q; "--- [PT=2, FI=2, LVL=1] ---
N_PZ_80 = !row<4>.Q & N_PZ_83
# row<4>.Q & N_PZ_77; "--- [PT=2, FI=3, LVL=2] ---
N_PZ_81 = N_PZ_76 & N_PZ_78; "--- [PT=1, FI=2, LVL=4] ---
N_PZ_82 = column<6> & !column<5> & N_PZ_92
# !column<7> & N_PZ_73 & N_PZ_78; "--- [PT=2, FI=6, LVL=4] ---
N_PZ_83 = row<5>.Q & row<7>.Q; "--- [PT=1, FI=2, LVL=1] ---
N_PZ_84 = row<2>.Q & row<3>.Q; "--- [PT=1, FI=2, LVL=1] ---
N_PZ_85 = row<0>.Q & row<4>.Q; "--- [PT=1, FI=2, LVL=1] ---
N_PZ_86 = column<3> & !column<2> & column<0>
# !column<3> & N_PZ_72; "--- [PT=2, FI=4, LVL=2] ---
N_PZ_87 = row<6>.Q & row<1>.Q; "--- [PT=1, FI=2, LVL=1] ---
N_PZ_88 = N_PZ_83 & N_PZ_85; "--- [PT=1, FI=2, LVL=2] ---
N_PZ_89 = !column<4> & column<1> & N_PZ_94
# N_PZ_82; "--- [PT=2, FI=4, LVL=5] ---
N_PZ_90 = N_PZ_84 & N_PZ_87; "--- [PT=1, FI=2, LVL=2] ---
N_PZ_91 = N_PZ_84 & N_PZ_88; "--- [PT=1, FI=2, LVL=3] ---
N_PZ_92 = N_PZ_74 & N_PZ_76; "--- [PT=1, FI=2, LVL=3] ---
N_PZ_93 = N_PZ_75 & N_PZ_76; "--- [PT=1, FI=2, LVL=3] ---
N_PZ_94 = column<7> & N_PZ_78; "--- [PT=1, FI=2, LVL=4] ---
N_PZ_95 = !column<6> & N_PZ_92; "--- [PT=1, FI=2, LVL=4] ---
N_PZ_96 = column<5> & N_PZ_95; "--- [PT=1, FI=2, LVL=5] ---
N_PZ_97 = !row<6>.Q & N_PZ_91; "--- [PT=1, FI=2, LVL=4] ---
N_PZ_98 = row<1>.Q & N_PZ_97; "--- [PT=1, FI=2, LVL=5] ---
N_PZ_99 = !_n009837 & !N_PZ_98; "--- [PT=1, FI=2, LVL=6] ---
_n009837 = !row<0>.Q & row<4>.Q & N_PZ_83 & N_PZ_90
# row<6>.Q & !row<1>.Q & N_PZ_91
# row<0>.Q & N_PZ_80 & N_PZ_90
# N_PZ_79 & N_PZ_101; "--- [PT=4, FI=10, LVL=4] ---
_n010237 = column<3> & column<2> & !column<0> & N_PZ_93
# column<4> & !column<1> & N_PZ_94
# N_PZ_86 & N_PZ_93
# N_PZ_89; "--- [PT=4, FI=9, LVL=6] ---
out<0> = N_PZ_81
# outreg<0>.Q; "--- [PT=2, FI=2, LVL=5] ---
out<1> = N_PZ_81
# outreg<1>.Q; "--- [PT=2, FI=2, LVL=5] ---
out<2> = N_PZ_81
# outreg<2>.Q; "--- [PT=2, FI=2, LVL=5] ---
out<3> = N_PZ_81
# outreg<3>.Q; "--- [PT=2, FI=2, LVL=5] ---
out<4> = N_PZ_81
# outreg<4>.Q; "--- [PT=2, FI=2, LVL=5] ---
out<5> = N_PZ_81
# outreg<5>.Q; "--- [PT=2, FI=2, LVL=5] ---
outreg<0>.D = column<4> & !column<1> & N_PZ_94
# !column<3> & N_PZ_72 & N_PZ_93
# N_PZ_82; "--- [PT=3, FI=7, LVL=5] ---
! outreg<0>.LH = N_PZ_100; "--- [PT=1, FI=1, LVL=8] ---
outreg<1>.D = !column<7> & N_PZ_73 & N_PZ_78
# N_PZ_86 & N_PZ_93
# N_PZ_96; "--- [PT=3, FI=6, LVL=6] ---
! outreg<1>.LH = N_PZ_100; "--- [PT=1, FI=1, LVL=8] ---
outreg<2>.D = N_PZ_96
# N_PZ_89; "--- [PT=2, FI=2, LVL=6] ---
! outreg<2>.LH = N_PZ_100; "--- [PT=1, FI=1, LVL=8] ---
outreg<3>.D = row<2>.Q & !row<3>.Q & N_PZ_101
# row<6>.Q & !row<1>.Q & N_PZ_91
# N_PZ_77 & N_PZ_85 & N_PZ_90; "--- [PT=3, FI=9, LVL=4] ---
! outreg<3>.LH = N_PZ_99; "--- [PT=1, FI=1, LVL=7] ---
outreg<4>.D = row<5>.Q & !row<7>.Q & N_PZ_85 & N_PZ_90
# N_PZ_79 & N_PZ_101
# N_PZ_98; "--- [PT=3, FI=7, LVL=6] ---
! outreg<4>.LH = N_PZ_99; "--- [PT=1, FI=1, LVL=7] ---
outreg<5>.D = row<0>.Q & N_PZ_80 & N_PZ_90
# N_PZ_98; "--- [PT=2, FI=4, LVL=6] ---
! outreg<5>.LH = N_PZ_99; "--- [PT=1, FI=1, LVL=7] ---
row<0>.CE = N_PZ_81; "--- [PT=1, FI=1, LVL=5] ---
row<0>.CLK = clk; "--- [PT=1, FI=1, LVL=1] ---
row<0>.D = row<7>.Q; "--- [PT=1, FI=1, LVL=1] ---
row<1>.CE = N_PZ_81; "--- [PT=1, FI=1, LVL=5] ---
row<1>.CLK = clk; "--- [PT=1, FI=1, LVL=1] ---
row<1>.D = row<0>.Q; "--- [PT=1, FI=1, LVL=1] ---
row<2>.CE = N_PZ_81; "--- [PT=1, FI=1, LVL=5] ---
row<2>.CLK = clk; "--- [PT=1, FI=1, LVL=1] ---
row<2>.D = row<1>.Q; "--- [PT=1, FI=1, LVL=1] ---
row<3>.CE = N_PZ_81; "--- [PT=1, FI=1, LVL=5] ---
row<3>.CLK = clk; "--- [PT=1, FI=1, LVL=1] ---
row<3>.D = row<2>.Q; "--- [PT=1, FI=1, LVL=1] ---
row<4>.CE = N_PZ_81; "--- [PT=1, FI=1, LVL=5] ---
row<4>.CLK = clk; "--- [PT=1, FI=1, LVL=1] ---
row<4>.D = row<3>.Q; "--- [PT=1, FI=1, LVL=1] ---
row<5>.CE = N_PZ_81; "--- [PT=1, FI=1, LVL=5] ---
row<5>.CLK = clk; "--- [PT=1, FI=1, LVL=1] ---
row<5>.D = row<4>.Q; "--- [PT=1, FI=1, LVL=1] ---
row<6>.CE = N_PZ_81; "--- [PT=1, FI=1, LVL=5] ---
row<6>.CLK = clk; "--- [PT=1, FI=1, LVL=1] ---
row<6>.D = row<5>.Q; "--- [PT=1, FI=1, LVL=1] ---
row<7>.CE = N_PZ_81; "--- [PT=1, FI=1, LVL=5] ---
row<7>.CLK = clk; "--- [PT=1, FI=1, LVL=1] ---
row<7>.D = row<6>.Q; "--- [PT=1, FI=1, LVL=1] ---
END
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?