From e154293ca1dd11159f90ee5c1f49a6fbac8bf36a Mon Sep 17 00:00:00 2001 From: Zellyn Hunter Date: Wed, 6 Mar 2013 16:45:41 -0800 Subject: [PATCH] First pass at translating perfect6502 to Go. --- visual/doc.go | 6 + visual/segdefs.go | 1745 ++++++++++++++++++++ visual/transdefs.go | 3724 +++++++++++++++++++++++++++++++++++++++++++ visual/visual.go | 386 +++++ 4 files changed, 5861 insertions(+) create mode 100644 visual/doc.go create mode 100644 visual/segdefs.go create mode 100644 visual/transdefs.go create mode 100644 visual/visual.go diff --git a/visual/doc.go b/visual/doc.go new file mode 100644 index 0000000..efb3c54 --- /dev/null +++ b/visual/doc.go @@ -0,0 +1,6 @@ +/* +Package visual provides routines for emulating a 6502 at the +transistor level, using data from visual6502.org by way of +https://github.com/mist64/perfect6502. +*/ +package visual diff --git a/visual/segdefs.go b/visual/segdefs.go new file mode 100644 index 0000000..c7c1c97 --- /dev/null +++ b/visual/segdefs.go @@ -0,0 +1,1745 @@ +package visual + +/* + Copyright (c) 2010 Greg James, Brian Silverman, Barry Silverman + + The following is provided under terms of the Creative Commons + Attribution-NonCommercial-ShareAlike 3.0 Unported license: + http://creativecommons.org/licenses/by-nc-sa/3.0/ + + Specify the original author as Greg James and the following URL + for original source material: www.visual6502.org +*/ + +const NODES = 1725 + +// SegDefs defines the pullup status of a given segment (by index). +// Those marked as "unused" are missing in the javascript equivalent +// file, and set to 2 in the perfect6502 equivalent file. +var SegDefs = [NODES]bool{ + true, // 0 + false, // 1 + false, // 2 + true, // 3 + true, // 4 + true, // 5 + true, // 6 + false, // 7 + true, // 8 + false, // 9 + true, // 10 + true, // 11 + false, // 12 + false, // 13 + true, // 14 + false, // 15 + true, // 16 + true, // 17 + false, // 18 + true, // 19 + true, // 20 + true, // 21 + true, // 22 + true, // 23 + false, // 24 + true, // 25 + true, // 26 + true, // 27 + false, // 28 + true, // 29 + false, // 30 - unused + true, // 31 + false, // 32 + true, // 33 + true, // 34 + true, // 35 + true, // 36 + false, // 37 + true, // 38 + true, // 39 + false, // 40 + false, // 41 + false, // 42 + false, // 43 + false, // 44 + false, // 45 + true, // 46 + false, // 47 + false, // 48 + false, // 49 + false, // 50 + false, // 51 + false, // 52 + true, // 53 + false, // 54 + false, // 55 + false, // 56 + false, // 57 + true, // 58 + false, // 59 + true, // 60 + true, // 61 + true, // 62 + true, // 63 + false, // 64 + true, // 65 + false, // 66 + true, // 67 + false, // 68 + false, // 69 + true, // 70 + true, // 71 + true, // 72 + false, // 73 + false, // 74 + true, // 75 + true, // 76 + true, // 77 + true, // 78 + true, // 79 + true, // 80 + false, // 81 + false, // 82 + true, // 83 + true, // 84 + false, // 85 + false, // 86 + false, // 87 + false, // 88 + true, // 89 + true, // 90 + true, // 91 + false, // 92 + true, // 93 + false, // 94 + false, // 95 + false, // 96 + true, // 97 + false, // 98 + false, // 99 + false, // 100 + false, // 101 + false, // 102 + false, // 103 + true, // 104 + true, // 105 + false, // 106 + false, // 107 + true, // 108 + true, // 109 + true, // 110 + true, // 111 + false, // 112 + true, // 113 + false, // 114 + false, // 115 + false, // 116 + true, // 117 + true, // 118 + false, // 119 + true, // 120 + false, // 121 + true, // 122 + true, // 123 + true, // 124 + true, // 125 + false, // 126 + true, // 127 + true, // 128 + false, // 129 + true, // 130 + true, // 131 + true, // 132 + true, // 133 + true, // 134 + false, // 135 + false, // 136 + false, // 137 + false, // 138 + true, // 139 + false, // 140 + true, // 141 + true, // 142 + true, // 143 + false, // 144 - unused + true, // 145 + true, // 146 + false, // 147 + false, // 148 + true, // 149 + false, // 150 + false, // 151 + true, // 152 + false, // 153 + true, // 154 + true, // 155 + true, // 156 + true, // 157 + false, // 158 + false, // 159 + true, // 160 + true, // 161 + false, // 162 + true, // 163 + false, // 164 + false, // 165 + false, // 166 + true, // 167 + true, // 168 + true, // 169 + false, // 170 + false, // 171 + true, // 172 + false, // 173 - unused + true, // 174 + false, // 175 + true, // 176 + true, // 177 + true, // 178 + true, // 179 + true, // 180 + false, // 181 + true, // 182 + false, // 183 + true, // 184 + false, // 185 + false, // 186 + true, // 187 + true, // 188 + false, // 189 + false, // 190 + true, // 191 + true, // 192 + true, // 193 + true, // 194 + false, // 195 + true, // 196 + false, // 197 + true, // 198 + false, // 199 + true, // 200 + true, // 201 + false, // 202 + false, // 203 + true, // 204 + false, // 205 + true, // 206 + true, // 207 + true, // 208 + true, // 209 + false, // 210 + false, // 211 + true, // 212 + true, // 213 + false, // 214 + false, // 215 + true, // 216 + true, // 217 + true, // 218 + true, // 219 + true, // 220 + true, // 221 + false, // 222 + false, // 223 + true, // 224 + true, // 225 + false, // 226 + true, // 227 + true, // 228 + true, // 229 + false, // 230 + true, // 231 + true, // 232 + true, // 233 + true, // 234 + false, // 235 + true, // 236 + false, // 237 + true, // 238 + false, // 239 + true, // 240 + true, // 241 + true, // 242 + true, // 243 + true, // 244 + true, // 245 + false, // 246 + false, // 247 + false, // 248 + true, // 249 + false, // 250 + true, // 251 + true, // 252 + true, // 253 + true, // 254 + true, // 255 + true, // 256 + true, // 257 + true, // 258 + true, // 259 + true, // 260 + true, // 261 + true, // 262 + true, // 263 + true, // 264 + false, // 265 + false, // 266 + true, // 267 + false, // 268 + true, // 269 + true, // 270 + true, // 271 + true, // 272 + true, // 273 + true, // 274 + true, // 275 + false, // 276 + false, // 277 + true, // 278 + true, // 279 + true, // 280 + true, // 281 + true, // 282 + false, // 283 + true, // 284 + true, // 285 + true, // 286 + true, // 287 + true, // 288 + false, // 289 + false, // 290 - unused + true, // 291 + false, // 292 + true, // 293 + false, // 294 + true, // 295 + false, // 296 + true, // 297 + false, // 298 + true, // 299 + true, // 300 + true, // 301 + true, // 302 + true, // 303 + false, // 304 + false, // 305 + true, // 306 + true, // 307 + true, // 308 + true, // 309 + false, // 310 + true, // 311 + true, // 312 + false, // 313 + true, // 314 + false, // 315 + false, // 316 + true, // 317 + true, // 318 + true, // 319 + true, // 320 + true, // 321 + false, // 322 + false, // 323 + true, // 324 + false, // 325 + true, // 326 + true, // 327 + true, // 328 + true, // 329 + true, // 330 + true, // 331 + true, // 332 + true, // 333 + true, // 334 + true, // 335 + true, // 336 + true, // 337 + false, // 338 + false, // 339 + true, // 340 + true, // 341 + true, // 342 + false, // 343 + true, // 344 + true, // 345 + false, // 346 + true, // 347 + false, // 348 + false, // 349 + true, // 350 + true, // 351 + true, // 352 + false, // 353 + true, // 354 + true, // 355 + false, // 356 + false, // 357 + true, // 358 + false, // 359 + false, // 360 + false, // 361 + false, // 362 + false, // 363 + false, // 364 + true, // 365 + true, // 366 + false, // 367 + true, // 368 + false, // 369 + true, // 370 + true, // 371 + true, // 372 + false, // 373 + true, // 374 + false, // 375 + true, // 376 + false, // 377 + true, // 378 + true, // 379 + false, // 380 + false, // 381 + true, // 382 + true, // 383 + true, // 384 + true, // 385 + true, // 386 + false, // 387 + true, // 388 + true, // 389 + true, // 390 + true, // 391 + true, // 392 + false, // 393 + false, // 394 + false, // 395 + true, // 396 + true, // 397 + false, // 398 + false, // 399 + true, // 400 + true, // 401 + false, // 402 + true, // 403 + true, // 404 + false, // 405 + false, // 406 + false, // 407 + false, // 408 + true, // 409 + true, // 410 + false, // 411 - unused + true, // 412 + false, // 413 + false, // 414 + false, // 415 + false, // 416 + false, // 417 + false, // 418 + true, // 419 + true, // 420 + false, // 421 + true, // 422 + true, // 423 + true, // 424 + true, // 425 + false, // 426 + true, // 427 + true, // 428 + false, // 429 + false, // 430 + false, // 431 + true, // 432 + false, // 433 + true, // 434 + false, // 435 + true, // 436 + false, // 437 + false, // 438 + true, // 439 + true, // 440 + true, // 441 + true, // 442 + false, // 443 + true, // 444 + true, // 445 + true, // 446 + true, // 447 + false, // 448 + false, // 449 + true, // 450 + false, // 451 + false, // 452 + true, // 453 + false, // 454 + false, // 455 + false, // 456 + true, // 457 + true, // 458 + false, // 459 + false, // 460 + true, // 461 + true, // 462 + false, // 463 + true, // 464 + true, // 465 + true, // 466 + true, // 467 + true, // 468 + false, // 469 + true, // 470 + false, // 471 + true, // 472 + true, // 473 + true, // 474 + false, // 475 + true, // 476 + true, // 477 + true, // 478 + true, // 479 + true, // 480 + true, // 481 + false, // 482 + false, // 483 + true, // 484 + true, // 485 + true, // 486 + true, // 487 + true, // 488 + true, // 489 + true, // 490 + true, // 491 + true, // 492 + false, // 493 + true, // 494 + false, // 495 + true, // 496 + false, // 497 - unused + false, // 498 + true, // 499 + true, // 500 + true, // 501 + false, // 502 + true, // 503 + true, // 504 + true, // 505 + true, // 506 + true, // 507 + false, // 508 + false, // 509 + true, // 510 + false, // 511 + false, // 512 + true, // 513 + false, // 514 + true, // 515 + true, // 516 + true, // 517 + true, // 518 + true, // 519 + false, // 520 + false, // 521 + true, // 522 + true, // 523 + false, // 524 + true, // 525 + false, // 526 + false, // 527 + true, // 528 + false, // 529 + false, // 530 + true, // 531 + true, // 532 + true, // 533 + false, // 534 + true, // 535 + false, // 536 + false, // 537 + true, // 538 + false, // 539 + true, // 540 + false, // 541 + false, // 542 - unused + true, // 543 + true, // 544 + false, // 545 + true, // 546 + false, // 547 + true, // 548 + false, // 549 + true, // 550 + true, // 551 + true, // 552 + true, // 553 + false, // 554 + true, // 555 + true, // 556 + false, // 557 + false, // 558 + false, // 559 + false, // 560 + false, // 561 + false, // 562 + false, // 563 - unused + true, // 564 + true, // 565 + true, // 566 + true, // 567 + true, // 568 + false, // 569 + true, // 570 + true, // 571 + true, // 572 + false, // 573 + false, // 574 + true, // 575 + false, // 576 + false, // 577 + true, // 578 + true, // 579 + false, // 580 + false, // 581 + true, // 582 + true, // 583 + false, // 584 + false, // 585 + true, // 586 + true, // 587 + true, // 588 + false, // 589 + false, // 590 + false, // 591 + true, // 592 + true, // 593 + true, // 594 + true, // 595 + false, // 596 + false, // 597 + false, // 598 + false, // 599 + true, // 600 + false, // 601 + true, // 602 + true, // 603 + true, // 604 + false, // 605 + true, // 606 + true, // 607 + true, // 608 + true, // 609 + false, // 610 + true, // 611 + false, // 612 + true, // 613 + false, // 614 + false, // 615 + true, // 616 + true, // 617 + true, // 618 + false, // 619 + true, // 620 + false, // 621 + false, // 622 + true, // 623 + true, // 624 + true, // 625 + true, // 626 + false, // 627 + true, // 628 + true, // 629 + true, // 630 + true, // 631 + true, // 632 + false, // 633 + false, // 634 + false, // 635 + true, // 636 + true, // 637 + true, // 638 + false, // 639 + true, // 640 + true, // 641 + false, // 642 + false, // 643 + false, // 644 + true, // 645 + true, // 646 + true, // 647 + false, // 648 + true, // 649 + false, // 650 + true, // 651 + true, // 652 + false, // 653 + false, // 654 + false, // 655 + false, // 656 + false, // 657 + true, // 658 + false, // 659 + true, // 660 + false, // 661 + true, // 662 + false, // 663 + true, // 664 + true, // 665 + false, // 666 + true, // 667 + false, // 668 + true, // 669 + true, // 670 + false, // 671 + false, // 672 + true, // 673 + true, // 674 + false, // 675 + false, // 676 + true, // 677 + true, // 678 + true, // 679 + false, // 680 + true, // 681 + true, // 682 + false, // 683 + false, // 684 + false, // 685 + true, // 686 + true, // 687 + false, // 688 + true, // 689 + true, // 690 + true, // 691 + true, // 692 + true, // 693 + true, // 694 + true, // 695 + true, // 696 + false, // 697 + false, // 698 + true, // 699 + true, // 700 + true, // 701 + true, // 702 + false, // 703 + false, // 704 + false, // 705 + false, // 706 + false, // 707 + true, // 708 + true, // 709 + false, // 710 + false, // 711 + true, // 712 + true, // 713 + true, // 714 + true, // 715 + false, // 716 + true, // 717 + true, // 718 + false, // 719 + true, // 720 + true, // 721 + false, // 722 + true, // 723 + false, // 724 + true, // 725 + true, // 726 + false, // 727 + true, // 728 + false, // 729 + true, // 730 + true, // 731 + true, // 732 + true, // 733 + false, // 734 + true, // 735 + false, // 736 + false, // 737 + false, // 738 + true, // 739 + false, // 740 + false, // 741 + false, // 742 + true, // 743 + true, // 744 + false, // 745 + true, // 746 + true, // 747 + true, // 748 + false, // 749 - unused + true, // 750 + false, // 751 + false, // 752 + true, // 753 + true, // 754 + true, // 755 + false, // 756 + true, // 757 + false, // 758 + false, // 759 + false, // 760 + true, // 761 + true, // 762 + true, // 763 + true, // 764 + true, // 765 + false, // 766 + true, // 767 + false, // 768 + true, // 769 + true, // 770 + true, // 771 + true, // 772 + true, // 773 + true, // 774 + true, // 775 + true, // 776 + false, // 777 + true, // 778 + true, // 779 + false, // 780 + true, // 781 + true, // 782 + true, // 783 + true, // 784 + false, // 785 + true, // 786 + true, // 787 + true, // 788 + true, // 789 + true, // 790 + true, // 791 + false, // 792 + false, // 793 + false, // 794 + true, // 795 + false, // 796 + true, // 797 + false, // 798 + false, // 799 + true, // 800 + false, // 801 + false, // 802 + true, // 803 + true, // 804 + false, // 805 + false, // 806 + true, // 807 + true, // 808 + true, // 809 + true, // 810 + true, // 811 + true, // 812 + true, // 813 + false, // 814 + true, // 815 + false, // 816 + true, // 817 + true, // 818 + true, // 819 + false, // 820 + false, // 821 + true, // 822 + false, // 823 + true, // 824 + false, // 825 + false, // 826 + true, // 827 + false, // 828 + false, // 829 + true, // 830 + true, // 831 + false, // 832 + false, // 833 + true, // 834 + false, // 835 + false, // 836 + true, // 837 + true, // 838 + true, // 839 + true, // 840 + true, // 841 + true, // 842 + false, // 843 + true, // 844 + true, // 845 + true, // 846 + true, // 847 + false, // 848 + true, // 849 + true, // 850 + true, // 851 + true, // 852 + true, // 853 + true, // 854 + false, // 855 + false, // 856 + true, // 857 + false, // 858 + false, // 859 + true, // 860 + true, // 861 + true, // 862 + false, // 863 + false, // 864 + false, // 865 + false, // 866 + true, // 867 + false, // 868 + false, // 869 + true, // 870 + true, // 871 + true, // 872 + false, // 873 + false, // 874 + true, // 875 + true, // 876 + true, // 877 + false, // 878 + true, // 879 + true, // 880 + false, // 881 + true, // 882 + true, // 883 + true, // 884 + true, // 885 + false, // 886 + false, // 887 + true, // 888 + true, // 889 + true, // 890 + false, // 891 + false, // 892 + false, // 893 + false, // 894 + true, // 895 + true, // 896 + false, // 897 + false, // 898 + false, // 899 + false, // 900 + true, // 901 + false, // 902 + false, // 903 + true, // 904 + true, // 905 + true, // 906 + false, // 907 + false, // 908 - unused + true, // 909 + true, // 910 + false, // 911 + false, // 912 + true, // 913 + false, // 914 + false, // 915 - unused + true, // 916 + true, // 917 + true, // 918 + true, // 919 + true, // 920 + false, // 921 + false, // 922 + true, // 923 + false, // 924 + true, // 925 + true, // 926 + false, // 927 + true, // 928 + true, // 929 + true, // 930 + true, // 931 + true, // 932 + true, // 933 + true, // 934 + true, // 935 + true, // 936 + true, // 937 + true, // 938 + false, // 939 + false, // 940 + false, // 941 + false, // 942 + false, // 943 + true, // 944 + false, // 945 + true, // 946 + true, // 947 + false, // 948 + false, // 949 + true, // 950 + true, // 951 + true, // 952 + true, // 953 + true, // 954 + false, // 955 + true, // 956 + false, // 957 + true, // 958 + true, // 959 + false, // 960 + true, // 961 + true, // 962 + false, // 963 + true, // 964 + true, // 965 + true, // 966 + true, // 967 + false, // 968 + true, // 969 + false, // 970 + true, // 971 + false, // 972 + true, // 973 + false, // 974 + true, // 975 + true, // 976 + false, // 977 + false, // 978 + true, // 979 + true, // 980 + true, // 981 + false, // 982 + true, // 983 + false, // 984 + true, // 985 + true, // 986 + true, // 987 + true, // 988 + false, // 989 + true, // 990 + false, // 991 + true, // 992 + false, // 993 + false, // 994 + true, // 995 + true, // 996 + true, // 997 + true, // 998 + false, // 999 + false, // 1000 + false, // 1001 + true, // 1002 + true, // 1003 + false, // 1004 + false, // 1005 + true, // 1006 + true, // 1007 + false, // 1008 + true, // 1009 + true, // 1010 + false, // 1011 + false, // 1012 + false, // 1013 + false, // 1014 + false, // 1015 + true, // 1016 + true, // 1017 + true, // 1018 + true, // 1019 + false, // 1020 + true, // 1021 + false, // 1022 + true, // 1023 + true, // 1024 + true, // 1025 + true, // 1026 + false, // 1027 + true, // 1028 + false, // 1029 + false, // 1030 + true, // 1031 + true, // 1032 + true, // 1033 + true, // 1034 + true, // 1035 + false, // 1036 + true, // 1037 + true, // 1038 + true, // 1039 + false, // 1040 + false, // 1041 + true, // 1042 + true, // 1043 + true, // 1044 + true, // 1045 + true, // 1046 + true, // 1047 + true, // 1048 + false, // 1049 + true, // 1050 + false, // 1051 + true, // 1052 + false, // 1053 + true, // 1054 + true, // 1055 + true, // 1056 + true, // 1057 + false, // 1058 + false, // 1059 + false, // 1060 + false, // 1061 + false, // 1062 + true, // 1063 + false, // 1064 + true, // 1065 + true, // 1066 + true, // 1067 + false, // 1068 + true, // 1069 + true, // 1070 + false, // 1071 + false, // 1072 + true, // 1073 + true, // 1074 + true, // 1075 + false, // 1076 + true, // 1077 + false, // 1078 + true, // 1079 + false, // 1080 + true, // 1081 + true, // 1082 + true, // 1083 + true, // 1084 + true, // 1085 + true, // 1086 + true, // 1087 + true, // 1088 + true, // 1089 + true, // 1090 + true, // 1091 + false, // 1092 + true, // 1093 + true, // 1094 + false, // 1095 + true, // 1096 + true, // 1097 + false, // 1098 + true, // 1099 + false, // 1100 + true, // 1101 + false, // 1102 + false, // 1103 + false, // 1104 + false, // 1105 + true, // 1106 + true, // 1107 + false, // 1108 + true, // 1109 + true, // 1110 + true, // 1111 + true, // 1112 + false, // 1113 + true, // 1114 + true, // 1115 + true, // 1116 + true, // 1117 + false, // 1118 + true, // 1119 + true, // 1120 + false, // 1121 + true, // 1122 + false, // 1123 + false, // 1124 + true, // 1125 + false, // 1126 + false, // 1127 - unused + false, // 1128 + true, // 1129 + true, // 1130 + false, // 1131 + false, // 1132 + true, // 1133 + true, // 1134 + true, // 1135 + false, // 1136 + true, // 1137 + true, // 1138 + false, // 1139 + false, // 1140 + true, // 1141 + false, // 1142 + true, // 1143 + true, // 1144 + true, // 1145 + true, // 1146 + false, // 1147 + false, // 1148 + false, // 1149 + false, // 1150 + false, // 1151 + false, // 1152 + true, // 1153 + true, // 1154 + true, // 1155 + false, // 1156 + true, // 1157 + false, // 1158 + true, // 1159 + false, // 1160 + false, // 1161 + false, // 1162 + false, // 1163 + true, // 1164 + true, // 1165 + true, // 1166 + false, // 1167 + true, // 1168 + true, // 1169 + true, // 1170 + false, // 1171 + false, // 1172 + true, // 1173 + true, // 1174 + true, // 1175 + false, // 1176 + false, // 1177 + true, // 1178 + true, // 1179 + true, // 1180 + true, // 1181 + true, // 1182 + false, // 1183 + true, // 1184 + true, // 1185 + false, // 1186 + true, // 1187 + false, // 1188 + false, // 1189 + true, // 1190 + false, // 1191 + true, // 1192 + true, // 1193 + true, // 1194 + true, // 1195 + true, // 1196 + true, // 1197 + false, // 1198 + true, // 1199 + true, // 1200 + false, // 1201 + true, // 1202 + false, // 1203 + true, // 1204 + true, // 1205 + true, // 1206 + false, // 1207 - unused + false, // 1208 - unused + true, // 1209 + true, // 1210 + true, // 1211 + false, // 1212 + true, // 1213 + true, // 1214 + true, // 1215 + false, // 1216 + true, // 1217 + true, // 1218 + true, // 1219 + true, // 1220 + false, // 1221 + true, // 1222 + true, // 1223 + true, // 1224 + true, // 1225 + true, // 1226 + true, // 1227 + true, // 1228 + true, // 1229 + true, // 1230 + true, // 1231 + true, // 1232 + true, // 1233 + false, // 1234 + false, // 1235 + true, // 1236 + false, // 1237 + true, // 1238 + true, // 1239 + true, // 1240 + true, // 1241 + false, // 1242 + true, // 1243 + true, // 1244 + true, // 1245 + true, // 1246 + false, // 1247 + false, // 1248 + false, // 1249 + true, // 1250 + true, // 1251 + false, // 1252 + true, // 1253 + false, // 1254 + true, // 1255 + true, // 1256 + true, // 1257 + true, // 1258 + true, // 1259 + true, // 1260 + false, // 1261 - unused + true, // 1262 + false, // 1263 + false, // 1264 + true, // 1265 + false, // 1266 + true, // 1267 + true, // 1268 + false, // 1269 + true, // 1270 + true, // 1271 + false, // 1272 + true, // 1273 + false, // 1274 + true, // 1275 + false, // 1276 + true, // 1277 + false, // 1278 + false, // 1279 + false, // 1280 + true, // 1281 + false, // 1282 + false, // 1283 + false, // 1284 + true, // 1285 + true, // 1286 + false, // 1287 + false, // 1288 + true, // 1289 + true, // 1290 + false, // 1291 + true, // 1292 + true, // 1293 + true, // 1294 + true, // 1295 + false, // 1296 + false, // 1297 + false, // 1298 + false, // 1299 + false, // 1300 + true, // 1301 + false, // 1302 + true, // 1303 + true, // 1304 + true, // 1305 + true, // 1306 + false, // 1307 + true, // 1308 + true, // 1309 + false, // 1310 + true, // 1311 + true, // 1312 + true, // 1313 + true, // 1314 + true, // 1315 + true, // 1316 + false, // 1317 - unused + true, // 1318 + true, // 1319 + true, // 1320 + false, // 1321 + false, // 1322 + true, // 1323 + true, // 1324 + false, // 1325 + false, // 1326 + true, // 1327 + true, // 1328 + true, // 1329 + false, // 1330 + false, // 1331 + false, // 1332 + false, // 1333 + true, // 1334 + true, // 1335 + false, // 1336 + true, // 1337 + false, // 1338 + true, // 1339 + false, // 1340 + false, // 1341 + true, // 1342 + true, // 1343 + true, // 1344 + true, // 1345 + true, // 1346 + true, // 1347 + false, // 1348 + false, // 1349 + true, // 1350 + false, // 1351 + true, // 1352 + false, // 1353 + false, // 1354 + true, // 1355 + true, // 1356 + true, // 1357 + true, // 1358 + false, // 1359 + false, // 1360 + false, // 1361 - unused + false, // 1362 + false, // 1363 - unused + true, // 1364 + false, // 1365 + false, // 1366 + false, // 1367 + true, // 1368 + true, // 1369 + true, // 1370 + true, // 1371 + true, // 1372 + false, // 1373 + true, // 1374 + true, // 1375 + true, // 1376 + true, // 1377 + false, // 1378 + true, // 1379 + true, // 1380 + true, // 1381 + true, // 1382 + true, // 1383 + true, // 1384 + true, // 1385 + true, // 1386 + false, // 1387 + false, // 1388 + true, // 1389 + false, // 1390 + true, // 1391 + true, // 1392 + false, // 1393 + true, // 1394 + false, // 1395 + true, // 1396 + false, // 1397 + true, // 1398 + true, // 1399 + true, // 1400 + true, // 1401 + true, // 1402 + false, // 1403 + false, // 1404 + false, // 1405 + false, // 1406 + false, // 1407 + true, // 1408 + false, // 1409 + true, // 1410 + false, // 1411 + true, // 1412 + true, // 1413 + true, // 1414 + true, // 1415 + true, // 1416 + false, // 1417 + false, // 1418 + true, // 1419 + true, // 1420 + true, // 1421 + false, // 1422 + true, // 1423 + false, // 1424 + true, // 1425 + false, // 1426 + true, // 1427 + true, // 1428 + true, // 1429 + true, // 1430 + false, // 1431 + false, // 1432 + true, // 1433 + true, // 1434 + false, // 1435 + false, // 1436 + false, // 1437 + false, // 1438 + true, // 1439 + true, // 1440 + true, // 1441 + false, // 1442 + false, // 1443 + true, // 1444 + false, // 1445 + true, // 1446 + false, // 1447 + true, // 1448 + true, // 1449 + false, // 1450 + false, // 1451 + false, // 1452 + true, // 1453 + false, // 1454 + true, // 1455 + false, // 1456 + true, // 1457 + true, // 1458 + true, // 1459 + true, // 1460 + false, // 1461 - unused + true, // 1462 + true, // 1463 + true, // 1464 + true, // 1465 + true, // 1466 + false, // 1467 + false, // 1468 + true, // 1469 + false, // 1470 + true, // 1471 + false, // 1472 + false, // 1473 + true, // 1474 + true, // 1475 + true, // 1476 + false, // 1477 + true, // 1478 + false, // 1479 + false, // 1480 + true, // 1481 + true, // 1482 + false, // 1483 + true, // 1484 + false, // 1485 + true, // 1486 + true, // 1487 + true, // 1488 + false, // 1489 + false, // 1490 + true, // 1491 + true, // 1492 + false, // 1493 + true, // 1494 + true, // 1495 + true, // 1496 + true, // 1497 + false, // 1498 + true, // 1499 + true, // 1500 + false, // 1501 + true, // 1502 + false, // 1503 + true, // 1504 + false, // 1505 + true, // 1506 + true, // 1507 + false, // 1508 + false, // 1509 + false, // 1510 + true, // 1511 + true, // 1512 + false, // 1513 + false, // 1514 + false, // 1515 + false, // 1516 + true, // 1517 + true, // 1518 + true, // 1519 + true, // 1520 + true, // 1521 + false, // 1522 + true, // 1523 + true, // 1524 + true, // 1525 + true, // 1526 + false, // 1527 + false, // 1528 + false, // 1529 + false, // 1530 + true, // 1531 + false, // 1532 + false, // 1533 + true, // 1534 + false, // 1535 + false, // 1536 + false, // 1537 + false, // 1538 + false, // 1539 + true, // 1540 + true, // 1541 + true, // 1542 + true, // 1543 + true, // 1544 + false, // 1545 + false, // 1546 + false, // 1547 + true, // 1548 + true, // 1549 + false, // 1550 + false, // 1551 + true, // 1552 + false, // 1553 + false, // 1554 + false, // 1555 + false, // 1556 + true, // 1557 + false, // 1558 + false, // 1559 + true, // 1560 + true, // 1561 + true, // 1562 + false, // 1563 + false, // 1564 + false, // 1565 + true, // 1566 + true, // 1567 + false, // 1568 + true, // 1569 + false, // 1570 + true, // 1571 + false, // 1572 + true, // 1573 + false, // 1574 + true, // 1575 + true, // 1576 + false, // 1577 + true, // 1578 + false, // 1579 + true, // 1580 + false, // 1581 + true, // 1582 + false, // 1583 + false, // 1584 + true, // 1585 + true, // 1586 + true, // 1587 + true, // 1588 + true, // 1589 + false, // 1590 + false, // 1591 + true, // 1592 + true, // 1593 + true, // 1594 + true, // 1595 + true, // 1596 + true, // 1597 + false, // 1598 + true, // 1599 + true, // 1600 + true, // 1601 + false, // 1602 + false, // 1603 + false, // 1604 + true, // 1605 + false, // 1606 + false, // 1607 + false, // 1608 + false, // 1609 + true, // 1610 + false, // 1611 + true, // 1612 + true, // 1613 + true, // 1614 + false, // 1615 + false, // 1616 + false, // 1617 + true, // 1618 + true, // 1619 + false, // 1620 + true, // 1621 + true, // 1622 + true, // 1623 + false, // 1624 + false, // 1625 + true, // 1626 + false, // 1627 + true, // 1628 + true, // 1629 + false, // 1630 + true, // 1631 + true, // 1632 + false, // 1633 + true, // 1634 + true, // 1635 + false, // 1636 + true, // 1637 + true, // 1638 + false, // 1639 + true, // 1640 + true, // 1641 + true, // 1642 + true, // 1643 + false, // 1644 + false, // 1645 + true, // 1646 + true, // 1647 + false, // 1648 + true, // 1649 + true, // 1650 + false, // 1651 + false, // 1652 + false, // 1653 + true, // 1654 + true, // 1655 + false, // 1656 + true, // 1657 + true, // 1658 + false, // 1659 + true, // 1660 + false, // 1661 + true, // 1662 + false, // 1663 - unused + true, // 1664 + true, // 1665 + false, // 1666 + false, // 1667 + true, // 1668 + false, // 1669 + false, // 1670 + true, // 1671 + true, // 1672 + false, // 1673 + false, // 1674 + false, // 1675 + true, // 1676 + true, // 1677 + false, // 1678 + false, // 1679 + false, // 1680 + false, // 1681 + true, // 1682 + false, // 1683 + true, // 1684 + false, // 1685 + false, // 1686 + true, // 1687 + true, // 1688 + true, // 1689 + false, // 1690 + true, // 1691 + false, // 1692 + false, // 1693 + true, // 1694 + false, // 1695 + false, // 1696 + true, // 1697 + false, // 1698 + false, // 1699 + false, // 1700 + false, // 1701 - unused + false, // 1702 + false, // 1703 + true, // 1704 + true, // 1705 + false, // 1706 + false, // 1707 + true, // 1708 + true, // 1709 + true, // 1710 + true, // 1711 + true, // 1712 + false, // 1713 + true, // 1714 + true, // 1715 + true, // 1716 + true, // 1717 + true, // 1718 + true, // 1719 + true, // 1720 + true, // 1721 + true, // 1722 + false, // 1723 + true, // 1724 +} diff --git a/visual/transdefs.go b/visual/transdefs.go new file mode 100644 index 0000000..8d6cd41 --- /dev/null +++ b/visual/transdefs.go @@ -0,0 +1,3724 @@ +package visual + +/* + Copyright (c) 2010 Greg James, Brian Silverman, Barry Silverman + + The following is provided under terms of the Creative Commons + Attribution-NonCommercial-ShareAlike 3.0 Unported license: + http://creativecommons.org/licenses/by-nc-sa/3.0/ + + Specify the original author as Greg James and the following URL + for original source material: www.visual6502.org +*/ + +// Names for nodes. +const ( + NODE_a0 = 737 + NODE_a1 = 1234 + NODE_a2 = 978 + NODE_a3 = 162 + NODE_a4 = 727 + NODE_a5 = 858 + NODE_a6 = 1136 + NODE_a7 = 1653 + NODE_ab0 = 268 + NODE_ab1 = 451 + NODE_ab2 = 1340 + NODE_ab3 = 211 + NODE_ab4 = 435 + NODE_ab5 = 736 + NODE_ab6 = 887 + NODE_ab7 = 1493 + NODE_ab8 = 230 + NODE_ab9 = 148 + NODE_ab10 = 1443 + NODE_ab11 = 399 + NODE_ab12 = 1237 + NODE_ab13 = 349 + NODE_ab14 = 672 + NODE_ab15 = 195 + NODE_adh0 = 407 + NODE_adh1 = 52 + NODE_adh2 = 1651 + NODE_adh3 = 315 + NODE_adh4 = 1160 + NODE_adh5 = 483 + NODE_adh6 = 13 + NODE_adh7 = 1539 + NODE_adl0 = 413 + NODE_adl1 = 1282 + NODE_adl2 = 1242 + NODE_adl3 = 684 + NODE_adl4 = 1437 + NODE_adl5 = 1630 + NODE_adl6 = 121 + NODE_adl7 = 1299 + NODE_alu0 = 394 + NODE_alu1 = 697 + NODE_alu2 = 276 + NODE_alu3 = 495 + NODE_alu4 = 1490 + NODE_alu5 = 893 + NODE_alu6 = 68 + NODE_alu7 = 1123 + NODE_cclk = 943 // aka cp2 + NODE_clearIR = 1077 + NODE_clk0 = 1171 + NODE_clk1out = 1163 + NODE_clk2out = 421 + NODE_clock1 = 156 + NODE_clock2 = 1536 + NODE_cp1 = 710 + NODE_d1x1 = 827 + NODE_db0 = 1005 + NODE_db1 = 82 + NODE_db2 = 945 + NODE_db3 = 650 + NODE_db4 = 1393 + NODE_db5 = 175 + NODE_db6 = 1591 + NODE_db7 = 1349 + NODE_dor0 = 222 + NODE_dor1 = 527 + NODE_dor2 = 1288 + NODE_dor3 = 823 + NODE_dor4 = 873 + NODE_dor5 = 1266 + NODE_dor6 = 1418 + NODE_dor7 = 158 + NODE_fetch = 879 + NODE_h1x1 = 1042 // drive status byte onto databus + NODE_idb0 = 1108 + NODE_idb1 = 991 + NODE_idb2 = 1473 + NODE_idb3 = 1302 + NODE_idb4 = 892 + NODE_idb5 = 1503 + NODE_idb6 = 833 + NODE_idb7 = 493 + NODE_idl0 = 116 + NODE_idl1 = 576 + NODE_idl2 = 1485 + NODE_idl3 = 1284 + NODE_idl4 = 1516 + NODE_idl5 = 498 + NODE_idl6 = 1537 + NODE_idl7 = 529 + NODE_irq = 103 + NODE_nmi = 1297 + NODE_notir0 = 194 + NODE_notir1 = 702 + NODE_notir2 = 1182 + NODE_notir3 = 1125 + NODE_notir4 = 26 + NODE_notir5 = 1394 // OK + NODE_notir6 = 895 // OK + NODE_notir7 = 1320 + NODE_notRdy0 = 248 + NODE_nots0 = 418 + NODE_nots1 = 1064 + NODE_nots2 = 752 + NODE_nots3 = 828 + NODE_nots4 = 1603 + NODE_nots5 = 601 + NODE_nots6 = 1029 + NODE_nots7 = 181 + NODE_p0 = 687 + NODE_p1 = 1444 + NODE_p2 = 1421 + NODE_p3 = 439 + NODE_p4 = 1119 + NODE_p5 = 0 + NODE_p6 = 77 + NODE_p7 = 1370 + NODE_pch0 = 1670 + NODE_pch1 = 292 + NODE_pch2 = 502 + NODE_pch3 = 584 + NODE_pch4 = 948 + NODE_pch5 = 49 + NODE_pch6 = 1551 + NODE_pch7 = 205 + NODE_pcl0 = 1139 + NODE_pcl1 = 1022 + NODE_pcl2 = 655 + NODE_pcl3 = 1359 + NODE_pcl4 = 900 + NODE_pcl5 = 622 + NODE_pcl6 = 377 + NODE_pcl7 = 1611 + NODE_pd0 = 758 + NODE_pd1 = 361 + NODE_pd2 = 955 + NODE_pd3 = 894 + NODE_pd4 = 369 + NODE_pd5 = 829 + NODE_pd6 = 1669 + NODE_pd7 = 1690 + NODE_rdy = 89 + NODE_res = 159 + NODE_rw = 1156 + NODE_s0 = 1403 + NODE_s1 = 183 + NODE_s2 = 81 + NODE_s3 = 1532 + NODE_s4 = 1702 + NODE_s5 = 1098 + NODE_s6 = 1212 + NODE_s7 = 1435 + NODE_sb0 = 54 + NODE_sb1 = 1150 + NODE_sb2 = 1287 + NODE_sb3 = 1188 + NODE_sb4 = 1405 + NODE_sb5 = 166 + NODE_sb6 = 1336 + NODE_sb7 = 1001 + NODE_so = 1672 + NODE_sync_ = 539 + NODE_t2 = 971 + NODE_t3 = 1567 + NODE_t4 = 690 + NODE_t5 = 909 + NODE_vcc = 657 + NODE_vss = 558 + NODE_x0 = 1216 + NODE_x1 = 98 + NODE_x2 = 1 + NODE_x3 = 1648 + NODE_x4 = 85 + NODE_x5 = 589 + NODE_x6 = 448 + NODE_x7 = 777 + NODE_y0 = 64 + NODE_y1 = 1148 + NODE_y2 = 573 + NODE_y3 = 305 + NODE_y4 = 989 + NODE_y5 = 615 + NODE_y6 = 115 + NODE_y7 = 843 +) + +var DataBusNodes = [8]uint{NODE_db0, NODE_db1, NODE_db2, NODE_db3, NODE_db4, NODE_db5, NODE_db6, NODE_db7} + +type TransDef struct { + gate uint // Gate node + c1 uint // Source... + c2 uint // ...and drain nodes +} + +const TRANSISTORS = 3510 + +var TransDefs = [TRANSISTORS]TransDef{ + {10, 176, NODE_vss}, + {1002, 1211, NODE_vss}, + {1002, 152, NODE_vss}, + {1002, NODE_vss, 1130}, + {1002, NODE_vss, 605}, + {1002, NODE_vss, 605}, + {1003, 274, 136}, + {1003, 860, NODE_vss}, + {1006, NODE_vss, 664}, + {1007, NODE_vss, 1334}, + {1008, 1189, NODE_vss}, + {1008, NODE_vss, 1511}, + {101, NODE_vss, 1364}, + {1010, 1334, NODE_vss}, + {1010, 311, NODE_vss}, + {1011, NODE_vss, 1214}, + {1015, 1637, NODE_adl2}, + {1015, 765, NODE_adl7}, + {1015, NODE_adl0, 401}, + {1015, NODE_adl1, 872}, + {1015, NODE_adl3, 1414}, + {1015, NODE_adl4, 606}, + {1015, NODE_adl5, 314}, + {1015, NODE_adl6, 331}, + {1017, NODE_vss, 578}, + {1018, NODE_vss, 100}, + {1019, 1515, 851}, + {1019, 231, NODE_vss}, + {102, NODE_vcc, NODE_rw}, + {102, NODE_vcc, NODE_rw}, + {102, NODE_vcc, NODE_rw}, + {102, NODE_vcc, NODE_rw}, + {102, NODE_vcc, NODE_rw}, + {102, NODE_vcc, NODE_rw}, + {102, NODE_vcc, NODE_rw}, + {1020, 1277, NODE_vss}, + {1021, 1510, NODE_vss}, + {1023, 1003, NODE_vss}, + {1023, 1425, 924}, + {1024, NODE_vss, 1069}, + {1025, NODE_vss, 564}, + {1026, 171, NODE_vcc}, + {1026, NODE_vss, 322}, + {1027, NODE_vss, 476}, + {1028, 353, NODE_vcc}, + {1031, NODE_vss, 604}, + {1032, 645, NODE_vss}, + {1032, NODE_vss, 297}, + {1033, NODE_vss, 1015}, + {1034, 994, NODE_vcc}, + {1034, NODE_vss, 1545}, + {1035, NODE_vss, 251}, + {1036, 717, NODE_vss}, + {1038, 269, NODE_vss}, + {1041, NODE_ab3, NODE_vcc}, + {1041, NODE_ab3, NODE_vcc}, + {1041, NODE_vcc, NODE_ab3}, + {1041, NODE_vcc, NODE_ab3}, + {1041, NODE_vcc, NODE_ab3}, + {1043, NODE_vss, 414}, + {1044, 1408, 1000}, + {1045, NODE_vss, 1371}, + {1045, NODE_vss, NODE_p7}, + {1047, NODE_vss, 534}, + {1048, 239, 192}, + {1049, NODE_vss, 507}, + {105, 371, 406}, + {105, NODE_vss, 555}, + {1050, 1006, NODE_vss}, + {1051, 455, 1082}, + {1052, NODE_vss, 134}, + {1052, NODE_vss, 510}, + {1054, NODE_vss, 70}, + {1055, 1560, NODE_vss}, + {1056, 1080, 739}, + {1057, 1649, NODE_vss}, + {1060, NODE_idb2, NODE_sb2}, + {1060, NODE_idb4, NODE_sb4}, + {1060, NODE_idb5, NODE_sb5}, + {1060, NODE_idb6, NODE_sb6}, + {1060, NODE_sb0, NODE_idb0}, + {1060, NODE_sb1, NODE_idb1}, + {1060, NODE_sb3, NODE_idb3}, + {1060, NODE_sb7, NODE_idb7}, + {1061, NODE_vss, 124}, + {1062, 1429, NODE_vss}, + {1063, 308, 1583}, + {1063, NODE_vss, 1310}, + {1067, 821, NODE_vss}, + {1068, 1432, 583}, + {1068, 1535, 423}, + {1068, 1645, 478}, + {1068, 1678, 1383}, + {1068, 235, 351}, + {1068, 704, 458}, + {1068, 96, 1621}, + {1068, 977, 624}, + {107, NODE_vss, 376}, + {1070, 1334, NODE_vss}, + {1070, NODE_vss, 1538}, + {1070, NODE_vss, 200}, + {1072, NODE_db0, NODE_vss}, + {1072, NODE_db0, NODE_vss}, + {1072, NODE_db0, NODE_vss}, + {1072, NODE_db0, NODE_vss}, + {1072, NODE_vss, NODE_db0}, + {1072, NODE_vss, NODE_db0}, + {1072, NODE_vss, NODE_db0}, + {1072, NODE_vss, NODE_db0}, + {1074, 366, NODE_vss}, + {1076, NODE_vcc, NODE_db4}, + {1076, NODE_vcc, NODE_db4}, + {1078, NODE_vss, 511}, + {1079, 481, NODE_vss}, + {108, 1666, NODE_vss}, + {1081, NODE_vss, 605}, + {1083, 1019, NODE_vss}, + {1083, 302, NODE_vss}, + {1084, 1314, NODE_vss}, + {1084, NODE_vss, 803}, + {1086, NODE_vss, 1037}, + {1088, 1076, NODE_vcc}, + {1088, NODE_vss, 1463}, + {1088, NODE_vss, 147}, + {1096, 1100, NODE_vss}, + {1096, 855, NODE_vcc}, + {1096, NODE_vss, 1660}, + {1097, NODE_vss, 1475}, + {110, 701, 716}, + {1100, NODE_ab0, NODE_vss}, + {1100, NODE_ab0, NODE_vss}, + {1100, NODE_ab0, NODE_vss}, + {1102, 976, NODE_vss}, + {1104, 253, NODE_vss}, + {1105, NODE_cp1, NODE_vss}, + {1105, NODE_cp1, NODE_vss}, + {1105, NODE_vss, NODE_cp1}, + {1105, NODE_vss, NODE_cp1}, + {1105, NODE_vss, NODE_cp1}, + {1107, 389, NODE_vss}, + {1109, 1130, NODE_vss}, + {1109, 1358, NODE_vss}, + {1109, NODE_vss, 1649}, + {1110, 771, NODE_vss}, + {1111, 1470, NODE_vss}, + {1111, NODE_vss, 1614}, + {1112, 1031, NODE_vss}, + {1112, 1050, NODE_vss}, + {1112, 1052, NODE_vss}, + {1112, 1057, NODE_vss}, + {1112, 1074, NODE_vss}, + {1112, 1086, NODE_vss}, + {1112, 1210, NODE_vss}, + {1112, 1226, NODE_vss}, + {1112, 1233, NODE_vss}, + {1112, 1259, NODE_vss}, + {1112, 131, NODE_vss}, + {1112, 1311, NODE_vss}, + {1112, 1324, NODE_vss}, + {1112, 1337, NODE_vss}, + {1112, 1381, NODE_vss}, + {1112, 1396, NODE_vss}, + {1112, 1428, NODE_vss}, + {1112, 1430, NODE_vss}, + {1112, 1476, NODE_vss}, + {1112, 1478, NODE_vss}, + {1112, 1482, NODE_vss}, + {1112, 1487, NODE_vss}, + {1112, 1520, NODE_vss}, + {1112, 1543, NODE_vss}, + {1112, 1557, NODE_vss}, + {1112, 1569, NODE_vss}, + {1112, 157, NODE_vss}, + {1112, 1582, NODE_vss}, + {1112, 1589, NODE_vss}, + {1112, 1612, NODE_vss}, + {1112, 1646, NODE_vss}, + {1112, 1658, NODE_vss}, + {1112, 1664, NODE_vss}, + {1112, 1665, NODE_vss}, + {1112, 167, NODE_vss}, + {1112, 1710, NODE_vss}, + {1112, 179, NODE_vss}, + {1112, 219, NODE_vss}, + {1112, 259, NODE_vss}, + {1112, 271, NODE_vss}, + {1112, 286, NODE_vss}, + {1112, 303, NODE_vss}, + {1112, 309, NODE_vss}, + {1112, 352, NODE_vss}, + {1112, 370, NODE_vss}, + {1112, 382, NODE_vss}, + {1112, 4, NODE_vss}, + {1112, 446, NODE_vss}, + {1112, 487, NODE_vss}, + {1112, 528, NODE_vss}, + {1112, 552, NODE_vss}, + {1112, 579, NODE_vss}, + {1112, 594, NODE_vss}, + {1112, 607, NODE_vss}, + {1112, 712, NODE_vss}, + {1112, 750, NODE_vss}, + {1112, 76, NODE_vss}, + {1112, 764, NODE_vss}, + {1112, 776, NODE_vss}, + {1112, 784, NODE_vss}, + {1112, 786, NODE_vss}, + {1112, 791, NODE_vss}, + {1112, 804, NODE_vss}, + {1112, 84, NODE_vss}, + {1112, 857, NODE_vss}, + {1112, 932, NODE_vss}, + {1112, 950, NODE_vss}, + {1112, NODE_p5, NODE_vss}, + {1112, NODE_vss, NODE_notir4}, + {1113, 161, NODE_vss}, + {1114, NODE_vss, 889}, + {1115, 1544, NODE_vss}, + {1120, NODE_vss, 137}, + {1121, 291, NODE_vss}, + {1122, NODE_vss, 433}, + {1122, NODE_vss, 505}, + {1124, NODE_vss, 1662}, + {1126, 1290, NODE_vss}, + {1128, NODE_vss, 775}, + {1129, NODE_vcc, NODE_cclk}, + {1129, NODE_vss, 1467}, + {113, NODE_vss, 209}, + {1130, 80, NODE_vss}, + {1131, NODE_vss, 187}, + {1132, 717, NODE_vss}, + {1133, 996, NODE_vss}, + {1134, NODE_vss, 1712}, + {1134, NODE_vss, 70}, + {1135, NODE_vss, 1203}, + {1135, NODE_vss, 1629}, + {1137, NODE_vss, 1185}, + {1138, NODE_vss, 767}, + {114, NODE_vss, 1496}, + {1140, NODE_ab9, NODE_vcc}, + {1140, NODE_ab9, NODE_vcc}, + {1140, NODE_ab9, NODE_vcc}, + {1142, NODE_vss, 185}, + {1142, NODE_vss, 404}, + {1143, 475, NODE_vcc}, + {1143, NODE_vss, 1677}, + {1143, NODE_vss, 999}, + {1144, 757, 939}, + {1144, NODE_vss, 570}, + {1145, 522, NODE_vss}, + {1146, 206, NODE_vss}, + {1146, 811, NODE_vss}, + {1149, NODE_vss, 264}, + {1152, NODE_ab2, NODE_vcc}, + {1152, NODE_ab2, NODE_vcc}, + {1152, NODE_ab2, NODE_vcc}, + {1152, NODE_vcc, NODE_ab2}, + {1152, NODE_vcc, NODE_ab2}, + {1153, 659, NODE_vcc}, + {1153, NODE_vss, 1639}, + {1154, 1380, NODE_vss}, + {1155, NODE_vss, 252}, + {1157, 1564, NODE_vss}, + {1159, NODE_vss, 450}, + {1161, 732, NODE_vss}, + {1162, 21, NODE_vss}, + {1164, 340, NODE_vss}, + {1165, 105, NODE_vss}, + {1165, NODE_vss, 1354}, + {1165, NODE_vss, 942}, + {1166, 1568, NODE_vss}, + {1166, 1685, NODE_vss}, + {1167, 316, NODE_vss}, + {1167, NODE_vss, 143}, + {1168, NODE_vss, 595}, + {117, NODE_vss, 1617}, + {1170, 661, 566}, + {1173, NODE_vss, 1717}, + {1174, 201, NODE_vss}, + {1174, 307, NODE_vss}, + {1174, NODE_vss, 1293}, + {1175, NODE_vss, 267}, + {1176, NODE_vss, 572}, + {1177, NODE_vss, 1614}, + {118, 1092, NODE_vss}, + {1184, 1631, 903}, + {1184, 474, 766}, + {1184, NODE_vss, 410}, + {1185, 1215, NODE_vss}, + {1186, NODE_sb4, NODE_x4}, + {1186, NODE_sb6, NODE_x6}, + {1186, NODE_x0, NODE_sb0}, + {1186, NODE_x1, NODE_sb1}, + {1186, NODE_x2, NODE_sb2}, + {1186, NODE_x3, NODE_sb3}, + {1186, NODE_x5, NODE_sb5}, + {1186, NODE_x7, NODE_sb7}, + {119, NODE_vss, 1626}, + {1191, NODE_vcc, NODE_ab6}, + {1191, NODE_vcc, NODE_ab6}, + {1191, NODE_vcc, NODE_ab6}, + {1191, NODE_vcc, NODE_ab6}, + {1193, NODE_vss, NODE_adl2}, + {1194, NODE_vss, NODE_p3}, + {1195, 1254, NODE_vcc}, + {1195, NODE_vss, 1191}, + {120, NODE_vss, 256}, + {1200, 626, 1249}, + {1200, NODE_vss, 648}, + {1201, 333, NODE_vss}, + {1201, NODE_vss, 1372}, + {1201, NODE_vss, 700}, + {1202, NODE_vss, 1367}, + {1202, NODE_vss, 57}, + {1204, 1107, NODE_vss}, + {1205, 1454, 1494}, + {1205, 260, NODE_vss}, + {1210, 726, NODE_vss}, + {1210, NODE_vss, 256}, + {1211, 10, NODE_vss}, + {1211, 1655, NODE_vss}, + {1213, 1209, NODE_vss}, + {1214, NODE_vss, NODE_fetch}, + {1217, NODE_vss, 532}, + {1218, 1257, NODE_vss}, + {1219, NODE_vss, 1002}, + {122, 570, NODE_vss}, + {1220, 1469, NODE_vss}, + {1220, 570, NODE_vss}, + {1220, 817, NODE_vss}, + {1220, NODE_vss, 547}, + {1221, 1566, NODE_vss}, + {1222, NODE_vss, 1090}, + {1223, 225, NODE_vss}, + {1223, NODE_vcc, 859}, + {1224, NODE_vss, 186}, + {1225, NODE_vss, 1222}, + {1226, 327, NODE_vss}, + {1227, 488, NODE_vss}, + {1228, 11, NODE_vss}, + {1228, 1196, NODE_vss}, + {1228, 384, NODE_vss}, + {1228, 384, NODE_vss}, + {1228, 550, NODE_vss}, + {1230, 708, NODE_vss}, + {1230, NODE_vcc, 549}, + {1232, 634, NODE_vcc}, + {1232, 86, NODE_vss}, + {1232, NODE_vss, 1676}, + {1233, NODE_vss, 1717}, + {1235, NODE_adh0, 1722}, + {1235, NODE_adh1, 209}, + {1235, NODE_adh2, 1496}, + {1235, NODE_adh3, 141}, + {1235, NODE_adh4, 27}, + {1235, NODE_adh5, 1301}, + {1235, NODE_adh6, 652}, + {1235, NODE_adh7, 1206}, + {1236, 165, NODE_vss}, + {1238, NODE_vss, 1060}, + {1239, 636, NODE_vss}, + {124, NODE_vss, 141}, + {1240, 863, NODE_vss}, + {1241, 177, NODE_vss}, + {1241, 269, NODE_vss}, + {1241, NODE_vss, 1013}, + {1241, NODE_vss, 1217}, + {1243, NODE_vss, 1455}, + {1244, 1103, NODE_vss}, + {1245, 299, 1723}, + {1246, NODE_vss, 1012}, + {1247, 1186, NODE_vss}, + {1247, 1331, NODE_vss}, + {1247, 414, NODE_vss}, + {1247, 437, NODE_vss}, + {1247, 48, NODE_vss}, + {1247, 549, NODE_vss}, + {1247, 801, NODE_vss}, + {1247, 874, NODE_vss}, + {1247, 898, NODE_vss}, + {1247, 984, NODE_vss}, + {1247, NODE_vss, 1068}, + {1247, NODE_vss, 1263}, + {1247, NODE_vss, 1698}, + {1247, NODE_vss, 325}, + {1247, NODE_vss, 534}, + {1247, NODE_vss, 654}, + {1247, NODE_vss, 741}, + {1247, NODE_vss, 859}, + {1248, 189, NODE_vss}, + {1248, NODE_vss, 155}, + {125, 1515, NODE_vss}, + {1250, 1041, NODE_vcc}, + {1250, 138, NODE_vss}, + {1250, 990, NODE_vss}, + {1252, 882, NODE_vss}, + {1253, 1184, 1498}, + {1253, 903, NODE_vss}, + {1253, NODE_vss, 515}, + {1254, NODE_ab6, NODE_vss}, + {1254, NODE_vss, NODE_ab6}, + {1254, NODE_vss, NODE_ab6}, + {1254, NODE_vss, NODE_ab6}, + {1255, 59, NODE_vss}, + {1256, NODE_vss, 574}, + {1257, 711, NODE_vss}, + {1257, 753, NODE_vss}, + {1257, NODE_vss, 569}, + {1258, 1130, NODE_vss}, + {1258, 384, NODE_vss}, + {1258, 591, NODE_vss}, + {1258, NODE_vss, 1352}, + {1258, NODE_vss, 1716}, + {1258, NODE_vss, 813}, + {1259, NODE_vss, 1649}, + {1259, NODE_vss, 300}, + {126, NODE_vss, 113}, + {1260, 1413, NODE_vss}, + {1260, NODE_vcc, 1235}, + {1262, 1407, 933}, + {1262, NODE_vss, 1151}, + {1263, 1169, NODE_sb0}, + {1263, 1694, NODE_sb2}, + {1263, 1709, NODE_sb1}, + {1263, 1724, NODE_sb6}, + {1263, 242, NODE_sb3}, + {1263, 436, NODE_sb4}, + {1263, 578, NODE_sb5}, + {1263, 871, NODE_sb7}, + {1265, 1202, NODE_vss}, + {1265, 1334, NODE_vss}, + {1268, NODE_vss, 580}, + {1269, NODE_vss, 1249}, + {1269, NODE_vss, 1401}, + {127, 135, NODE_vss}, + {127, NODE_clk2out, NODE_vcc}, + {1270, 898, NODE_vcc}, + {1270, NODE_vss, 1518}, + {1271, 140, NODE_vss}, + {1272, NODE_vss, 608}, + {1273, 638, NODE_vss}, + {1274, NODE_vss, 1069}, + {1276, 930, NODE_vss}, + {1276, 930, NODE_vss}, + {1277, NODE_vcc, 41}, + {1277, NODE_vss, 1441}, + {128, NODE_vss, 1592}, + {1283, 587, NODE_vss}, + {1285, 1506, NODE_vss}, + {1285, 1510, 1122}, + {1286, 1211, NODE_vss}, + {1289, 632, 1058}, + {129, 1414, NODE_sb3}, + {129, 1637, NODE_sb2}, + {129, 314, NODE_sb5}, + {129, 331, NODE_sb6}, + {129, 401, NODE_sb0}, + {129, 872, NODE_sb1}, + {129, NODE_sb4, 606}, + {1291, 1312, NODE_vss}, + {1292, NODE_vss, 1065}, + {1293, 620, NODE_vss}, + {1294, 851, NODE_vss}, + {1295, NODE_vcc, 1060}, + {1295, NODE_vss, 1238}, + {1296, NODE_ab11, NODE_vcc}, + {1296, NODE_vcc, NODE_ab11}, + {1296, NODE_vcc, NODE_ab11}, + {130, 639, NODE_vss}, + {1300, 1384, NODE_vss}, + {1303, 782, 1040}, + {1304, NODE_vss, 1688}, + {1305, NODE_vss, 921}, + {1307, NODE_vss, 178}, + {131, NODE_vss, 1455}, + {1311, NODE_vss, 604}, + {1312, NODE_vss, 264}, + {1313, 924, NODE_vss}, + {1314, 1308, 1489}, + {1314, 1327, 1617}, + {1314, 637, NODE_vss}, + {1314, NODE_vss, 592}, + {1315, NODE_vcc, 381}, + {1315, NODE_vss, 826}, + {1316, 1386, 426}, + {1316, 914, NODE_vss}, + {1316, NODE_vss, 20}, + {1318, 637, NODE_vss}, + {1318, 748, NODE_vss}, + {1321, 1714, NODE_vss}, + {1323, 283, NODE_vss}, + {1324, NODE_vss, 1455}, + {1325, NODE_db0, NODE_vcc}, + {1325, NODE_vcc, NODE_db0}, + {1326, 72, NODE_vss}, + {1327, 808, NODE_vss}, + {1328, 1050, NODE_vss}, + {1328, 1292, NODE_vss}, + {1328, 131, NODE_vss}, + {1328, 1396, NODE_vss}, + {1328, 271, NODE_vss}, + {1328, 352, NODE_vss}, + {1328, 370, NODE_vss}, + {1328, 403, NODE_vss}, + {1328, 579, NODE_vss}, + {1328, 691, NODE_vss}, + {1328, 712, NODE_vss}, + {1328, 750, NODE_vss}, + {1328, 764, NODE_vss}, + {1328, NODE_p5, NODE_vss}, + {1328, NODE_vss, 1031}, + {1328, NODE_vss, 1052}, + {1328, NODE_vss, 1074}, + {1328, NODE_vss, 1086}, + {1328, NODE_vss, 1114}, + {1328, NODE_vss, 1174}, + {1328, NODE_vss, 1226}, + {1328, NODE_vss, 1243}, + {1328, NODE_vss, 1246}, + {1328, NODE_vss, 1311}, + {1328, NODE_vss, 1324}, + {1328, NODE_vss, 1381}, + {1328, NODE_vss, 1430}, + {1328, NODE_vss, 1466}, + {1328, NODE_vss, 1476}, + {1328, NODE_vss, 1478}, + {1328, NODE_vss, 1487}, + {1328, NODE_vss, 1504}, + {1328, NODE_vss, 1520}, + {1328, NODE_vss, 1557}, + {1328, NODE_vss, 1569}, + {1328, NODE_vss, 157}, + {1328, NODE_vss, 1582}, + {1328, NODE_vss, 1589}, + {1328, NODE_vss, 1612}, + {1328, NODE_vss, 1623}, + {1328, NODE_vss, 1646}, + {1328, NODE_vss, 1665}, + {1328, NODE_vss, 244}, + {1328, NODE_vss, 259}, + {1328, NODE_vss, 303}, + {1328, NODE_vss, 309}, + {1328, NODE_vss, 446}, + {1328, NODE_vss, 487}, + {1328, NODE_vss, 528}, + {1328, NODE_vss, 546}, + {1328, NODE_vss, 552}, + {1328, NODE_vss, 594}, + {1328, NODE_vss, 776}, + {1328, NODE_vss, 784}, + {1328, NODE_vss, 791}, + {1328, NODE_vss, 804}, + {1328, NODE_vss, 857}, + {1328, NODE_vss, 932}, + {1328, NODE_vss, NODE_notir7}, + {1329, 1311, NODE_vss}, + {1329, 1557, NODE_vss}, + {1329, 245, NODE_vss}, + {1329, NODE_notir5, NODE_vss}, + {1329, NODE_vss, 1086}, + {1329, NODE_vss, 1173}, + {1329, NODE_vss, 1233}, + {1329, NODE_vss, 1355}, + {1329, NODE_vss, 145}, + {1329, NODE_vss, 1478}, + {1329, NODE_vss, 1482}, + {1329, NODE_vss, 1540}, + {1329, NODE_vss, 1543}, + {1329, NODE_vss, 1569}, + {1329, NODE_vss, 1601}, + {1329, NODE_vss, 1623}, + {1329, NODE_vss, 179}, + {1329, NODE_vss, 257}, + {1329, NODE_vss, 301}, + {1329, NODE_vss, 309}, + {1329, NODE_vss, 352}, + {1329, NODE_vss, 370}, + {1329, NODE_vss, 382}, + {1329, NODE_vss, 403}, + {1329, NODE_vss, 487}, + {1329, NODE_vss, 517}, + {1329, NODE_vss, 552}, + {1329, NODE_vss, 750}, + {1329, NODE_vss, 76}, + {1329, NODE_vss, 784}, + {1329, NODE_vss, 786}, + {1329, NODE_vss, 932}, + {133, NODE_vcc, 1263}, + {133, NODE_vss, 602}, + {1331, 146, NODE_idb0}, + {1331, 1592, NODE_idb7}, + {1331, 1618, NODE_idb2}, + {1331, 1654, NODE_idb3}, + {1331, 326, NODE_idb6}, + {1331, 831, NODE_idb5}, + {1331, 929, NODE_idb1}, + {1331, NODE_idb4, 1344}, + {1332, 1691, NODE_vss}, + {1332, 452, NODE_vss}, + {1333, 906, NODE_vss}, + {1334, NODE_vss, 1406}, + {1334, NODE_vss, 949}, + {1335, NODE_vss, 1698}, + {1337, 1560, NODE_vss}, + {1338, 462, NODE_vss}, + {134, 467, NODE_vss}, + {134, 930, NODE_vss}, + {1341, 600, NODE_vss}, + {1342, 1563, NODE_vss}, + {1343, 911, NODE_vss}, + {1345, 1542, 1685}, + {1345, 1568, NODE_vss}, + {1345, NODE_vss, 1500}, + {1346, 359, NODE_vcc}, + {1346, NODE_vss, 1296}, + {135, NODE_clk2out, NODE_vss}, + {135, NODE_clk2out, NODE_vss}, + {135, NODE_clk2out, NODE_vss}, + {135, NODE_vss, NODE_clk2out}, + {1350, NODE_d1x1, NODE_vss}, + {1355, NODE_vss, 1560}, + {1356, 326, NODE_vss}, + {1357, 378, NODE_vss}, + {1357, 678, NODE_vss}, + {1357, NODE_vss, 1575}, + {1357, NODE_vss, 188}, + {1358, 396, NODE_vss}, + {1360, 1575, NODE_vss}, + {1364, NODE_vcc, 1666}, + {1364, NODE_vss, 108}, + {1369, NODE_vcc, 438}, + {1369, NODE_vss, 1462}, + {1371, 620, NODE_vss}, + {1372, 1425, NODE_vss}, + {1373, NODE_vss, 1703}, + {1373, NODE_vss, 395}, + {1374, 1368, NODE_vss}, + {1377, 385, NODE_vss}, + {138, NODE_ab3, NODE_vss}, + {138, NODE_ab3, NODE_vss}, + {138, NODE_ab3, NODE_vss}, + {138, NODE_ab3, NODE_vss}, + {1380, NODE_vss, 109}, + {1381, NODE_vss, 980}, + {1382, 1215, NODE_vss}, + {1382, 1350, NODE_vss}, + {1382, 1649, NODE_vss}, + {1382, 300, NODE_vss}, + {1382, 334, NODE_vss}, + {1382, NODE_vss, 1087}, + {1384, 1006, NODE_vss}, + {1384, 1050, NODE_vss}, + {1384, 1074, NODE_vss}, + {1384, 1086, NODE_vss}, + {1384, 1114, NODE_vss}, + {1384, 1164, NODE_vss}, + {1384, 1168, NODE_vss}, + {1384, 1173, NODE_vss}, + {1384, 1204, NODE_vss}, + {1384, 1210, NODE_vss}, + {1384, 1226, NODE_vss}, + {1384, 1239, NODE_vss}, + {1384, 1259, NODE_vss}, + {1384, 1292, NODE_vss}, + {1384, 131, NODE_vss}, + {1384, 1311, NODE_vss}, + {1384, 1324, NODE_vss}, + {1384, 1385, NODE_vss}, + {1384, 1396, NODE_vss}, + {1384, 1419, NODE_vss}, + {1384, 1428, NODE_vss}, + {1384, 1430, NODE_vss}, + {1384, 1478, NODE_vss}, + {1384, 1482, NODE_vss}, + {1384, 1487, NODE_vss}, + {1384, 1512, NODE_vss}, + {1384, 1520, NODE_vss}, + {1384, 1524, NODE_vss}, + {1384, 1543, NODE_vss}, + {1384, 1557, NODE_vss}, + {1384, 1569, NODE_vss}, + {1384, 157, NODE_vss}, + {1384, 1582, NODE_vss}, + {1384, 1612, NODE_vss}, + {1384, 1664, NODE_vss}, + {1384, 1665, NODE_vss}, + {1384, 167, NODE_vss}, + {1384, 1721, NODE_vss}, + {1384, 179, NODE_vss}, + {1384, 245, NODE_vss}, + {1384, 257, NODE_vss}, + {1384, 259, NODE_vss}, + {1384, 271, NODE_vss}, + {1384, 342, NODE_vss}, + {1384, 352, NODE_vss}, + {1384, 370, NODE_vss}, + {1384, 382, NODE_vss}, + {1384, 4, NODE_vss}, + {1384, 446, NODE_vss}, + {1384, 461, NODE_vss}, + {1384, 487, NODE_vss}, + {1384, 492, NODE_vss}, + {1384, 528, NODE_vss}, + {1384, 552, NODE_vss}, + {1384, 579, NODE_vss}, + {1384, 60, NODE_vss}, + {1384, 660, NODE_vss}, + {1384, 682, NODE_vss}, + {1384, 712, NODE_vss}, + {1384, 750, NODE_vss}, + {1384, 76, NODE_vss}, + {1384, 776, NODE_vss}, + {1384, 784, NODE_vss}, + {1384, 786, NODE_vss}, + {1384, 791, NODE_vss}, + {1384, 804, NODE_vss}, + {1384, 84, NODE_vss}, + {1384, 857, NODE_vss}, + {1384, 932, NODE_vss}, + {1384, NODE_notir2, NODE_vss}, + {1384, NODE_p5, NODE_vss}, + {1385, NODE_vss, 347}, + {1386, 484, 914}, + {139, 169, NODE_vss}, + {1392, 297, 346}, + {1392, NODE_vss, 284}, + {1395, 67, NODE_vss}, + {1395, NODE_vss, 67}, + {1396, 1347, NODE_vss}, + {1396, NODE_vss, 11}, + {1398, 117, NODE_vss}, + {1398, 1489, NODE_vss}, + {1398, NODE_vss, 1241}, + {1399, NODE_vcc, NODE_cp1}, + {1399, NODE_vss, 1105}, + {140, NODE_adh0, NODE_sb0}, + {140, NODE_adh2, NODE_sb2}, + {140, NODE_adh3, NODE_sb3}, + {140, NODE_adh4, NODE_sb4}, + {140, NODE_adh5, NODE_sb5}, + {140, NODE_adh7, NODE_sb7}, + {140, NODE_sb1, NODE_adh1}, + {140, NODE_sb6, NODE_adh6}, + {1400, NODE_vss, 83}, + {1401, 626, 1198}, + {1404, NODE_vss, 133}, + {1408, 1004, NODE_vss}, + {1409, 1231, NODE_vss}, + {1410, NODE_vss, 1605}, + {1410, NODE_vss, 365}, + {1411, 1079, NODE_vss}, + {1412, NODE_vss, 384}, + {1413, NODE_vss, 1235}, + {1415, 7, NODE_vcc}, + {1415, NODE_vss, 466}, + {1415, NODE_vss, 471}, + {1416, 1470, 299}, + {1417, NODE_clk1out, NODE_vss}, + {1417, NODE_clk1out, NODE_vss}, + {1417, NODE_clk1out, NODE_vss}, + {1417, NODE_vss, NODE_clk1out}, + {1417, NODE_vss, NODE_clk1out}, + {1419, NODE_vss, 774}, + {142, 1571, NODE_vss}, + {142, 427, 165}, + {1420, 1455, NODE_vss}, + {1420, 397, NODE_vss}, + {1423, 869, NODE_vcc}, + {1423, NODE_vss, 1608}, + {1425, 1310, 142}, + {1425, NODE_vss, 78}, + {1427, NODE_vss, 1448}, + {1428, NODE_vss, 1107}, + {1428, NODE_vss, 604}, + {1429, 1315, NODE_vss}, + {1429, 381, NODE_vss}, + {1429, 826, NODE_vcc}, + {143, 1285, NODE_vss}, + {143, 623, NODE_vss}, + {143, 693, NODE_vss}, + {1430, NODE_vss, 368}, + {1431, 1578, NODE_vss}, + {1432, 841, 189}, + {1432, NODE_vss, 155}, + {1433, 620, NODE_vss}, + {1434, NODE_vss, 1709}, + {1436, 1723, NODE_vss}, + {1436, NODE_vss, 1614}, + {1438, 1497, NODE_vss}, + {1439, NODE_vss, 518}, + {1440, 605, 779}, + {1441, 41, NODE_vss}, + {1442, 793, NODE_vss}, + {1446, 430, 206}, + {1447, NODE_vss, 1175}, + {1448, 1619, NODE_vss}, + {1449, NODE_vss, 944}, + {145, 1280, 1037}, + {1450, 1499, NODE_vss}, + {1452, 861, NODE_vss}, + {1453, 1720, NODE_vss}, + {1453, 612, NODE_vss}, + {1453, NODE_vcc, 373}, + {1455, 1412, NODE_vss}, + {1457, 1644, 1495}, + {1459, 1030, NODE_vss}, + {1459, 122, NODE_vss}, + {1459, NODE_vss, 1390}, + {1459, NODE_vss, 174}, + {1460, NODE_vss, 1309}, + {1462, 438, NODE_vss}, + {1463, NODE_vcc, 147}, + {1463, NODE_vss, 1076}, + {1464, NODE_vss, 1109}, + {1465, 728, NODE_vss}, + {1465, NODE_vss, 1134}, + {1466, NODE_vss, 1000}, + {1467, NODE_cclk, NODE_vss}, + {1467, NODE_cclk, NODE_vss}, + {1467, NODE_cclk, NODE_vss}, + {1467, NODE_vss, NODE_cclk}, + {1468, 618, NODE_adl6}, + {1468, 721, NODE_adl7}, + {1468, NODE_adl0, 332}, + {1468, NODE_adl1, 694}, + {1468, NODE_adl2, 1389}, + {1468, NODE_adl3, 998}, + {1468, NODE_adl4, 3}, + {1468, NODE_adl5, 280}, + {147, NODE_db4, NODE_db4}, + {147, NODE_db4, NODE_vss}, + {147, NODE_db4, NODE_vss}, + {147, NODE_vss, NODE_db4}, + {147, NODE_vss, NODE_db4}, + {147, NODE_vss, NODE_db4}, + {147, NODE_vss, NODE_db4}, + {147, NODE_vss, NODE_db4}, + {147, NODE_vss, NODE_db4}, + {1471, NODE_vss, NODE_p4}, + {1472, 1480, NODE_vss}, + {1476, 1379, NODE_vss}, + {1477, 1541, NODE_vss}, + {1478, NODE_vss, 256}, + {1479, NODE_ab1, NODE_vcc}, + {1479, NODE_ab1, NODE_vcc}, + {1479, NODE_ab1, NODE_vcc}, + {1479, NODE_ab1, NODE_vcc}, + {1479, NODE_vcc, NODE_ab1}, + {1481, NODE_vss, 1134}, + {1481, NODE_vss, 912}, + {1482, 616, NODE_vss}, + {1484, NODE_vss, 1491}, + {1487, NODE_vss, 1464}, + {1488, NODE_vss, 1547}, + {1488, NODE_vss, 545}, + {149, 970, NODE_vss}, + {149, NODE_vss, 762}, + {1492, NODE_vss, 1445}, + {1492, NODE_vss, 1457}, + {1499, NODE_vcc, 1201}, + {1499, NODE_vss, 709}, + {15, 39, NODE_vss}, + {1501, NODE_db7, NODE_vss}, + {1501, NODE_db7, NODE_vss}, + {1501, NODE_db7, NODE_vss}, + {1501, NODE_vss, NODE_db7}, + {1502, 1152, NODE_vcc}, + {1502, 642, NODE_vss}, + {1502, 951, NODE_vss}, + {1504, NODE_vss, 669}, + {1505, 830, NODE_vss}, + {1506, 295, NODE_vss}, + {1506, 965, 1388}, + {1509, 611, NODE_vss}, + {151, NODE_vss, 2}, + {1511, 1598, 262}, + {1512, NODE_vss, 1717}, + {1513, NODE_vss, 234}, + {1517, 916, NODE_vss}, + {1518, 898, NODE_vss}, + {152, NODE_vss, 1343}, + {1520, NODE_vss, 1107}, + {1521, NODE_vss, 242}, + {1522, 1695, NODE_vss}, + {1522, NODE_vss, 1398}, + {1523, 635, NODE_vcc}, + {1523, 963, NODE_vss}, + {1524, 1225, NODE_vss}, + {1525, NODE_vss, 406}, + {1525, NODE_vss, 555}, + {1527, 1295, NODE_vss}, + {1528, 106, NODE_vss}, + {1529, NODE_vss, 91}, + {153, NODE_vss, 1096}, + {1530, NODE_vss, 1198}, + {1533, NODE_clock1, NODE_vss}, + {1533, NODE_vss, 964}, + {1534, 1068, NODE_vcc}, + {1534, NODE_vss, 763}, + {1535, 1318, 1695}, + {1535, NODE_vss, 1398}, + {154, NODE_vcc, 129}, + {154, NODE_vss, 75}, + {1540, 508, NODE_vss}, + {1540, NODE_vss, 734}, + {1541, 437, NODE_vcc}, + {1541, NODE_vss, 491}, + {1542, 1099, 1568}, + {1542, 515, 1158}, + {1542, NODE_vss, 1253}, + {1543, NODE_vss, 1106}, + {1544, 405, 1172}, + {1544, 586, 1330}, + {1544, 586, 1330}, + {1545, NODE_ab10, NODE_vcc}, + {1545, NODE_ab10, NODE_vcc}, + {1545, NODE_vcc, NODE_ab10}, + {1549, 929, NODE_vss}, + {155, 1021, NODE_vss}, + {155, 425, NODE_vss}, + {1552, 362, NODE_vss}, + {1553, NODE_vss, 334}, + {1557, 134, NODE_vss}, + {1560, 1081, NODE_vss}, + {1561, NODE_vss, 871}, + {1562, 1244, NODE_vss}, + {1562, 1351, NODE_vss}, + {1564, 1147, NODE_adl7}, + {1564, NODE_adl0, 719}, + {1564, NODE_adl1, 87}, + {1564, NODE_adl2, 1424}, + {1564, NODE_adl3, 1661}, + {1564, NODE_adl4, 1095}, + {1564, NODE_adl5, 1387}, + {1564, NODE_adl6, 1014}, + {1565, NODE_vss, 1218}, + {1565, NODE_vss, 1218}, + {1566, 1240, NODE_vss}, + {1566, NODE_vcc, 863}, + {1569, NODE_vss, 327}, + {157, NODE_vss, 1090}, + {1570, 1480, 379}, + {1571, 1144, NODE_vss}, + {1571, 486, 547}, + {1571, 817, NODE_vss}, + {1573, 845, 1550}, + {1574, 1089, NODE_vss}, + {1575, NODE_vss, NODE_t2}, + {1576, 1168, NODE_vss}, + {1576, 1204, NODE_vss}, + {1576, 1210, NODE_vss}, + {1576, 1239, NODE_vss}, + {1576, 1259, NODE_vss}, + {1576, 1311, NODE_vss}, + {1576, 1385, NODE_vss}, + {1576, 1428, NODE_vss}, + {1576, 1478, NODE_vss}, + {1576, 1524, NODE_vss}, + {1576, 1557, NODE_vss}, + {1576, 1569, NODE_vss}, + {1576, 1612, NODE_vss}, + {1576, 1710, NODE_vss}, + {1576, 1721, NODE_vss}, + {1576, 204, NODE_vss}, + {1576, 219, NODE_vss}, + {1576, 259, NODE_vss}, + {1576, 271, NODE_vss}, + {1576, 285, NODE_vss}, + {1576, 342, NODE_vss}, + {1576, 352, NODE_vss}, + {1576, 370, NODE_vss}, + {1576, 446, NODE_vss}, + {1576, 461, NODE_vss}, + {1576, 487, NODE_vss}, + {1576, 492, NODE_vss}, + {1576, 528, NODE_vss}, + {1576, 579, NODE_vss}, + {1576, 60, NODE_vss}, + {1576, 660, NODE_vss}, + {1576, 712, NODE_vss}, + {1576, 776, NODE_vss}, + {1576, 784, NODE_vss}, + {1576, 804, NODE_vss}, + {1576, 84, NODE_vss}, + {1576, 857, NODE_vss}, + {1576, 904, NODE_vss}, + {1576, NODE_notir3, NODE_vss}, + {1576, NODE_p5, NODE_vss}, + {1577, NODE_vss, NODE_h1x1}, + {1578, 1368, NODE_vss}, + {1579, NODE_vss, 221}, + {1580, 1159, NODE_vss}, + {1580, 1656, NODE_vss}, + {1581, 1480, 379}, + {1582, 604, NODE_vss}, + {1582, 632, NODE_vss}, + {1585, NODE_vss, 962}, + {1587, 1294, NODE_vss}, + {1587, NODE_vss, 1083}, + {1589, 104, NODE_vss}, + {1589, 368, NODE_vss}, + {1593, 362, NODE_vcc}, + {1593, NODE_vss, 1552}, + {1595, 1181, 793}, + {1596, 1271, NODE_vss}, + {1596, NODE_vcc, 140}, + {1599, 807, 431}, + {1599, NODE_vss, 538}, + {16, 1558, 428}, + {16, 1703, 468}, + {16, 363, 1091}, + {16, 472, 1366}, + {1600, 1546, 1495}, + {1601, 1604, NODE_vss}, + {1601, NODE_vss, 1397}, + {1602, NODE_vss, 1596}, + {1605, 1294, NODE_vss}, + {1606, 188, NODE_vss}, + {1607, 661, NODE_vss}, + {1608, NODE_ab13, NODE_vcc}, + {1608, NODE_ab13, NODE_vcc}, + {1608, NODE_vcc, NODE_ab13}, + {1609, 1329, NODE_vss}, + {161, NODE_vcc, 801}, + {161, NODE_vss, 969}, + {1610, 972, 1372}, + {1612, NODE_vss, 1464}, + {1613, NODE_vcc, 643}, + {1613, NODE_vss, 42}, + {1614, 299, 1616}, + {1619, NODE_vss, 586}, + {1620, 1576, NODE_vss}, + {1622, 1294, NODE_vss}, + {1622, NODE_vss, 1019}, + {1622, NODE_vss, 409}, + {1623, NODE_vss, 837}, + {1624, 169, NODE_vss}, + {1625, NODE_vss, 90}, + {1626, NODE_vss, 1133}, + {1626, NODE_vss, NODE_notir1}, + {1627, 1483, NODE_vss}, + {1627, NODE_vss, 1084}, + {1628, 1285, 942}, + {1628, 1348, NODE_vss}, + {1628, 623, 1354}, + {1629, NODE_vss, 263}, + {163, 1498, NODE_vss}, + {163, 903, NODE_vss}, + {1632, 1220, NODE_vss}, + {1632, 1236, NODE_vss}, + {1633, NODE_vcc, NODE_ab5}, + {1633, NODE_vcc, NODE_ab5}, + {1633, NODE_vcc, NODE_ab5}, + {1633, NODE_vcc, NODE_ab5}, + {1633, NODE_vcc, NODE_ab5}, + {1634, 520, NODE_vcc}, + {1634, NODE_vss, 224}, + {1634, NODE_vss, 37}, + {1635, NODE_vss, 203}, + {1637, NODE_vss, 699}, + {1639, NODE_ab15, NODE_vcc}, + {1639, NODE_vcc, NODE_ab15}, + {1639, NODE_vcc, NODE_ab15}, + {164, 412, NODE_vss}, + {1640, NODE_vss, 1251}, + {1642, NODE_vss, 1352}, + {1643, 1704, NODE_vss}, + {1643, NODE_vss, 410}, + {1643, NODE_vss, 766}, + {1645, 1063, 185}, + {1645, 404, NODE_vss}, + {1646, NODE_vss, 513}, + {1649, 795, NODE_vss}, + {1652, 1178, NODE_vss}, + {1655, NODE_vss, 182}, + {1658, NODE_vss, 1106}, + {1660, 1100, NODE_vcc}, + {1660, NODE_vss, 855}, + {1662, 1426, 845}, + {1662, 553, NODE_vss}, + {1664, 844, NODE_vss}, + {1665, 252, NODE_vss}, + {1666, 1459, 722}, + {1666, 1469, 277}, + {1666, 1525, 957}, + {1666, 250, 953}, + {1666, 304, 177}, + {1666, 308, 296}, + {1666, 701, 740}, + {1666, 884, 1071}, + {167, NODE_vss, 11}, + {1671, 1019, NODE_vss}, + {1671, 571, NODE_vss}, + {1671, NODE_vss, 1294}, + {1671, NODE_vss, 302}, + {1673, NODE_vss, 754}, + {1674, 772, NODE_vss}, + {1675, 337, NODE_vss}, + {1676, 86, NODE_vcc}, + {1676, NODE_vss, 634}, + {1677, NODE_vcc, 999}, + {1677, NODE_vss, 475}, + {1678, 477, 1559}, + {1678, NODE_vss, 1632}, + {1679, NODE_vss, 1262}, + {1680, 313, NODE_vss}, + {1680, 649, NODE_vss}, + {1682, 613, 150}, + {1683, NODE_vss, 966}, + {1689, NODE_vss, 1196}, + {1691, 516, NODE_vss}, + {1691, 972, NODE_vss}, + {1691, NODE_vss, 1023}, + {1691, NODE_vss, 110}, + {1693, 1312, NODE_vss}, + {1696, NODE_rw, NODE_vss}, + {1696, NODE_rw, NODE_vss}, + {1696, NODE_rw, NODE_vss}, + {1696, NODE_vss, NODE_rw}, + {1696, NODE_vss, NODE_rw}, + {1697, 275, NODE_vss}, + {1698, 1592, NODE_sb7}, + {1698, 1618, NODE_sb2}, + {1698, 326, NODE_sb6}, + {1698, NODE_sb0, 146}, + {1698, NODE_sb1, 929}, + {1698, NODE_sb3, 1654}, + {1698, NODE_sb4, 1344}, + {1698, NODE_sb5, 831}, + {1699, NODE_vss, 913}, + {17, NODE_vcc, NODE_clock2}, + {17, NODE_vss, 646}, + {170, NODE_vss, 686}, + {1700, 1389, NODE_sb2}, + {1700, 280, NODE_sb5}, + {1700, 3, NODE_sb4}, + {1700, 332, NODE_sb0}, + {1700, 618, NODE_sb6}, + {1700, 694, NODE_sb1}, + {1700, 721, NODE_sb7}, + {1700, 998, NODE_sb3}, + {1704, 835, NODE_vss}, + {1704, 856, 919}, + {1704, NODE_vss, 1007}, + {1708, 19, NODE_vss}, + {1708, NODE_vss, 1055}, + {1708, NODE_vss, 236}, + {171, NODE_vss, NODE_ab7}, + {171, NODE_vss, NODE_ab7}, + {171, NODE_vss, NODE_ab7}, + {171, NODE_vss, NODE_ab7}, + {1710, 252, NODE_vss}, + {1713, 238, NODE_vss}, + {1714, 1189, 262}, + {1715, 1105, NODE_vcc}, + {1715, NODE_vss, 1399}, + {1715, NODE_vss, 1399}, + {1716, NODE_vss, 180}, + {1719, NODE_vss, 831}, + {172, 1633, NODE_vss}, + {172, 210, NODE_vcc}, + {1720, NODE_vcc, 612}, + {1720, NODE_vss, 373}, + {1721, NODE_vss, 1048}, + {1721, NODE_vss, 10}, + {174, NODE_vss, 1197}, + {178, 1195, NODE_vss}, + {178, 1254, NODE_vss}, + {178, NODE_vcc, 1191}, + {179, NODE_vss, 1455}, + {18, NODE_vss, 378}, + {180, 501, NODE_vss}, + {182, 1619, NODE_vss}, + {182, 442, NODE_vss}, + {184, NODE_vss, 1531}, + {188, NODE_t4, NODE_vss}, + {190, NODE_vss, 220}, + {192, 1130, NODE_vss}, + {192, 25, NODE_vss}, + {192, 506, NODE_vss}, + {193, 22, NODE_vss}, + {196, NODE_vss, 1468}, + {197, NODE_vss, 198}, + {197, NODE_vss, 198}, + {198, 424, NODE_vss}, + {198, NODE_notRdy0, NODE_vss}, + {199, NODE_vss, 1422}, + {199, NODE_vss, 781}, + {199, NODE_vss, 941}, + {200, 293, 1367}, + {200, NODE_vss, 1486}, + {200, NODE_vss, 57}, + {201, 1433, NODE_vss}, + {201, NODE_vss, 1371}, + {203, NODE_vss, NODE_adh1}, + {203, NODE_vss, NODE_adh2}, + {203, NODE_vss, NODE_adh3}, + {203, NODE_vss, NODE_adh4}, + {203, NODE_vss, NODE_adh5}, + {203, NODE_vss, NODE_adh6}, + {203, NODE_vss, NODE_adh7}, + {204, 1118, NODE_vss}, + {206, 367, 1082}, + {206, 387, 916}, + {206, NODE_vss, 465}, + {21, 228, NODE_vss}, + {21, NODE_vcc, 48}, + {210, NODE_vss, NODE_ab5}, + {210, NODE_vss, NODE_ab5}, + {210, NODE_vss, NODE_ab5}, + {210, NODE_vss, NODE_ab5}, + {214, 765, NODE_sb7}, + {215, 941, 1111}, + {216, 1610, NODE_vss}, + {216, 516, NODE_vss}, + {217, 696, NODE_vss}, + {217, NODE_vss, NODE_adl0}, + {218, NODE_vss, 1716}, + {219, NODE_vss, 347}, + {220, 639, NODE_vcc}, + {220, NODE_vss, 130}, + {221, 251, NODE_vss}, + {221, NODE_vss, 251}, + {223, NODE_vss, 1357}, + {224, NODE_vcc, 37}, + {224, NODE_vss, 520}, + {225, 859, NODE_vss}, + {226, 1593, NODE_vss}, + {228, NODE_vss, 48}, + {229, NODE_adh0, NODE_vss}, + {23, NODE_vcc, 1501}, + {23, NODE_vss, 298}, + {231, NODE_vss, 778}, + {232, 1704, NODE_vss}, + {232, NODE_vss, 1316}, + {232, NODE_vss, 585}, + {233, 1205, 569}, + {234, 1633, NODE_vcc}, + {234, 172, NODE_vss}, + {234, 210, NODE_vss}, + {235, 1483, 336}, + {235, NODE_vss, 1084}, + {236, 176, NODE_vss}, + {236, 182, 1151}, + {236, NODE_vss, 1427}, + {236, NODE_vss, 272}, + {236, NODE_vss, 506}, + {236, NODE_vss, 79}, + {238, 1215, NODE_vss}, + {24, 440, NODE_vss}, + {241, NODE_vcc, 1015}, + {241, NODE_vss, 1033}, + {243, 566, 802}, + {244, NODE_vss, 544}, + {245, 1358, NODE_vss}, + {245, NODE_vss, 1106}, + {247, 1301, NODE_idb5}, + {247, 141, NODE_idb3}, + {247, 1722, NODE_idb0}, + {247, 27, NODE_idb4}, + {247, NODE_idb1, 209}, + {247, NODE_idb2, 1496}, + {247, NODE_idb6, 652}, + {247, NODE_idb7, 1206}, + {249, 163, NODE_vss}, + {249, 1704, NODE_vss}, + {25, 674, NODE_vss}, + {251, 353, NODE_vss}, + {251, 353, NODE_vss}, + {251, NODE_vss, 1028}, + {251, NODE_vss, 353}, + {251, NODE_vss, 353}, + {253, 1692, NODE_vss}, + {253, 279, NODE_vss}, + {255, NODE_vss, 741}, + {256, 25, NODE_vss}, + {257, NODE_vss, 1455}, + {258, 1103, 1106}, + {258, 1717, 1351}, + {259, NODE_vss, 134}, + {260, NODE_vss, 1494}, + {264, 1092, 480}, + {264, NODE_vss, 1712}, + {265, 818, NODE_vss}, + {266, NODE_vss, 525}, + {267, NODE_vss, 80}, + {269, 1030, 333}, + {270, 1115, NODE_vss}, + {270, 1426, NODE_vss}, + {270, 1445, 1495}, + {270, 1692, 1082}, + {270, 922, 1544}, + {271, NODE_vss, 1058}, + {271, NODE_vss, 1464}, + {272, 952, NODE_vss}, + {273, 1211, NODE_vss}, + {273, NODE_vss, 272}, + {273, NODE_vss, 773}, + {275, 104, NODE_vss}, + {278, NODE_vss, 1488}, + {279, 455, NODE_vss}, + {28, 567, NODE_vss}, + {281, NODE_vss, 347}, + {282, 874, NODE_vss}, + {283, 1458, NODE_idb6}, + {283, 72, NODE_idb5}, + {283, 723, NODE_idb3}, + {283, 976, NODE_idb1}, + {283, NODE_idb0, 488}, + {283, NODE_idb2, 481}, + {283, NODE_idb4, 208}, + {283, NODE_idb7, 1647}, + {284, 891, 1032}, + {285, 1225, NODE_vss}, + {286, 616, NODE_vss}, + {287, NODE_vcc, 1545}, + {287, NODE_vss, 1034}, + {287, NODE_vss, 994}, + {288, NODE_vcc, 794}, + {288, NODE_vss, 798}, + {289, 997, NODE_vss}, + {291, NODE_vcc, 1564}, + {291, NODE_vss, 1157}, + {293, 1402, 57}, + {293, 207, 356}, + {293, 810, NODE_vss}, + {294, 959, NODE_vss}, + {295, 965, NODE_vss}, + {297, NODE_vss, 1032}, + {298, NODE_vcc, NODE_db7}, + {298, NODE_vcc, NODE_db7}, + {298, NODE_vcc, NODE_db7}, + {298, NODE_vcc, NODE_db7}, + {300, NODE_vss, 847}, + {301, NODE_vss, 252}, + {302, 851, NODE_vss}, + {303, NODE_vss, 669}, + {307, NODE_vss, 620}, + {308, NODE_vss, 375}, + {308, NODE_vss, 65}, + {309, NODE_vss, 368}, + {31, 1044, NODE_vss}, + {31, 307, NODE_vss}, + {31, NODE_p0, NODE_vss}, + {31, NODE_vss, 132}, + {310, NODE_vss, 328}, + {311, 835, NODE_vss}, + {311, 856, NODE_vss}, + {312, 854, 742}, + {312, 995, NODE_vss}, + {314, 761, NODE_vss}, + {317, NODE_vcc, 417}, + {318, NODE_vss, 1293}, + {318, NODE_vss, NODE_p1}, + {319, NODE_vss, 972}, + {32, NODE_vss, 31}, + {320, 1322, NODE_vss}, + {320, 735, NODE_vss}, + {321, NODE_vcc, 247}, + {321, NODE_vss, 849}, + {322, NODE_ab7, NODE_vcc}, + {322, NODE_ab7, NODE_vcc}, + {322, NODE_ab7, NODE_vcc}, + {322, NODE_vcc, NODE_ab7}, + {323, 14, NODE_vss}, + {324, 1107, 1555}, + {325, NODE_y0, NODE_sb0}, + {325, NODE_y1, NODE_sb1}, + {325, NODE_y2, NODE_sb2}, + {325, NODE_y3, NODE_sb3}, + {325, NODE_y4, NODE_sb4}, + {325, NODE_y5, NODE_sb5}, + {325, NODE_y6, NODE_sb6}, + {325, NODE_y7, NODE_sb7}, + {328, 1006, NODE_vss}, + {328, 1133, NODE_vss}, + {328, NODE_vss, NODE_notir0}, + {329, 1166, NODE_vss}, + {329, 1704, NODE_vss}, + {33, NODE_vss, 1301}, + {330, 807, NODE_vss}, + {331, 149, NODE_vss}, + {334, NODE_vss, 118}, + {334, NODE_vss, NODE_p2}, + {335, 1303, 1397}, + {335, 1352, NODE_vss}, + {335, 1717, 1604}, + {335, 508, 1303}, + {335, 734, 1106}, + {335, NODE_vss, 1280}, + {336, 1459, 482}, + {336, NODE_vss, 1038}, + {336, NODE_vss, 112}, + {337, 1164, NODE_vss}, + {337, 1466, NODE_vss}, + {337, 1504, NODE_vss}, + {337, 1601, NODE_vss}, + {337, 1665, NODE_vss}, + {337, 167, NODE_vss}, + {337, 303, NODE_vss}, + {337, 352, NODE_vss}, + {337, 487, NODE_vss}, + {337, 528, NODE_vss}, + {337, 546, NODE_vss}, + {337, 665, NODE_vss}, + {337, 682, NODE_vss}, + {337, 691, NODE_vss}, + {337, 712, NODE_vss}, + {337, 750, NODE_vss}, + {337, 776, NODE_vss}, + {337, 840, NODE_vss}, + {337, 985, NODE_vss}, + {337, NODE_notir6, NODE_vss}, + {337, NODE_vss, 1114}, + {337, NODE_vss, 1173}, + {337, NODE_vss, 1226}, + {337, NODE_vss, 1420}, + {337, NODE_vss, 145}, + {337, NODE_vss, 1476}, + {337, NODE_vss, 1540}, + {337, NODE_vss, 1543}, + {337, NODE_vss, 1562}, + {337, NODE_vss, 1646}, + {337, NODE_vss, 179}, + {337, NODE_vss, 245}, + {337, NODE_vss, 257}, + {337, NODE_vss, 259}, + {337, NODE_vss, 271}, + {337, NODE_vss, 286}, + {337, NODE_vss, 370}, + {337, NODE_vss, 403}, + {337, NODE_vss, 4}, + {337, NODE_vss, 517}, + {337, NODE_vss, 579}, + {337, NODE_vss, 804}, + {338, NODE_vss, 954}, + {339, NODE_vss, 543}, + {341, NODE_vss, 256}, + {342, NODE_vss, 300}, + {344, 1073, 557}, + {344, 20, 585}, + {344, NODE_vss, 1316}, + {345, 1475, 1686}, + {345, NODE_vss, 1097}, + {347, 335, NODE_vss}, + {347, 510, NODE_vss}, + {347, NODE_vss, 191}, + {348, 1194, NODE_vss}, + {35, 654, NODE_vcc}, + {35, 71, NODE_vss}, + {350, 988, NODE_vss}, + {352, 1352, NODE_vss}, + {352, 1391, NODE_vss}, + {353, 1501, NODE_vss}, + {353, 1501, NODE_vss}, + {353, 612, NODE_vss}, + {353, 612, NODE_vss}, + {353, 643, NODE_vss}, + {353, 643, NODE_vss}, + {353, 794, NODE_vss}, + {353, 794, NODE_vss}, + {353, NODE_vss, 1072}, + {353, NODE_vss, 1072}, + {353, NODE_vss, 1076}, + {353, NODE_vss, 1076}, + {353, NODE_vss, 1325}, + {353, NODE_vss, 1325}, + {353, NODE_vss, 1463}, + {353, NODE_vss, 147}, + {353, NODE_vss, 147}, + {353, NODE_vss, 1613}, + {353, NODE_vss, 1720}, + {353, NODE_vss, 224}, + {353, NODE_vss, 23}, + {353, NODE_vss, 288}, + {353, NODE_vss, 298}, + {353, NODE_vss, 298}, + {353, NODE_vss, 373}, + {353, NODE_vss, 373}, + {353, NODE_vss, 37}, + {353, NODE_vss, 37}, + {353, NODE_vss, 42}, + {353, NODE_vss, 42}, + {353, NODE_vss, 466}, + {353, NODE_vss, 471}, + {353, NODE_vss, 471}, + {353, NODE_vss, 520}, + {353, NODE_vss, 520}, + {353, NODE_vss, 769}, + {353, NODE_vss, 798}, + {353, NODE_vss, 798}, + {353, NODE_vss, 7}, + {353, NODE_vss, 7}, + {354, NODE_vss, 595}, + {355, NODE_vcc, 1700}, + {355, NODE_vss, 593}, + {357, NODE_vss, 217}, + {358, 1467, NODE_vcc}, + {358, NODE_vss, 1129}, + {358, NODE_vss, 1129}, + {358, NODE_vss, 1715}, + {359, NODE_ab11, NODE_vss}, + {359, NODE_ab11, NODE_vss}, + {359, NODE_ab11, NODE_vss}, + {359, NODE_ab11, NODE_vss}, + {359, NODE_ab11, NODE_vss}, + {359, NODE_vss, NODE_ab11}, + {359, NODE_vss, NODE_ab11}, + {36, 1009, 1322}, + {36, NODE_vss, 735}, + {360, 1230, NODE_vss}, + {362, 1071, 1063}, + {362, 250, 681}, + {362, 277, 336}, + {362, 296, 477}, + {362, 304, NODE_vcc}, + {362, 350, 740}, + {362, 722, 1318}, + {362, 841, 957}, + {364, NODE_vss, 1232}, + {365, NODE_vss, 125}, + {366, 934, NODE_vss}, + {368, 218, NODE_vss}, + {37, NODE_db2, NODE_db2}, + {37, NODE_db2, NODE_vss}, + {37, NODE_db2, NODE_vss}, + {37, NODE_db2, NODE_vss}, + {37, NODE_db2, NODE_vss}, + {37, NODE_db2, NODE_vss}, + {37, NODE_db2, NODE_vss}, + {37, NODE_vss, NODE_db2}, + {37, NODE_vss, NODE_db2}, + {370, NODE_vss, 1464}, + {370, NODE_vss, 689}, + {372, 1085, 1172}, + {373, NODE_vcc, NODE_db5}, + {373, NODE_vcc, NODE_db5}, + {376, 1479, NODE_vcc}, + {376, 66, NODE_vss}, + {376, NODE_vss, 842}, + {378, NODE_t5, NODE_vss}, + {379, 1500, 1706}, + {379, NODE_vss, 1345}, + {379, NODE_vss, 1704}, + {38, 1247, NODE_vcc}, + {381, NODE_ab8, NODE_vss}, + {381, NODE_ab8, NODE_vss}, + {381, NODE_ab8, NODE_vss}, + {381, NODE_ab8, NODE_vss}, + {381, NODE_ab8, NODE_vss}, + {381, NODE_vss, NODE_ab8}, + {381, NODE_vss, NODE_ab8}, + {382, NODE_vss, 1717}, + {383, 1040, NODE_vss}, + {383, 917, NODE_vss}, + {383, NODE_vss, 1040}, + {384, 550, NODE_vss}, + {384, 885, NODE_vss}, + {386, 1704, NODE_vss}, + {386, 392, NODE_vss}, + {388, 972, 1372}, + {389, 1649, NODE_vss}, + {389, 300, NODE_vss}, + {39, NODE_vss, 208}, + {390, 1258, NODE_vss}, + {392, 557, NODE_vss}, + {392, 814, NODE_vss}, + {393, 551, NODE_vss}, + {397, 11, 1563}, + {398, 321, NODE_vss}, + {4, NODE_vss, 11}, + {40, 1558, NODE_vss}, + {40, NODE_vss, 12}, + {400, NODE_vcc, 1696}, + {400, NODE_vss, 102}, + {402, NODE_vss, 834}, + {403, NODE_vss, 1145}, + {404, 142, NODE_vss}, + {404, 918, NODE_vss}, + {408, 938, NODE_vss}, + {409, NODE_vss, 302}, + {41, NODE_adh0, 719}, + {41, NODE_adh1, 87}, + {41, NODE_adh2, 1424}, + {41, NODE_adh3, 1661}, + {41, NODE_adh4, 1095}, + {41, NODE_adh5, 1387}, + {41, NODE_adh6, 1014}, + {41, NODE_adh7, 1147}, + {410, 344, 814}, + {410, 557, NODE_vss}, + {410, NODE_vss, 474}, + {412, 1257, NODE_vss}, + {412, NODE_vss, 1146}, + {414, NODE_adl0, NODE_pcl0}, + {414, NODE_adl2, NODE_pcl2}, + {414, NODE_adl4, NODE_pcl4}, + {414, NODE_adl6, NODE_pcl6}, + {414, NODE_pcl1, NODE_adl1}, + {414, NODE_pcl3, NODE_adl3}, + {414, NODE_pcl5, NODE_adl5}, + {414, NODE_pcl7, NODE_adl7}, + {415, 931, NODE_vss}, + {417, NODE_sync_, NODE_vcc}, + {417, NODE_sync_, NODE_vcc}, + {417, NODE_sync_, NODE_vcc}, + {417, NODE_vcc, NODE_sync_}, + {417, NODE_vcc, NODE_sync_}, + {417, NODE_vcc, NODE_sync_}, + {417, NODE_vcc, NODE_sync_}, + {419, 1618, NODE_vss}, + {42, NODE_vcc, NODE_db3}, + {42, NODE_vcc, NODE_db3}, + {422, 1346, NODE_vss}, + {422, 359, NODE_vss}, + {422, NODE_vcc, 1296}, + {424, NODE_vcc, NODE_notRdy0}, + {425, 1388, NODE_vss}, + {425, 295, NODE_vss}, + {425, 388, NODE_vss}, + {425, NODE_vss, 953}, + {427, 112, 1314}, + {427, NODE_vss, 500}, + {429, 489, NODE_vss}, + {43, 1230, NODE_vss}, + {43, 1270, NODE_vss}, + {43, 21, NODE_vss}, + {43, 35, NODE_vss}, + {43, 476, NODE_vss}, + {43, 6, NODE_vss}, + {43, 625, NODE_vss}, + {43, 692, NODE_vss}, + {43, 818, NODE_vss}, + {43, 830, NODE_vss}, + {43, NODE_vss, 1223}, + {43, NODE_vss, 1534}, + {43, NODE_vss, 1541}, + {43, NODE_vss, 611}, + {430, 959, NODE_vss}, + {432, 1097, NODE_vss}, + {432, 1686, NODE_vss}, + {434, NODE_vss, 510}, + {437, 1678, NODE_adl5}, + {437, NODE_adl0, 977}, + {437, NODE_adl1, 1432}, + {437, NODE_adl2, 704}, + {437, NODE_adl3, 96}, + {437, NODE_adl4, 1645}, + {437, NODE_adl6, 235}, + {437, NODE_adl7, 1535}, + {438, 1647, NODE_adl7}, + {438, 72, NODE_adl5}, + {438, 723, NODE_adl3}, + {438, 976, NODE_adl1}, + {438, NODE_adl0, 488}, + {438, NODE_adl2, 481}, + {438, NODE_adl4, 208}, + {438, NODE_adl6, 1458}, + {44, 1616, NODE_vss}, + {440, 104, NODE_vss}, + {440, 1352, NODE_vss}, + {440, 137, 504}, + {440, 1681, 905}, + {440, 366, 1012}, + {440, 812, NODE_vss}, + {440, NODE_vss, 1555}, + {440, NODE_vss, 813}, + {441, 325, NODE_vss}, + {443, 1422, 754}, + {443, NODE_vss, 755}, + {444, 1613, NODE_vss}, + {444, 643, NODE_vss}, + {444, NODE_vcc, 42}, + {445, NODE_sync_, NODE_vss}, + {445, NODE_sync_, NODE_vss}, + {445, NODE_vss, 317}, + {445, NODE_vss, 417}, + {445, NODE_vss, 417}, + {445, NODE_vss, NODE_sync_}, + {445, NODE_vss, NODE_sync_}, + {445, NODE_vss, NODE_sync_}, + {446, 368, NODE_vss}, + {447, 261, NODE_vss}, + {449, NODE_vss, 819}, + {45, NODE_vss, 815}, + {453, 1264, NODE_vss}, + {453, NODE_vss, 1213}, + {456, 1039, NODE_vss}, + {459, 625, NODE_vss}, + {46, 1508, NODE_vss}, + {460, 692, NODE_vss}, + {461, 261, NODE_vss}, + {461, 726, NODE_vss}, + {462, NODE_vss, 1278}, + {466, NODE_vcc, 471}, + {466, NODE_vss, 7}, + {467, 1705, NODE_vss}, + {467, NODE_vss, 10}, + {469, NODE_vss, 33}, + {47, 603, NODE_vss}, + {470, 1286, NODE_vss}, + {470, 467, NODE_vss}, + {471, NODE_db6, NODE_db6}, + {471, NODE_db6, NODE_vss}, + {471, NODE_vss, NODE_db6}, + {471, NODE_vss, NODE_db6}, + {471, NODE_vss, NODE_db6}, + {471, NODE_vss, NODE_db6}, + {471, NODE_vss, NODE_db6}, + {471, NODE_vss, NODE_db6}, + {471, NODE_vss, NODE_db6}, + {475, NODE_ab12, NODE_vcc}, + {475, NODE_ab12, NODE_vcc}, + {475, NODE_ab12, NODE_vcc}, + {476, 984, NODE_vcc}, + {476, NODE_vss, 956}, + {477, 647, NODE_vss}, + {479, 679, NODE_vss}, + {48, NODE_pch0, NODE_adh0}, + {48, NODE_pch1, NODE_adh1}, + {48, NODE_pch2, NODE_adh2}, + {48, NODE_pch3, NODE_adh3}, + {48, NODE_pch4, NODE_adh4}, + {48, NODE_pch5, NODE_adh5}, + {48, NODE_pch6, NODE_adh6}, + {48, NODE_pch7, NODE_adh7}, + {480, 202, 629}, + {485, 436, NODE_vss}, + {487, NODE_vss, 824}, + {489, 659, NODE_vss}, + {489, NODE_vcc, 1639}, + {489, NODE_vss, 1153}, + {491, 437, NODE_vss}, + {492, 1107, NODE_vss}, + {499, NODE_vss, 1659}, + {499, NODE_vss, 743}, + {5, NODE_vss, 146}, + {50, NODE_vss, 629}, + {500, 1390, 1197}, + {500, NODE_vss, 174}, + {503, NODE_vss, 270}, + {505, 22, 1572}, + {505, NODE_vss, 193}, + {506, NODE_vss, 877}, + {507, 186, 1082}, + {507, 279, NODE_vss}, + {509, 1270, NODE_vss}, + {510, 1716, NODE_vss}, + {512, NODE_vss, 154}, + {516, 388, NODE_vss}, + {517, 925, NODE_vss}, + {519, 135, NODE_vcc}, + {519, 670, NODE_vss}, + {519, NODE_vss, 127}, + {519, NODE_vss, 670}, + {520, NODE_vcc, NODE_db2}, + {520, NODE_vcc, NODE_db2}, + {521, 6, NODE_vss}, + {522, NODE_vss, 1196}, + {523, 1657, 1406}, + {523, 875, 1659}, + {523, NODE_vss, 743}, + {525, 1331, NODE_vcc}, + {525, 800, NODE_vss}, + {526, NODE_vss, 1227}, + {528, NODE_vss, 368}, + {53, NODE_vss, 790}, + {530, NODE_vss, 1559}, + {530, NODE_vss, 1632}, + {531, NODE_vcc, 59}, + {531, NODE_vss, 1255}, + {534, 1009, NODE_a1}, + {534, 1475, NODE_a3}, + {534, 1494, NODE_a7}, + {534, 263, NODE_a5}, + {534, 679, NODE_a6}, + {534, NODE_a2, 450}, + {534, NODE_sb0, NODE_a0}, + {534, NODE_sb4, NODE_a4}, + {535, NODE_vss, 1206}, + {536, NODE_vss, 1647}, + {537, 363, NODE_vss}, + {538, 330, 881}, + {540, 1294, NODE_vss}, + {540, 227, NODE_vss}, + {540, 302, NODE_vss}, + {540, NODE_vss, 365}, + {541, NODE_vss, 1328}, + {543, 196, NODE_vss}, + {543, NODE_vcc, 1468}, + {544, 267, NODE_vss}, + {546, 1681, NODE_vss}, + {549, 1142, NODE_sb4}, + {549, 1167, NODE_sb0}, + {549, 1627, NODE_sb6}, + {549, 1680, NODE_sb3}, + {549, 530, NODE_sb5}, + {549, NODE_sb1, 1248}, + {549, NODE_sb2, 1332}, + {549, NODE_sb7, 1522}, + {55, 628, NODE_vss}, + {550, 1347, NODE_vss}, + {551, NODE_vss, 8}, + {552, NODE_vss, 1464}, + {553, 511, 845}, + {554, 1180, NODE_vss}, + {554, NODE_vss, 964}, + {555, 371, NODE_vss}, + {556, NODE_vss, 1344}, + {559, 770, NODE_vss}, + {56, NODE_vss, 720}, + {560, NODE_vss, 412}, + {561, NODE_vss, 533}, + {562, NODE_vss, 1374}, + {565, NODE_vss, 658}, + {567, 1026, NODE_vss}, + {567, 171, NODE_vss}, + {567, NODE_vcc, 322}, + {570, 1030, 333}, + {572, 1517, NODE_vss}, + {572, NODE_vss, 1407}, + {574, 1063, 296}, + {574, 1628, 957}, + {574, 277, 477}, + {574, 304, 1318}, + {574, 336, 722}, + {574, 350, 1071}, + {574, 681, 740}, + {574, 841, 250}, + {575, 673, 1053}, + {575, NODE_vss, 1000}, + {579, NODE_vss, 824}, + {58, NODE_vss, 1107}, + {581, 838, NODE_vss}, + {582, 821, NODE_vcc}, + {582, NODE_vss, 1067}, + {587, NODE_vss, 299}, + {59, 143, 957}, + {59, 155, 250}, + {59, 1632, 277}, + {59, 304, 1398}, + {59, 404, 296}, + {59, 649, 1071}, + {59, 722, 1084}, + {59, 740, 1691}, + {590, NODE_vss, 910}, + {592, 1013, 532}, + {592, NODE_vss, 1217}, + {593, NODE_vss, 1700}, + {594, NODE_vss, 256}, + {595, 239, NODE_vss}, + {595, 992, NODE_vss}, + {596, NODE_vss, 819}, + {597, 882, NODE_vss}, + {598, 1260, NODE_vss}, + {599, 725, NODE_vss}, + {6, 874, NODE_vcc}, + {6, NODE_vss, 282}, + {60, 1717, NODE_vss}, + {600, 1279, NODE_vss}, + {600, 36, NODE_vss}, + {600, 613, 1362}, + {602, 1263, NODE_vss}, + {603, 1721, NODE_vss}, + {604, 656, NODE_vss}, + {604, NODE_vss, 385}, + {607, NODE_vss, 347}, + {609, 1192, 1547}, + {609, 1209, 1264}, + {609, NODE_vss, 1213}, + {61, 1554, NODE_vss}, + {61, NODE_vss, 479}, + {610, NODE_vss, 582}, + {611, 255, NODE_vss}, + {611, 741, NODE_vcc}, + {612, NODE_db5, NODE_vss}, + {612, NODE_db5, NODE_vss}, + {612, NODE_vss, NODE_db5}, + {612, NODE_vss, NODE_db5}, + {612, NODE_vss, NODE_db5}, + {612, NODE_vss, NODE_db5}, + {612, NODE_vss, NODE_db5}, + {613, 1656, 450}, + {613, NODE_vss, 1159}, + {614, NODE_vss, 1178}, + {616, NODE_vss, 454}, + {617, 676, NODE_vcc}, + {617, NODE_vss, 1140}, + {620, 1115, NODE_vss}, + {620, NODE_vss, 922}, + {621, NODE_vss, 355}, + {623, 319, 1707}, + {623, 388, NODE_vss}, + {625, 662, NODE_vss}, + {625, NODE_vcc, 1186}, + {627, NODE_vss, 318}, + {628, 1335, NODE_vss}, + {628, NODE_vcc, 1698}, + {63, 1501, NODE_vss}, + {63, 23, NODE_vss}, + {63, NODE_vcc, 298}, + {630, 152, NODE_vss}, + {630, 1705, NODE_vss}, + {631, NODE_vcc, 283}, + {631, NODE_vss, 1323}, + {634, NODE_ab4, NODE_vcc}, + {634, NODE_vcc, NODE_ab4}, + {634, NODE_vcc, NODE_ab4}, + {634, NODE_vcc, NODE_ab4}, + {634, NODE_vcc, NODE_ab4}, + {635, NODE_ab14, NODE_vss}, + {635, NODE_ab14, NODE_vss}, + {635, NODE_ab14, NODE_vss}, + {635, NODE_ab14, NODE_vss}, + {635, NODE_vss, NODE_ab14}, + {635, NODE_vss, NODE_ab14}, + {635, NODE_vss, NODE_ab14}, + {636, NODE_vss, 967}, + {637, NODE_vss, 1308}, + {638, 1118, 604}, + {639, 1636, 707}, + {639, 246, 153}, + {639, 416, 107}, + {639, 463, 1513}, + {639, 524, 1307}, + {639, 577, 28}, + {639, 738, 364}, + {639, 825, 864}, + {640, 136, NODE_vss}, + {640, 860, NODE_vss}, + {640, 884, NODE_vss}, + {640, NODE_vss, 1610}, + {641, 1704, NODE_vss}, + {641, 715, NODE_vss}, + {642, NODE_ab2, NODE_vss}, + {642, NODE_ab2, NODE_vss}, + {642, NODE_ab2, NODE_vss}, + {642, NODE_ab2, NODE_vss}, + {643, NODE_db3, NODE_vss}, + {643, NODE_db3, NODE_vss}, + {643, NODE_vss, NODE_db3}, + {643, NODE_vss, NODE_db3}, + {643, NODE_vss, NODE_db3}, + {643, NODE_vss, NODE_db3}, + {643, NODE_vss, NODE_db3}, + {644, 678, NODE_vss}, + {645, NODE_vss, 1368}, + {646, 202, NODE_vss}, + {646, 470, NODE_vss}, + {646, NODE_vss, 1172}, + {646, NODE_vss, 182}, + {646, NODE_vss, 272}, + {646, NODE_vss, 773}, + {646, NODE_vss, 812}, + {647, 1220, NODE_vss}, + {647, 427, NODE_vss}, + {647, 939, NODE_vss}, + {647, NODE_vss, 570}, + {649, 1313, NODE_vss}, + {649, 640, NODE_vss}, + {65, 651, NODE_vss}, + {653, NODE_vss, 390}, + {654, 1389, NODE_s2}, + {654, 280, NODE_s5}, + {654, 3, NODE_s4}, + {654, 332, NODE_s0}, + {654, 618, NODE_s6}, + {654, 694, NODE_s1}, + {654, 998, NODE_s3}, + {654, NODE_s7, 721}, + {659, NODE_ab15, NODE_vss}, + {659, NODE_ab15, NODE_vss}, + {659, NODE_ab15, NODE_vss}, + {659, NODE_ab15, NODE_vss}, + {659, NODE_vss, NODE_ab15}, + {659, NODE_vss, NODE_ab15}, + {66, NODE_ab1, NODE_vss}, + {66, NODE_ab1, NODE_vss}, + {66, NODE_ab1, NODE_vss}, + {66, NODE_ab1, NODE_vss}, + {660, 1708, NODE_vss}, + {660, 1716, NODE_vss}, + {662, 1186, NODE_vss}, + {663, NODE_vss, 535}, + {664, NODE_vss, 1697}, + {665, 616, NODE_vss}, + {666, NODE_vss, 862}, + {667, NODE_vss, 928}, + {668, 1143, NODE_vss}, + {669, 1228, NODE_vss}, + {67, NODE_vss, 14}, + {67, NODE_vss, 501}, + {670, 1417, NODE_vcc}, + {670, 747, NODE_vss}, + {671, 14, NODE_vss}, + {673, 1304, NODE_vss}, + {675, 888, NODE_vss}, + {675, 888, NODE_vss}, + {676, NODE_ab9, NODE_vss}, + {676, NODE_ab9, NODE_vss}, + {676, NODE_vss, NODE_ab9}, + {676, NODE_vss, NODE_ab9}, + {676, NODE_vss, NODE_ab9}, + {676, NODE_vss, NODE_ab9}, + {676, NODE_vss, NODE_ab9}, + {677, 726, NODE_vss}, + {678, NODE_vss, NODE_t3}, + {680, NODE_vss, 1526}, + {681, 433, 1023}, + {681, NODE_vss, 216}, + {681, NODE_vss, 716}, + {682, 1586, NODE_vss}, + {683, NODE_vss, 229}, + {685, NODE_vss, 1598}, + {686, NODE_vss, NODE_adl1}, + {688, NODE_vss, 1223}, + {689, NODE_vss, 1465}, + {69, 1045, NODE_vss}, + {691, 252, 591}, + {691, NODE_vss, 790}, + {692, 325, NODE_vcc}, + {692, 441, NODE_vss}, + {693, 1348, 1525}, + {698, NODE_vss, 1481}, + {699, 1556, 986}, + {699, 867, NODE_vss}, + {7, NODE_vcc, NODE_db6}, + {7, NODE_vcc, NODE_db6}, + {7, NODE_vcc, NODE_db6}, + {70, 1117, NODE_vss}, + {700, 619, NODE_vss}, + {701, NODE_vss, 1572}, + {701, NODE_vss, 193}, + {704, 1691, NODE_vss}, + {704, 681, 452}, + {706, 1366, NODE_vss}, + {706, 1456, NODE_vss}, + {707, NODE_vss, 1502}, + {708, 549, NODE_vss}, + {709, 1201, NODE_vss}, + {71, NODE_vss, 654}, + {712, NODE_vss, 1649}, + {712, NODE_vss, 300}, + {712, NODE_vss, 383}, + {713, 617, NODE_vss}, + {713, 676, NODE_vss}, + {713, NODE_vcc, 1140}, + {714, 214, NODE_vcc}, + {715, 426, NODE_vss}, + {715, 914, NODE_vss}, + {717, NODE_vss, 1087}, + {717, NODE_vss, 926}, + {725, 306, NODE_vss}, + {725, NODE_vss, 1179}, + {726, NODE_vss, 630}, + {729, NODE_vss, 1185}, + {73, 920, NODE_vss}, + {730, 1724, NODE_vss}, + {731, 1458, NODE_vss}, + {732, NODE_vss, 17}, + {732, NODE_vss, NODE_clock2}, + {735, 1009, NODE_vss}, + {739, 679, 1554}, + {739, NODE_vss, 479}, + {741, NODE_pch0, 1722}, + {741, NODE_pch1, 209}, + {741, NODE_pch2, 1496}, + {741, NODE_pch3, 141}, + {741, NODE_pch4, 27}, + {741, NODE_pch5, 1301}, + {741, NODE_pch6, 652}, + {741, NODE_pch7, 1206}, + {743, 545, 609}, + {743, NODE_vss, 1547}, + {743, NODE_vss, 875}, + {744, NODE_vss, 1268}, + {745, NODE_vss, 241}, + {746, 288, NODE_vss}, + {746, 794, NODE_vss}, + {746, NODE_vcc, 798}, + {747, NODE_clk1out, NODE_vcc}, + {747, NODE_vss, 1417}, + {748, 1327, NODE_vss}, + {748, NODE_vss, 1241}, + {75, 129, NODE_vss}, + {750, 1391, NODE_vss}, + {751, NODE_vss, 652}, + {753, 263, 1203}, + {753, NODE_vss, 1629}, + {754, 1595, NODE_vss}, + {754, 648, 1181}, + {755, 566, 580}, + {755, NODE_vss, 1170}, + {756, 1110, NODE_vss}, + {757, 1030, NODE_vss}, + {759, NODE_vss, 944}, + {76, NODE_vss, 1106}, + {760, 1350, NODE_vss}, + {761, 1056, NODE_vss}, + {761, 233, 970}, + {761, 711, 739}, + {761, NODE_vss, 762}, + {762, NODE_vss, 1018}, + {763, NODE_vss, 1068}, + {764, NODE_vss, 1649}, + {768, 287, NODE_vss}, + {769, NODE_vcc, 1072}, + {769, NODE_vss, 1325}, + {770, NODE_vss, 19}, + {770, NODE_vss, 853}, + {771, 1055, NODE_vss}, + {771, 430, 465}, + {771, NODE_vss, 1446}, + {772, NODE_vcc, 921}, + {772, NODE_vss, 1305}, + {773, 275, NODE_vss}, + {775, 1423, NODE_vss}, + {775, 869, NODE_vss}, + {775, NODE_vcc, 1608}, + {776, NODE_vss, 1219}, + {778, NODE_vss, 1275}, + {779, 656, 1594}, + {78, 651, 375}, + {78, 695, 619}, + {78, NODE_vss, 1179}, + {78, NODE_vss, 65}, + {780, 1722, NODE_vss}, + {781, 1546, NODE_vss}, + {781, 553, NODE_vss}, + {781, 802, NODE_vss}, + {781, NODE_vss, 1170}, + {781, NODE_vss, 1457}, + {781, NODE_vss, 1550}, + {781, NODE_vss, 160}, + {782, 1347, NODE_vss}, + {783, NODE_vss, 1158}, + {783, NODE_vss, 1253}, + {783, NODE_vss, 1704}, + {784, NODE_vss, 1464}, + {784, NODE_vss, 256}, + {785, NODE_vss, 267}, + {786, 844, NODE_vss}, + {787, 1304, NODE_vss}, + {787, 51, 29}, + {787, NODE_vss, 605}, + {788, 152, NODE_vss}, + {79, 911, 696}, + {790, 1137, 816}, + {790, 191, NODE_vss}, + {790, NODE_vss, 434}, + {791, 273, NODE_vss}, + {791, 677, NODE_vss}, + {792, 732, 106}, + {794, NODE_db1, NODE_vss}, + {794, NODE_db1, NODE_vss}, + {794, NODE_db1, NODE_vss}, + {794, NODE_db1, NODE_vss}, + {794, NODE_db1, NODE_vss}, + {794, NODE_vss, NODE_db1}, + {794, NODE_vss, NODE_db1}, + {796, 35, NODE_vss}, + {798, NODE_db1, NODE_vcc}, + {798, NODE_db1, NODE_vcc}, + {799, 1339, NODE_vss}, + {8, 150, NODE_vss}, + {8, 1584, 345}, + {8, 36, NODE_vss}, + {800, 1331, NODE_vss}, + {801, 1251, NODE_sb7}, + {801, 1491, NODE_sb2}, + {801, 518, NODE_sb6}, + {801, 564, NODE_sb0}, + {801, 658, NODE_sb4}, + {801, 733, NODE_sb5}, + {801, 767, NODE_sb1}, + {801, NODE_sb3, 1531}, + {803, 482, NODE_vss}, + {804, NODE_vss, 604}, + {805, NODE_vss, 1534}, + {807, 330, NODE_vss}, + {809, 365, NODE_vss}, + {809, NODE_vss, 1641}, + {810, NODE_vss, 207}, + {811, 1080, NODE_vss}, + {811, 1205, 100}, + {811, 753, NODE_vss}, + {811, 753, NODE_vss}, + {812, NODE_vss, 1044}, + {813, 1101, 1508}, + {815, NODE_vss, 1193}, + {817, 486, NODE_vss}, + {818, 1043, NODE_vss}, + {818, NODE_vcc, 414}, + {819, 1380, NODE_vss}, + {819, 501, NODE_vss}, + {820, 27, NODE_vss}, + {821, 1128, 1353}, + {821, 1298, 907}, + {821, 1667, 92}, + {821, 289, 1514}, + {821, 429, 514}, + {821, 668, 1451}, + {821, 705, 1062}, + {821, 768, 836}, + {822, NODE_vss, 1455}, + {824, 1278, 1642}, + {825, NODE_vss, 1250}, + {826, NODE_ab8, NODE_vcc}, + {826, NODE_ab8, NODE_vcc}, + {826, NODE_vcc, NODE_ab8}, + {83, 949, 523}, + {83, NODE_vss, 1406}, + {830, 1047, NODE_vss}, + {830, 534, NODE_vcc}, + {832, 1275, NODE_vss}, + {834, NODE_vcc, 102}, + {834, NODE_vss, 1696}, + {834, NODE_vss, 400}, + {837, 1689, NODE_vss}, + {838, 811, NODE_vss}, + {839, 43, NODE_vcc}, + {84, NODE_vss, 1106}, + {840, 1433, NODE_vss}, + {840, NODE_vss, 1293}, + {840, NODE_vss, 846}, + {841, NODE_vss, 936}, + {842, NODE_vcc, 66}, + {842, NODE_vss, 1479}, + {844, 454, 946}, + {846, 1371, NODE_vss}, + {846, 307, NODE_vss}, + {847, NODE_vss, 104}, + {848, NODE_vss, 1178}, + {849, NODE_vss, 247}, + {850, 1446, NODE_vss}, + {850, 430, NODE_vss}, + {852, 1454, NODE_vss}, + {852, 260, NODE_vss}, + {853, 1517, NODE_vss}, + {853, NODE_vss, 387}, + {854, 975, NODE_vss}, + {855, NODE_ab0, NODE_vcc}, + {855, NODE_ab0, NODE_vcc}, + {855, NODE_ab0, NODE_vcc}, + {855, NODE_ab0, NODE_vcc}, + {855, NODE_ab0, NODE_vcc}, + {857, NODE_vss, 1377}, + {857, NODE_vss, 1649}, + {857, NODE_vss, 300}, + {859, 1432, NODE_idb1}, + {859, 1535, NODE_idb7}, + {859, 1645, NODE_idb4}, + {859, 1678, NODE_idb5}, + {859, 235, NODE_idb6}, + {859, 96, NODE_idb3}, + {859, 977, NODE_idb0}, + {859, NODE_idb2, 704}, + {86, NODE_ab4, NODE_vss}, + {86, NODE_vss, NODE_ab4}, + {86, NODE_vss, NODE_ab4}, + {86, NODE_vss, NODE_ab4}, + {860, 274, NODE_vss}, + {861, 1382, NODE_vss}, + {862, 1130, NODE_vss}, + {862, 1211, NODE_vss}, + {862, 1347, NODE_vss}, + {862, 1365, NODE_vss}, + {862, NODE_vss, 272}, + {862, NODE_vss, 445}, + {863, NODE_idb0, 719}, + {863, NODE_idb1, 87}, + {863, NODE_idb2, 1424}, + {863, NODE_idb3, 1661}, + {863, NODE_idb4, 1095}, + {863, NODE_idb5, 1387}, + {863, NODE_idb6, 1014}, + {863, NODE_idb7, 1147}, + {865, NODE_vss, 420}, + {866, NODE_vcc, 9}, + {867, NODE_vss, 876}, + {868, 723, NODE_vss}, + {869, NODE_ab13, NODE_vss}, + {869, NODE_ab13, NODE_vss}, + {869, NODE_ab13, NODE_vss}, + {869, NODE_ab13, NODE_vss}, + {869, NODE_vss, NODE_ab13}, + {869, NODE_vss, NODE_ab13}, + {869, NODE_vss, NODE_ab13}, + {872, NODE_vss, 901}, + {874, NODE_s1, NODE_sb1}, + {874, NODE_s2, NODE_sb2}, + {874, NODE_s3, NODE_sb3}, + {874, NODE_s5, NODE_sb5}, + {874, NODE_s6, NODE_sb6}, + {874, NODE_s7, NODE_sb7}, + {874, NODE_sb0, NODE_s0}, + {874, NODE_sb4, NODE_s4}, + {876, 1584, NODE_vss}, + {877, 911, NODE_vss}, + {877, 911, NODE_vss}, + {878, 631, NODE_vss}, + {88, 1375, NODE_vss}, + {882, NODE_vss, 1374}, + {885, 513, NODE_vss}, + {888, NODE_vss, 1092}, + {890, NODE_vss, 1694}, + {897, NODE_vss, 1369}, + {898, NODE_pcl0, 488}, + {898, NODE_pcl1, 976}, + {898, NODE_pcl2, 481}, + {898, NODE_pcl3, 723}, + {898, NODE_pcl4, 208}, + {898, NODE_pcl5, 72}, + {898, NODE_pcl6, 1458}, + {898, NODE_pcl7, 1647}, + {899, NODE_vss, 850}, + {90, 1433, NODE_vss}, + {90, NODE_vss, NODE_p6}, + {901, 1556, NODE_vss}, + {901, 867, NODE_vss}, + {901, NODE_vss, 1362}, + {901, NODE_vss, 1682}, + {902, NODE_vss, 1109}, + {902, NODE_vss, 1109}, + {902, NODE_vss, 1289}, + {904, NODE_vss, 347}, + {905, NODE_vss, 979}, + {906, NODE_vss, 214}, + {906, NODE_vss, 714}, + {907, NODE_vss, 713}, + {91, NODE_vcc, 574}, + {91, NODE_vss, 1256}, + {910, NODE_vss, 1165}, + {916, NODE_vss, 1185}, + {917, 1358, NODE_vss}, + {918, 1583, NODE_vss}, + {919, 1229, 835}, + {919, 1486, 1538}, + {919, NODE_vss, 200}, + {92, 422, NODE_vss}, + {921, 22, 740}, + {921, 274, 1071}, + {921, 304, 532}, + {921, 371, 957}, + {921, 486, 277}, + {921, 651, 296}, + {921, 722, 1197}, + {921, 965, 250}, + {923, 1334, NODE_vss}, + {923, 356, NODE_vss}, + {923, 810, NODE_vss}, + {925, NODE_vss, 335}, + {925, NODE_vss, 816}, + {926, NODE_d1x1, NODE_vss}, + {926, NODE_vss, 1054}, + {926, NODE_vss, 1712}, + {926, NODE_vss, 187}, + {927, 1112, NODE_vss}, + {930, 1286, NODE_vss}, + {932, 368, NODE_vss}, + {932, NODE_vss, 1352}, + {933, NODE_vss, 877}, + {934, 1196, NODE_vss}, + {934, 139, NODE_vss}, + {934, NODE_vss, 160}, + {936, 1122, NODE_vss}, + {936, 1707, NODE_vss}, + {936, 388, NODE_vss}, + {936, NODE_vss, 425}, + {937, NODE_vss, 1345}, + {937, NODE_vss, 1704}, + {937, NODE_vss, 1706}, + {938, 1245, NODE_vss}, + {94, NODE_vss, 1024}, + {940, NODE_vss, 1615}, + {946, NODE_vss, 384}, + {947, NODE_vss, 1654}, + {95, NODE_vss, 531}, + {950, 252, NODE_vss}, + {951, 1152, NODE_vss}, + {951, 642, NODE_vcc}, + {952, 152, NODE_vss}, + {954, 279, NODE_vss}, + {954, 367, NODE_vss}, + {954, NODE_vss, 513}, + {956, 984, NODE_vss}, + {958, 1449, NODE_vss}, + {959, 1154, NODE_vss}, + {96, 350, 313}, + {96, 649, NODE_vss}, + {960, 1178, NODE_vss}, + {962, NODE_vss, 1035}, + {963, NODE_ab14, NODE_vcc}, + {963, NODE_vcc, NODE_ab14}, + {963, NODE_vcc, NODE_ab14}, + {964, NODE_vss, 17}, + {964, NODE_vss, NODE_clock2}, + {966, 1635, NODE_vss}, + {966, NODE_vcc, 203}, + {967, 1211, NODE_vss}, + {967, 1211, NODE_vss}, + {967, 1330, NODE_vss}, + {967, 1347, NODE_vss}, + {967, 202, NODE_vss}, + {967, NODE_vss, 104}, + {967, NODE_vss, 1427}, + {967, NODE_vss, 272}, + {967, NODE_vss, 405}, + {968, 1093, NODE_vss}, + {969, 801, NODE_vss}, + {97, 1325, NODE_vcc}, + {97, NODE_vss, 1072}, + {97, NODE_vss, 769}, + {974, NODE_vss, 1492}, + {975, 854, NODE_vss}, + {977, 1628, 316}, + {977, NODE_vss, 143}, + {979, 1347, NODE_vss}, + {980, 473, 1004}, + {981, NODE_vss, 733}, + {982, NODE_vss, 1141}, + {984, 1680, NODE_vss}, + {984, NODE_vss, 1142}, + {984, NODE_vss, 1167}, + {984, NODE_vss, 1248}, + {984, NODE_vss, 1332}, + {984, NODE_vss, 1522}, + {984, NODE_vss, 1627}, + {984, NODE_vss, 530}, + {985, NODE_vss, 844}, + {986, 1279, 345}, + {987, NODE_vss, 1169}, + {988, 1425, NODE_vss}, + {988, 640, NODE_vss}, + {99, NODE_vss, 1644}, + {990, 1041, NODE_vss}, + {990, 138, NODE_vcc}, + {992, 46, NODE_vss}, + {993, 731, NODE_vss}, + {994, NODE_ab10, NODE_vss}, + {994, NODE_ab10, NODE_vss}, + {994, NODE_ab10, NODE_vss}, + {994, NODE_vss, NODE_ab10}, + {994, NODE_vss, NODE_ab10}, + {994, NODE_vss, NODE_ab10}, + {994, NODE_vss, NODE_ab10}, + {995, 975, 886}, + {996, 1050, NODE_vss}, + {996, 1114, NODE_vss}, + {996, 1164, NODE_vss}, + {996, 1233, NODE_vss}, + {996, 1239, NODE_vss}, + {996, 1292, NODE_vss}, + {996, 131, NODE_vss}, + {996, 1311, NODE_vss}, + {996, 1337, NODE_vss}, + {996, 1419, NODE_vss}, + {996, 1430, NODE_vss}, + {996, 1476, NODE_vss}, + {996, 1478, NODE_vss}, + {996, 1482, NODE_vss}, + {996, 1487, NODE_vss}, + {996, 1520, NODE_vss}, + {996, 1589, NODE_vss}, + {996, 1612, NODE_vss}, + {996, 1646, NODE_vss}, + {996, 1658, NODE_vss}, + {996, 1664, NODE_vss}, + {996, 1710, NODE_vss}, + {996, 1721, NODE_vss}, + {996, 257, NODE_vss}, + {996, 303, NODE_vss}, + {996, 352, NODE_vss}, + {996, 4, NODE_vss}, + {996, 552, NODE_vss}, + {996, 594, NODE_vss}, + {996, 660, NODE_vss}, + {996, 665, NODE_vss}, + {996, 712, NODE_vss}, + {996, 750, NODE_vss}, + {996, 764, NODE_vss}, + {996, 784, NODE_vss}, + {996, 791, NODE_vss}, + {996, 857, NODE_vss}, + {996, 932, NODE_vss}, + {996, NODE_p5, NODE_vss}, + {996, NODE_vss, 1031}, + {996, NODE_vss, 1052}, + {996, NODE_vss, 1086}, + {996, NODE_vss, 1173}, + {996, NODE_vss, 1226}, + {996, NODE_vss, 1381}, + {996, NODE_vss, 1557}, + {996, NODE_vss, 1569}, + {996, NODE_vss, 157}, + {996, NODE_vss, 1582}, + {996, NODE_vss, 1601}, + {996, NODE_vss, 259}, + {996, NODE_vss, 271}, + {996, NODE_vss, 286}, + {996, NODE_vss, 309}, + {996, NODE_vss, 370}, + {996, NODE_vss, 382}, + {996, NODE_vss, 446}, + {996, NODE_vss, 487}, + {996, NODE_vss, 528}, + {996, NODE_vss, 579}, + {996, NODE_vss, 776}, + {996, NODE_vss, 804}, + {996, NODE_vss, 950}, + {997, 1523, NODE_vss}, + {997, 635, NODE_vss}, + {997, NODE_vcc, 963}, + {999, NODE_ab12, NODE_vss}, + {999, NODE_ab12, NODE_vss}, + {999, NODE_ab12, NODE_vss}, + {999, NODE_vss, NODE_ab12}, + {999, NODE_vss, NODE_ab12}, + {999, NODE_vss, NODE_ab12}, + {999, NODE_vss, NODE_ab12}, + {NODE_a0, NODE_vss, 5}, + {NODE_a1, 1549, NODE_vss}, + {NODE_a2, 419, NODE_vss}, + {NODE_a3, NODE_vss, 947}, + {NODE_a4, 556, NODE_vss}, + {NODE_a5, 1719, NODE_vss}, + {NODE_a6, 1356, NODE_vss}, + {NODE_a7, NODE_vss, 128}, + {NODE_adh0, 1668, NODE_vss}, + {NODE_adh1, NODE_vss, 1267}, + {NODE_adh2, NODE_vss, 168}, + {NODE_adh3, NODE_vss, 883}, + {NODE_adh4, 212, NODE_vss}, + {NODE_adh5, NODE_vss, 254}, + {NODE_adh6, NODE_vss, 880}, + {NODE_adh7, 494, NODE_vss}, + {NODE_adl0, NODE_vss, 123}, + {NODE_adl1, NODE_vss, 1016}, + {NODE_adl2, 935, NODE_vss}, + {NODE_adl3, NODE_vss, 1507}, + {NODE_adl4, NODE_vss, 1519}, + {NODE_adl5, 1094, NODE_vss}, + {NODE_adl6, NODE_vss, 1548}, + {NODE_adl7, NODE_vss, 1046}, + {NODE_alu0, NODE_vss, 401}, + {NODE_alu1, NODE_vss, 872}, + {NODE_alu2, NODE_vss, 1637}, + {NODE_alu3, NODE_vss, 1414}, + {NODE_alu4, NODE_vss, 606}, + {NODE_alu5, NODE_vss, 314}, + {NODE_alu6, NODE_vss, 331}, + {NODE_alu7, 765, NODE_vss}, + {NODE_cclk, 1008, 169}, + {NODE_cclk, 1011, 862}, + {NODE_cclk, 1037, 266}, + {NODE_cclk, 104, 1221}, + {NODE_cclk, 1049, 160}, + {NODE_cclk, 1062, 381}, + {NODE_cclk, 1065, 1124}, + {NODE_cclk, 107, 66}, + {NODE_cclk, 1071, NODE_alu3}, + {NODE_cclk, 1078, 334}, + {NODE_cclk, 1090, 1683}, + {NODE_cclk, 11, 55}, + {NODE_cclk, 1101, 190}, + {NODE_cclk, 1102, 1099}, + {NODE_cclk, 1106, 1404}, + {NODE_cclk, 111, NODE_pd2}, + {NODE_cclk, 1117, 170}, + {NODE_cclk, 1121, 1225}, + {NODE_cclk, 1126, 1465}, + {NODE_cclk, 1128, 869}, + {NODE_cclk, 1130, 512}, + {NODE_cclk, 1155, 1436}, + {NODE_cclk, 1162, 272}, + {NODE_cclk, 1169, NODE_x0}, + {NODE_cclk, 1175, 685}, + {NODE_cclk, 1177, 1069}, + {NODE_cclk, 1179, 393}, + {NODE_cclk, 1187, NODE_nots6}, + {NODE_cclk, 119, NODE_notir1}, + {NODE_cclk, 1190, NODE_nots2}, + {NODE_cclk, 1194, 99}, + {NODE_cclk, 1196, 415}, + {NODE_cclk, 1199, NODE_idl2}, + {NODE_cclk, 1209, 663}, + {NODE_cclk, 1225, 683}, + {NODE_cclk, 1228, 1574}, + {NODE_cclk, 1229, 780}, + {NODE_cclk, 1231, 1176}, + {NODE_cclk, 1251, NODE_y7}, + {NODE_cclk, 1254, 1307}, + {NODE_cclk, 126, 1486}, + {NODE_cclk, 1263, NODE_vss}, + {NODE_cclk, 1300, NODE_notir2}, + {NODE_cclk, 1321, 132}, + {NODE_cclk, 1326, 1073}, + {NODE_cclk, 133, NODE_vss}, + {NODE_cclk, 1341, 695}, + {NODE_cclk, 1347, 1527}, + {NODE_cclk, 1352, 1131}, + {NODE_cclk, 1358, 521}, + {NODE_cclk, 1373, 188}, + {NODE_cclk, 1374, 1252}, + {NODE_cclk, 1379, 215}, + {NODE_cclk, 1391, 1577}, + {NODE_cclk, 14, 294}, + {NODE_cclk, 1402, 114}, + {NODE_cclk, 1431, 1134}, + {NODE_cclk, 1438, 504}, + {NODE_cclk, 1442, 1045}, + {NODE_cclk, 1455, 1505}, + {NODE_cclk, 146, NODE_a0}, + {NODE_cclk, 1481, 1452}, + {NODE_cclk, 1500, 526}, + {NODE_cclk, 1513, 210}, + {NODE_cclk, 153, 1100}, + {NODE_cclk, 1530, 1110}, + {NODE_cclk, 1575, 40}, + {NODE_cclk, 1586, 621}, + {NODE_cclk, 1588, NODE_pd5}, + {NODE_cclk, 1592, NODE_a7}, + {NODE_cclk, 1594, 688}, + {NODE_cclk, 1602, 506}, + {NODE_cclk, 1607, 318}, + {NODE_cclk, 1609, NODE_notir5}, + {NODE_cclk, 161, NODE_vss}, + {NODE_cclk, 1618, NODE_a2}, + {NODE_cclk, 1620, NODE_notir3}, + {NODE_cclk, 1638, NODE_idl6}, + {NODE_cclk, 164, 333}, + {NODE_cclk, 1649, 1027}, + {NODE_cclk, 1652, 385}, + {NODE_cclk, 1654, NODE_a3}, + {NODE_cclk, 1673, 1646}, + {NODE_cclk, 1675, NODE_notir6}, + {NODE_cclk, 1689, 982}, + {NODE_cclk, 1693, 264}, + {NODE_cclk, 1694, NODE_x2}, + {NODE_cclk, 1699, 1024}, + {NODE_cclk, 1705, 1020}, + {NODE_cclk, 1712, 45}, + {NODE_cclk, 1713, 501}, + {NODE_cclk, 1717, 1113}, + {NODE_cclk, 1724, NODE_x6}, + {NODE_cclk, 176, 598}, + {NODE_cclk, 182, 265}, + {NODE_cclk, 19, 899}, + {NODE_cclk, 197, 944}, + {NODE_cclk, 199, 327}, + {NODE_cclk, 207, 1061}, + {NODE_cclk, 213, NODE_idl1}, + {NODE_cclk, 242, NODE_x3}, + {NODE_cclk, 250, NODE_alu1}, + {NODE_cclk, 252, 338}, + {NODE_cclk, 261, 729}, + {NODE_cclk, 277, NODE_alu5}, + {NODE_cclk, 28, 171}, + {NODE_cclk, 296, NODE_alu4}, + {NODE_cclk, 304, NODE_alu7}, + {NODE_cclk, 306, 581}, + {NODE_cclk, 31, 1051}, + {NODE_cclk, 326, NODE_a6}, + {NODE_cclk, 34, NODE_nots3}, + {NODE_cclk, 340, 1283}, + {NODE_cclk, 359, 92}, + {NODE_cclk, 364, 86}, + {NODE_cclk, 374, NODE_pd6}, + {NODE_cclk, 396, 796}, + {NODE_cclk, 408, 1308}, + {NODE_cclk, 414, NODE_vss}, + {NODE_cclk, 436, NODE_x4}, + {NODE_cclk, 44, 90}, + {NODE_cclk, 440, 151}, + {NODE_cclk, 442, 509}, + {NODE_cclk, 449, 67}, + {NODE_cclk, 456, 191}, + {NODE_cclk, 469, 875}, + {NODE_cclk, 473, 848}, + {NODE_cclk, 474, 15}, + {NODE_cclk, 484, 536}, + {NODE_cclk, 490, NODE_idl4}, + {NODE_cclk, 496, NODE_nots5}, + {NODE_cclk, 513, 443}, + {NODE_cclk, 515, 1411}, + {NODE_cclk, 518, NODE_y6}, + {NODE_cclk, 522, 88}, + {NODE_cclk, 534, NODE_vss}, + {NODE_cclk, 541, NODE_notir7}, + {NODE_cclk, 548, NODE_nots7}, + {NODE_cclk, 554, 17}, + {NODE_cclk, 559, 608}, + {NODE_cclk, 560, 808}, + {NODE_cclk, 561, 29}, + {NODE_cclk, 568, NODE_idl5}, + {NODE_cclk, 586, 832}, + {NODE_cclk, 588, NODE_idl7}, + {NODE_cclk, 596, 1085}, + {NODE_cclk, 604, 1477}, + {NODE_cclk, 614, 389}, + {NODE_cclk, 616, 460}, + {NODE_cclk, 62, NODE_pd7}, + {NODE_cclk, 629, 760}, + {NODE_cclk, 632, 339}, + {NODE_cclk, 633, 1059}, + {NODE_cclk, 635, 289}, + {NODE_cclk, 658, NODE_y4}, + {NODE_cclk, 659, 429}, + {NODE_cclk, 668, 999}, + {NODE_cclk, 67, 1036}, + {NODE_cclk, 674, 745}, + {NODE_cclk, 676, 907}, + {NODE_cclk, 680, 1688}, + {NODE_cclk, 696, 610}, + {NODE_cclk, 700, 1565}, + {NODE_cclk, 706, 678}, + {NODE_cclk, 707, 642}, + {NODE_cclk, 718, NODE_idl0}, + {NODE_cclk, 722, NODE_alu6}, + {NODE_cclk, 728, 357}, + {NODE_cclk, 73, 934}, + {NODE_cclk, 733, NODE_y5}, + {NODE_cclk, 740, NODE_alu2}, + {NODE_cclk, 751, 1192}, + {NODE_cclk, 768, 994}, + {NODE_cclk, 779, 805}, + {NODE_cclk, 795, 360}, + {NODE_cclk, 799, 264}, + {NODE_cclk, 80, 1333}, + {NODE_cclk, 820, 1657}, + {NODE_cclk, 824, 398}, + {NODE_cclk, 824, 56}, + {NODE_cclk, 825, 138}, + {NODE_cclk, 831, NODE_a5}, + {NODE_cclk, 844, 459}, + {NODE_cclk, 862, 537}, + {NODE_cclk, 865, 958}, + {NODE_cclk, 868, 1631}, + {NODE_cclk, 871, NODE_x7}, + {NODE_cclk, 874, NODE_vss}, + {NODE_cclk, 878, 462}, + {NODE_cclk, 886, NODE_vss}, + {NODE_cclk, 889, 1104}, + {NODE_cclk, 896, NODE_idl3}, + {NODE_cclk, 897, 1211}, + {NODE_cclk, 898, NODE_vss}, + {NODE_cclk, 927, NODE_notir4}, + {NODE_cclk, 929, NODE_a1}, + {NODE_cclk, 934, 968}, + {NODE_cclk, 940, 378}, + {NODE_cclk, 952, 1509}, + {NODE_cclk, 957, NODE_alu0}, + {NODE_cclk, 960, 1081}, + {NODE_cclk, 967, 1269}, + {NODE_cclk, 973, NODE_nots4}, + {NODE_cclk, 974, 774}, + {NODE_cclk, 983, NODE_nots0}, + {NODE_cclk, 993, 20}, + {NODE_cclk, NODE_a4, 1344}, + {NODE_cclk, NODE_adh0, NODE_vcc}, + {NODE_cclk, NODE_adh2, NODE_vcc}, + {NODE_cclk, NODE_adh4, NODE_vcc}, + {NODE_cclk, NODE_adh5, NODE_vcc}, + {NODE_cclk, NODE_adh6, NODE_vcc}, + {NODE_cclk, NODE_adh7, NODE_vcc}, + {NODE_cclk, NODE_adl1, NODE_vcc}, + {NODE_cclk, NODE_adl3, NODE_vcc}, + {NODE_cclk, NODE_adl5, NODE_vcc}, + {NODE_cclk, NODE_adl6, NODE_vcc}, + {NODE_cclk, NODE_idb0, NODE_vcc}, + {NODE_cclk, NODE_idb1, NODE_vcc}, + {NODE_cclk, NODE_idb2, NODE_vcc}, + {NODE_cclk, NODE_idb3, NODE_vcc}, + {NODE_cclk, NODE_idb4, NODE_vcc}, + {NODE_cclk, NODE_idb5, NODE_vcc}, + {NODE_cclk, NODE_idb6, NODE_vcc}, + {NODE_cclk, NODE_notir0, 310}, + {NODE_cclk, NODE_nots1, 1711}, + {NODE_cclk, NODE_pd0, 93}, + {NODE_cclk, NODE_pd1, 1319}, + {NODE_cclk, NODE_pd3, 1281}, + {NODE_cclk, NODE_pd4, 1075}, + {NODE_cclk, NODE_sb0, NODE_vcc}, + {NODE_cclk, NODE_sb1, NODE_vcc}, + {NODE_cclk, NODE_sb2, NODE_vcc}, + {NODE_cclk, NODE_sb4, NODE_vcc}, + {NODE_cclk, NODE_sb5, NODE_vcc}, + {NODE_cclk, NODE_sb6, NODE_vcc}, + {NODE_cclk, NODE_sb7, NODE_vcc}, + {NODE_cclk, NODE_vcc, NODE_adh1}, + {NODE_cclk, NODE_vcc, NODE_adh3}, + {NODE_cclk, NODE_vcc, NODE_adl0}, + {NODE_cclk, NODE_vcc, NODE_adl2}, + {NODE_cclk, NODE_vcc, NODE_adl4}, + {NODE_cclk, NODE_vcc, NODE_adl7}, + {NODE_cclk, NODE_vcc, NODE_idb7}, + {NODE_cclk, NODE_vcc, NODE_sb3}, + {NODE_cclk, NODE_vss, 1035}, + {NODE_cclk, NODE_vss, 1068}, + {NODE_cclk, NODE_vss, 1186}, + {NODE_cclk, NODE_vss, 1331}, + {NODE_cclk, NODE_vss, 1585}, + {NODE_cclk, NODE_vss, 1698}, + {NODE_cclk, NODE_vss, 325}, + {NODE_cclk, NODE_vss, 346}, + {NODE_cclk, NODE_vss, 431}, + {NODE_cclk, NODE_vss, 437}, + {NODE_cclk, NODE_vss, 48}, + {NODE_cclk, NODE_vss, 525}, + {NODE_cclk, NODE_vss, 549}, + {NODE_cclk, NODE_vss, 628}, + {NODE_cclk, NODE_vss, 654}, + {NODE_cclk, NODE_vss, 741}, + {NODE_cclk, NODE_vss, 742}, + {NODE_cclk, NODE_vss, 801}, + {NODE_cclk, NODE_vss, 859}, + {NODE_cclk, NODE_vss, 881}, + {NODE_cclk, NODE_vss, 891}, + {NODE_cclk, NODE_vss, 984}, + {NODE_cclk, NODE_x1, 1709}, + {NODE_cclk, NODE_x5, 578}, + {NODE_cclk, NODE_y0, 564}, + {NODE_cclk, NODE_y1, 767}, + {NODE_cclk, NODE_y2, 1491}, + {NODE_cclk, NODE_y3, 1531}, + {NODE_clearIR, 1671, NODE_vss}, + {NODE_clearIR, 667, NODE_vss}, + {NODE_clearIR, NODE_vss, 1410}, + {NODE_clearIR, NODE_vss, 1460}, + {NODE_clearIR, NODE_vss, 1587}, + {NODE_clearIR, NODE_vss, 1622}, + {NODE_clearIR, NODE_vss, 540}, + {NODE_clearIR, NODE_vss, 809}, + {NODE_clk0, NODE_vss, 358}, + {NODE_clk0, NODE_vss, 519}, + {NODE_clock1, 1155, NODE_vss}, + {NODE_clock1, 1324, NODE_vss}, + {NODE_clock1, NODE_vss, 1243}, + {NODE_clock1, NODE_vss, 1482}, + {NODE_clock1, NODE_vss, 1646}, + {NODE_clock1, NODE_vss, 1664}, + {NODE_clock1, NODE_vss, 1665}, + {NODE_clock1, NODE_vss, 1710}, + {NODE_clock1, NODE_vss, 301}, + {NODE_clock1, NODE_vss, 786}, + {NODE_clock1, NODE_vss, 822}, + {NODE_clock1, NODE_vss, 950}, + {NODE_clock2, 1074, NODE_vss}, + {NODE_clock2, 1226, NODE_vss}, + {NODE_clock2, 1273, NODE_vss}, + {NODE_clock2, 131, NODE_vss}, + {NODE_clock2, 1419, NODE_vss}, + {NODE_clock2, 1420, NODE_vss}, + {NODE_clock2, 1504, NODE_vss}, + {NODE_clock2, 1623, NODE_vss}, + {NODE_clock2, 1658, NODE_vss}, + {NODE_clock2, 1721, NODE_vss}, + {NODE_clock2, 179, NODE_vss}, + {NODE_clock2, 245, NODE_vss}, + {NODE_clock2, 403, NODE_vss}, + {NODE_clock2, 985, NODE_vss}, + {NODE_clock2, NODE_vss, 1114}, + {NODE_clock2, NODE_vss, 1173}, + {NODE_clock2, NODE_vss, 1233}, + {NODE_clock2, NODE_vss, 1292}, + {NODE_clock2, NODE_vss, 1337}, + {NODE_clock2, NODE_vss, 1342}, + {NODE_clock2, NODE_vss, 1355}, + {NODE_clock2, NODE_vss, 1396}, + {NODE_clock2, NODE_vss, 1476}, + {NODE_clock2, NODE_vss, 1478}, + {NODE_clock2, NODE_vss, 1543}, + {NODE_clock2, NODE_vss, 167}, + {NODE_clock2, NODE_vss, 257}, + {NODE_clock2, NODE_vss, 271}, + {NODE_clock2, NODE_vss, 286}, + {NODE_clock2, NODE_vss, 303}, + {NODE_clock2, NODE_vss, 382}, + {NODE_clock2, NODE_vss, 4}, + {NODE_clock2, NODE_vss, 552}, + {NODE_clock2, NODE_vss, 575}, + {NODE_clock2, NODE_vss, 594}, + {NODE_clock2, NODE_vss, 665}, + {NODE_clock2, NODE_vss, 682}, + {NODE_clock2, NODE_vss, 76}, + {NODE_clock2, NODE_vss, 787}, + {NODE_cp1, 1014, 1116}, + {NODE_cp1, 1039, 24}, + {NODE_cp1, 1089, 1529}, + {NODE_cp1, 1093, 226}, + {NODE_cp1, 1095, 1306}, + {NODE_cp1, 1129, NODE_vss}, + {NODE_cp1, 1132, 1087}, + {NODE_cp1, 1141, 101}, + {NODE_cp1, 1147, 391}, + {NODE_cp1, 1161, 109}, + {NODE_cp1, 1180, 1533}, + {NODE_cp1, 1181, 69}, + {NODE_cp1, 1183, 1605}, + {NODE_cp1, 1247, NODE_vss}, + {NODE_cp1, 1267, 1298}, + {NODE_cp1, 127, NODE_vss}, + {NODE_cp1, 1275, 1581}, + {NODE_cp1, 1290, 698}, + {NODE_cp1, 1291, 1382}, + {NODE_cp1, 1309, 74}, + {NODE_cp1, 1338, 720}, + {NODE_cp1, 1339, 597}, + {NODE_cp1, 1360, 1091}, + {NODE_cp1, 1368, 1149}, + {NODE_cp1, 1375, 95}, + {NODE_cp1, 1376, NODE_dor2}, + {NODE_cp1, 1387, 240}, + {NODE_cp1, 1409, 916}, + {NODE_cp1, 1424, 1066}, + {NODE_cp1, 1451, 212}, + {NODE_cp1, 1474, NODE_dor1}, + {NODE_cp1, 1495, 348}, + {NODE_cp1, 1507, 864}, + {NODE_cp1, 1514, 880}, + {NODE_cp1, 1526, 1450}, + {NODE_cp1, 1528, 1215}, + {NODE_cp1, 1553, 845}, + {NODE_cp1, 1590, 1083}, + {NODE_cp1, 1624, NODE_notRdy0}, + {NODE_cp1, 1636, 935}, + {NODE_cp1, 1641, 237}, + {NODE_cp1, 1650, 94}, + {NODE_cp1, 1661, 464}, + {NODE_cp1, 1667, 883}, + {NODE_cp1, 168, 836}, + {NODE_cp1, 1684, NODE_dor6}, + {NODE_cp1, 1687, NODE_dor0}, + {NODE_cp1, 1718, 671}, + {NODE_cp1, 187, 1579}, + {NODE_cp1, 187, 759}, + {NODE_cp1, 223, 1215}, + {NODE_cp1, 227, 703}, + {NODE_cp1, 246, 123}, + {NODE_cp1, 254, 1353}, + {NODE_cp1, 262, 1447}, + {NODE_cp1, 299, 1625}, + {NODE_cp1, 32, 1082}, + {NODE_cp1, 38, NODE_vss}, + {NODE_cp1, 402, 187}, + {NODE_cp1, 416, 1016}, + {NODE_cp1, 43, NODE_vss}, + {NODE_cp1, 430, 1570}, + {NODE_cp1, 457, NODE_dor3}, + {NODE_cp1, 463, 1094}, + {NODE_cp1, 468, 18}, + {NODE_cp1, 47, 420}, + {NODE_cp1, 472, 1606}, + {NODE_cp1, 494, 514}, + {NODE_cp1, 50, 1350}, + {NODE_cp1, 524, 1548}, + {NODE_cp1, 533, 599}, + {NODE_cp1, 562, 645}, + {NODE_cp1, 571, 343}, + {NODE_cp1, 577, 1046}, + {NODE_cp1, 590, 1178}, + {NODE_cp1, 626, 756}, + {NODE_cp1, 627, 566}, + {NODE_cp1, 644, 428}, + {NODE_cp1, 653, 1497}, + {NODE_cp1, 666, 1380}, + {NODE_cp1, 675, 330}, + {NODE_cp1, 705, 1668}, + {NODE_cp1, 719, 1597}, + {NODE_cp1, 724, 409}, + {NODE_cp1, 738, 1519}, + {NODE_cp1, 789, NODE_dor7}, + {NODE_cp1, 797, NODE_dor4}, + {NODE_cp1, 851, 792}, + {NODE_cp1, 854, 1395}, + {NODE_cp1, 87, 870}, + {NODE_cp1, 913, 1274}, + {NODE_cp1, 920, 785}, + {NODE_cp1, 928, 1378}, + {NODE_cp1, 931, 1674}, + {NODE_cp1, 959, 323}, + {NODE_cp1, 961, NODE_dor5}, + {NODE_cp1, NODE_d1x1, 1472}, + {NODE_cp1, NODE_notRdy0, 1272}, + {NODE_cp1, NODE_notRdy0, 1276}, + {NODE_cp1, NODE_notRdy0, 1679}, + {NODE_cp1, NODE_notRdy0, 902}, + {NODE_cp1, NODE_vss, 1247}, + {NODE_cp1, NODE_vss, 1247}, + {NODE_cp1, NODE_vss, 43}, + {NODE_cp1, NODE_vss, 839}, + {NODE_d1x1, NODE_vss, 1471}, + {NODE_d1x1, NODE_vss, 380}, + {NODE_db0, NODE_vss, 718}, + {NODE_db0, NODE_vss, 93}, + {NODE_db1, 213, NODE_vss}, + {NODE_db1, NODE_vss, 1319}, + {NODE_db2, NODE_vss, 111}, + {NODE_db2, NODE_vss, 1199}, + {NODE_db3, 896, NODE_vss}, + {NODE_db3, NODE_vss, 1281}, + {NODE_db4, NODE_vss, 1075}, + {NODE_db4, NODE_vss, 490}, + {NODE_db5, 568, NODE_vss}, + {NODE_db5, NODE_vss, 1588}, + {NODE_db6, 374, NODE_vss}, + {NODE_db6, NODE_vss, 1638}, + {NODE_db7, 588, NODE_vss}, + {NODE_db7, 62, NODE_vss}, + {NODE_dor0, 97, NODE_vss}, + {NODE_dor1, 746, NODE_vss}, + {NODE_dor2, 1634, NODE_vss}, + {NODE_dor3, 444, NODE_vss}, + {NODE_dor4, 1088, NODE_vss}, + {NODE_dor5, 1453, NODE_vss}, + {NODE_dor6, 1415, NODE_vss}, + {NODE_dor7, 63, NODE_vss}, + {NODE_fetch, 1183, 541}, + {NODE_fetch, 1300, 343}, + {NODE_fetch, 1590, 1620}, + {NODE_fetch, 1609, 1378}, + {NODE_fetch, 1675, 74}, + {NODE_fetch, 237, 119}, + {NODE_fetch, 380, NODE_clearIR}, + {NODE_fetch, 703, 927}, + {NODE_fetch, 724, 310}, + {NODE_h1x1, NODE_idb0, NODE_p0}, + {NODE_h1x1, NODE_idb2, NODE_p2}, + {NODE_h1x1, NODE_p1, NODE_idb1}, + {NODE_h1x1, NODE_p3, NODE_idb3}, + {NODE_h1x1, NODE_p4, NODE_idb4}, + {NODE_h1x1, NODE_p6, NODE_idb6}, + {NODE_h1x1, NODE_p7, NODE_idb7}, + {NODE_idb0, 1687, NODE_vss}, + {NODE_idb0, NODE_vss, 1224}, + {NODE_idb0, NODE_vss, 624}, + {NODE_idb0, NODE_vss, 744}, + {NODE_idb1, 1474, NODE_vss}, + {NODE_idb1, NODE_vss, 243}, + {NODE_idb1, NODE_vss, 583}, + {NODE_idb1, NODE_vss, 744}, + {NODE_idb2, 1376, NODE_vss}, + {NODE_idb2, 744, NODE_vss}, + {NODE_idb2, NODE_vss, 1573}, + {NODE_idb2, NODE_vss, 458}, + {NODE_idb3, 457, NODE_vss}, + {NODE_idb3, NODE_vss, 1600}, + {NODE_idb3, NODE_vss, 1621}, + {NODE_idb3, NODE_vss, 744}, + {NODE_idb4, 744, NODE_vss}, + {NODE_idb4, 797, NODE_vss}, + {NODE_idb4, NODE_vss, 478}, + {NODE_idb5, 961, NODE_vss}, + {NODE_idb5, NODE_vss, 1383}, + {NODE_idb5, NODE_vss, 744}, + {NODE_idb6, 1684, NODE_vss}, + {NODE_idb6, 744, NODE_vss}, + {NODE_idb6, NODE_vss, 1416}, + {NODE_idb6, NODE_vss, 351}, + {NODE_idb7, 1200, NODE_vss}, + {NODE_idb7, 789, NODE_vss}, + {NODE_idb7, NODE_vss, 423}, + {NODE_idb7, NODE_vss, 744}, + {NODE_idl0, 1597, NODE_vss}, + {NODE_idl0, 1597, NODE_vss}, + {NODE_idl0, NODE_vss, 1597}, + {NODE_idl1, NODE_vss, 870}, + {NODE_idl1, NODE_vss, 870}, + {NODE_idl1, NODE_vss, 870}, + {NODE_idl2, 1066, NODE_vss}, + {NODE_idl2, 1066, NODE_vss}, + {NODE_idl2, NODE_vss, 1066}, + {NODE_idl3, NODE_vss, 464}, + {NODE_idl3, NODE_vss, 464}, + {NODE_idl3, NODE_vss, 464}, + {NODE_idl4, 1306, NODE_vss}, + {NODE_idl4, 1306, NODE_vss}, + {NODE_idl4, NODE_vss, 1306}, + {NODE_idl5, NODE_vss, 240}, + {NODE_idl5, NODE_vss, 240}, + {NODE_idl5, NODE_vss, 240}, + {NODE_idl6, 1116, NODE_vss}, + {NODE_idl6, 1116, NODE_vss}, + {NODE_idl6, NODE_vss, 1116}, + {NODE_idl7, NODE_vss, 391}, + {NODE_idl7, NODE_vss, 391}, + {NODE_idl7, NODE_vss, 391}, + {NODE_irq, NODE_vss, 1599}, + {NODE_nmi, 1392, NODE_vss}, + {NODE_notir0, 1168, NODE_vss}, + {NODE_notir0, 1210, NODE_vss}, + {NODE_notir0, 1243, NODE_vss}, + {NODE_notir0, 1259, NODE_vss}, + {NODE_notir0, 1420, NODE_vss}, + {NODE_notir0, 145, NODE_vss}, + {NODE_notir0, 1512, NODE_vss}, + {NODE_notir0, 1524, NODE_vss}, + {NODE_notir0, 461, NODE_vss}, + {NODE_notir0, 60, NODE_vss}, + {NODE_notir0, 822, NODE_vss}, + {NODE_notir0, 84, NODE_vss}, + {NODE_notir0, NODE_vss, 1155}, + {NODE_notir0, NODE_vss, 1204}, + {NODE_notir0, NODE_vss, 1342}, + {NODE_notir0, NODE_vss, 1355}, + {NODE_notir0, NODE_vss, 1385}, + {NODE_notir0, NODE_vss, 1428}, + {NODE_notir0, NODE_vss, 1504}, + {NODE_notir0, NODE_vss, 1623}, + {NODE_notir0, NODE_vss, 301}, + {NODE_notir0, NODE_vss, 342}, + {NODE_notir0, NODE_vss, 403}, + {NODE_notir0, NODE_vss, 492}, + {NODE_notir0, NODE_vss, 575}, + {NODE_notir0, NODE_vss, 787}, + {NODE_notir1, 1074, NODE_vss}, + {NODE_notir1, 1246, NODE_vss}, + {NODE_notir1, 1324, NODE_vss}, + {NODE_notir1, 1396, NODE_vss}, + {NODE_notir1, 1540, NODE_vss}, + {NODE_notir1, 1543, NODE_vss}, + {NODE_notir1, 1665, NODE_vss}, + {NODE_notir1, 167, NODE_vss}, + {NODE_notir1, 179, NODE_vss}, + {NODE_notir1, 244, NODE_vss}, + {NODE_notir1, 245, NODE_vss}, + {NODE_notir1, 324, NODE_vss}, + {NODE_notir1, 53, NODE_vss}, + {NODE_notir1, 546, NODE_vss}, + {NODE_notir1, 682, NODE_vss}, + {NODE_notir1, 691, NODE_vss}, + {NODE_notir1, 76, NODE_vss}, + {NODE_notir1, 786, NODE_vss}, + {NODE_notir1, 985, NODE_vss}, + {NODE_notir1, NODE_vss, 1466}, + {NODE_notir1, NODE_vss, 1562}, + {NODE_notir2, 1052, NODE_vss}, + {NODE_notir2, 1057, NODE_vss}, + {NODE_notir2, 1381, NODE_vss}, + {NODE_notir2, 1476, NODE_vss}, + {NODE_notir2, 1589, NODE_vss}, + {NODE_notir2, 1601, NODE_vss}, + {NODE_notir2, 1646, NODE_vss}, + {NODE_notir2, 219, NODE_vss}, + {NODE_notir2, 258, NODE_vss}, + {NODE_notir2, 285, NODE_vss}, + {NODE_notir2, 303, NODE_vss}, + {NODE_notir2, 309, NODE_vss}, + {NODE_notir2, 594, NODE_vss}, + {NODE_notir2, 665, NODE_vss}, + {NODE_notir2, 764, NODE_vss}, + {NODE_notir2, 904, NODE_vss}, + {NODE_notir2, 950, NODE_vss}, + {NODE_notir2, NODE_vss, 607}, + {NODE_notir3, 1006, NODE_vss}, + {NODE_notir3, 1050, NODE_vss}, + {NODE_notir3, 1052, NODE_vss}, + {NODE_notir3, 1057, NODE_vss}, + {NODE_notir3, 1074, NODE_vss}, + {NODE_notir3, 1086, NODE_vss}, + {NODE_notir3, 1114, NODE_vss}, + {NODE_notir3, 1164, NODE_vss}, + {NODE_notir3, 1173, NODE_vss}, + {NODE_notir3, 1226, NODE_vss}, + {NODE_notir3, 1292, NODE_vss}, + {NODE_notir3, 1324, NODE_vss}, + {NODE_notir3, 1381, NODE_vss}, + {NODE_notir3, 1396, NODE_vss}, + {NODE_notir3, 1419, NODE_vss}, + {NODE_notir3, 1430, NODE_vss}, + {NODE_notir3, 1482, NODE_vss}, + {NODE_notir3, 1487, NODE_vss}, + {NODE_notir3, 1512, NODE_vss}, + {NODE_notir3, 1520, NODE_vss}, + {NODE_notir3, 1543, NODE_vss}, + {NODE_notir3, 1589, NODE_vss}, + {NODE_notir3, 1664, NODE_vss}, + {NODE_notir3, 1665, NODE_vss}, + {NODE_notir3, 167, NODE_vss}, + {NODE_notir3, 179, NODE_vss}, + {NODE_notir3, 245, NODE_vss}, + {NODE_notir3, 257, NODE_vss}, + {NODE_notir3, 281, NODE_vss}, + {NODE_notir3, 309, NODE_vss}, + {NODE_notir3, 354, NODE_vss}, + {NODE_notir3, 4, NODE_vss}, + {NODE_notir3, 447, NODE_vss}, + {NODE_notir3, 552, NODE_vss}, + {NODE_notir3, 58, NODE_vss}, + {NODE_notir3, 594, NODE_vss}, + {NODE_notir3, 607, NODE_vss}, + {NODE_notir3, 677, NODE_vss}, + {NODE_notir3, 682, NODE_vss}, + {NODE_notir3, 750, NODE_vss}, + {NODE_notir3, 76, NODE_vss}, + {NODE_notir3, 764, NODE_vss}, + {NODE_notir3, 786, NODE_vss}, + {NODE_notir3, 932, NODE_vss}, + {NODE_notir3, 950, NODE_vss}, + {NODE_notir3, NODE_vss, 131}, + {NODE_notir3, NODE_vss, 273}, + {NODE_notir3, NODE_vss, 382}, + {NODE_notir3, NODE_vss, 791}, + {NODE_notir4, 1114, NODE_vss}, + {NODE_notir4, 1164, NODE_vss}, + {NODE_notir4, 1168, NODE_vss}, + {NODE_notir4, 1173, NODE_vss}, + {NODE_notir4, 1204, NODE_vss}, + {NODE_notir4, 1239, NODE_vss}, + {NODE_notir4, 1292, NODE_vss}, + {NODE_notir4, 1512, NODE_vss}, + {NODE_notir4, 1721, NODE_vss}, + {NODE_notir4, 245, NODE_vss}, + {NODE_notir4, 257, NODE_vss}, + {NODE_notir4, 258, NODE_vss}, + {NODE_notir4, 281, NODE_vss}, + {NODE_notir4, 342, NODE_vss}, + {NODE_notir4, 354, NODE_vss}, + {NODE_notir4, 447, NODE_vss}, + {NODE_notir4, 492, NODE_vss}, + {NODE_notir4, 60, NODE_vss}, + {NODE_notir4, 660, NODE_vss}, + {NODE_notir4, 682, NODE_vss}, + {NODE_notir4, 904, NODE_vss}, + {NODE_notir4, NODE_vss, 1419}, + {NODE_notir4, NODE_vss, 461}, + {NODE_notir4, NODE_vss, 58}, + {NODE_notir5, 503, NODE_vss}, + {NODE_notir5, NODE_vss, 1155}, + {NODE_notir5, NODE_vss, 1164}, + {NODE_notir5, NODE_vss, 1226}, + {NODE_notir5, NODE_vss, 131}, + {NODE_notir5, NODE_vss, 1420}, + {NODE_notir5, NODE_vss, 1430}, + {NODE_notir5, NODE_vss, 1466}, + {NODE_notir5, NODE_vss, 1476}, + {NODE_notir5, NODE_vss, 1487}, + {NODE_notir5, NODE_vss, 1504}, + {NODE_notir5, NODE_vss, 1520}, + {NODE_notir5, NODE_vss, 1612}, + {NODE_notir5, NODE_vss, 1646}, + {NODE_notir5, NODE_vss, 1658}, + {NODE_notir5, NODE_vss, 1664}, + {NODE_notir5, NODE_vss, 167}, + {NODE_notir5, NODE_vss, 244}, + {NODE_notir5, NODE_vss, 259}, + {NODE_notir5, NODE_vss, 271}, + {NODE_notir5, NODE_vss, 286}, + {NODE_notir5, NODE_vss, 303}, + {NODE_notir5, NODE_vss, 324}, + {NODE_notir5, NODE_vss, 4}, + {NODE_notir5, NODE_vss, 528}, + {NODE_notir5, NODE_vss, 575}, + {NODE_notir5, NODE_vss, 579}, + {NODE_notir5, NODE_vss, 665}, + {NODE_notir5, NODE_vss, 682}, + {NODE_notir5, NODE_vss, 712}, + {NODE_notir5, NODE_vss, 776}, + {NODE_notir5, NODE_vss, 787}, + {NODE_notir5, NODE_vss, 822}, + {NODE_notir5, NODE_vss, 985}, + {NODE_notir5, NODE_vss, NODE_p5}, + {NODE_notir6, 1292, NODE_vss}, + {NODE_notir6, 131, NODE_vss}, + {NODE_notir6, 1311, NODE_vss}, + {NODE_notir6, 1355, NODE_vss}, + {NODE_notir6, 1419, NODE_vss}, + {NODE_notir6, 1623, NODE_vss}, + {NODE_notir6, 1658, NODE_vss}, + {NODE_notir6, 244, NODE_vss}, + {NODE_notir6, 309, NODE_vss}, + {NODE_notir6, 324, NODE_vss}, + {NODE_notir6, 53, NODE_vss}, + {NODE_notir6, 787, NODE_vss}, + {NODE_notir6, 822, NODE_vss}, + {NODE_notir6, 857, NODE_vss}, + {NODE_notir6, NODE_p5, NODE_vss}, + {NODE_notir6, NODE_vss, 1052}, + {NODE_notir6, NODE_vss, 1074}, + {NODE_notir6, NODE_vss, 1086}, + {NODE_notir6, NODE_vss, 1155}, + {NODE_notir6, NODE_vss, 1233}, + {NODE_notir6, NODE_vss, 1246}, + {NODE_notir6, NODE_vss, 1337}, + {NODE_notir6, NODE_vss, 1381}, + {NODE_notir6, NODE_vss, 1569}, + {NODE_notir6, NODE_vss, 1589}, + {NODE_notir6, NODE_vss, 1612}, + {NODE_notir6, NODE_vss, 1664}, + {NODE_notir6, NODE_vss, 1710}, + {NODE_notir6, NODE_vss, 301}, + {NODE_notir6, NODE_vss, 446}, + {NODE_notir6, NODE_vss, 575}, + {NODE_notir6, NODE_vss, 594}, + {NODE_notir6, NODE_vss, 764}, + {NODE_notir6, NODE_vss, 76}, + {NODE_notir6, NODE_vss, 784}, + {NODE_notir6, NODE_vss, 786}, + {NODE_notir6, NODE_vss, 950}, + {NODE_notir7, 1419, NODE_vss}, + {NODE_notir7, 1562, NODE_vss}, + {NODE_notir7, 1664, NODE_vss}, + {NODE_notir7, 1710, NODE_vss}, + {NODE_notir7, NODE_vss, 1164}, + {NODE_notir7, NODE_vss, 1173}, + {NODE_notir7, NODE_vss, 1233}, + {NODE_notir7, NODE_vss, 1337}, + {NODE_notir7, NODE_vss, 1355}, + {NODE_notir7, NODE_vss, 1420}, + {NODE_notir7, NODE_vss, 145}, + {NODE_notir7, NODE_vss, 1482}, + {NODE_notir7, NODE_vss, 1540}, + {NODE_notir7, NODE_vss, 1543}, + {NODE_notir7, NODE_vss, 1601}, + {NODE_notir7, NODE_vss, 1658}, + {NODE_notir7, NODE_vss, 167}, + {NODE_notir7, NODE_vss, 179}, + {NODE_notir7, NODE_vss, 245}, + {NODE_notir7, NODE_vss, 257}, + {NODE_notir7, NODE_vss, 286}, + {NODE_notir7, NODE_vss, 301}, + {NODE_notir7, NODE_vss, 324}, + {NODE_notir7, NODE_vss, 382}, + {NODE_notir7, NODE_vss, 4}, + {NODE_notir7, NODE_vss, 517}, + {NODE_notir7, NODE_vss, 665}, + {NODE_notir7, NODE_vss, 682}, + {NODE_notir7, NODE_vss, 76}, + {NODE_notir7, NODE_vss, 786}, + {NODE_notir7, NODE_vss, 787}, + {NODE_notir7, NODE_vss, 950}, + {NODE_notir7, NODE_vss, 985}, + {NODE_notRdy0, 1039, 2}, + {NODE_notRdy0, 1145, NODE_vss}, + {NODE_notRdy0, 1154, NODE_vss}, + {NODE_notRdy0, 1180, NODE_vss}, + {NODE_notRdy0, 12, 1091}, + {NODE_notRdy0, 1365, 1085}, + {NODE_notRdy0, 1440, NODE_vss}, + {NODE_notRdy0, 1456, 428}, + {NODE_notRdy0, 1465, NODE_vss}, + {NODE_notRdy0, 1615, 468}, + {NODE_notRdy0, 1649, NODE_vss}, + {NODE_notRdy0, 180, NODE_vss}, + {NODE_notRdy0, 46, NODE_vss}, + {NODE_notRdy0, 472, 395}, + {NODE_notRdy0, 604, NODE_vss}, + {NODE_notRdy0, 912, 1290}, + {NODE_notRdy0, 917, NODE_vss}, + {NODE_notRdy0, NODE_vss, 1120}, + {NODE_notRdy0, NODE_vss, 1185}, + {NODE_notRdy0, NODE_vss, 1275}, + {NODE_notRdy0, NODE_vss, 1343}, + {NODE_notRdy0, NODE_vss, 1382}, + {NODE_notRdy0, NODE_vss, 16}, + {NODE_notRdy0, NODE_vss, 1718}, + {NODE_notRdy0, NODE_vss, 187}, + {NODE_notRdy0, NODE_vss, 191}, + {NODE_notRdy0, NODE_vss, 372}, + {NODE_notRdy0, NODE_vss, 720}, + {NODE_notRdy0, NODE_vss, 781}, + {NODE_notRdy0, NODE_vss, 781}, + {NODE_notRdy0, NODE_vss, NODE_fetch}, + {NODE_nots0, NODE_vss, 332}, + {NODE_nots1, NODE_vss, 694}, + {NODE_nots2, NODE_vss, 1389}, + {NODE_nots3, NODE_vss, 998}, + {NODE_nots4, NODE_vss, 3}, + {NODE_nots5, NODE_vss, 280}, + {NODE_nots6, NODE_vss, 618}, + {NODE_nots7, 721, NODE_vss}, + {NODE_p3, 1053, NODE_vss}, + {NODE_p3, 51, NODE_vss}, + {NODE_p5, 182, NODE_vss}, + {NODE_p5, 726, NODE_vss}, + {NODE_p5, NODE_vss, 256}, + {NODE_p5, NODE_vss, 272}, + {NODE_pch0, 1010, NODE_vss}, + {NODE_pch1, 1070, NODE_vss}, + {NODE_pch2, NODE_vss, 1265}, + {NODE_pch3, NODE_vss, 923}, + {NODE_pch4, NODE_vss, 1400}, + {NODE_pch5, 499, NODE_vss}, + {NODE_pch6, NODE_vss, 278}, + {NODE_pch7, 453, NODE_vss}, + {NODE_pcl0, 937, NODE_vss}, + {NODE_pcl1, NODE_vss, 329}, + {NODE_pcl2, 783, NODE_vss}, + {NODE_pcl3, NODE_vss, 249}, + {NODE_pcl4, NODE_vss, 1643}, + {NODE_pcl5, NODE_vss, 386}, + {NODE_pcl6, NODE_vss, 232}, + {NODE_pcl7, NODE_vss, 641}, + {NODE_pd0, 1622, NODE_vss}, + {NODE_pd1, 809, NODE_vss}, + {NODE_pd2, NODE_vss, 1671}, + {NODE_pd3, 1587, NODE_vss}, + {NODE_pd4, 540, NODE_vss}, + {NODE_pd5, 667, NODE_vss}, + {NODE_pd6, 1460, NODE_vss}, + {NODE_pd7, NODE_vss, 1410}, + {NODE_rdy, NODE_vss, 958}, + {NODE_res, NODE_vss, 312}, + {NODE_s0, NODE_vss, 983}, + {NODE_s1, NODE_vss, 1711}, + {NODE_s2, NODE_vss, 1190}, + {NODE_s3, NODE_vss, 34}, + {NODE_s4, NODE_vss, 973}, + {NODE_s5, NODE_vss, 496}, + {NODE_s6, NODE_vss, 1187}, + {NODE_s7, 548, NODE_vss}, + {NODE_sb1, 320, NODE_vss}, + {NODE_sb2, 1580, NODE_vss}, + {NODE_sb2, 1580, NODE_vss}, + {NODE_sb3, 432, NODE_vss}, + {NODE_sb3, 432, NODE_vss}, + {NODE_sb5, 1135, NODE_vss}, + {NODE_sb6, 61, NODE_vss}, + {NODE_sb7, 852, NODE_vss}, + {NODE_sb7, 852, NODE_vss}, + {NODE_so, NODE_vss, 1650}, + {NODE_t2, 1057, NODE_vss}, + {NODE_t2, 1086, NODE_vss}, + {NODE_t2, 1204, NODE_vss}, + {NODE_t2, 1239, NODE_vss}, + {NODE_t2, 1512, NODE_vss}, + {NODE_t2, 1524, NODE_vss}, + {NODE_t2, 157, NODE_vss}, + {NODE_t2, 1582, NODE_vss}, + {NODE_t2, 204, NODE_vss}, + {NODE_t2, 219, NODE_vss}, + {NODE_t2, 258, NODE_vss}, + {NODE_t2, 273, NODE_vss}, + {NODE_t2, 285, NODE_vss}, + {NODE_t2, 309, NODE_vss}, + {NODE_t2, 487, NODE_vss}, + {NODE_t2, 712, NODE_vss}, + {NODE_t2, 750, NODE_vss}, + {NODE_t2, 788, NODE_vss}, + {NODE_t2, 84, NODE_vss}, + {NODE_t2, 932, NODE_vss}, + {NODE_t3, 1381, NODE_vss}, + {NODE_t3, 1428, NODE_vss}, + {NODE_t3, 904, NODE_vss}, + {NODE_t3, NODE_vss, 1031}, + {NODE_t3, NODE_vss, 120}, + {NODE_t3, NODE_vss, 1430}, + {NODE_t3, NODE_vss, 1487}, + {NODE_t3, NODE_vss, 342}, + {NODE_t3, NODE_vss, 447}, + {NODE_t3, NODE_vss, 579}, + {NODE_t3, NODE_vss, 58}, + {NODE_t3, NODE_vss, 607}, + {NODE_t3, NODE_vss, 60}, + {NODE_t3, NODE_vss, 660}, + {NODE_t3, NODE_vss, 677}, + {NODE_t4, 1259, NODE_vss}, + {NODE_t4, 1311, NODE_vss}, + {NODE_t4, 1569, NODE_vss}, + {NODE_t4, 281, NODE_vss}, + {NODE_t4, 492, NODE_vss}, + {NODE_t4, NODE_vss, 1589}, + {NODE_t4, NODE_vss, 1612}, + {NODE_t4, NODE_vss, 341}, + {NODE_t4, NODE_vss, 352}, + {NODE_t4, NODE_vss, 354}, + {NODE_t4, NODE_vss, 461}, + {NODE_t4, NODE_vss, 804}, + {NODE_t5, 1168, NODE_vss}, + {NODE_t5, 1210, NODE_vss}, + {NODE_t5, 1385, NODE_vss}, + {NODE_t5, 370, NODE_vss}, + {NODE_t5, 446, NODE_vss}, + {NODE_t5, 528, NODE_vss}, + {NODE_t5, 776, NODE_vss}, + {NODE_t5, 784, NODE_vss}, + {NODE_t5, NODE_p5, NODE_vss}, + {NODE_vss, 806, NODE_vss}, + {NODE_vss, NODE_clk0, NODE_vss}, + {NODE_vss, NODE_db0, NODE_vss}, + {NODE_vss, NODE_db1, NODE_vss}, + {NODE_vss, NODE_db2, NODE_vss}, + {NODE_vss, NODE_db4, NODE_vss}, + {NODE_vss, NODE_db6, NODE_vss}, + {NODE_vss, NODE_irq, NODE_vss}, + {NODE_vss, NODE_nmi, NODE_vss}, + {NODE_vss, NODE_res, NODE_vss}, + {NODE_vss, NODE_vss, NODE_cclk}, + {NODE_vss, NODE_vss, NODE_clk0}, + {NODE_vss, NODE_vss, NODE_db3}, + {NODE_vss, NODE_vss, NODE_db5}, + {NODE_vss, NODE_vss, NODE_db7}, + {NODE_vss, NODE_vss, NODE_rdy}, + {NODE_vss, NODE_vss, NODE_so}, + {NODE_x0, 987, NODE_vss}, + {NODE_x1, 1434, NODE_vss}, + {NODE_x2, 890, NODE_vss}, + {NODE_x3, NODE_vss, 1521}, + {NODE_x4, 485, NODE_vss}, + {NODE_x5, NODE_vss, 1017}, + {NODE_x6, 730, NODE_vss}, + {NODE_x7, 1561, NODE_vss}, + {NODE_y0, 1025, NODE_vss}, + {NODE_y1, 1138, NODE_vss}, + {NODE_y2, 1484, NODE_vss}, + {NODE_y3, 184, NODE_vss}, + {NODE_y4, 565, NODE_vss}, + {NODE_y5, 981, NODE_vss}, + {NODE_y6, 1439, NODE_vss}, + {NODE_y7, NODE_vss, 1640}, +} diff --git a/visual/visual.go b/visual/visual.go new file mode 100644 index 0000000..30c87c0 --- /dev/null +++ b/visual/visual.go @@ -0,0 +1,386 @@ +package visual + +import ( + "fmt" + + "github.com/zellyn/bitset" + + icpu "github.com/zellyn/go6502/cpu" +) + +type cpu struct { + m icpu.Memory + cycle uint64 + nodeValues *bitset.BitSet + nodePullups *bitset.BitSet + nodePulldowns *bitset.BitSet + + nodeGateCounts [NODES]uint // the number of transistor gates attached to a node + nodeGates [NODES][NODES]uint // the list of transistor indexes attached to a node + nodeC1C2Counts [NODES]uint // the number of transistor c1/c2s attached to a node + nodeC1C2s [NODES][2 * NODES]uint // the list of transistor c1/c2s attached to a node + + transistorValues *bitset.BitSet + transistorGates [TRANSISTORS]uint + transistorC1s [TRANSISTORS]uint + transistorC2s [TRANSISTORS]uint + + nodeDependantCounts [NODES]uint + nodeDependants [NODES][NODES]uint // all C1 and C2 nodes of transistors attached to a node + + listIn []uint + listOut []uint + + groupList []uint + groupSet *bitset.BitSet + groupContainsPullup bool + groupContainsPulldown bool + groupContainsHi bool +} + +func NewCPU(memory icpu.Memory) icpu.Cpu { + c := cpu{m: memory} + c.setupNodesAndTransistors() + return &c +} + +func (c *cpu) SetPC(uint16) { + panic("Not implemented") +} + +// -------------------------------- +// Interfacing and extracting state +// -------------------------------- + +func (c *cpu) Read8(n0, n1, n2, n3, n4, n5, n6, n7 uint) byte { + return (c.nodeBit(n0) | c.nodeBit(n1)<<1 | c.nodeBit(n2)<<2 | c.nodeBit(n3)<<3 | + c.nodeBit(n4)<<4 | c.nodeBit(n5)<<5 | c.nodeBit(n6)<<6 | c.nodeBit(n7)<<7) +} + +func (c *cpu) AddressBus() uint16 { + abl := uint16(c.Read8(NODE_ab0, NODE_ab1, NODE_ab2, NODE_ab3, NODE_ab4, NODE_ab5, NODE_ab6, NODE_ab7)) + abh := uint16(c.Read8(NODE_ab8, NODE_ab9, NODE_ab10, NODE_ab11, NODE_ab12, NODE_ab13, NODE_ab14, NODE_ab15)) + return abl + abh<<8 +} + +func (c *cpu) DataBus() byte { + return c.Read8(NODE_db0, NODE_db1, NODE_db2, NODE_db3, NODE_db4, NODE_db5, NODE_db6, NODE_db7) +} + +func (c *cpu) A() byte { + return c.Read8(NODE_a0, NODE_a1, NODE_a2, NODE_a3, NODE_a4, NODE_a5, NODE_a6, NODE_a7) +} + +func (c *cpu) X() byte { + return c.Read8(NODE_x0, NODE_x1, NODE_x2, NODE_x3, NODE_x4, NODE_x5, NODE_x6, NODE_x7) +} + +func (c *cpu) Y() byte { + return c.Read8(NODE_y0, NODE_y1, NODE_y2, NODE_y3, NODE_y4, NODE_y5, NODE_y6, NODE_y7) +} + +func (c *cpu) P() byte { + return c.Read8(NODE_p0, NODE_p1, NODE_p2, NODE_p3, NODE_p4, NODE_p5, NODE_p6, NODE_p7) +} + +func (c *cpu) SP() byte { + return c.Read8(NODE_s0, NODE_s1, NODE_s2, NODE_s3, NODE_s4, NODE_s5, NODE_s6, NODE_s7) +} + +func (c *cpu) IR() byte { + return c.Read8(NODE_notir0, NODE_notir1, NODE_notir2, NODE_notir3, NODE_notir4, + NODE_notir5, NODE_notir6, NODE_notir7) ^ 0xFF +} + +func (c *cpu) PCL() byte { + return c.Read8(NODE_pcl0, NODE_pcl1, NODE_pcl2, NODE_pcl3, NODE_pcl4, NODE_pcl5, NODE_pcl6, NODE_pcl7) +} + +func (c *cpu) PCH() byte { + return c.Read8(NODE_pch0, NODE_pch1, NODE_pch2, NODE_pch3, NODE_pch4, NODE_pch5, NODE_pch6, NODE_pch7) +} + +func (c *cpu) PC() uint16 { + return uint16(c.PCH())<<8 + uint16(c.PCL()) +} + +func (c *cpu) nodeBit(n uint) byte { + if c.nodeValues.Test(n) { + return 1 + } + return 0 +} + +func (c *cpu) writeDataBus(d byte) { + for i := 0; i < 8; i++ { + c.setNode(DataBusNodes[i], d&1 == 1) + d >>= 1 + } +} + +func (c *cpu) Reset() { + fmt.Println("Reset called") + // All nodes down + c.nodeValues.ClearAll() + + // All transistors off + c.transistorValues.ClearAll() + + c.setNode(NODE_res, false) + c.setNode(NODE_clk0, true) + c.setNode(NODE_rdy, true) + c.setNode(NODE_so, false) + c.setNode(NODE_irq, true) + c.setNode(NODE_nmi, true) + + c.recalcAllNodes() + + // Hold RESET for 8 cycles + for i := 0; i < 8; i++ { + fmt.Println("Reset step ", i) + c.Step() + } + + c.setNode(NODE_res, true) + + c.cycle = 0 +} + +func (c *cpu) switchLists() { + c.listIn, c.listOut = c.listOut, c.listIn +} + +func (c *cpu) addNodeToGroup(n uint) { + if c.groupSet.Test(n) { + return + } + + c.groupSet.Set(n) + c.groupList = append(c.groupList, n) + + if c.nodePullups.Test(n) { + c.groupContainsPullup = true + } + if c.nodePulldowns.Test(n) { + c.groupContainsPulldown = true + } + if c.nodeValues.Test(n) { + c.groupContainsHi = true + } + + if n == NODE_vss || n == NODE_vcc { + return + } + + /* revisit all transistors that are controlled by this node */ + for t := uint(0); t < c.nodeC1C2Counts[n]; t++ { + tn := c.nodeC1C2s[n][t] + if c.transistorValues.Test(tn) { + if c.transistorC1s[tn] == n { + c.addNodeToGroup(c.transistorC2s[tn]) + } else { + c.addNodeToGroup(c.transistorC1s[tn]) + } + } + } +} + +func (c *cpu) addAllNodesToGroup(node uint) { + c.groupList = c.groupList[0:0] + c.groupSet.ClearAll() + c.groupContainsPullup = false + c.groupContainsPulldown = false + c.groupContainsHi = false + + c.addNodeToGroup(node) +} + +func (c *cpu) getGroupValue() bool { + if c.groupSet.Test(NODE_vss) { + return false + } + if c.groupSet.Test(NODE_vcc) { + return true + } + if c.groupContainsPulldown { + return false + } + if c.groupContainsPullup { + return true + } + return c.groupContainsHi +} + +func (c *cpu) recalcNode(node uint) { + /* + * get all nodes that are connected through + * transistors, starting with this one + */ + c.addAllNodesToGroup(node) + + /* get the state of the group */ + newv := c.getGroupValue() + + /* + * - set all nodes to the group state + * - check all transistors switched by nodes of the group + * - collect all nodes behind toggled transistors + * for the next run + */ + for _, nn := range c.groupList { + if c.nodeValues.Test(nn) != newv { + c.nodeValues.SetTo(nn, newv) + for t := uint(0); t < c.nodeGateCounts[nn]; t++ { + tn := c.nodeGates[nn][t] + c.transistorValues.Flip(tn) + } + c.listOut = append(c.listOut, nn) + } + } +} + +func (c *cpu) recalcNodeList(nodes []uint) { + c.listOut = c.listOut[0:0] + + for _, n := range nodes { + c.recalcNode(n) + } + + c.switchLists() + + for j := 0; j < 100; j++ { /* loop limiter */ + if len(c.listIn) == 0 { + break + } + c.listOut = c.listOut[0:0] + + /* + * for all nodes, follow their paths through + * turned-on transistors, find the state of the + * path and assign it to all nodes, and re-evaluate + * all transistors controlled by this path, collecting + * all nodes that changed because of it for the next run + */ + for _, n := range c.listIn { + for g := uint(0); g < c.nodeDependantCounts[n]; g++ { + c.recalcNode(c.nodeDependants[n][g]) + } + } + /* + * make the secondary list our primary list, use + * the data storage of the primary list as the + * secondary list + */ + c.switchLists() + } +} + +func (c *cpu) recalcAllNodes() { + temp := make([]uint, NODES) + for i := uint(0); i < NODES; i++ { + temp[i] = i + } + c.recalcNodeList(temp) +} + +/**************/ +/* Node State */ +/**************/ + +func (c *cpu) setNode(nn uint, state bool) { + c.nodePullups.SetTo(nn, state) + c.nodePulldowns.SetTo(nn, !state) + c.recalcNodeList([]uint{nn}) +} + +func (c *cpu) isNodeHigh(n uint) bool { + return c.nodeValues.Test(n) +} + +// handleMemory is called when clk0 is low, and either reads from or +// writes to memory, depending on rw. +func (c *cpu) handleMemory() { + if c.isNodeHigh(NODE_rw) { + c.writeDataBus(c.m.Read(c.AddressBus())) + } else { + c.m.Write(c.AddressBus(), c.DataBus()) + } +} + +// HalfStep is the main clock loop, and takes a half clock step. +func (c *cpu) HalfStep() { + clk := c.isNodeHigh(NODE_clk0) + c.setNode(NODE_clk0, !clk) + + if !clk { + c.handleMemory() + } + c.cycle++ +} + +// Step takes two half steps. +func (c *cpu) Step() error { + c.HalfStep() + c.HalfStep() + return nil +} + +/******************/ +/* Initialization */ +/******************/ + +func (c *cpu) addNodeDependant(a, b uint) { + for g := uint(0); g < c.nodeDependantCounts[a]; g++ { + if c.nodeDependants[a][g] == b { + return + } + } + c.nodeDependants[a][c.nodeDependantCounts[a]] = b + c.nodeDependantCounts[a]++ +} + +func (c *cpu) setupNodesAndTransistors() { + + // Zero out bitsets + c.nodeValues = bitset.New(NODES) + c.nodePullups = bitset.New(NODES) + c.nodePulldowns = bitset.New(NODES) + c.transistorValues = bitset.New(TRANSISTORS) + c.groupSet = bitset.New(NODES) + c.groupList = make([]uint, 0, NODES) + + // Copy node data from SegDefs into r/w data structures + for i := uint(0); i < NODES; i++ { + c.nodePullups.SetTo(i, SegDefs[i]) + c.nodeGateCounts[i] = 0 + c.nodeC1C2Counts[i] = 0 + } + + // Copy transistor data from TransDefs into r/w data structures + for i, t := range TransDefs { + c.transistorGates[i] = t.gate + c.transistorC1s[i] = t.c1 + c.transistorC2s[i] = t.c2 + } + + // Cross-reference transistors in nodes data structures + for j, t := range TransDefs { + i := uint(j) + c.nodeGates[t.gate][c.nodeGateCounts[t.gate]] = i + c.nodeGateCounts[t.gate]++ + + c.nodeC1C2s[t.c1][c.nodeC1C2Counts[t.c1]] = i + c.nodeC1C2Counts[t.c1]++ + c.nodeC1C2s[t.c2][c.nodeC1C2Counts[t.c2]] = i + c.nodeC1C2Counts[t.c2]++ + } + + for i := uint(0); i < NODES; i++ { + c.nodeDependantCounts[i] = 0 + for g := uint(0); g < c.nodeGateCounts[i]; g++ { + t := c.nodeGates[i][g] + c.addNodeDependant(i, c.transistorC1s[t]) + c.addNodeDependant(i, c.transistorC2s[t]) + } + } +}