MODULE Segment_Control TITLE '7_Segment_Control' "#TITLE '7Segment Controller for MT_HW_0037'; "#ENGINEER 'M.Ott & C. Marbach'; "#COMPANY 'R. Bosch GmbH'; "#REVISION 'V000 24.11.06'; "#COMMENT 'GAL26CV12'; DECLARATIONS DIO_01,DIO_02,DIO_03,DIO_04,DIO_05,DIO_06,DIO_07,DIO_08 PIN 2,3,4,5,6,8,9,10; D1_A,D1_B,D1_C,D1_D PIN 27,26,25,24 ISTYPE 'COM'; D2_A,D2_B,D2_C,D2_D PIN 23,22,20,19 ISTYPE 'COM'; D3_A,D3_B,D3_C,D3_D PIN 18,17,16,15 ISTYPE 'COM'; DIO = [ DIO_08, DIO_07, DIO_06, DIO_05, DIO_04, DIO_03, DIO_02, DIO_01 ] ; BCD_1 = [ D1_D, D1_C, D1_B, D1_A ] ; BCD_2 = [ D2_D, D2_C, D2_B, D2_A ] ; BCD_3 = [ D3_D, D3_C, D3_B, D3_A ] ; TRUTH_TABLE ( DIO -> [BCD_3,BCD_2,BCD_1] ) ; 0 -> [ 0, 0, 0 ] ; 1 -> [ 0, 0, 1 ] ; 2 -> [ 0, 0, 2 ] ; 3 -> [ 0, 0, 3 ] ; 4 -> [ 0, 0, 4 ] ; 5 -> [ 0, 0, 5 ] ; 6 -> [ 0, 0, 6 ] ; 7 -> [ 0, 0, 7 ] ; 8 -> [ 0, 0, 8 ] ; 9 -> [ 0, 0, 9 ] ; 10 -> [ 0, 1, 0 ] ; 11 -> [ 0, 1, 1 ] ; 12 -> [ 0, 1, 2 ] ; 13 -> [ 0, 1, 3 ] ; 14 -> [ 0, 1, 4 ] ; 15 -> [ 0, 1, 5 ] ; 16 -> [ 0, 1, 6 ] ; 17 -> [ 0, 1, 7 ] ; 18 -> [ 0, 1, 8 ] ; 19 -> [ 0, 1, 9 ] ; 20 -> [ 0, 2, 0 ] ; 21 -> [ 0, 2, 1 ] ; 22 -> [ 0, 2, 2 ] ; 23 -> [ 0, 2, 3 ] ; 24 -> [ 0, 2, 4 ] ; 25 -> [ 0, 2, 5 ] ; 26 -> [ 0, 2, 6 ] ; 27 -> [ 0, 2, 7 ] ; 28 -> [ 0, 2, 8 ] ; 29 -> [ 0, 2, 9 ] ; 30 -> [ 0, 3, 0 ] ; 31 -> [ 0, 3, 1 ] ; 32 -> [ 0, 3, 2 ] ; 33 -> [ 0, 3, 3 ] ; 34 -> [ 0, 3, 4 ] ; 35 -> [ 0, 3, 5 ] ; 36 -> [ 0, 3, 6 ] ; 37 -> [ 0, 3, 7 ] ; 38 -> [ 0, 3, 8 ] ; 39 -> [ 0, 3, 9 ] ; 40 -> [ 0, 4, 0 ] ; 41 -> [ 0, 4, 1 ] ; 42 -> [ 0, 4, 2 ] ; 43 -> [ 0, 4, 3 ] ; 44 -> [ 0, 4, 4 ] ; 45 -> [ 0, 4, 5 ] ; 46 -> [ 0, 4, 6 ] ; 47 -> [ 0, 4, 7 ] ; 48 -> [ 0, 4, 8 ] ; 49 -> [ 0, 4, 9 ] ; 50 -> [ 0, 5, 0 ] ; 51 -> [ 0, 5, 1 ] ; 52 -> [ 0, 5, 2 ] ; 53 -> [ 0, 5, 3 ] ; 54 -> [ 0, 5, 4 ] ; 55 -> [ 0, 5, 5 ] ; 56 -> [ 0, 5, 6 ] ; 57 -> [ 0, 5, 7 ] ; 58 -> [ 0, 5, 8 ] ; 59 -> [ 0, 5, 9 ] ; 60 -> [ 0, 6, 0 ] ; 61 -> [ 0, 6, 1 ] ; 62 -> [ 0, 6, 2 ] ; 63 -> [ 0, 6, 3 ] ; 64 -> [ 0, 6, 4 ] ; 65 -> [ 0, 6, 5 ] ; 66 -> [ 0, 6, 6 ] ; 67 -> [ 0, 6, 7 ] ; 68 -> [ 0, 6, 8 ] ; 69 -> [ 0, 6, 9 ] ; 70 -> [ 0, 7, 0 ] ; 71 -> [ 0, 7, 1 ] ; 72 -> [ 0, 7, 2 ] ; 73 -> [ 0, 7, 3 ] ; 74 -> [ 0, 7, 4 ] ; 75 -> [ 0, 7, 5 ] ; 76 -> [ 0, 7, 6 ] ; 77 -> [ 0, 7, 7 ] ; 78 -> [ 0, 7, 8 ] ; 79 -> [ 0, 7, 9 ] ; 80 -> [ 0, 8, 0 ] ; 81 -> [ 0, 8, 1 ] ; 82 -> [ 0, 8, 2 ] ; 83 -> [ 0, 8, 3 ] ; 84 -> [ 0, 8, 4 ] ; 85 -> [ 0, 8, 5 ] ; 86 -> [ 0, 8, 6 ] ; 87 -> [ 0, 8, 7 ] ; 88 -> [ 0, 8, 8 ] ; 89 -> [ 0, 8, 9 ] ; 90 -> [ 0, 9, 0 ] ; 91 -> [ 0, 9, 1 ] ; 92 -> [ 0, 9, 2 ] ; 93 -> [ 0, 9, 3 ] ; 94 -> [ 0, 9, 4 ] ; 95 -> [ 0, 9, 5 ] ; 96 -> [ 0, 9, 6 ] ; 97 -> [ 0, 9, 7 ] ; 98 -> [ 0, 9, 8 ] ; 99 -> [ 0, 9, 9 ] ; 100 -> [ 1, 0, 0 ] ; 101 -> [ 1, 0, 1 ] ; 102 -> [ 1, 0, 2 ] ; 103 -> [ 1, 0, 3 ] ; 104 -> [ 1, 0, 4 ] ; 105 -> [ 1, 0, 5 ] ; 106 -> [ 1, 0, 6 ] ; 107 -> [ 1, 0, 7 ] ; 108 -> [ 1, 0, 8 ] ; 109 -> [ 1, 0, 9 ] ; 110 -> [ 1, 1, 0 ] ; 111 -> [ 1, 1, 1 ] ; 112 -> [ 1, 1, 2 ] ; 113 -> [ 1, 1, 3 ] ; 114 -> [ 1, 1, 4 ] ; 115 -> [ 1, 1, 5 ] ; 116 -> [ 1, 1, 6 ] ; 117 -> [ 1, 1, 7 ] ; 118 -> [ 1, 1, 8 ] ; 119 -> [ 1, 1, 9 ] ; 120 -> [ 1, 2, 0 ] ; 121 -> [ 1, 2, 1 ] ; 122 -> [ 1, 2, 2 ] ; 123 -> [ 1, 2, 3 ] ; 124 -> [ 1, 2, 4 ] ; 125 -> [ 1, 2, 5 ] ; 126 -> [ 1, 2, 6 ] ; 127 -> [ 1, 2, 7 ] ; 128 -> [ 1, 2, 8 ] ; 129 -> [ 1, 2, 9 ] ; 130 -> [ 1, 3, 0 ] ; 131 -> [ 1, 3, 1 ] ; 132 -> [ 1, 3, 2 ] ; 133 -> [ 1, 3, 3 ] ; 134 -> [ 1, 3, 4 ] ; 135 -> [ 1, 3, 5 ] ; 136 -> [ 1, 3, 6 ] ; 137 -> [ 1, 3, 7 ] ; 138 -> [ 1, 3, 8 ] ; 139 -> [ 1, 3, 9 ] ; 140 -> [ 1, 4, 0 ] ; 141 -> [ 1, 4, 1 ] ; 142 -> [ 1, 4, 2 ] ; 143 -> [ 1, 4, 3 ] ; 144 -> [ 1, 4, 4 ] ; 145 -> [ 1, 4, 5 ] ; 146 -> [ 1, 4, 6 ] ; 147 -> [ 1, 4, 7 ] ; 148 -> [ 1, 4, 8 ] ; 149 -> [ 1, 4, 9 ] ; 150 -> [ 1, 5, 0 ] ; 151 -> [ 1, 5, 1 ] ; 152 -> [ 1, 5, 2 ] ; 153 -> [ 1, 5, 3 ] ; 154 -> [ 1, 5, 4 ] ; 155 -> [ 1, 5, 5 ] ; 156 -> [ 1, 5, 6 ] ; 157 -> [ 1, 5, 7 ] ; 158 -> [ 1, 5, 8 ] ; 159 -> [ 1, 5, 9 ] ; 160 -> [ 1, 6, 0 ] ; 161 -> [ 1, 6, 1 ] ; 162 -> [ 1, 6, 2 ] ; 163 -> [ 1, 6, 3 ] ; 164 -> [ 1, 6, 4 ] ; 165 -> [ 1, 6, 5 ] ; 166 -> [ 1, 6, 6 ] ; 167 -> [ 1, 6, 7 ] ; 168 -> [ 1, 6, 8 ] ; 169 -> [ 1, 6, 9 ] ; 170 -> [ 1, 7, 0 ] ; 171 -> [ 1, 7, 1 ] ; 172 -> [ 1, 7, 2 ] ; 173 -> [ 1, 7, 3 ] ; 174 -> [ 1, 7, 4 ] ; 175 -> [ 1, 7, 5 ] ; 176 -> [ 1, 7, 6 ] ; 177 -> [ 1, 7, 7 ] ; 178 -> [ 1, 7, 8 ] ; 179 -> [ 1, 7, 9 ] ; 180 -> [ 1, 8, 0 ] ; 181 -> [ 1, 8, 1 ] ; 182 -> [ 1, 8, 2 ] ; 183 -> [ 1, 8, 3 ] ; 184 -> [ 1, 8, 4 ] ; 185 -> [ 1, 8, 5 ] ; 186 -> [ 1, 8, 6 ] ; 187 -> [ 1, 8, 7 ] ; 188 -> [ 1, 8, 8 ] ; 189 -> [ 1, 8, 9 ] ; 190 -> [ 1, 9, 0 ] ; 191 -> [ 1, 9, 1 ] ; 192 -> [ 1, 9, 2 ] ; 193 -> [ 1, 9, 3 ] ; 194 -> [ 1, 9, 4 ] ; 195 -> [ 1, 9, 5 ] ; 196 -> [ 1, 9, 6 ] ; 197 -> [ 1, 9, 7 ] ; 198 -> [ 1, 9, 8 ] ; 199 -> [ 1, 9, 9 ] ; 200 -> [ 2, 0, 0 ] ; 201 -> [ 2, 0, 1 ] ; 202 -> [ 2, 0, 2 ] ; 203 -> [ 2, 0, 3 ] ; 204 -> [ 2, 0, 4 ] ; 205 -> [ 2, 0, 5 ] ; 206 -> [ 2, 0, 6 ] ; 207 -> [ 2, 0, 7 ] ; 208 -> [ 2, 0, 8 ] ; 209 -> [ 2, 0, 9 ] ; 210 -> [ 2, 1, 0 ] ; 211 -> [ 2, 1, 1 ] ; 212 -> [ 2, 1, 2 ] ; 213 -> [ 2, 1, 3 ] ; 214 -> [ 2, 1, 4 ] ; 215 -> [ 2, 1, 5 ] ; 216 -> [ 2, 1, 6 ] ; 217 -> [ 2, 1, 7 ] ; 218 -> [ 2, 1, 8 ] ; 219 -> [ 2, 1, 9 ] ; 220 -> [ 2, 2, 0 ] ; 221 -> [ 2, 2, 1 ] ; 222 -> [ 2, 2, 2 ] ; 223 -> [ 2, 2, 3 ] ; 224 -> [ 2, 2, 4 ] ; 225 -> [ 2, 2, 5 ] ; 226 -> [ 2, 2, 6 ] ; 227 -> [ 2, 2, 7 ] ; 228 -> [ 2, 2, 8 ] ; 229 -> [ 2, 2, 9 ] ; 230 -> [ 2, 3, 0 ] ; 231 -> [ 2, 3, 1 ] ; 232 -> [ 2, 3, 2 ] ; 233 -> [ 2, 3, 3 ] ; 234 -> [ 2, 3, 4 ] ; 235 -> [ 2, 3, 5 ] ; 236 -> [ 2, 3, 6 ] ; 237 -> [ 2, 3, 7 ] ; 238 -> [ 2, 3, 8 ] ; 239 -> [ 2, 3, 9 ] ; 240 -> [ 2, 4, 0 ] ; 241 -> [ 2, 4, 1 ] ; 242 -> [ 2, 4, 2 ] ; 243 -> [ 2, 4, 3 ] ; 244 -> [ 2, 4, 4 ] ; 245 -> [ 2, 4, 5 ] ; 246 -> [ 2, 4, 6 ] ; 247 -> [ 2, 4, 7 ] ; 248 -> [ 2, 4, 8 ] ; 249 -> [ 2, 4, 9 ] ; 250 -> [ 2, 5, 0 ] ; 251 -> [ 2, 5, 1 ] ; 252 -> [ 2, 5, 2 ] ; 253 -> [ 2, 5, 3 ] ; 254 -> [ 2, 5, 4 ] ; 255 -> [ 2, 5, 5 ] ; EQUATIONS " BCD_1 = !DIO_01 ; " D2_A = !DIO_01 ; "CSR = A15 & A14; "CSCAN2 = !(A15 & A14 & A13 & A12 & A11 & A10 & A9 & A8); " "11111111 FF "CSCAN1 = !(A15 & A14 & A13 & A12 & A11 & A10 & A9 & !A8); " "11111110 FE "CSE2 = !(A15 & A14 & A13 & A12 & A11 & A10 & !A9 & !A8); " "11111100 FC "CSE3 = !(A15 & A14 & A13 & A12 & A11 & A10 & !A9 & A8); " "11111101 FD "CSE1 = !(A15 & A14 & A13 & A12 & A11 & !A10 & A9 & A8); " "11111011 FB "CSE2R = !(A15 & A14 & A13 & A12 & A11 & !A10 & A9 & !A8); " "11111010 FA "READY = CSCAN1 & CSCAN2 & CSE2R; "READY = CSCAN1 & CSCAN2; "CSE2R = (!(A15 & A14)) # (A15 & A14 & A13 & A12 & A11); END