From 47665d0ff2ee13848f4b5b2e3a36d7f4e8b08731 Mon Sep 17 00:00:00 2001 From: ymherklotz Date: Sun, 11 Dec 2016 16:37:13 +0000 Subject: updated part 2 --- part_3/ex12/sin_gen_scripts/rom_data.mif | 2064 +++++++++++++++--------------- part_3/ex12/sin_gen_scripts/sinegen.m | 86 +- part_3/ex12/sin_gen_scripts/sinegen.py | 66 +- 3 files changed, 1108 insertions(+), 1108 deletions(-) (limited to 'part_3/ex12/sin_gen_scripts') diff --git a/part_3/ex12/sin_gen_scripts/rom_data.mif b/part_3/ex12/sin_gen_scripts/rom_data.mif index a688b6f..45464a9 100755 --- a/part_3/ex12/sin_gen_scripts/rom_data.mif +++ b/part_3/ex12/sin_gen_scripts/rom_data.mif @@ -1,1032 +1,1032 @@ --- ROM Initialization file -WIDTH = 10; -DEPTH = 1024; -ADDRESS_RADIX = HEX; -DATA_RADIX = HEX; -CONTENT -BEGIN - 0 : 200; - 1 : 203; - 2 : 206; - 3 : 209; - 4 : 20C; - 5 : 20F; - 6 : 212; - 7 : 215; - 8 : 219; - 9 : 21C; - A : 21F; - B : 222; - C : 225; - D : 228; - E : 22B; - F : 22F; - 10 : 232; - 11 : 235; - 12 : 238; - 13 : 23B; - 14 : 23E; - 15 : 241; - 16 : 244; - 17 : 247; - 18 : 24B; - 19 : 24E; - 1A : 251; - 1B : 254; - 1C : 257; - 1D : 25A; - 1E : 25D; - 1F : 260; - 20 : 263; - 21 : 266; - 22 : 269; - 23 : 26D; - 24 : 270; - 25 : 273; - 26 : 276; - 27 : 279; - 28 : 27C; - 29 : 27F; - 2A : 282; - 2B : 285; - 2C : 288; - 2D : 28B; - 2E : 28E; - 2F : 291; - 30 : 294; - 31 : 297; - 32 : 29A; - 33 : 29D; - 34 : 2A0; - 35 : 2A3; - 36 : 2A6; - 37 : 2A9; - 38 : 2AC; - 39 : 2AF; - 3A : 2B2; - 3B : 2B5; - 3C : 2B8; - 3D : 2BB; - 3E : 2BD; - 3F : 2C0; - 40 : 2C3; - 41 : 2C6; - 42 : 2C9; - 43 : 2CC; - 44 : 2CF; - 45 : 2D2; - 46 : 2D5; - 47 : 2D7; - 48 : 2DA; - 49 : 2DD; - 4A : 2E0; - 4B : 2E3; - 4C : 2E5; - 4D : 2E8; - 4E : 2EB; - 4F : 2EE; - 50 : 2F1; - 51 : 2F3; - 52 : 2F6; - 53 : 2F9; - 54 : 2FC; - 55 : 2FE; - 56 : 301; - 57 : 304; - 58 : 306; - 59 : 309; - 5A : 30C; - 5B : 30E; - 5C : 311; - 5D : 314; - 5E : 316; - 5F : 319; - 60 : 31C; - 61 : 31E; - 62 : 321; - 63 : 323; - 64 : 326; - 65 : 329; - 66 : 32B; - 67 : 32E; - 68 : 330; - 69 : 333; - 6A : 335; - 6B : 338; - 6C : 33A; - 6D : 33D; - 6E : 33F; - 6F : 342; - 70 : 344; - 71 : 346; - 72 : 349; - 73 : 34B; - 74 : 34E; - 75 : 350; - 76 : 352; - 77 : 355; - 78 : 357; - 79 : 359; - 7A : 35C; - 7B : 35E; - 7C : 360; - 7D : 362; - 7E : 365; - 7F : 367; - 80 : 369; - 81 : 36B; - 82 : 36E; - 83 : 370; - 84 : 372; - 85 : 374; - 86 : 376; - 87 : 378; - 88 : 37A; - 89 : 37D; - 8A : 37F; - 8B : 381; - 8C : 383; - 8D : 385; - 8E : 387; - 8F : 389; - 90 : 38B; - 91 : 38D; - 92 : 38F; - 93 : 391; - 94 : 393; - 95 : 395; - 96 : 397; - 97 : 398; - 98 : 39A; - 99 : 39C; - 9A : 39E; - 9B : 3A0; - 9C : 3A2; - 9D : 3A3; - 9E : 3A5; - 9F : 3A7; - A0 : 3A9; - A1 : 3AB; - A2 : 3AC; - A3 : 3AE; - A4 : 3B0; - A5 : 3B1; - A6 : 3B3; - A7 : 3B5; - A8 : 3B6; - A9 : 3B8; - AA : 3B9; - AB : 3BB; - AC : 3BD; - AD : 3BE; - AE : 3C0; - AF : 3C1; - B0 : 3C3; - B1 : 3C4; - B2 : 3C6; - B3 : 3C7; - B4 : 3C8; - B5 : 3CA; - B6 : 3CB; - B7 : 3CD; - B8 : 3CE; - B9 : 3CF; - BA : 3D1; - BB : 3D2; - BC : 3D3; - BD : 3D4; - BE : 3D6; - BF : 3D7; - C0 : 3D8; - C1 : 3D9; - C2 : 3DA; - C3 : 3DC; - C4 : 3DD; - C5 : 3DE; - C6 : 3DF; - C7 : 3E0; - C8 : 3E1; - C9 : 3E2; - CA : 3E3; - CB : 3E4; - CC : 3E5; - CD : 3E6; - CE : 3E7; - CF : 3E8; - D0 : 3E9; - D1 : 3EA; - D2 : 3EB; - D3 : 3EC; - D4 : 3EC; - D5 : 3ED; - D6 : 3EE; - D7 : 3EF; - D8 : 3F0; - D9 : 3F0; - DA : 3F1; - DB : 3F2; - DC : 3F3; - DD : 3F3; - DE : 3F4; - DF : 3F5; - E0 : 3F5; - E1 : 3F6; - E2 : 3F6; - E3 : 3F7; - E4 : 3F7; - E5 : 3F8; - E6 : 3F9; - E7 : 3F9; - E8 : 3F9; - E9 : 3FA; - EA : 3FA; - EB : 3FB; - EC : 3FB; - ED : 3FC; - EE : 3FC; - EF : 3FC; - F0 : 3FD; - F1 : 3FD; - F2 : 3FD; - F3 : 3FD; - F4 : 3FE; - F5 : 3FE; - F6 : 3FE; - F7 : 3FE; - F8 : 3FE; - F9 : 3FF; - FA : 3FF; - FB : 3FF; - FC : 3FF; - FD : 3FF; - FE : 3FF; - FF : 3FF; - 100 : 3FF; - 101 : 3FF; - 102 : 3FF; - 103 : 3FF; - 104 : 3FF; - 105 : 3FF; - 106 : 3FF; - 107 : 3FF; - 108 : 3FE; - 109 : 3FE; - 10A : 3FE; - 10B : 3FE; - 10C : 3FE; - 10D : 3FD; - 10E : 3FD; - 10F : 3FD; - 110 : 3FD; - 111 : 3FC; - 112 : 3FC; - 113 : 3FC; - 114 : 3FB; - 115 : 3FB; - 116 : 3FA; - 117 : 3FA; - 118 : 3F9; - 119 : 3F9; - 11A : 3F9; - 11B : 3F8; - 11C : 3F7; - 11D : 3F7; - 11E : 3F6; - 11F : 3F6; - 120 : 3F5; - 121 : 3F5; - 122 : 3F4; - 123 : 3F3; - 124 : 3F3; - 125 : 3F2; - 126 : 3F1; - 127 : 3F0; - 128 : 3F0; - 129 : 3EF; - 12A : 3EE; - 12B : 3ED; - 12C : 3EC; - 12D : 3EC; - 12E : 3EB; - 12F : 3EA; - 130 : 3E9; - 131 : 3E8; - 132 : 3E7; - 133 : 3E6; - 134 : 3E5; - 135 : 3E4; - 136 : 3E3; - 137 : 3E2; - 138 : 3E1; - 139 : 3E0; - 13A : 3DF; - 13B : 3DE; - 13C : 3DD; - 13D : 3DC; - 13E : 3DA; - 13F : 3D9; - 140 : 3D8; - 141 : 3D7; - 142 : 3D6; - 143 : 3D4; - 144 : 3D3; - 145 : 3D2; - 146 : 3D1; - 147 : 3CF; - 148 : 3CE; - 149 : 3CD; - 14A : 3CB; - 14B : 3CA; - 14C : 3C8; - 14D : 3C7; - 14E : 3C6; - 14F : 3C4; - 150 : 3C3; - 151 : 3C1; - 152 : 3C0; - 153 : 3BE; - 154 : 3BD; - 155 : 3BB; - 156 : 3B9; - 157 : 3B8; - 158 : 3B6; - 159 : 3B5; - 15A : 3B3; - 15B : 3B1; - 15C : 3B0; - 15D : 3AE; - 15E : 3AC; - 15F : 3AB; - 160 : 3A9; - 161 : 3A7; - 162 : 3A5; - 163 : 3A3; - 164 : 3A2; - 165 : 3A0; - 166 : 39E; - 167 : 39C; - 168 : 39A; - 169 : 398; - 16A : 397; - 16B : 395; - 16C : 393; - 16D : 391; - 16E : 38F; - 16F : 38D; - 170 : 38B; - 171 : 389; - 172 : 387; - 173 : 385; - 174 : 383; - 175 : 381; - 176 : 37F; - 177 : 37D; - 178 : 37A; - 179 : 378; - 17A : 376; - 17B : 374; - 17C : 372; - 17D : 370; - 17E : 36E; - 17F : 36B; - 180 : 369; - 181 : 367; - 182 : 365; - 183 : 362; - 184 : 360; - 185 : 35E; - 186 : 35C; - 187 : 359; - 188 : 357; - 189 : 355; - 18A : 352; - 18B : 350; - 18C : 34E; - 18D : 34B; - 18E : 349; - 18F : 346; - 190 : 344; - 191 : 342; - 192 : 33F; - 193 : 33D; - 194 : 33A; - 195 : 338; - 196 : 335; - 197 : 333; - 198 : 330; - 199 : 32E; - 19A : 32B; - 19B : 329; - 19C : 326; - 19D : 323; - 19E : 321; - 19F : 31E; - 1A0 : 31C; - 1A1 : 319; - 1A2 : 316; - 1A3 : 314; - 1A4 : 311; - 1A5 : 30E; - 1A6 : 30C; - 1A7 : 309; - 1A8 : 306; - 1A9 : 304; - 1AA : 301; - 1AB : 2FE; - 1AC : 2FC; - 1AD : 2F9; - 1AE : 2F6; - 1AF : 2F3; - 1B0 : 2F1; - 1B1 : 2EE; - 1B2 : 2EB; - 1B3 : 2E8; - 1B4 : 2E5; - 1B5 : 2E3; - 1B6 : 2E0; - 1B7 : 2DD; - 1B8 : 2DA; - 1B9 : 2D7; - 1BA : 2D5; - 1BB : 2D2; - 1BC : 2CF; - 1BD : 2CC; - 1BE : 2C9; - 1BF : 2C6; - 1C0 : 2C3; - 1C1 : 2C0; - 1C2 : 2BD; - 1C3 : 2BB; - 1C4 : 2B8; - 1C5 : 2B5; - 1C6 : 2B2; - 1C7 : 2AF; - 1C8 : 2AC; - 1C9 : 2A9; - 1CA : 2A6; - 1CB : 2A3; - 1CC : 2A0; - 1CD : 29D; - 1CE : 29A; - 1CF : 297; - 1D0 : 294; - 1D1 : 291; - 1D2 : 28E; - 1D3 : 28B; - 1D4 : 288; - 1D5 : 285; - 1D6 : 282; - 1D7 : 27F; - 1D8 : 27C; - 1D9 : 279; - 1DA : 276; - 1DB : 273; - 1DC : 270; - 1DD : 26D; - 1DE : 269; - 1DF : 266; - 1E0 : 263; - 1E1 : 260; - 1E2 : 25D; - 1E3 : 25A; - 1E4 : 257; - 1E5 : 254; - 1E6 : 251; - 1E7 : 24E; - 1E8 : 24B; - 1E9 : 247; - 1EA : 244; - 1EB : 241; - 1EC : 23E; - 1ED : 23B; - 1EE : 238; - 1EF : 235; - 1F0 : 232; - 1F1 : 22F; - 1F2 : 22B; - 1F3 : 228; - 1F4 : 225; - 1F5 : 222; - 1F6 : 21F; - 1F7 : 21C; - 1F8 : 219; - 1F9 : 215; - 1FA : 212; - 1FB : 20F; - 1FC : 20C; - 1FD : 209; - 1FE : 206; - 1FF : 203; - 200 : 200; - 201 : 1FC; - 202 : 1F9; - 203 : 1F6; - 204 : 1F3; - 205 : 1F0; - 206 : 1ED; - 207 : 1EA; - 208 : 1E6; - 209 : 1E3; - 20A : 1E0; - 20B : 1DD; - 20C : 1DA; - 20D : 1D7; - 20E : 1D4; - 20F : 1D0; - 210 : 1CD; - 211 : 1CA; - 212 : 1C7; - 213 : 1C4; - 214 : 1C1; - 215 : 1BE; - 216 : 1BB; - 217 : 1B8; - 218 : 1B4; - 219 : 1B1; - 21A : 1AE; - 21B : 1AB; - 21C : 1A8; - 21D : 1A5; - 21E : 1A2; - 21F : 19F; - 220 : 19C; - 221 : 199; - 222 : 196; - 223 : 192; - 224 : 18F; - 225 : 18C; - 226 : 189; - 227 : 186; - 228 : 183; - 229 : 180; - 22A : 17D; - 22B : 17A; - 22C : 177; - 22D : 174; - 22E : 171; - 22F : 16E; - 230 : 16B; - 231 : 168; - 232 : 165; - 233 : 162; - 234 : 15F; - 235 : 15C; - 236 : 159; - 237 : 156; - 238 : 153; - 239 : 150; - 23A : 14D; - 23B : 14A; - 23C : 147; - 23D : 144; - 23E : 142; - 23F : 13F; - 240 : 13C; - 241 : 139; - 242 : 136; - 243 : 133; - 244 : 130; - 245 : 12D; - 246 : 12A; - 247 : 128; - 248 : 125; - 249 : 122; - 24A : 11F; - 24B : 11C; - 24C : 11A; - 24D : 117; - 24E : 114; - 24F : 111; - 250 : 10E; - 251 : 10C; - 252 : 109; - 253 : 106; - 254 : 103; - 255 : 101; - 256 : FE; - 257 : FB; - 258 : F9; - 259 : F6; - 25A : F3; - 25B : F1; - 25C : EE; - 25D : EB; - 25E : E9; - 25F : E6; - 260 : E3; - 261 : E1; - 262 : DE; - 263 : DC; - 264 : D9; - 265 : D6; - 266 : D4; - 267 : D1; - 268 : CF; - 269 : CC; - 26A : CA; - 26B : C7; - 26C : C5; - 26D : C2; - 26E : C0; - 26F : BD; - 270 : BB; - 271 : B9; - 272 : B6; - 273 : B4; - 274 : B1; - 275 : AF; - 276 : AD; - 277 : AA; - 278 : A8; - 279 : A6; - 27A : A3; - 27B : A1; - 27C : 9F; - 27D : 9D; - 27E : 9A; - 27F : 98; - 280 : 96; - 281 : 94; - 282 : 91; - 283 : 8F; - 284 : 8D; - 285 : 8B; - 286 : 89; - 287 : 87; - 288 : 85; - 289 : 82; - 28A : 80; - 28B : 7E; - 28C : 7C; - 28D : 7A; - 28E : 78; - 28F : 76; - 290 : 74; - 291 : 72; - 292 : 70; - 293 : 6E; - 294 : 6C; - 295 : 6A; - 296 : 68; - 297 : 67; - 298 : 65; - 299 : 63; - 29A : 61; - 29B : 5F; - 29C : 5D; - 29D : 5C; - 29E : 5A; - 29F : 58; - 2A0 : 56; - 2A1 : 54; - 2A2 : 53; - 2A3 : 51; - 2A4 : 4F; - 2A5 : 4E; - 2A6 : 4C; - 2A7 : 4A; - 2A8 : 49; - 2A9 : 47; - 2AA : 46; - 2AB : 44; - 2AC : 42; - 2AD : 41; - 2AE : 3F; - 2AF : 3E; - 2B0 : 3C; - 2B1 : 3B; - 2B2 : 39; - 2B3 : 38; - 2B4 : 37; - 2B5 : 35; - 2B6 : 34; - 2B7 : 32; - 2B8 : 31; - 2B9 : 30; - 2BA : 2E; - 2BB : 2D; - 2BC : 2C; - 2BD : 2B; - 2BE : 29; - 2BF : 28; - 2C0 : 27; - 2C1 : 26; - 2C2 : 25; - 2C3 : 23; - 2C4 : 22; - 2C5 : 21; - 2C6 : 20; - 2C7 : 1F; - 2C8 : 1E; - 2C9 : 1D; - 2CA : 1C; - 2CB : 1B; - 2CC : 1A; - 2CD : 19; - 2CE : 18; - 2CF : 17; - 2D0 : 16; - 2D1 : 15; - 2D2 : 14; - 2D3 : 13; - 2D4 : 13; - 2D5 : 12; - 2D6 : 11; - 2D7 : 10; - 2D8 : F; - 2D9 : F; - 2DA : E; - 2DB : D; - 2DC : C; - 2DD : C; - 2DE : B; - 2DF : A; - 2E0 : A; - 2E1 : 9; - 2E2 : 9; - 2E3 : 8; - 2E4 : 8; - 2E5 : 7; - 2E6 : 6; - 2E7 : 6; - 2E8 : 6; - 2E9 : 5; - 2EA : 5; - 2EB : 4; - 2EC : 4; - 2ED : 3; - 2EE : 3; - 2EF : 3; - 2F0 : 2; - 2F1 : 2; - 2F2 : 2; - 2F3 : 2; - 2F4 : 1; - 2F5 : 1; - 2F6 : 1; - 2F7 : 1; - 2F8 : 1; - 2F9 : 0; - 2FA : 0; - 2FB : 0; - 2FC : 0; - 2FD : 0; - 2FE : 0; - 2FF : 0; - 300 : 0; - 301 : 0; - 302 : 0; - 303 : 0; - 304 : 0; - 305 : 0; - 306 : 0; - 307 : 0; - 308 : 1; - 309 : 1; - 30A : 1; - 30B : 1; - 30C : 1; - 30D : 2; - 30E : 2; - 30F : 2; - 310 : 2; - 311 : 3; - 312 : 3; - 313 : 3; - 314 : 4; - 315 : 4; - 316 : 5; - 317 : 5; - 318 : 6; - 319 : 6; - 31A : 6; - 31B : 7; - 31C : 8; - 31D : 8; - 31E : 9; - 31F : 9; - 320 : A; - 321 : A; - 322 : B; - 323 : C; - 324 : C; - 325 : D; - 326 : E; - 327 : F; - 328 : F; - 329 : 10; - 32A : 11; - 32B : 12; - 32C : 13; - 32D : 13; - 32E : 14; - 32F : 15; - 330 : 16; - 331 : 17; - 332 : 18; - 333 : 19; - 334 : 1A; - 335 : 1B; - 336 : 1C; - 337 : 1D; - 338 : 1E; - 339 : 1F; - 33A : 20; - 33B : 21; - 33C : 22; - 33D : 23; - 33E : 25; - 33F : 26; - 340 : 27; - 341 : 28; - 342 : 29; - 343 : 2B; - 344 : 2C; - 345 : 2D; - 346 : 2E; - 347 : 30; - 348 : 31; - 349 : 32; - 34A : 34; - 34B : 35; - 34C : 37; - 34D : 38; - 34E : 39; - 34F : 3B; - 350 : 3C; - 351 : 3E; - 352 : 3F; - 353 : 41; - 354 : 42; - 355 : 44; - 356 : 46; - 357 : 47; - 358 : 49; - 359 : 4A; - 35A : 4C; - 35B : 4E; - 35C : 4F; - 35D : 51; - 35E : 53; - 35F : 54; - 360 : 56; - 361 : 58; - 362 : 5A; - 363 : 5C; - 364 : 5D; - 365 : 5F; - 366 : 61; - 367 : 63; - 368 : 65; - 369 : 67; - 36A : 68; - 36B : 6A; - 36C : 6C; - 36D : 6E; - 36E : 70; - 36F : 72; - 370 : 74; - 371 : 76; - 372 : 78; - 373 : 7A; - 374 : 7C; - 375 : 7E; - 376 : 80; - 377 : 82; - 378 : 85; - 379 : 87; - 37A : 89; - 37B : 8B; - 37C : 8D; - 37D : 8F; - 37E : 91; - 37F : 94; - 380 : 96; - 381 : 98; - 382 : 9A; - 383 : 9D; - 384 : 9F; - 385 : A1; - 386 : A3; - 387 : A6; - 388 : A8; - 389 : AA; - 38A : AD; - 38B : AF; - 38C : B1; - 38D : B4; - 38E : B6; - 38F : B9; - 390 : BB; - 391 : BD; - 392 : C0; - 393 : C2; - 394 : C5; - 395 : C7; - 396 : CA; - 397 : CC; - 398 : CF; - 399 : D1; - 39A : D4; - 39B : D6; - 39C : D9; - 39D : DC; - 39E : DE; - 39F : E1; - 3A0 : E3; - 3A1 : E6; - 3A2 : E9; - 3A3 : EB; - 3A4 : EE; - 3A5 : F1; - 3A6 : F3; - 3A7 : F6; - 3A8 : F9; - 3A9 : FB; - 3AA : FE; - 3AB : 101; - 3AC : 103; - 3AD : 106; - 3AE : 109; - 3AF : 10C; - 3B0 : 10E; - 3B1 : 111; - 3B2 : 114; - 3B3 : 117; - 3B4 : 11A; - 3B5 : 11C; - 3B6 : 11F; - 3B7 : 122; - 3B8 : 125; - 3B9 : 128; - 3BA : 12A; - 3BB : 12D; - 3BC : 130; - 3BD : 133; - 3BE : 136; - 3BF : 139; - 3C0 : 13C; - 3C1 : 13F; - 3C2 : 142; - 3C3 : 144; - 3C4 : 147; - 3C5 : 14A; - 3C6 : 14D; - 3C7 : 150; - 3C8 : 153; - 3C9 : 156; - 3CA : 159; - 3CB : 15C; - 3CC : 15F; - 3CD : 162; - 3CE : 165; - 3CF : 168; - 3D0 : 16B; - 3D1 : 16E; - 3D2 : 171; - 3D3 : 174; - 3D4 : 177; - 3D5 : 17A; - 3D6 : 17D; - 3D7 : 180; - 3D8 : 183; - 3D9 : 186; - 3DA : 189; - 3DB : 18C; - 3DC : 18F; - 3DD : 192; - 3DE : 196; - 3DF : 199; - 3E0 : 19C; - 3E1 : 19F; - 3E2 : 1A2; - 3E3 : 1A5; - 3E4 : 1A8; - 3E5 : 1AB; - 3E6 : 1AE; - 3E7 : 1B1; - 3E8 : 1B4; - 3E9 : 1B8; - 3EA : 1BB; - 3EB : 1BE; - 3EC : 1C1; - 3ED : 1C4; - 3EE : 1C7; - 3EF : 1CA; - 3F0 : 1CD; - 3F1 : 1D0; - 3F2 : 1D4; - 3F3 : 1D7; - 3F4 : 1DA; - 3F5 : 1DD; - 3F6 : 1E0; - 3F7 : 1E3; - 3F8 : 1E6; - 3F9 : 1EA; - 3FA : 1ED; - 3FB : 1F0; - 3FC : 1F3; - 3FD : 1F6; - 3FE : 1F9; - 3FF : 1FC; -END +-- ROM Initialization file +WIDTH = 10; +DEPTH = 1024; +ADDRESS_RADIX = HEX; +DATA_RADIX = HEX; +CONTENT +BEGIN + 0 : 200; + 1 : 203; + 2 : 206; + 3 : 209; + 4 : 20C; + 5 : 20F; + 6 : 212; + 7 : 215; + 8 : 219; + 9 : 21C; + A : 21F; + B : 222; + C : 225; + D : 228; + E : 22B; + F : 22F; + 10 : 232; + 11 : 235; + 12 : 238; + 13 : 23B; + 14 : 23E; + 15 : 241; + 16 : 244; + 17 : 247; + 18 : 24B; + 19 : 24E; + 1A : 251; + 1B : 254; + 1C : 257; + 1D : 25A; + 1E : 25D; + 1F : 260; + 20 : 263; + 21 : 266; + 22 : 269; + 23 : 26D; + 24 : 270; + 25 : 273; + 26 : 276; + 27 : 279; + 28 : 27C; + 29 : 27F; + 2A : 282; + 2B : 285; + 2C : 288; + 2D : 28B; + 2E : 28E; + 2F : 291; + 30 : 294; + 31 : 297; + 32 : 29A; + 33 : 29D; + 34 : 2A0; + 35 : 2A3; + 36 : 2A6; + 37 : 2A9; + 38 : 2AC; + 39 : 2AF; + 3A : 2B2; + 3B : 2B5; + 3C : 2B8; + 3D : 2BB; + 3E : 2BD; + 3F : 2C0; + 40 : 2C3; + 41 : 2C6; + 42 : 2C9; + 43 : 2CC; + 44 : 2CF; + 45 : 2D2; + 46 : 2D5; + 47 : 2D7; + 48 : 2DA; + 49 : 2DD; + 4A : 2E0; + 4B : 2E3; + 4C : 2E5; + 4D : 2E8; + 4E : 2EB; + 4F : 2EE; + 50 : 2F1; + 51 : 2F3; + 52 : 2F6; + 53 : 2F9; + 54 : 2FC; + 55 : 2FE; + 56 : 301; + 57 : 304; + 58 : 306; + 59 : 309; + 5A : 30C; + 5B : 30E; + 5C : 311; + 5D : 314; + 5E : 316; + 5F : 319; + 60 : 31C; + 61 : 31E; + 62 : 321; + 63 : 323; + 64 : 326; + 65 : 329; + 66 : 32B; + 67 : 32E; + 68 : 330; + 69 : 333; + 6A : 335; + 6B : 338; + 6C : 33A; + 6D : 33D; + 6E : 33F; + 6F : 342; + 70 : 344; + 71 : 346; + 72 : 349; + 73 : 34B; + 74 : 34E; + 75 : 350; + 76 : 352; + 77 : 355; + 78 : 357; + 79 : 359; + 7A : 35C; + 7B : 35E; + 7C : 360; + 7D : 362; + 7E : 365; + 7F : 367; + 80 : 369; + 81 : 36B; + 82 : 36E; + 83 : 370; + 84 : 372; + 85 : 374; + 86 : 376; + 87 : 378; + 88 : 37A; + 89 : 37D; + 8A : 37F; + 8B : 381; + 8C : 383; + 8D : 385; + 8E : 387; + 8F : 389; + 90 : 38B; + 91 : 38D; + 92 : 38F; + 93 : 391; + 94 : 393; + 95 : 395; + 96 : 397; + 97 : 398; + 98 : 39A; + 99 : 39C; + 9A : 39E; + 9B : 3A0; + 9C : 3A2; + 9D : 3A3; + 9E : 3A5; + 9F : 3A7; + A0 : 3A9; + A1 : 3AB; + A2 : 3AC; + A3 : 3AE; + A4 : 3B0; + A5 : 3B1; + A6 : 3B3; + A7 : 3B5; + A8 : 3B6; + A9 : 3B8; + AA : 3B9; + AB : 3BB; + AC : 3BD; + AD : 3BE; + AE : 3C0; + AF : 3C1; + B0 : 3C3; + B1 : 3C4; + B2 : 3C6; + B3 : 3C7; + B4 : 3C8; + B5 : 3CA; + B6 : 3CB; + B7 : 3CD; + B8 : 3CE; + B9 : 3CF; + BA : 3D1; + BB : 3D2; + BC : 3D3; + BD : 3D4; + BE : 3D6; + BF : 3D7; + C0 : 3D8; + C1 : 3D9; + C2 : 3DA; + C3 : 3DC; + C4 : 3DD; + C5 : 3DE; + C6 : 3DF; + C7 : 3E0; + C8 : 3E1; + C9 : 3E2; + CA : 3E3; + CB : 3E4; + CC : 3E5; + CD : 3E6; + CE : 3E7; + CF : 3E8; + D0 : 3E9; + D1 : 3EA; + D2 : 3EB; + D3 : 3EC; + D4 : 3EC; + D5 : 3ED; + D6 : 3EE; + D7 : 3EF; + D8 : 3F0; + D9 : 3F0; + DA : 3F1; + DB : 3F2; + DC : 3F3; + DD : 3F3; + DE : 3F4; + DF : 3F5; + E0 : 3F5; + E1 : 3F6; + E2 : 3F6; + E3 : 3F7; + E4 : 3F7; + E5 : 3F8; + E6 : 3F9; + E7 : 3F9; + E8 : 3F9; + E9 : 3FA; + EA : 3FA; + EB : 3FB; + EC : 3FB; + ED : 3FC; + EE : 3FC; + EF : 3FC; + F0 : 3FD; + F1 : 3FD; + F2 : 3FD; + F3 : 3FD; + F4 : 3FE; + F5 : 3FE; + F6 : 3FE; + F7 : 3FE; + F8 : 3FE; + F9 : 3FF; + FA : 3FF; + FB : 3FF; + FC : 3FF; + FD : 3FF; + FE : 3FF; + FF : 3FF; + 100 : 3FF; + 101 : 3FF; + 102 : 3FF; + 103 : 3FF; + 104 : 3FF; + 105 : 3FF; + 106 : 3FF; + 107 : 3FF; + 108 : 3FE; + 109 : 3FE; + 10A : 3FE; + 10B : 3FE; + 10C : 3FE; + 10D : 3FD; + 10E : 3FD; + 10F : 3FD; + 110 : 3FD; + 111 : 3FC; + 112 : 3FC; + 113 : 3FC; + 114 : 3FB; + 115 : 3FB; + 116 : 3FA; + 117 : 3FA; + 118 : 3F9; + 119 : 3F9; + 11A : 3F9; + 11B : 3F8; + 11C : 3F7; + 11D : 3F7; + 11E : 3F6; + 11F : 3F6; + 120 : 3F5; + 121 : 3F5; + 122 : 3F4; + 123 : 3F3; + 124 : 3F3; + 125 : 3F2; + 126 : 3F1; + 127 : 3F0; + 128 : 3F0; + 129 : 3EF; + 12A : 3EE; + 12B : 3ED; + 12C : 3EC; + 12D : 3EC; + 12E : 3EB; + 12F : 3EA; + 130 : 3E9; + 131 : 3E8; + 132 : 3E7; + 133 : 3E6; + 134 : 3E5; + 135 : 3E4; + 136 : 3E3; + 137 : 3E2; + 138 : 3E1; + 139 : 3E0; + 13A : 3DF; + 13B : 3DE; + 13C : 3DD; + 13D : 3DC; + 13E : 3DA; + 13F : 3D9; + 140 : 3D8; + 141 : 3D7; + 142 : 3D6; + 143 : 3D4; + 144 : 3D3; + 145 : 3D2; + 146 : 3D1; + 147 : 3CF; + 148 : 3CE; + 149 : 3CD; + 14A : 3CB; + 14B : 3CA; + 14C : 3C8; + 14D : 3C7; + 14E : 3C6; + 14F : 3C4; + 150 : 3C3; + 151 : 3C1; + 152 : 3C0; + 153 : 3BE; + 154 : 3BD; + 155 : 3BB; + 156 : 3B9; + 157 : 3B8; + 158 : 3B6; + 159 : 3B5; + 15A : 3B3; + 15B : 3B1; + 15C : 3B0; + 15D : 3AE; + 15E : 3AC; + 15F : 3AB; + 160 : 3A9; + 161 : 3A7; + 162 : 3A5; + 163 : 3A3; + 164 : 3A2; + 165 : 3A0; + 166 : 39E; + 167 : 39C; + 168 : 39A; + 169 : 398; + 16A : 397; + 16B : 395; + 16C : 393; + 16D : 391; + 16E : 38F; + 16F : 38D; + 170 : 38B; + 171 : 389; + 172 : 387; + 173 : 385; + 174 : 383; + 175 : 381; + 176 : 37F; + 177 : 37D; + 178 : 37A; + 179 : 378; + 17A : 376; + 17B : 374; + 17C : 372; + 17D : 370; + 17E : 36E; + 17F : 36B; + 180 : 369; + 181 : 367; + 182 : 365; + 183 : 362; + 184 : 360; + 185 : 35E; + 186 : 35C; + 187 : 359; + 188 : 357; + 189 : 355; + 18A : 352; + 18B : 350; + 18C : 34E; + 18D : 34B; + 18E : 349; + 18F : 346; + 190 : 344; + 191 : 342; + 192 : 33F; + 193 : 33D; + 194 : 33A; + 195 : 338; + 196 : 335; + 197 : 333; + 198 : 330; + 199 : 32E; + 19A : 32B; + 19B : 329; + 19C : 326; + 19D : 323; + 19E : 321; + 19F : 31E; + 1A0 : 31C; + 1A1 : 319; + 1A2 : 316; + 1A3 : 314; + 1A4 : 311; + 1A5 : 30E; + 1A6 : 30C; + 1A7 : 309; + 1A8 : 306; + 1A9 : 304; + 1AA : 301; + 1AB : 2FE; + 1AC : 2FC; + 1AD : 2F9; + 1AE : 2F6; + 1AF : 2F3; + 1B0 : 2F1; + 1B1 : 2EE; + 1B2 : 2EB; + 1B3 : 2E8; + 1B4 : 2E5; + 1B5 : 2E3; + 1B6 : 2E0; + 1B7 : 2DD; + 1B8 : 2DA; + 1B9 : 2D7; + 1BA : 2D5; + 1BB : 2D2; + 1BC : 2CF; + 1BD : 2CC; + 1BE : 2C9; + 1BF : 2C6; + 1C0 : 2C3; + 1C1 : 2C0; + 1C2 : 2BD; + 1C3 : 2BB; + 1C4 : 2B8; + 1C5 : 2B5; + 1C6 : 2B2; + 1C7 : 2AF; + 1C8 : 2AC; + 1C9 : 2A9; + 1CA : 2A6; + 1CB : 2A3; + 1CC : 2A0; + 1CD : 29D; + 1CE : 29A; + 1CF : 297; + 1D0 : 294; + 1D1 : 291; + 1D2 : 28E; + 1D3 : 28B; + 1D4 : 288; + 1D5 : 285; + 1D6 : 282; + 1D7 : 27F; + 1D8 : 27C; + 1D9 : 279; + 1DA : 276; + 1DB : 273; + 1DC : 270; + 1DD : 26D; + 1DE : 269; + 1DF : 266; + 1E0 : 263; + 1E1 : 260; + 1E2 : 25D; + 1E3 : 25A; + 1E4 : 257; + 1E5 : 254; + 1E6 : 251; + 1E7 : 24E; + 1E8 : 24B; + 1E9 : 247; + 1EA : 244; + 1EB : 241; + 1EC : 23E; + 1ED : 23B; + 1EE : 238; + 1EF : 235; + 1F0 : 232; + 1F1 : 22F; + 1F2 : 22B; + 1F3 : 228; + 1F4 : 225; + 1F5 : 222; + 1F6 : 21F; + 1F7 : 21C; + 1F8 : 219; + 1F9 : 215; + 1FA : 212; + 1FB : 20F; + 1FC : 20C; + 1FD : 209; + 1FE : 206; + 1FF : 203; + 200 : 200; + 201 : 1FC; + 202 : 1F9; + 203 : 1F6; + 204 : 1F3; + 205 : 1F0; + 206 : 1ED; + 207 : 1EA; + 208 : 1E6; + 209 : 1E3; + 20A : 1E0; + 20B : 1DD; + 20C : 1DA; + 20D : 1D7; + 20E : 1D4; + 20F : 1D0; + 210 : 1CD; + 211 : 1CA; + 212 : 1C7; + 213 : 1C4; + 214 : 1C1; + 215 : 1BE; + 216 : 1BB; + 217 : 1B8; + 218 : 1B4; + 219 : 1B1; + 21A : 1AE; + 21B : 1AB; + 21C : 1A8; + 21D : 1A5; + 21E : 1A2; + 21F : 19F; + 220 : 19C; + 221 : 199; + 222 : 196; + 223 : 192; + 224 : 18F; + 225 : 18C; + 226 : 189; + 227 : 186; + 228 : 183; + 229 : 180; + 22A : 17D; + 22B : 17A; + 22C : 177; + 22D : 174; + 22E : 171; + 22F : 16E; + 230 : 16B; + 231 : 168; + 232 : 165; + 233 : 162; + 234 : 15F; + 235 : 15C; + 236 : 159; + 237 : 156; + 238 : 153; + 239 : 150; + 23A : 14D; + 23B : 14A; + 23C : 147; + 23D : 144; + 23E : 142; + 23F : 13F; + 240 : 13C; + 241 : 139; + 242 : 136; + 243 : 133; + 244 : 130; + 245 : 12D; + 246 : 12A; + 247 : 128; + 248 : 125; + 249 : 122; + 24A : 11F; + 24B : 11C; + 24C : 11A; + 24D : 117; + 24E : 114; + 24F : 111; + 250 : 10E; + 251 : 10C; + 252 : 109; + 253 : 106; + 254 : 103; + 255 : 101; + 256 : FE; + 257 : FB; + 258 : F9; + 259 : F6; + 25A : F3; + 25B : F1; + 25C : EE; + 25D : EB; + 25E : E9; + 25F : E6; + 260 : E3; + 261 : E1; + 262 : DE; + 263 : DC; + 264 : D9; + 265 : D6; + 266 : D4; + 267 : D1; + 268 : CF; + 269 : CC; + 26A : CA; + 26B : C7; + 26C : C5; + 26D : C2; + 26E : C0; + 26F : BD; + 270 : BB; + 271 : B9; + 272 : B6; + 273 : B4; + 274 : B1; + 275 : AF; + 276 : AD; + 277 : AA; + 278 : A8; + 279 : A6; + 27A : A3; + 27B : A1; + 27C : 9F; + 27D : 9D; + 27E : 9A; + 27F : 98; + 280 : 96; + 281 : 94; + 282 : 91; + 283 : 8F; + 284 : 8D; + 285 : 8B; + 286 : 89; + 287 : 87; + 288 : 85; + 289 : 82; + 28A : 80; + 28B : 7E; + 28C : 7C; + 28D : 7A; + 28E : 78; + 28F : 76; + 290 : 74; + 291 : 72; + 292 : 70; + 293 : 6E; + 294 : 6C; + 295 : 6A; + 296 : 68; + 297 : 67; + 298 : 65; + 299 : 63; + 29A : 61; + 29B : 5F; + 29C : 5D; + 29D : 5C; + 29E : 5A; + 29F : 58; + 2A0 : 56; + 2A1 : 54; + 2A2 : 53; + 2A3 : 51; + 2A4 : 4F; + 2A5 : 4E; + 2A6 : 4C; + 2A7 : 4A; + 2A8 : 49; + 2A9 : 47; + 2AA : 46; + 2AB : 44; + 2AC : 42; + 2AD : 41; + 2AE : 3F; + 2AF : 3E; + 2B0 : 3C; + 2B1 : 3B; + 2B2 : 39; + 2B3 : 38; + 2B4 : 37; + 2B5 : 35; + 2B6 : 34; + 2B7 : 32; + 2B8 : 31; + 2B9 : 30; + 2BA : 2E; + 2BB : 2D; + 2BC : 2C; + 2BD : 2B; + 2BE : 29; + 2BF : 28; + 2C0 : 27; + 2C1 : 26; + 2C2 : 25; + 2C3 : 23; + 2C4 : 22; + 2C5 : 21; + 2C6 : 20; + 2C7 : 1F; + 2C8 : 1E; + 2C9 : 1D; + 2CA : 1C; + 2CB : 1B; + 2CC : 1A; + 2CD : 19; + 2CE : 18; + 2CF : 17; + 2D0 : 16; + 2D1 : 15; + 2D2 : 14; + 2D3 : 13; + 2D4 : 13; + 2D5 : 12; + 2D6 : 11; + 2D7 : 10; + 2D8 : F; + 2D9 : F; + 2DA : E; + 2DB : D; + 2DC : C; + 2DD : C; + 2DE : B; + 2DF : A; + 2E0 : A; + 2E1 : 9; + 2E2 : 9; + 2E3 : 8; + 2E4 : 8; + 2E5 : 7; + 2E6 : 6; + 2E7 : 6; + 2E8 : 6; + 2E9 : 5; + 2EA : 5; + 2EB : 4; + 2EC : 4; + 2ED : 3; + 2EE : 3; + 2EF : 3; + 2F0 : 2; + 2F1 : 2; + 2F2 : 2; + 2F3 : 2; + 2F4 : 1; + 2F5 : 1; + 2F6 : 1; + 2F7 : 1; + 2F8 : 1; + 2F9 : 0; + 2FA : 0; + 2FB : 0; + 2FC : 0; + 2FD : 0; + 2FE : 0; + 2FF : 0; + 300 : 0; + 301 : 0; + 302 : 0; + 303 : 0; + 304 : 0; + 305 : 0; + 306 : 0; + 307 : 0; + 308 : 1; + 309 : 1; + 30A : 1; + 30B : 1; + 30C : 1; + 30D : 2; + 30E : 2; + 30F : 2; + 310 : 2; + 311 : 3; + 312 : 3; + 313 : 3; + 314 : 4; + 315 : 4; + 316 : 5; + 317 : 5; + 318 : 6; + 319 : 6; + 31A : 6; + 31B : 7; + 31C : 8; + 31D : 8; + 31E : 9; + 31F : 9; + 320 : A; + 321 : A; + 322 : B; + 323 : C; + 324 : C; + 325 : D; + 326 : E; + 327 : F; + 328 : F; + 329 : 10; + 32A : 11; + 32B : 12; + 32C : 13; + 32D : 13; + 32E : 14; + 32F : 15; + 330 : 16; + 331 : 17; + 332 : 18; + 333 : 19; + 334 : 1A; + 335 : 1B; + 336 : 1C; + 337 : 1D; + 338 : 1E; + 339 : 1F; + 33A : 20; + 33B : 21; + 33C : 22; + 33D : 23; + 33E : 25; + 33F : 26; + 340 : 27; + 341 : 28; + 342 : 29; + 343 : 2B; + 344 : 2C; + 345 : 2D; + 346 : 2E; + 347 : 30; + 348 : 31; + 349 : 32; + 34A : 34; + 34B : 35; + 34C : 37; + 34D : 38; + 34E : 39; + 34F : 3B; + 350 : 3C; + 351 : 3E; + 352 : 3F; + 353 : 41; + 354 : 42; + 355 : 44; + 356 : 46; + 357 : 47; + 358 : 49; + 359 : 4A; + 35A : 4C; + 35B : 4E; + 35C : 4F; + 35D : 51; + 35E : 53; + 35F : 54; + 360 : 56; + 361 : 58; + 362 : 5A; + 363 : 5C; + 364 : 5D; + 365 : 5F; + 366 : 61; + 367 : 63; + 368 : 65; + 369 : 67; + 36A : 68; + 36B : 6A; + 36C : 6C; + 36D : 6E; + 36E : 70; + 36F : 72; + 370 : 74; + 371 : 76; + 372 : 78; + 373 : 7A; + 374 : 7C; + 375 : 7E; + 376 : 80; + 377 : 82; + 378 : 85; + 379 : 87; + 37A : 89; + 37B : 8B; + 37C : 8D; + 37D : 8F; + 37E : 91; + 37F : 94; + 380 : 96; + 381 : 98; + 382 : 9A; + 383 : 9D; + 384 : 9F; + 385 : A1; + 386 : A3; + 387 : A6; + 388 : A8; + 389 : AA; + 38A : AD; + 38B : AF; + 38C : B1; + 38D : B4; + 38E : B6; + 38F : B9; + 390 : BB; + 391 : BD; + 392 : C0; + 393 : C2; + 394 : C5; + 395 : C7; + 396 : CA; + 397 : CC; + 398 : CF; + 399 : D1; + 39A : D4; + 39B : D6; + 39C : D9; + 39D : DC; + 39E : DE; + 39F : E1; + 3A0 : E3; + 3A1 : E6; + 3A2 : E9; + 3A3 : EB; + 3A4 : EE; + 3A5 : F1; + 3A6 : F3; + 3A7 : F6; + 3A8 : F9; + 3A9 : FB; + 3AA : FE; + 3AB : 101; + 3AC : 103; + 3AD : 106; + 3AE : 109; + 3AF : 10C; + 3B0 : 10E; + 3B1 : 111; + 3B2 : 114; + 3B3 : 117; + 3B4 : 11A; + 3B5 : 11C; + 3B6 : 11F; + 3B7 : 122; + 3B8 : 125; + 3B9 : 128; + 3BA : 12A; + 3BB : 12D; + 3BC : 130; + 3BD : 133; + 3BE : 136; + 3BF : 139; + 3C0 : 13C; + 3C1 : 13F; + 3C2 : 142; + 3C3 : 144; + 3C4 : 147; + 3C5 : 14A; + 3C6 : 14D; + 3C7 : 150; + 3C8 : 153; + 3C9 : 156; + 3CA : 159; + 3CB : 15C; + 3CC : 15F; + 3CD : 162; + 3CE : 165; + 3CF : 168; + 3D0 : 16B; + 3D1 : 16E; + 3D2 : 171; + 3D3 : 174; + 3D4 : 177; + 3D5 : 17A; + 3D6 : 17D; + 3D7 : 180; + 3D8 : 183; + 3D9 : 186; + 3DA : 189; + 3DB : 18C; + 3DC : 18F; + 3DD : 192; + 3DE : 196; + 3DF : 199; + 3E0 : 19C; + 3E1 : 19F; + 3E2 : 1A2; + 3E3 : 1A5; + 3E4 : 1A8; + 3E5 : 1AB; + 3E6 : 1AE; + 3E7 : 1B1; + 3E8 : 1B4; + 3E9 : 1B8; + 3EA : 1BB; + 3EB : 1BE; + 3EC : 1C1; + 3ED : 1C4; + 3EE : 1C7; + 3EF : 1CA; + 3F0 : 1CD; + 3F1 : 1D0; + 3F2 : 1D4; + 3F3 : 1D7; + 3F4 : 1DA; + 3F5 : 1DD; + 3F6 : 1E0; + 3F7 : 1E3; + 3F8 : 1E6; + 3F9 : 1EA; + 3FA : 1ED; + 3FB : 1F0; + 3FC : 1F3; + 3FD : 1F6; + 3FE : 1F9; + 3FF : 1FC; +END diff --git a/part_3/ex12/sin_gen_scripts/sinegen.m b/part_3/ex12/sin_gen_scripts/sinegen.m index 1c0f400..f459f5c 100755 --- a/part_3/ex12/sin_gen_scripts/sinegen.m +++ b/part_3/ex12/sin_gen_scripts/sinegen.m @@ -1,43 +1,43 @@ -% Purpose: MATLAB script to produce contents of a ROM that stores -% one cycle of sinewave -% Inputs: None -% Outputs: rom_data.mif file -% Author: Peter Cheung -% Version: 1.0 -% Date: 20 Nov 2011 - -DEPTH = 1024; % Size of ROM -WIDTH = 10; % Size of data in bits -OUTMAX = 2^WIDTH - 1; % Amplitude of sinewave - -filename = 'rom_data.mif'; -fid = fopen(filename,'w'); - -fprintf(fid,'-- ROM Initialization file\n'); -fprintf(fid,'WIDTH = %d;\n',WIDTH); -fprintf(fid,'DEPTH = %d;\n',DEPTH); -fprintf(fid,'ADDRESS_RADIX = HEX;\n'); -fprintf(fid,'DATA_RADIX = HEX;\n'); -fprintf(fid,'CONTENT\nBEGIN\n'); - -for address = 0:1023 - angle = (address*2*pi)/DEPTH; - sine_value = sin(angle); - data = (sine_value*0.5*OUTMAX) + OUTMAX*0.5; - - fprintf(fid,'%4X : %4X;\n',address,int16(data)); -end - -fprintf(fid,'END\n'); -fclose(fid); -disp('Finished'); - - - - - - - - - - +% Purpose: MATLAB script to produce contents of a ROM that stores +% one cycle of sinewave +% Inputs: None +% Outputs: rom_data.mif file +% Author: Peter Cheung +% Version: 1.0 +% Date: 20 Nov 2011 + +DEPTH = 1024; % Size of ROM +WIDTH = 10; % Size of data in bits +OUTMAX = 2^WIDTH - 1; % Amplitude of sinewave + +filename = 'rom_data.mif'; +fid = fopen(filename,'w'); + +fprintf(fid,'-- ROM Initialization file\n'); +fprintf(fid,'WIDTH = %d;\n',WIDTH); +fprintf(fid,'DEPTH = %d;\n',DEPTH); +fprintf(fid,'ADDRESS_RADIX = HEX;\n'); +fprintf(fid,'DATA_RADIX = HEX;\n'); +fprintf(fid,'CONTENT\nBEGIN\n'); + +for address = 0:1023 + angle = (address*2*pi)/DEPTH; + sine_value = sin(angle); + data = (sine_value*0.5*OUTMAX) + OUTMAX*0.5; + + fprintf(fid,'%4X : %4X;\n',address,int16(data)); +end + +fprintf(fid,'END\n'); +fclose(fid); +disp('Finished'); + + + + + + + + + + diff --git a/part_3/ex12/sin_gen_scripts/sinegen.py b/part_3/ex12/sin_gen_scripts/sinegen.py index 9dba855..f0318d8 100755 --- a/part_3/ex12/sin_gen_scripts/sinegen.py +++ b/part_3/ex12/sin_gen_scripts/sinegen.py @@ -1,33 +1,33 @@ -# sinegen.py - Generate sinewave table -# ... for use with Altera ROMs -# -from math import sin, cos, radians - -DEPTH = 1024 # Size of ROM -WIDTH = 10 # Size of data in bits -OUTMAX = 2**WIDTH - 1 # Amplitude of sinewave - -filename = "rom_data.mif" -f = open(filename,'w') - -# Header for the .mif file -print >> f, "-- ROM Initialization file\n" -print >> f, "DEPTH = %d;" % DEPTH -print >> f, "WIDTH = %d;" % WIDTH -print >> f, "ADDRESS_RADIX = HEX;" -print >> f, "DATA_RADIX = HEX;\n" -print >> f, "CONTENT\nBEGIN\n" - -for address in range(DEPTH): - angle = (address*2*pi)/DEPTH - sine_value = sin(angle) - data = int((sine_value)*0.5*OUTMAX)+OUTMAX/2 - - print "%4x : %4x;" % (address, data) - print >> f, "%4x : %4x;" % (address, data) - -print >> f, "END;\n" - -f.close() - - +# sinegen.py - Generate sinewave table +# ... for use with Altera ROMs +# +from math import sin, cos, radians + +DEPTH = 1024 # Size of ROM +WIDTH = 10 # Size of data in bits +OUTMAX = 2**WIDTH - 1 # Amplitude of sinewave + +filename = "rom_data.mif" +f = open(filename,'w') + +# Header for the .mif file +print >> f, "-- ROM Initialization file\n" +print >> f, "DEPTH = %d;" % DEPTH +print >> f, "WIDTH = %d;" % WIDTH +print >> f, "ADDRESS_RADIX = HEX;" +print >> f, "DATA_RADIX = HEX;\n" +print >> f, "CONTENT\nBEGIN\n" + +for address in range(DEPTH): + angle = (address*2*pi)/DEPTH + sine_value = sin(angle) + data = int((sine_value)*0.5*OUTMAX)+OUTMAX/2 + + print "%4x : %4x;" % (address, data) + print >> f, "%4x : %4x;" % (address, data) + +print >> f, "END;\n" + +f.close() + + -- cgit