Project Information c:\booksoft\chap5\keyboard.rpt MAX+plus II Compiler Report File Version 10.0 9/14/2000 Compiled: 01/31/2001 10:19:42 Copyright (C) 1988-2000 Altera Corporation Any megafunction design, and related net list (encrypted or decrypted), support information, device programming or simulation file, and any other associated documentation or information provided by Altera or a partner under Altera's Megafunction Partnership Program may be used only to program PLD devices (but not masked PLD devices) from Altera. Any other use of such megafunction design, net list, support information, device programming or simulation file, or any other related documentation or information is prohibited for any other purpose, including, but not limited to modification, reverse engineering, de-compiling, or use with any other silicon devices, unless such use is explicitly licensed under a separate agreement with Altera or a megafunction partner. Title to the intellectual property, including patents, copyrights, trademarks, trade secrets, or maskworks, embodied in any such megafunction design, net list, support information, device programming or simulation file, or any other related documentation or information provided by Altera or a megafunction partner, remains with Altera, the megafunction partner, or their respective licensors. No other licenses, including any licenses needed under any third party's intellectual property, are provided herein. ***** Project compilation was successful KEYBOARD ** DEVICE SUMMARY ** Chip/ Input Output Bidir Memory Memory LCs POF Device Pins Pins Pins Bits % Utilized LCs % Utilized keyboard EPF10K20RC240-4 5 9 0 0 0 % 47 4 % User Pins: 5 9 0 Project Information c:\booksoft\chap5\keyboard.rpt ** FILE HIERARCHY ** |lpm_add_sub:440| |lpm_add_sub:440|addcore:adder| |lpm_add_sub:440|altshift:result_ext_latency_ffs| |lpm_add_sub:440|altshift:carry_ext_latency_ffs| |lpm_add_sub:440|altshift:oflow_ext_latency_ffs| Device-Specific Information: c:\booksoft\chap5\keyboard.rpt keyboard ***** Logic for device 'keyboard' compiled without errors. Device: EPF10K20RC240-4 FLEX 10K Configuration Scheme: Passive Serial Device Options: User-Supplied Start-Up Clock = OFF Auto-Restart Configuration on Frame Error = OFF Release Clears Before Tri-States = OFF Enable Chip_Wide Reset = OFF Enable Chip-Wide Output Enable = OFF Enable INIT_DONE Output = OFF JTAG User Code = 7f k e y b R R R R R R R R R R R R R R R R R R R R R R R R R o R R R R R R R R R R R R R R R R R R R R R R R R R R E E E E E E E E E E E E E E E E E E E E E E E E E a E E E E E E E E E E E E E E E E E E E E E E E E E E S S S S S S S S G S S S S S S S V S S S S S S S G S S S r G S S S S V S S S S S S S G S S S S S S S V S S S S S S S S E E E E E E E E N E E E E E E E C E E E E E E E N E E E d N r E E E E C E E E E E E E N E E E E E E E C E E E E E E E E R R R R R R R R D R R R R R R R C R R R R R R R D R R R _ D e R R R R C R R R R R R R D R R R R R R R C R R R R R R R R V V V V V V V V I V V V V V V V I V V V V V V V I V V V c I s V V V V I V V V V V V V I V V V V V V V I V V V V V V V V E E E E E E E E N E E E E E E E N E E E E E E E N E E E l N e E E E E N E E E E E E E N E E E E E E E N E E E E E E E E D D D D D D D D T D D D D D D D T D D D D D D D T D D D k T t D D D D T D D D D D D D T D D D D D D D T D D D D D D D D --------------------------------------------------------------------------------------------------------------------------_ / 240 238 236 234 232 230 228 226 224 222 220 218 216 214 212 210 208 206 204 202 200 198 196 194 192 190 188 186 184 182 |_ / 239 237 235 233 231 229 227 225 223 221 219 217 215 213 211 209 207 205 203 201 199 197 195 193 191 189 187 185 183 181 | #TCK | 1 180 | ^DATA0 ^CONF_DONE | 2 179 | ^DCLK ^nCEO | 3 178 | ^nCE #TDO | 4 177 | #TDI VCCINT | 5 176 | GNDINT RESERVED | 6 175 | RESERVED RESERVED | 7 174 | RESERVED RESERVED | 8 173 | RESERVED RESERVED | 9 172 | RESERVED GNDINT | 10 171 | RESERVED RESERVED | 11 170 | VCCINT RESERVED | 12 169 | RESERVED RESERVED | 13 168 | RESERVED RESERVED | 14 167 | RESERVED RESERVED | 15 166 | RESERVED VCCINT | 16 165 | GNDINT RESERVED | 17 164 | RESERVED RESERVED | 18 163 | RESERVED RESERVED | 19 162 | RESERVED RESERVED | 20 161 | RESERVED RESERVED | 21 160 | VCCINT GNDINT | 22 159 | RESERVED scan_code1 | 23 158 | scan_code3 scan_code6 | 24 157 | RESERVED scan_code7 | 25 156 | RESERVED scan_code2 | 26 155 | GNDINT VCCINT | 27 154 | RESERVED scan_code4 | 28 153 | RESERVED scan_code5 | 29 152 | RESERVED scan_code0 | 30 151 | RESERVED RESERVED | 31 EPF10K20RC240-4 150 | VCCINT GNDINT | 32 149 | RESERVED RESERVED | 33 148 | RESERVED RESERVED | 34 147 | RESERVED RESERVED | 35 146 | RESERVED RESERVED | 36 145 | GNDINT VCCINT | 37 144 | RESERVED RESERVED | 38 143 | RESERVED RESERVED | 39 142 | RESERVED RESERVED | 40 141 | RESERVED RESERVED | 41 140 | VCCINT GNDINT | 42 139 | RESERVED RESERVED | 43 138 | RESERVED RESERVED | 44 137 | RESERVED RESERVED | 45 136 | RESERVED RESERVED | 46 135 | GNDINT VCCINT | 47 134 | RESERVED RESERVED | 48 133 | RESERVED RESERVED | 49 132 | RESERVED RESERVED | 50 131 | RESERVED RESERVED | 51 130 | VCCINT GNDINT | 52 129 | RESERVED RESERVED | 53 128 | RESERVED RESERVED | 54 127 | RESERVED RESERVED | 55 126 | RESERVED scan_ready | 56 125 | GNDINT VCCINT | 57 124 | ^MSEL0 #TMS | 58 123 | ^MSEL1 #TRST | 59 122 | VCCINT ^nSTATUS | 60 121 | ^nCONFIG | 62 64 66 68 70 72 74 76 78 80 82 84 86 88 90 92 94 96 98 100 102 104 106 108 110 112 114 116 118 120 _| \ 61 63 65 67 69 71 73 75 77 79 81 83 85 87 89 91 93 95 97 99 101 103 105 107 109 111 113 115 117 119 | \--------------------------------------------------------------------------------------------------------------------------- R R R R R R R R G R R R R R R R V R R R R R R R G R R R V r c k G R R V R R R R R R R G R R R R R R R V R R R R R R R R E E E E E E E E N E E E E E E E C E E E E E E E N E E E C e l e N E E C E E E E E E E N E E E E E E E C E E E E E E E E S S S S S S S S D S S S S S S S C S S S S S S S D S S S C a o y D S S C S S S S S S S D S S S S S S S C S S S S S S S S E E E E E E E E I E E E E E E E I E E E E E E E I E E E I d c b I E E I E E E E E E E I E E E E E E E I E E E E E E E E R R R R R R R R N R R R R R R R N R R R R R R R N R R R N k o N R R N R R R R R R R N R R R R R R R N R R R R R R R R V V V V V V V V T V V V V V V V T V V V V V V V T V V V T _ a T V V T V V V V V V V T V V V V V V V T V V V V V V V V E E E E E E E E E E E E E E E E E E E E E E E E E 2 r E E E E E E E E E E E E E E E E E E E E E E E E D D D D D D D D D D D D D D D D D D D D D D D D D 5 d D D D D D D D D D D D D D D D D D D D D D D D D M _ h d z a t a N.C. = No Connect. This pin has no internal connection to the device. VCCINT = Dedicated power pin, which MUST be connected to VCC (5.0 volts). VCCIO = Dedicated power pin, which MUST be connected to VCC (5.0 volts). GNDINT = Dedicated ground pin or unused dedicated input, which MUST be connected to GND. GNDIO = Dedicated ground pin, which MUST be connected to GND. RESERVED = Unused I/O pin, which MUST be left unconnected. ^ = Dedicated configuration pin. + = Reserved configuration pin, which is tri-stated during user mode. * = Reserved configuration pin, which drives out in user mode. PDn = Power Down pin. @ = Special-purpose pin. # = JTAG Boundary-Scan Testing/In-System Programming or Configuration Pin. The JTAG inputs TMS and TDI should be tied to VCC and TCK should be tied to GND when not in use. & = JTAG pin used for I/O. When used as user I/O, JTAG pins must be kept stable before and during configuration. JTAG pin stability prevents accidental loading of JTAG instructions. Device-Specific Information: c:\booksoft\chap5\keyboard.rpt keyboard ** RESOURCE USAGE ** Logic Column Row Array Interconnect Interconnect Clears/ External Block Logic Cells Driven Driven Clocks Presets Interconnect C13 6/ 8( 75%) 0/ 8( 0%) 3/ 8( 37%) 1/2 0/2 2/22( 9%) C15 8/ 8(100%) 0/ 8( 0%) 4/ 8( 50%) 1/2 0/2 4/22( 18%) C22 8/ 8(100%) 0/ 8( 0%) 4/ 8( 50%) 1/2 0/2 4/22( 18%) C23 8/ 8(100%) 2/ 8( 25%) 3/ 8( 37%) 2/2 0/2 6/22( 27%) F13 1/ 8( 12%) 0/ 8( 0%) 1/ 8( 12%) 1/2 1/2 1/22( 4%) F19 8/ 8(100%) 1/ 8( 12%) 2/ 8( 25%) 1/2 0/2 6/22( 27%) F20 8/ 8(100%) 1/ 8( 12%) 5/ 8( 62%) 1/2 0/2 5/22( 22%) Embedded Column Row Array Embedded Interconnect Interconnect Read/ External Block Cells Driven Driven Clocks Write Interconnect Total dedicated input pins used: 5/6 ( 83%) Total I/O pins used: 9/183 ( 4%) Total logic cells used: 47/1152 ( 4%) Total embedded cells used: 0/48 ( 0%) Total EABs used: 0/6 ( 0%) Average fan-in: 3.21/4 ( 80%) Total fan-in: 151/4608 ( 3%) Total input pins required: 5 Total input I/O cell registers required: 0 Total output pins required: 9 Total output I/O cell registers required: 0 Total buried I/O cell registers required: 0 Total bidirectional pins required: 0 Total reserved pins required 0 Total logic cells required: 47 Total flipflops required: 33 Total packed registers required: 0 Total logic cells in carry chains: 0 Total number of carry chains: 0 Total logic cells in cascade chains: 0 Total number of cascade chains: 0 Total single-pin Clock Enables required: 0 Total single-pin Output Enables required: 0 Synthesized logic cells: 6/1152 ( 0%) Logic Cell and Embedded Cell Counts Column: 01 02 03 04 05 06 07 08 09 10 11 12 EA 13 14 15 16 17 18 19 20 21 22 23 24 Total(LC/EC) A: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0/0 B: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0/0 C: 0 0 0 0 0 0 0 0 0 0 0 0 0 6 0 8 0 0 0 0 0 0 8 8 0 30/0 D: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0/0 E: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0/0 F: 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 8 8 0 0 0 0 17/0 Total: 0 0 0 0 0 0 0 0 0 0 0 0 0 7 0 8 0 0 0 8 8 0 8 8 0 47/0 Device-Specific Information: c:\booksoft\chap5\keyboard.rpt keyboard ** INPUTS ** Fan-In Fan-Out Pin LC EC Row Col Primitive Code INP FBK OUT FBK Name 91 - - - -- INPUT G 0 0 0 0 clock_25Mhz 212 - - - -- INPUT 0 0 0 1 keyboard_clk 92 - - - -- INPUT 0 0 0 2 keyboard_data 90 - - - -- INPUT G 0 0 0 0 read 210 - - - -- INPUT 0 0 0 7 reset Code: s = Synthesized pin or logic cell + = Synchronous flipflop / = Slow slew-rate output ! = NOT gate push-back r = Fitter-inserted logic cell @ = Uses single-pin Clock Enable & = Uses single-pin Output Enable G = Global Source. Fan-out destinations counted here do not include destinations that are driven using global routing resources. Refer to the Auto Global Signals, Clock Signals, Clear Signals, Synchronous Load Signals, and Synchronous Clear Signals Sections of this Report File for information on which signals' fan-outs are used as Clock, Clear, Preset, Output Enable, and synchronous Load signals. Device-Specific Information: c:\booksoft\chap5\keyboard.rpt keyboard ** OUTPUTS ** Fed By Fed By Fan-In Fan-Out Pin LC EC Row Col Primitive Code INP FBK OUT FBK Name 30 - - C -- OUTPUT 0 1 0 0 scan_code0 23 - - C -- OUTPUT 0 1 0 0 scan_code1 26 - - C -- OUTPUT 0 1 0 0 scan_code2 158 - - C -- OUTPUT 0 1 0 0 scan_code3 28 - - C -- OUTPUT 0 1 0 0 scan_code4 29 - - C -- OUTPUT 0 1 0 0 scan_code5 24 - - C -- OUTPUT 0 1 0 0 scan_code6 25 - - C -- OUTPUT 0 1 0 0 scan_code7 56 - - F -- OUTPUT 0 1 0 0 scan_ready Code: s = Synthesized pin or logic cell + = Synchronous flipflop / = Slow slew-rate output ! = NOT gate push-back r = Fitter-inserted logic cell @ = Uses single-pin Clock Enable & = Uses single-pin Output Enable Device-Specific Information: c:\booksoft\chap5\keyboard.rpt keyboard ** BURIED LOGIC ** Fan-In Fan-Out IOC LC EC Row Col Primitive Code INP FBK OUT FBK Name - 3 - F 19 AND2 0 2 0 1 |LPM_ADD_SUB:440|addcore:adder|:55 - 6 - F 19 OR2 0 4 0 1 |LPM_ADD_SUB:440|addcore:adder|:69 - 4 - C 22 DFFE 0 4 1 0 :6 - 2 - C 22 DFFE 0 4 1 0 :8 - 6 - C 22 DFFE 0 4 1 0 :10 - 6 - C 23 DFFE 0 4 1 0 :12 - 2 - C 15 DFFE 0 4 1 0 :14 - 5 - C 15 DFFE 0 4 1 0 :16 - 1 - C 15 DFFE 0 4 1 0 :18 - 8 - C 15 DFFE 0 4 1 0 :20 - 7 - F 13 DFFE 0 1 1 0 :22 - 5 - F 20 DFFE 1 3 0 2 ready_set (:24) - 1 - C 13 DFFE + 1 0 0 3 filter7 (:25) - 2 - C 13 DFFE + 0 1 0 3 filter6 (:26) - 5 - C 13 DFFE + 0 1 0 3 filter5 (:27) - 3 - C 13 DFFE + 0 1 0 3 filter4 (:28) - 1 - C 23 DFFE + 0 1 0 3 filter3 (:29) - 3 - C 23 DFFE + 0 1 0 3 filter2 (:30) - 4 - C 23 DFFE + 0 1 0 2 filter1 (:31) - 5 - C 23 DFFE + 0 1 0 2 filter0 (:32) - 2 - C 23 DFFE + 0 3 0 23 keyboard_clk_filtered (:33) - 8 - F 19 DFFE 1 3 0 3 INCNT3 (:34) - 5 - F 19 DFFE 1 3 0 3 INCNT2 (:35) - 2 - F 19 DFFE 1 3 0 4 INCNT1 (:36) - 8 - F 20 DFFE 1 2 0 5 INCNT0 (:37) - 4 - F 20 DFFE 1 3 0 7 READ_CHAR (:38) - 3 - C 22 DFFE 1 3 0 1 SHIFTIN8 (:39) - 8 - C 22 DFFE 0 4 0 2 SHIFTIN7 (:40) - 7 - C 22 DFFE 0 4 0 2 SHIFTIN6 (:41) - 5 - C 22 DFFE 0 4 0 2 SHIFTIN5 (:42) - 1 - C 22 DFFE 0 4 0 2 SHIFTIN4 (:43) - 7 - C 15 DFFE 0 4 0 2 SHIFTIN3 (:44) - 6 - C 15 DFFE 0 4 0 2 SHIFTIN2 (:45) - 4 - C 15 DFFE 0 4 0 2 SHIFTIN1 (:46) - 3 - C 15 DFFE 0 4 0 1 SHIFTIN0 (:47) - 4 - C 13 AND2 s 0 4 0 1 ~216~1 - 7 - C 23 AND2 s 0 4 0 1 ~216~2 - 8 - C 13 OR2 s 0 4 0 1 ~233~1 - 8 - C 23 OR2 s 0 4 0 1 ~233~2 - 3 - F 20 AND2 1 1 0 6 :340 - 1 - F 19 OR2 ! 0 4 0 23 :357 - 7 - F 19 OR2 0 4 0 1 :824 - 4 - F 19 OR2 0 4 0 1 :830 - 2 - F 20 OR2 0 4 0 1 :836 - 7 - F 20 OR2 0 3 0 1 :902 - 1 - F 20 OR2 s 1 2 0 17 ~1200~1 - 6 - F 20 OR2 s 0 3 0 1 ~1232~1 Code: s = Synthesized pin or logic cell + = Synchronous flipflop / = Slow slew-rate output ! = NOT gate push-back r = Fitter-inserted logic cell p = Packed register Device-Specific Information: c:\booksoft\chap5\keyboard.rpt keyboard ** FASTTRACK INTERCONNECT UTILIZATION ** Row FastTrack Interconnect: Global Left Half- Right Half- FastTrack FastTrack FastTrack Row Interconnect Interconnect Interconnect Input Pins Output Pins Bidir Pins A: 0/ 96( 0%) 0/ 48( 0%) 0/ 48( 0%) 0/16( 0%) 0/16( 0%) 0/16( 0%) B: 0/ 96( 0%) 0/ 48( 0%) 0/ 48( 0%) 0/16( 0%) 0/16( 0%) 0/16( 0%) C: 1/ 96( 1%) 0/ 48( 0%) 16/ 48( 33%) 0/16( 0%) 8/16( 50%) 0/16( 0%) D: 0/ 96( 0%) 0/ 48( 0%) 0/ 48( 0%) 0/16( 0%) 0/16( 0%) 0/16( 0%) E: 0/ 96( 0%) 0/ 48( 0%) 0/ 48( 0%) 0/16( 0%) 0/16( 0%) 0/16( 0%) F: 0/ 96( 0%) 0/ 48( 0%) 10/ 48( 20%) 0/16( 0%) 1/16( 6%) 0/16( 0%) Column FastTrack Interconnect: FastTrack Column Interconnect Input Pins Output Pins Bidir Pins 01: 0/24( 0%) 0/4( 0%) 0/4( 0%) 0/4( 0%) 02: 0/24( 0%) 0/4( 0%) 0/4( 0%) 0/4( 0%) 03: 0/24( 0%) 0/4( 0%) 0/4( 0%) 0/4( 0%) 04: 0/24( 0%) 0/4( 0%) 0/4( 0%) 0/4( 0%) 05: 0/24( 0%) 0/4( 0%) 0/4( 0%) 0/4( 0%) 06: 0/24( 0%) 0/4( 0%) 0/4( 0%) 0/4( 0%) 07: 0/24( 0%) 0/4( 0%) 0/4( 0%) 0/4( 0%) 08: 0/24( 0%) 0/4( 0%) 0/4( 0%) 0/4( 0%) 09: 0/24( 0%) 0/4( 0%) 0/4( 0%) 0/4( 0%) 10: 0/24( 0%) 0/4( 0%) 0/4( 0%) 0/4( 0%) 11: 0/24( 0%) 0/4( 0%) 0/4( 0%) 0/4( 0%) 12: 0/24( 0%) 0/4( 0%) 0/4( 0%) 0/4( 0%) 13: 0/24( 0%) 0/4( 0%) 0/4( 0%) 0/4( 0%) 14: 0/24( 0%) 0/4( 0%) 0/4( 0%) 0/4( 0%) 15: 0/24( 0%) 0/4( 0%) 0/4( 0%) 0/4( 0%) 16: 0/24( 0%) 0/4( 0%) 0/4( 0%) 0/4( 0%) 17: 0/24( 0%) 0/4( 0%) 0/4( 0%) 0/4( 0%) 18: 0/24( 0%) 0/4( 0%) 0/4( 0%) 0/4( 0%) 19: 1/24( 4%) 0/4( 0%) 0/4( 0%) 0/4( 0%) 20: 1/24( 4%) 0/4( 0%) 0/4( 0%) 0/4( 0%) 21: 0/24( 0%) 0/4( 0%) 0/4( 0%) 0/4( 0%) 22: 0/24( 0%) 0/4( 0%) 0/4( 0%) 0/4( 0%) 23: 1/24( 4%) 0/4( 0%) 0/4( 0%) 0/4( 0%) 24: 1/24( 4%) 0/4( 0%) 0/4( 0%) 0/4( 0%) EA: 0/24( 0%) 0/4( 0%) 0/4( 0%) 0/4( 0%) Device-Specific Information: c:\booksoft\chap5\keyboard.rpt keyboard ** CLOCK SIGNALS ** Type Fan-out Name DFF 24 keyboard_clk_filtered INPUT 9 clock_25Mhz DFF 3 ready_set Device-Specific Information: c:\booksoft\chap5\keyboard.rpt keyboard ** CLEAR SIGNALS ** Type Fan-out Name INPUT 1 read Device-Specific Information: c:\booksoft\chap5\keyboard.rpt keyboard ** EQUATIONS ** clock_25Mhz : INPUT; keyboard_clk : INPUT; keyboard_data : INPUT; read : INPUT; reset : INPUT; -- Node name is ':32' = 'filter0' -- Equation name is 'filter0', location is LC5_C23, type is buried. filter0 = DFFE( filter1, GLOBAL( clock_25Mhz), VCC, VCC, VCC); -- Node name is ':31' = 'filter1' -- Equation name is 'filter1', location is LC4_C23, type is buried. filter1 = DFFE( filter2, GLOBAL( clock_25Mhz), VCC, VCC, VCC); -- Node name is ':30' = 'filter2' -- Equation name is 'filter2', location is LC3_C23, type is buried. filter2 = DFFE( filter3, GLOBAL( clock_25Mhz), VCC, VCC, VCC); -- Node name is ':29' = 'filter3' -- Equation name is 'filter3', location is LC1_C23, type is buried. filter3 = DFFE( filter4, GLOBAL( clock_25Mhz), VCC, VCC, VCC); -- Node name is ':28' = 'filter4' -- Equation name is 'filter4', location is LC3_C13, type is buried. filter4 = DFFE( filter5, GLOBAL( clock_25Mhz), VCC, VCC, VCC); -- Node name is ':27' = 'filter5' -- Equation name is 'filter5', location is LC5_C13, type is buried. filter5 = DFFE( filter6, GLOBAL( clock_25Mhz), VCC, VCC, VCC); -- Node name is ':26' = 'filter6' -- Equation name is 'filter6', location is LC2_C13, type is buried. filter6 = DFFE( filter7, GLOBAL( clock_25Mhz), VCC, VCC, VCC); -- Node name is ':25' = 'filter7' -- Equation name is 'filter7', location is LC1_C13, type is buried. filter7 = DFFE( keyboard_clk, GLOBAL( clock_25Mhz), VCC, VCC, VCC); -- Node name is ':37' = 'INCNT0' -- Equation name is 'INCNT0', location is LC8_F20, type is buried. INCNT0 = DFFE( _EQ001, keyboard_clk_filtered, VCC, VCC, VCC); _EQ001 = _LC6_F20 & !reset; -- Node name is ':36' = 'INCNT1' -- Equation name is 'INCNT1', location is LC2_F19, type is buried. INCNT1 = DFFE( _EQ002, keyboard_clk_filtered, VCC, VCC, VCC); _EQ002 = _LC2_F20 & !_LC3_F20 & !reset # INCNT1 & _LC3_F20 & !reset; -- Node name is ':35' = 'INCNT2' -- Equation name is 'INCNT2', location is LC5_F19, type is buried. INCNT2 = DFFE( _EQ003, keyboard_clk_filtered, VCC, VCC, VCC); _EQ003 = !_LC3_F20 & _LC4_F19 & !reset # INCNT2 & _LC3_F20 & !reset; -- Node name is ':34' = 'INCNT3' -- Equation name is 'INCNT3', location is LC8_F19, type is buried. INCNT3 = DFFE( _EQ004, keyboard_clk_filtered, VCC, VCC, VCC); _EQ004 = !_LC3_F20 & _LC7_F19 & !reset # INCNT3 & _LC3_F20 & !reset; -- Node name is ':33' = 'keyboard_clk_filtered' -- Equation name is 'keyboard_clk_filtered', location is LC2_C23, type is buried. keyboard_clk_filtered = DFFE( _EQ005, GLOBAL( clock_25Mhz), VCC, VCC, VCC); _EQ005 = filter1 & _LC7_C23 # keyboard_clk_filtered & _LC8_C23 # filter1 & keyboard_clk_filtered; -- Node name is ':38' = 'READ_CHAR' -- Equation name is 'READ_CHAR', location is LC4_F20, type is buried. READ_CHAR = DFFE( _EQ006, keyboard_clk_filtered, VCC, VCC, VCC); _EQ006 = _LC1_F19 & READ_CHAR & !reset # _LC3_F20 & !reset; -- Node name is ':24' = 'ready_set' -- Equation name is 'ready_set', location is LC5_F20, type is buried. ready_set = DFFE( _EQ007, keyboard_clk_filtered, VCC, VCC, VCC); _EQ007 = !_LC3_F20 & _LC7_F20 & !reset # ready_set & reset; -- Node name is 'scan_code0' -- Equation name is 'scan_code0', type is output scan_code0 = _LC8_C15; -- Node name is 'scan_code1' -- Equation name is 'scan_code1', type is output scan_code1 = _LC1_C15; -- Node name is 'scan_code2' -- Equation name is 'scan_code2', type is output scan_code2 = _LC5_C15; -- Node name is 'scan_code3' -- Equation name is 'scan_code3', type is output scan_code3 = _LC2_C15; -- Node name is 'scan_code4' -- Equation name is 'scan_code4', type is output scan_code4 = _LC6_C23; -- Node name is 'scan_code5' -- Equation name is 'scan_code5', type is output scan_code5 = _LC6_C22; -- Node name is 'scan_code6' -- Equation name is 'scan_code6', type is output scan_code6 = _LC2_C22; -- Node name is 'scan_code7' -- Equation name is 'scan_code7', type is output scan_code7 = _LC4_C22; -- Node name is 'scan_ready' -- Equation name is 'scan_ready', type is output scan_ready = _LC7_F13; -- Node name is ':47' = 'SHIFTIN0' -- Equation name is 'SHIFTIN0', location is LC3_C15, type is buried. SHIFTIN0 = DFFE( _EQ008, keyboard_clk_filtered, VCC, VCC, VCC); _EQ008 = !_LC1_F19 & SHIFTIN0 # _LC1_F19 & !_LC1_F20 & SHIFTIN1 # _LC1_F20 & SHIFTIN0; -- Node name is ':46' = 'SHIFTIN1' -- Equation name is 'SHIFTIN1', location is LC4_C15, type is buried. SHIFTIN1 = DFFE( _EQ009, keyboard_clk_filtered, VCC, VCC, VCC); _EQ009 = !_LC1_F19 & SHIFTIN1 # _LC1_F19 & !_LC1_F20 & SHIFTIN2 # _LC1_F20 & SHIFTIN1; -- Node name is ':45' = 'SHIFTIN2' -- Equation name is 'SHIFTIN2', location is LC6_C15, type is buried. SHIFTIN2 = DFFE( _EQ010, keyboard_clk_filtered, VCC, VCC, VCC); _EQ010 = !_LC1_F19 & SHIFTIN2 # _LC1_F19 & !_LC1_F20 & SHIFTIN3 # _LC1_F20 & SHIFTIN2; -- Node name is ':44' = 'SHIFTIN3' -- Equation name is 'SHIFTIN3', location is LC7_C15, type is buried. SHIFTIN3 = DFFE( _EQ011, keyboard_clk_filtered, VCC, VCC, VCC); _EQ011 = !_LC1_F19 & SHIFTIN3 # _LC1_F19 & !_LC1_F20 & SHIFTIN4 # _LC1_F20 & SHIFTIN3; -- Node name is ':43' = 'SHIFTIN4' -- Equation name is 'SHIFTIN4', location is LC1_C22, type is buried. SHIFTIN4 = DFFE( _EQ012, keyboard_clk_filtered, VCC, VCC, VCC); _EQ012 = !_LC1_F19 & SHIFTIN4 # _LC1_F19 & !_LC1_F20 & SHIFTIN5 # _LC1_F20 & SHIFTIN4; -- Node name is ':42' = 'SHIFTIN5' -- Equation name is 'SHIFTIN5', location is LC5_C22, type is buried. SHIFTIN5 = DFFE( _EQ013, keyboard_clk_filtered, VCC, VCC, VCC); _EQ013 = !_LC1_F19 & SHIFTIN5 # _LC1_F19 & !_LC1_F20 & SHIFTIN6 # _LC1_F20 & SHIFTIN5; -- Node name is ':41' = 'SHIFTIN6' -- Equation name is 'SHIFTIN6', location is LC7_C22, type is buried. SHIFTIN6 = DFFE( _EQ014, keyboard_clk_filtered, VCC, VCC, VCC); _EQ014 = !_LC1_F19 & SHIFTIN6 # _LC1_F19 & !_LC1_F20 & SHIFTIN7 # _LC1_F20 & SHIFTIN6; -- Node name is ':40' = 'SHIFTIN7' -- Equation name is 'SHIFTIN7', location is LC8_C22, type is buried. SHIFTIN7 = DFFE( _EQ015, keyboard_clk_filtered, VCC, VCC, VCC); _EQ015 = !_LC1_F19 & SHIFTIN7 # _LC1_F19 & !_LC1_F20 & SHIFTIN8 # _LC1_F20 & SHIFTIN7; -- Node name is ':39' = 'SHIFTIN8' -- Equation name is 'SHIFTIN8', location is LC3_C22, type is buried. SHIFTIN8 = DFFE( _EQ016, keyboard_clk_filtered, VCC, VCC, VCC); _EQ016 = keyboard_data & _LC1_F19 & !_LC1_F20 # !_LC1_F19 & SHIFTIN8 # _LC1_F20 & SHIFTIN8; -- Node name is '|LPM_ADD_SUB:440|addcore:adder|:55' from file "addcore.tdf" line 312, column 64 -- Equation name is '_LC3_F19', type is buried _LC3_F19 = LCELL( _EQ017); _EQ017 = INCNT0 & INCNT1; -- Node name is '|LPM_ADD_SUB:440|addcore:adder|:69' from file "addcore.tdf" line 316, column 45 -- Equation name is '_LC6_F19', type is buried _LC6_F19 = LCELL( _EQ018); _EQ018 = !INCNT0 & INCNT3 # !INCNT1 & INCNT3 # !INCNT2 & INCNT3 # INCNT0 & INCNT1 & INCNT2 & !INCNT3; -- Node name is ':6' -- Equation name is '_LC4_C22', type is buried _LC4_C22 = DFFE( _EQ019, keyboard_clk_filtered, VCC, VCC, VCC); _EQ019 = !_LC1_F19 & !_LC1_F20 & SHIFTIN7 # _LC1_F19 & _LC4_C22 # _LC1_F20 & _LC4_C22; -- Node name is ':8' -- Equation name is '_LC2_C22', type is buried _LC2_C22 = DFFE( _EQ020, keyboard_clk_filtered, VCC, VCC, VCC); _EQ020 = !_LC1_F19 & !_LC1_F20 & SHIFTIN6 # _LC1_F19 & _LC2_C22 # _LC1_F20 & _LC2_C22; -- Node name is ':10' -- Equation name is '_LC6_C22', type is buried _LC6_C22 = DFFE( _EQ021, keyboard_clk_filtered, VCC, VCC, VCC); _EQ021 = !_LC1_F19 & !_LC1_F20 & SHIFTIN5 # _LC1_F19 & _LC6_C22 # _LC1_F20 & _LC6_C22; -- Node name is ':12' -- Equation name is '_LC6_C23', type is buried _LC6_C23 = DFFE( _EQ022, keyboard_clk_filtered, VCC, VCC, VCC); _EQ022 = !_LC1_F19 & !_LC1_F20 & SHIFTIN4 # _LC1_F19 & _LC6_C23 # _LC1_F20 & _LC6_C23; -- Node name is ':14' -- Equation name is '_LC2_C15', type is buried _LC2_C15 = DFFE( _EQ023, keyboard_clk_filtered, VCC, VCC, VCC); _EQ023 = !_LC1_F19 & !_LC1_F20 & SHIFTIN3 # _LC1_F19 & _LC2_C15 # _LC1_F20 & _LC2_C15; -- Node name is ':16' -- Equation name is '_LC5_C15', type is buried _LC5_C15 = DFFE( _EQ024, keyboard_clk_filtered, VCC, VCC, VCC); _EQ024 = !_LC1_F19 & !_LC1_F20 & SHIFTIN2 # _LC1_F19 & _LC5_C15 # _LC1_F20 & _LC5_C15; -- Node name is ':18' -- Equation name is '_LC1_C15', type is buried _LC1_C15 = DFFE( _EQ025, keyboard_clk_filtered, VCC, VCC, VCC); _EQ025 = !_LC1_F19 & !_LC1_F20 & SHIFTIN1 # _LC1_C15 & _LC1_F19 # _LC1_C15 & _LC1_F20; -- Node name is ':20' -- Equation name is '_LC8_C15', type is buried _LC8_C15 = DFFE( _EQ026, keyboard_clk_filtered, VCC, VCC, VCC); _EQ026 = !_LC1_F19 & !_LC1_F20 & SHIFTIN0 # _LC1_F19 & _LC8_C15 # _LC1_F20 & _LC8_C15; -- Node name is ':22' -- Equation name is '_LC7_F13', type is buried _LC7_F13 = DFFE( VCC, ready_set, GLOBAL(!read), VCC, VCC); -- Node name is '~216~1' -- Equation name is '~216~1', location is LC4_C13, type is buried. -- synthesized logic cell _LC4_C13 = LCELL( _EQ027); _EQ027 = filter0 & filter5 & filter6 & filter7; -- Node name is '~216~2' -- Equation name is '~216~2', location is LC7_C23, type is buried. -- synthesized logic cell _LC7_C23 = LCELL( _EQ028); _EQ028 = filter2 & filter3 & filter4 & _LC4_C13; -- Node name is '~233~1' -- Equation name is '~233~1', location is LC8_C13, type is buried. -- synthesized logic cell _LC8_C13 = LCELL( _EQ029); _EQ029 = filter0 # filter7 # filter6 # filter5; -- Node name is '~233~2' -- Equation name is '~233~2', location is LC8_C23, type is buried. -- synthesized logic cell _LC8_C23 = LCELL( _EQ030); _EQ030 = _LC8_C13 # filter2 # filter3 # filter4; -- Node name is ':340' -- Equation name is '_LC3_F20', type is buried _LC3_F20 = LCELL( _EQ031); _EQ031 = !keyboard_data & !READ_CHAR; -- Node name is ':357' -- Equation name is '_LC1_F19', type is buried !_LC1_F19 = _LC1_F19~NOT; _LC1_F19~NOT = LCELL( _EQ032); _EQ032 = INCNT2 & INCNT3 # INCNT0 & INCNT3 # INCNT1 & INCNT3; -- Node name is ':824' -- Equation name is '_LC7_F19', type is buried _LC7_F19 = LCELL( _EQ033); _EQ033 = _LC1_F19 & _LC6_F19 & READ_CHAR # INCNT3 & !READ_CHAR; -- Node name is ':830' -- Equation name is '_LC4_F19', type is buried _LC4_F19 = LCELL( _EQ034); _EQ034 = INCNT2 & _LC1_F19 & !_LC3_F19 # !INCNT2 & _LC1_F19 & _LC3_F19 & READ_CHAR # INCNT2 & !READ_CHAR; -- Node name is ':836' -- Equation name is '_LC2_F20', type is buried _LC2_F20 = LCELL( _EQ035); _EQ035 = INCNT0 & !INCNT1 & _LC1_F19 & READ_CHAR # !INCNT0 & INCNT1 & _LC1_F19 # INCNT1 & !READ_CHAR; -- Node name is ':902' -- Equation name is '_LC7_F20', type is buried _LC7_F20 = LCELL( _EQ036); _EQ036 = !_LC1_F19 & READ_CHAR # !READ_CHAR & ready_set; -- Node name is '~1200~1' -- Equation name is '~1200~1', location is LC1_F20, type is buried. -- synthesized logic cell _LC1_F20 = LCELL( _EQ037); _EQ037 = reset # !READ_CHAR # _LC3_F20; -- Node name is '~1232~1' -- Equation name is '~1232~1', location is LC6_F20, type is buried. -- synthesized logic cell _LC6_F20 = LCELL( _EQ038); _EQ038 = !INCNT0 & _LC1_F19 & READ_CHAR # INCNT0 & !READ_CHAR; Project Information c:\booksoft\chap5\keyboard.rpt ** COMPILATION SETTINGS & TIMES ** Processing Menu Commands ------------------------ Design Doctor = off Logic Synthesis: Synthesis Type Used = Multi-Level Default Synthesis Style = NORMAL Logic option settings in 'NORMAL' style for 'FLEX10K' family CARRY_CHAIN = ignore CARRY_CHAIN_LENGTH = 32 CASCADE_CHAIN = ignore CASCADE_CHAIN_LENGTH = 2 DECOMPOSE_GATES = on DUPLICATE_LOGIC_EXTRACTION = on MINIMIZATION = full MULTI_LEVEL_FACTORING = on NOT_GATE_PUSH_BACK = on REDUCE_LOGIC = on REFACTORIZATION = on REGISTER_OPTIMIZATION = on RESYNTHESIZE_NETWORK = on SLOW_SLEW_RATE = off SUBFACTOR_EXTRACTION = on IGNORE_SOFT_BUFFERS = on USE_LPM_FOR_AHDL_OPERATORS = off Other logic synthesis settings: Automatic Global Clock = on Automatic Global Clear = on Automatic Global Preset = on Automatic Global Output Enable = on Automatic Fast I/O = off Automatic Register Packing = off Automatic Open-Drain Pins = on Automatic Implement in EAB = off Optimize = 5 Default Timing Specifications: None Cut All Bidir Feedback Timing Paths = on Cut All Clear & Preset Timing Paths = on Ignore Timing Assignments = off Functional SNF Extractor = off Linked SNF Extractor = off Timing SNF Extractor = on Optimize Timing SNF = off Generate AHDL TDO File = off Fitter Settings = NORMAL Use Quartus Fitter = on Smart Recompile = off Total Recompile = off Interfaces Menu Commands ------------------------ EDIF Netlist Writer = off Verilog Netlist Writer = off VHDL Netlist Writer = off Compilation Times ----------------- Compiler Netlist Extractor 00:00:01 Database Builder 00:00:01 Logic Synthesizer 00:00:00 Partitioner 00:00:00 Fitter 00:00:02 Timing SNF Extractor 00:00:00 Assembler 00:00:00 -------------------------- -------- Total Time 00:00:04 Memory Allocated ----------------- Peak memory allocated during compilation = 16,415K