ram stdint + Quartus Files

This commit is contained in:
felsabbagh3 2019-06-11 21:13:30 -07:00
parent d7afef04a9
commit b216da5a6a
40 changed files with 242763 additions and 2134 deletions

BIN
.DS_Store vendored

Binary file not shown.

File diff suppressed because it is too large Load diff

Binary file not shown.

View file

@ -1,7 +1,7 @@
:0200000480007A
:1000000013058000731005021305400073101502DC
:10001000731040F17310103037F1FF7FEF00801E36
:10002000EF10D00B73000000938B0600130D070038
:10002000EF10100973000000938B0600130D0700FA
:10003000130F01009303050013051000635C7500A6
:1000400013010180130305006B5003001305150015
:100050006FF0DFFE1300000013000000130000002B
@ -12,7 +12,7 @@
:1000A0001300000013000000130000001300000004
:1000B0001300000013000000170500001305451B86
:1000C0006B40050017030000130343F66B000300A9
:1000D000678000001702000113020226232002009D
:1000D000678000001702000113028225232002001E
:1000E0002322120023242200232632002328420048
:1000F000232A5200232C6200232E72002320820226
:10010000232292022324A2022326B2022328C2021F
@ -21,7 +21,7 @@
:10013000232A5205232C6205232E720523208207D1
:10014000232292072324A2072326B2072328C207CB
:10015000232AD207232CE207232EF20713021000D2
:1001600067800000170200011302021D0320020035
:1001600067800000170200011302821C03200200B6
:1001700083204200032182008321C2000322020166
:1001800083224201032382018323C201032402024A
:1001900083244202032582028325C202032602032E
@ -34,416 +34,414 @@
:1002000067800000130101FE232E1100232C8100C2
:1002100013040102232604FE6F0040030327C4FEDB
:10022000B7170000938747973307F702B707008196
:1002300093874743B307F70013850700EF00C045D6
:100230009387C742B307F70013850700EF00004418
:100240008327C4FE938717002326F4FE0327C4FEEA
:100250009307F001E3D4E7FC130000008320C10101
:10026000032481011301010267800000130101FDD5
:1002700023261102232481022322A1031304010354
:1002800093070D0093850700B707008113850704C6
:10029000EF00406613000000130000001300000090
:1002A0001300000013000000130000001300000002
:1002B00013000000130000001300000013000000F2
:1002C0001300000013070D00B7170000938747972E
:1002D0003307F702B707008193874743B307F70057
:1002E00013850700EF00004E93070500638A07029D
:1002F00013070D00B7070081131727009387C7283E
:10030000B307F7001307100023A0E70093070D00C1
:1003100063960700EFF01FE56F00C0057300000053
:1003200013070D00B7170000938747973307F702AD
:10033000B707008193874743B307F700130784FD8E
:100340009305070013850700EF00C03D832704FED7
:10035000138107008327C4FD832584FD032644FE03
:10036000832684FE0327C4FE13850700EFF0DFCB4E
:10037000730000008320C10203248102032D410287
:100380001301010367800000130101FB2326110400
:100390002324810413040105EFF0DFE52324A4FEE8
:1003A00093090100930710002326F4FE6F00C00894
:1003B0000327C4FEB7170000938747973307F70258
:1003C000B707008193874743B307F70013850700FA
:1003D000EF00403F93070500639A07040327C4FE1C
:1003E000B7170000938747973307F702B7070081D5
:1003F00093874743B307F700130704FD93050700EE
:1004000013850700EF000032832784FD1381070066
:10041000832744FD832504FD0326C4FD832604FEB3
:10042000032744FE13850700EFF0DFC98327C4FECE
:10043000938717002326F4FE8327C4FE032784FE38
:10044000E3E8E7F613810900EFF0DFC89307020045
:1004500063880704B707008113854743EF008036A0
:1004600093070500639E0702930784FB93850700AB
:10047000B707008113854743EF00C02A832704FC98
:10048000138107008327C4FB832584FB032644FCD8
:10049000832684FC0327C4FC13850700EFF0DFB834
:1004A000130000008320C10403248104130101050B
:1004B00067800000130101FB23261104232481041B
:1004C00013040105232EA4FA232CB4FA232AC4FA18
:1004D0002328D4FAEFF01FD3EFF0DFD12322A4FEBC
:1004E00013090100232604FE232404FE6F000009E3
:1004F000B709FFFF33013101832784FE2326F4FC73
:10050000832784FB2328F4FC93070100232AF4FCAF
:10051000832744FB232CF4FC832704FB232EF4FCC9
:100520008327C4FE2320F4FE0327C4FEB717000070
:10053000938747973307F702B707008193874743AD
:10054000B307F7001307C4FC9305070013850700E2
:10055000EF00C0168327C4FE938717002326F4FEFE
:100560008327C4FE032744FE63E4E700232604FE3A
:10057000832784FE938717002324F4FE032784FE39
:100580008327C4FBE366F7F613010900EFF0DFDF12
:10059000130000008320C10403248104130101051A
:1005A00067800000130101FD23261102232481022C
:1005B00013040103232EA4FCEFF0DFC32320A4FEC9
:1005C000232604FE6F004005232604FE232404FE98
:1005D0006F00C003B7070081032784FE13172700AD
:1005E0009387C728B307F70003A7070093071000F6
:1005F0006318F7008327C4FE938717002326F4FEB1
:10060000832784FE938717002324F4FE832784FE28
:10061000032704FEE3E0E7FC0327C4FE8327C4FDB1
:10062000E314F7FA232204FE6F008002B70700816B
:10063000032744FE131727009387C728B307F70043
:1006400023A00700832744FE938717002322F4FE8C
:10065000832744FE032704FEE3EAE7FC13000000BF
:100660008320C1020324810213010103678000007B
:10067000130101FF232681002324710113040101CA
:1006800093870B00138507000324C100832B81008F
:1006900013010101678000009302050013030000AD
:1006A0009303700023A0620023A2620023A46200CF
:1006B00023A6720023A86200678000009302050051
:1006C00003A382001303130023A4620013834201D7
:1006D00083AE420093935E003303730003AE0500C4
:1006E0002320C30103AE45002322C30103AE8500CE
:1006F0002324C30103AEC5002326C30103AE0501B5
:100700002328C30103AE4501232AC301938E1E0093
:10071000130F20036394EE01930E000023A2D20175
:10072000678000009302050003A38200130000000D
:10073000130000001300000013000000130000006D
:10074000130000001303F3FF23A46200138342018C
:1007500083AE0200930F2003138F0E00130F1F00B0
:100760006314FF01130F000023A0E20193935E00C6
:1007700033037300032E030023A0C501032E43009F
:1007800023A2C501032E830023A4C501032EC300A9
:1007900023A6C501032E030123A8C501032E43018F
:1007A00023AAC501678000009302050003A382000D
:1007B00013050000130E200363146E0013051500CB
:1007C000678000009302050003A382001305000068
:1007D000130E000063146E001305150067800000FF
:1007E0009302050003A3C20083A3020133B5630093
:1007F00067800000130141FF232011002322B10074
:100800008345050063880500EF00C001130515004E
:100810006FF01FFF83200100832541001301C100F9
:1008200067800000B708010023A0B80067800000BF
:10083000130101FD23261102232481021304010365
:10084000232EA4FC0327C4FD9307F00063E4E70212
:10085000B70700810327C4FD131727009387C71C20
:10086000B307F70083A7070013850700EFF09FF891
:100870006F004007930700022326F4FEA30504FE41
:100880008327C4FE9387C7FF0327C4FDB357F70030
:1008900093F7F7002322F4FE832744FE63860700C4
:1008A00093071000A305F4FE8347B4FE638207029A
:1008B000B7070081032744FE131727009387C71C3F
:1008C000B307F70083A7070013850700EFF09FF237
:1008D0008327C4FE9387C7FF2326F4FE8327C4FE25
:1008E000E340F0FA8320C1020324810213010103D3
:1008F00067800000130101FE232E1100232C8100CC
:10090000130401022326A4FE2324B4FE0325C4FEFF
:10091000EFF05FEE032584FEEFF09FF1B707008153
:1009200013850709EFF01FED130000008320C101BC
:10093000032481011301010267800000130101FDFE
:10094000232611022324810213040103232EA4FC75
:10095000232CB4FC232AC4FC2328D4FCB7670281CF
:100960000327C4FD23AEE71CB76702819387C71D29
:10097000032784FD23A2E700B76702819387C71D81
:10098000032744FD23A4E700B76702819387C71DAF
:10099000032704FD23A6E700EFF05F862324A4FECF
:1009A000032704FD832784FEB357F7022326F4FEB2
:1009B000032704FD832784FEB377F70263880700CB
:1009C0008327C4FE938717002326F4FE8325C4FEE5
:1009D000B70700811385470DEFF0DFF1B76702819C
:1009E0009387C71D0327C4FE23A8E700032704FD40
:1009F000832784FE6362F702B76702819386C71D6F
:100A0000B7170080138607A7832584FE032504FDFE
:100A1000EFF05FAA6F000002B76702819386C71DDF
:100A2000B7170080138607A7832504FD032504FD5F
:100A3000EFF05FA8EFF00FFC2322A4FE032704FDD4
:100A4000832744FE63F8E700032544FEEFF09FB5DB
:100A50006F00C000032504FDEFF0DFB413000000B9
:100A60008320C10203248102130101036780000077
:100A7000130101FA232E1104232C8104130401060F
:100A80002326A4FA2324B4FAEFF09FBE232CA4FC5F
:100A9000832784FD83A70700232AF4FC832784FD92
:100AA00083A747002328F4FC832784FD83A78700BE
:100AB0002326F4FC832784FD83A707012326F4FE65
:100AC0000327C4FE8327C4FAB307F7022324F4FEE6
:100AD0008327C4FE639A0700930710002326F4FEC1
:100AE0008327C4FA2324F4FE832784FD83A7C70049
:100AF0002324F4FC232204FE6F00800D232004FE37
:100B0000232E04FC6F008007032784FA832784FCCC
:100B1000B307F7020327C4FDB307F7002322F4FC51
:100B2000032784FC8327C4FDB307F702032784FE51
:100B3000B307F7002320F4FC832744FC9397270096
:100B4000032744FDB307F70003A70700832704FC2E
:100B500093972700832604FDB387F60083A7070039
:100B6000B307F702032704FEB307F7002320F4FEC0
:100B70008327C4FD93871700232EF4FC0327C4FDAD
:100B8000832784FCE362F7F8032784FA832784FC35
:100B90003307F702832784FEB307F700232EF4FA06
:100BA0008327C4FB939727000327C4FCB307F700F0
:100BB000032704FE23A0E700832784FE9387170002
:100BC0002324F4FE832744FE938717002322F4FE98
:100BD000832744FE0327C4FEE3E2E7F2130000008C
:100BE0008320C105032481051301010667800000ED
:100BF000130101FC232E1102232C81021304010492
:100C0000232EA4FC232CB4FC232AC4FC2328D4FCCC
:100C10002326E4FCB76702810327C4FD23A8E71E4F
:100C2000B76702819387071F032784FD23A2E7008C
:100C3000B76702819387071F032744FD23A4E700BA
:100C4000B76702819387071F0327C4FC23A6E70029
:100C5000B76702819387071F032704FD23A8E700D6
:100C6000EFF0CFD92324A4FE0327C4FC832784FEFE
:100C7000B357F7022326F4FE0327C4FC832784FE20
:100C8000B377F702638807008327C4FE93871700B2
:100C90002326F4FEB76702819387071F0327C4FE4C
:100CA00023AAE7000327C4FC832784FE6362F702BC
:100CB000B76702819386071FB7170080138687D214
:100CC000832584FE032504FDEFF0CFFE6F000002B4
:100CD000B76702819386071FB7170080138687D2F4
:100CE0008325C4FC032504FDEFF0CFFCEFF08FD08B
:100CF0002322A4FE032704FD832744FE63F8E700B4
:100D0000032544FEEFF01F8A6F00C000032504FD99
:100D1000EFF05F89130000008320C10303248103E7
:100D20001301010467800000130101FB2326110455
:100D30002324810413040105232EA4FA232CB4FADE
:100D4000EFF01F932320A4FE832704FE83A7070050
:100D5000232EF4FC832704FE83A74700232CF4FCF6
:100D6000832704FE83A78700232AF4FC832704FE3D
:100D700083A747012326F4FE0327C4FE8327C4FB71
:100D8000B307F7022324F4FE8327C4FE639A070007
:100D9000930710002326F4FE8327C4FB2324F4FECC
:100DA000832704FE83A7C7002328F4FC232204FE24
:100DB0006F00000C032784FB832704FD3307F70231
:100DC000832784FEB307F7002326F4FC032784FE61
:100DD000832704FDB337F70093F7F70F2324F4FCC0
:100DE000832784FC93B71700A303F4FC834774FCA8
:100DF000138F0700B7170080938FC7E56B200F0094
:100E00007B70FF018327C4FC939727000327C4FD51
:100E1000B307F70083A607008327C4FC9397270036
:100E2000032784FDB307F70003A707008327C4FC4B
:100E300093972700032644FDB307F6003387E600A7
:100E400023A0E700832784FE938717002324F4FE62
:100E5000B7170080138E07E667000E00130000002E
:100E60006B300000832744FE938717002322F4FE93
:100E7000832744FE0327C4FEE3EEE7F213000000DD
:100E80008320C1040324810413010105678000004D
:100E9000130101FC232E1102232C810213040104EF
:100EA000232EA4FC232CB4FC232AC4FC2328D4FC2A
:100EB0002326E4FCB76702810327C4FD23A8E71EAD
:100EC000B76702819387071F032784FD23A2E700EA
:100ED000B76702819387071F032744FD23A4E70018
:100EE000B76702819387071F0327C4FC23A6E70087
:100EF000B76702819387071F032704FD23A8E70034
:100F0000EFF0CFAF2324A4FE0327C4FC832784FE85
:100F1000B357F7022326F4FE0327C4FC832784FE7D
:100F2000B377F702638807008327C4FE938717000F
:100F30002326F4FEB76702819387071F0327C4FEA9
:100F400023AAE7000327C4FC832784FE6362F70219
:100F5000B76702819386071FB7170080138687FC47
:100F6000832584FE032504FDEFF0CFD46F0000023B
:100F7000B76702819386071FB7170080138687FC27
:100F80008325C4FC032504FDEFF0CFD2EFF08FA63C
:100F90002322A4FE032704FD832744FE63F8E70011
:100FA000032544FEEFF00FE06F00C000032504FDB1
:100FB000EFF04FDF130000008320C10303248103FF
:100FC0001301010467800000130101FB23261104B3
:100FD0002324810413040105232EA4FA232CB4FA3C
:100FE000EFF00FE92320A4FE832704FE83A7070068
:100FF000232EF4FC832704FE83A74700232CF4FC54
:10100000832704FE83A78700232AF4FC832704FE9A
:1010100083A747012326F4FE0327C4FE8327C4FBCE
:10102000B307F7022324F4FE8327C4FE639A070064
:10103000930710002326F4FE8327C4FB2324F4FE29
:10104000832704FE83A7C7002328F4FC232204FE81
:101050006F00000C032784FB832704FD3307F7028E
:10106000832784FEB307F7002326F4FC032784FEBE
:10107000832704FDB337F70093F7F70F2324F4FC1D
:10108000832784FC93B71700A303F4FC834774FC05
:10109000138F0700B7170080938FC70F6B200F00C7
:1010A0007B70FF018327C4FC939727000327C4FDAF
:1010B000B307F70083A607008327C4FC9397270094
:1010C000032784FDB307F70003A707008327C4FCA9
:1010D00093972700032644FDB307F6003387E640C5
:1010E00023A0E700832784FE938717002324F4FEC0
:1010F000B7170080138E071067000E001300000062
:101100006B300000832744FE938717002322F4FEF0
:10111000832744FE0327C4FEE3EEE7F2130000003A
:101120008320C104032481041301010567800000AA
:10113000130101FC232E1102232C8102130401044C
:10114000232EA4FC232CB4FC232AC4FC2328D4FC87
:101150002326E4FCB76702810327C4FD23A4E7200C
:10116000B767028193878720032784FD23A2E700C6
:10117000B767028193878720032744FD23A4E700F4
:10118000B7670281938787200327C4FC23A6E70063
:10119000B767028193878720032704FD23A8E70010
:1011A000EFF0CF852324A4FE0327C4FC832784FE0D
:1011B000B357F7022326F4FE0327C4FC832784FEDB
:1011C000B377F702638807008327C4FE938717006D
:1011D0002326F4FEB7670281938787200327C4FE86
:1011E00023AAE7000327C4FC832784FE6362F70277
:1011F000B767028193868720B717008013868726FA
:10120000832584FE032504FDEFF0CFAA6F000002C2
:10121000B767028193868720B717008013868726D9
:101220008325C4FC032504FDEFF0CFA8EFE09FFC6D
:101230002322A4FE032704FD832744FE63F8E7006E
:10124000032544FEEFF00FB66F00C000032504FD38
:10125000EFF04FB5130000008320C1030324810386
:101260001301010467800000130101FB2326110410
:101270002324810413040105232EA4FA232CB4FA99
:10128000EFF00FBF2320A4FE832704FE83A70700EF
:10129000232EF4FC832704FE83A7470083A70700BF
:1012A000232CF4FC832704FE83A78700232AF4FC65
:1012B000832704FE83A747012326F4FE0327C4FEE9
:1012C0008327C4FBB307F7022324F4FE8327C4FE5D
:1012D000639A0700930710002326F4FE8327C4FBBC
:1012E0002324F4FE832704FE83A7C7002328F4FCED
:1012F000232204FE6F00000B032784FB832704FDD9
:101300003307F702832784FEB307F7002326F4FC94
:10131000032784FE832704FDB337F70093F7F70F05
:101320002324F4FC832784FC93B71700A303F4FC65
:10133000834774FC138F0700B7170080938F07391A
:101340006B200F007B70FF018327C4FC939727005D
:101350000327C4FDB307F70083A607008327C4FC57
:1013600093972700032744FDB307F700032784FD65
:101370003387E60023A0E700832784FE93871700C6
:101380002324F4FEB7170080138E473967000E0040
:10139000130000006B300000832744FE9387170082
:1013A0002322F4FE832744FE0327C4FEE3E6E7F48A
:1013B000130000008320C1040324810413010105EC
:1013C00067800000130101FC232E1102232C8102EF
:1013D00013040104232EA4FC232CB4FC232AC4FCF4
:1013E0002328D4FC2326E4FCB76702810327C4FD2D
:1013F00023A4E720B767028193878720032784FD12
:1014000023A2E700B767028193878720032744FD63
:1014100023A4E700B7670281938787200327C4FCD2
:1014200023A6E700B767028193878720032704FD7F
:1014300023A8E700EFE09FDC2324A4FE0327C4FCDD
:10144000832784FEB357F7022326F4FE0327C4FC48
:10145000832784FEB377F702638807008327C4FEDF
:10146000938717002326F4FEB767028193878720AE
:101470000327C4FE23AAE7000327C4FC832784FEB6
:101480006362F702B767028193868720B7170080EF
:101490001386C74F832584FE032504FDEFF08F815B
:1014A0006F000002B767028193868720B71700801C
:1014B0001386C74F8325C4FC032504FDEFE09FFF7F
:1014C000EFE05FD32322A4FE032704FD832744FE1D
:1014D00063F8E700032544FEEFF0CF8C6F00C000F7
:1014E000032504FDEFF00F8C130000008320C103DF
:1014F000032481031301010467800000130101FB31
:10150000232611042324810413040105232EA4FAA5
:10151000232CB4FAEFF0CF952320A4FE832704FEFA
:1015200083A70700232EF4FC832704FE83A747002C
:1015300083A70700232CF4FC832704FE83A78700DE
:10154000232AF4FC832704FE83A747012326F4FE05
:101550000327C4FE8327C4FBB307F7022324F4FE4A
:101560008327C4FE639A0700930710002326F4FE26
:101570008327C4FB2324F4FE832704FE83A7C7002C
:101580002328F4FC232204FE6F00000B032784FBB6
:10159000832704FD3307F702832784FEB307F70090
:1015A0002326F4FC032784FE832704FDB337F700CA
:1015B00093F7F70F2324F4FC832784FC93B71700D9
:1015C000A303F4FC834774FC138F0700B717008054
:1015D000938F47626B200F007B70FF018327C4FC51
:1015E000939727000327C4FDB307F70083A60700DE
:1015F0008327C4FC93972700032744FDB307F70014
:10160000032784FD3387E60223A0E700832784FEB7
:10161000938717002324F4FEB7170080138E876288
:1016200067000E00130000006B300000832744FEAB
:10163000938717002322F4FE832744FE0327C4FE6A
:10164000E3E6E7F4130000008320C10403248104CF
:101650001301010567800000130101FD23268102AB
:1016600013040103232EA4FC232604FE6F000001B3
:101670008327C4FE938717002326F4FE0327C4FEA6
:101680008327C4FDE346F7FE130000000324C102D4
:101690001301010367800000130101FD23261102DD
:1016A0002324810213040103232EA4FC232CB4FC65
:1016B000B7670281138707228327C4FDB307F700AA
:1016C000130710002380E7008327C4FD6390070CF5
:1016D000A30104FE232604FE6F00800A232604FED5
:1016E000232404FE6F004003B7670281138707229B
:1016F000832784FEB307F70083C7070063880700CA
:101700008327C4FE938717002326F4FE832784FED5
:10171000938717002324F4FE032784FE832784FD88
:10172000E344F7FC0327C4FE832784FD631AF70410
:10173000232204FE6F000004B7670281138707228B
:10174000832744FEB307F70023800700B797028181
:10175000130710002384E72E13056004EFF0DFEF7A
:10176000B79702812384072E832744FE93871700AF
:101770002322F4FE032744FE832784FDE34EF7FA79
:10178000834734FEE39C07F46F004002130000001F
:10179000B797028183C7872E93C7170093F7F70F78
:1017A000E39807FE13054006EFF01FEB130000005F
:1017B0008320C1020324810213010103678000001A
:1017C000130101FE232E810013040102232604FECF
:1017D0006F008004B76702810327C4FE1317270038
:1017E00093870724B307F7001307300023A0E7000F
:1017F000B77702810327C4FE1317270093870724B6
:10180000B307F7001307200023A0E7008327C4FED7
:10181000938717002326F4FE0327C4FE9307F00FD7
:10182000E3DAE7FA130000000324C1011301010207
:1018300067800000130101FD232611022324810289
:1018400013040103232EA4FCB7070081138507129C
:10185000EFE05FFA232604FE6F0080058327C4FEB5
:10186000638E07008327C4FE93F7F7006398070091
:10187000B707008113854714EFE0DFF78327C4FE25
:10188000939727000327C4FDB307F70083A707003A
:1018900013850700EFE0DFF9B70700811385871490
:1018A000EFE05FF58327C4FE938717002326F4FE3D
:1018B0000327C4FE9307F00FE3D2E7FAB7070081CE
:1018C0001385C714EFE01FF3130000008320C1024B
:1018D000032481021301010367800000130101FF4B
:1018E000232611002324810013040101EFF05FED92
:1018F00093060001B787028113860724B777028118
:1019000093850724B767028113850724EFF00F83BF
:10191000B707008113850717EFE0DFEDB787028176
:1019200013850724EFF01FF19307000013850700CC
:101930008320C1000324810013010101678000009E
:100280001300000013070D00B7170000938747976E
:100290003307F702B70700819387C742B307F70018
:1002A00013850700EF00405093070500638A07029B
:1002B00013070D00B70700811317270093874728FE
:1002C000B307F7001307100023A0E70093070D0002
:1002D00063960700EFF01FE96F00C0057300000090
:1002E00013070D00B7170000938747973307F702EE
:1002F000B70700819387C742B307F700130784FD50
:100300009305070013850700EF000040832704FED4
:10031000138107008327C4FD832584FD032644FE43
:10032000832684FE0327C4FE13850700EFF0DFCF8A
:10033000730000008320C10203248102032D4102C7
:100340001301010367800000130101FB2326110440
:100350002324810413040105EFF0DFE92324A4FE24
:1003600093090100930710002326F4FE6F00C008D4
:100370000327C4FEB7170000938747973307F70298
:10038000B70700819387C742B307F70013850700BB
:10039000EF00804193070500639A07040327C4FE1A
:1003A000B7170000938747973307F702B707008115
:1003B0009387C742B307F700130704FD93050700AF
:1003C00013850700EF004034832784FD1381070065
:1003D000832744FD832504FD0326C4FD832604FEF4
:1003E000032744FE13850700EFF0DFCD8327C4FE0B
:1003F000938717002326F4FE8327C4FE032784FE79
:10040000E3E8E7F613810900EFF0DFCC9307020081
:1004100063880704B70700811385C742EF00C0381F
:1004200093070500639E0702930784FB93850700EB
:10043000B70700811385C742EF00002D832704FC16
:10044000138107008327C4FB832584FB032644FC18
:10045000832684FC0327C4FC13850700EFF0DFBC70
:10046000130000008320C10403248104130101054B
:1004700067800000130101FB23261104232481045B
:1004800013040105232EA4FA232CB4FA232AC4FA58
:100490002328D4FAEFF01FD7EFF0DFD52322A4FEF4
:1004A00013090100232604FE232404FE6F00000923
:1004B000B709FFFF33013101832784FE2326F4FCB3
:1004C000832784FB2328F4FC93070100232AF4FCF0
:1004D000832744FB232CF4FC832704FB232EF4FC0A
:1004E0008327C4FE2320F4FE0327C4FEB7170000B1
:1004F000938747973307F702B70700819387C7426F
:10050000B307F7001307C4FC930507001385070022
:10051000EF0000198327C4FE938717002326F4FEFB
:100520008327C4FE032744FE63E4E700232604FE7A
:10053000832784FE938717002324F4FE032784FE79
:100540008327C4FBE366F7F613010900EFF0DFDF52
:10055000130000008320C10403248104130101055A
:1005600067800000130101FD23261102232481026C
:1005700013040103232EA4FC8325C4FDB7070081C7
:1005800013850704EF004035EFF0DFC62320A4FEFB
:10059000232604FE6F008006930710002326F4FE36
:1005A000232404FE6F00C003B7070081032784FEE5
:1005B0001317270093874728B307F70003A70700FF
:1005C000930710006318F7008327C4FE9387170072
:1005D0002326F4FE832784FE938717002324F4FE4A
:1005E000032784FE9307F001E3D0E7FC8325C4FED4
:1005F000B70700811385C704EF00002E0327C4FE50
:100600008327C4FDE31AF7F8232204FE6F0080025B
:10061000B7070081032744FE131727009387472855
:10062000B307F70023A00700832744FE9387170032
:100630002322F4FE832744FE032704FEE3EAE7FCBB
:10064000130000008320C10203248102130101036F
:1006500067800000130101FF23268100232471011C
:100660001304010193870B00138507000324C100C5
:10067000832B8100130101016780000093020500B4
:10068000130300009303700023A0620023A2620002
:1006900023A4620023A6720023A8620067800000E2
:1006A0009302050003A382001303130023A4620036
:1006B0001383420183AE420093935E0033037300C1
:1006C00003AE05002320C30103AE45002322C3016E
:1006D00003AE85002324C30103AEC5002326C30156
:1006E00003AE05012328C30103AE4501232AC3013C
:1006F000938E1E00130F20036394EE01930E0000EF
:1007000023A2D201678000009302050003A38200A8
:10071000130000001300000013000000130000008D
:1007200013000000130000001303F3FF23A4620072
:100730001383420183AE0200930F2003138F0E0038
:10074000130F1F006314FF01130F000023A0E20129
:1007500093935E0033037300032E030023A0C501AF
:10076000032E430023A2C501032E830023A4C50149
:10077000032EC30023A6C501032E030123A8C50130
:10078000032E430123AAC5016780000093020500E0
:1007900003A3820013050000130E200363146E00F0
:1007A00013051500678000009302050003A3820073
:1007B00013050000130E000063146E0013051500EE
:1007C000678000009302050003A3C20083A3020117
:1007D00033B5630067800000130141FF232011003F
:1007E0002322B1008345050063880500EF00C001A6
:1007F000130515006FF01FFF8320010083254100C2
:100800001301C10067800000B708010023A0B800F1
:1008100067800000130101FD2326110223248102B9
:1008200013040103232EA4FC0327C4FD9307F00047
:1008300063E4E702B70700810327C4FD131727000D
:100840009387471CB307F70083A7070013850700AA
:10085000EFF09FF86F004007930700022326F4FE95
:10086000A30504FE8327C4FE9387C7FF0327C4FDA7
:10087000B357F70093F7F7002322F4FE832744FED3
:100880006386070093071000A305F4FE8347B4FEB8
:1008900063820702B7070081032744FE131727006E
:1008A0009387471CB307F70083A70700138507004A
:1008B000EFF09FF28327C4FE9387C7FF2326F4FE41
:1008C0008327C4FEE340F0FA8320C102032481029F
:1008D0001301010367800000130101FE232E1100A4
:1008E000232C8100130401022326A4FE2324B4FE3A
:1008F0000325C4FEEFF05FEE032584FEEFF09FF1C9
:10090000B707008113854709EFF01FED13000000C2
:100910008320C101032481011301010267800000CB
:10092000130101FD23261102232481021304010374
:10093000232EA4FC232CB4FC232AC4FC2328D4FC9F
:10094000B76702810327C4FD23AAE71CB7670281AA
:100950009387471D032784FD23A2E700B767028121
:100960009387471D032744FD23A4E700B76702814F
:100970009387471D032704FD23A6E700EFF01F8898
:100980002324A4FE032704FD832784FEB357F70224
:100990002326F4FE032704FD832784FEB377F702A2
:1009A000638807008327C4FE938717002326F4FE7D
:1009B000B76702819387471D0327C4FE23A8E7007A
:1009C000032704FD832784FE6362F702B767028171
:1009D0009386471DB7170080138647A4832584FE9E
:1009E000032504FDEFF01FA96F000002B767028125
:1009F0009386471DB7170080138647A4832504FDFF
:100A0000032504FDEFF01FA7EFF0CFFE2322A4FE85
:100A1000032704FD832744FE63F8E700032544FE13
:100A2000EFF05FB46F00C000032504FDEFF09FB34B
:100A3000130000008320C10203248102130101037B
:100A400067800000130101FA232E1104232C810476
:100A5000130401062326A4FA2324B4FAEFF09FBF5F
:100A6000232CA4FC832784FD83A70700232AF4FCFE
:100A7000832784FD83A747002328F4FC832784FD74
:100A800083A787002326F4FC832784FD83A707011F
:100A90002326F4FE0327C4FE8327C4FAB307F70214
:100AA0002324F4FE8327C4FE639A070093071000F3
:100AB0002326F4FE8327C4FA2324F4FE832784FD2F
:100AC00083A7C7002324F4FC232204FE6F00800DBB
:100AD000232004FE232E04FC6F008007032784FAE2
:100AE000832784FCB307F7020327C4FDB307F7008D
:100AF0002322F4FC032784FC8327C4FDB307F702F9
:100B0000032784FEB307F7002320F4FC832744FC6B
:100B100093972700032744FDB307F70003A70700B7
:100B2000832704FC93972700832604FDB387F600F0
:100B300083A70700B307F702032704FEB307F700F4
:100B40002320F4FE8327C4FD93871700232EF4FC93
:100B50000327C4FD832784FCE362F7F8032784FAA4
:100B6000832784FC3307F702832784FEB307F7004B
:100B7000232EF4FA8327C4FB939727000327C4FC92
:100B8000B307F700032704FE23A0E700832784FEB2
:100B9000938717002324F4FE832744FE93871700CE
:100BA0002322F4FE832744FE0327C4FEE3E2E7F298
:100BB000130000008320C1050324810513010106F1
:100BC00067800000130101FC232E1102232C8102F7
:100BD00013040104232EA4FC232CB4FC232AC4FCFC
:100BE0002328D4FC2326E4FCB76702810327C4FD35
:100BF00023A4E71EB76702819387871E032784FD1E
:100C000023A2E700B76702819387871E032744FD6D
:100C100023A4E700B76702819387871E0327C4FCDC
:100C200023A6E700B76702819387871E032704FD89
:100C300023A8E700EFF08FDC2324A4FE0327C4FCE5
:100C4000832784FEB357F7022326F4FE0327C4FC50
:100C5000832784FEB377F702638807008327C4FEE7
:100C6000938717002326F4FEB76702819387871EB8
:100C70000327C4FE23AAE7000327C4FC832784FEBE
:100C80006362F702B76702819386871EB7170080F9
:100C90001386C7CF832584FE032504FDEFF08FFD67
:100CA0006F000002B76702819386871EB717008026
:100CB0001386C7CF8325C4FC032504FDEFF08FFB0B
:100CC000EFF04FD32322A4FE032704FD832744FE25
:100CD00063F8E700032544FEEFF0DF886F00C000F3
:100CE000032504FDEFF01F88130000008320C103DB
:100CF000032481031301010467800000130101FB39
:100D0000232611042324810413040105232EA4FAAD
:100D1000232CB4FAEFF01F942320A4FE832704FEB3
:100D200083A70700232EF4FC832704FE83A7470034
:100D3000232CF4FC832704FE83A78700232AF4FCDA
:100D4000832704FE83A747012326F4FE0327C4FE5E
:100D50008327C4FBB307F7022324F4FE8327C4FED2
:100D6000639A0700930710002326F4FE8327C4FB31
:100D70002324F4FE832704FE83A7C7002328F4FC62
:100D8000232204FE6F00000C032784FB832704FD4D
:100D90003307F702832784FEB307F7002326F4FC0A
:100DA000032784FE832704FDB337F70093F7F70F7B
:100DB0002324F4FC832784FC93B71700A303F4FCDB
:100DC000834774FC138F0700B7170080938F07E3E6
:100DD0006B200F007B70FF018327C4FC93972700D3
:100DE0000327C4FDB307F70083A607008327C4FCCD
:100DF00093972700032784FDB307F70003A7070095
:100E00008327C4FC93972700032644FDB307F6000D
:100E10003387E60023A0E700832784FE938717002B
:100E20002324F4FEB7170080138E47E367000E00FB
:100E3000130000006B300000832744FE93871700E7
:100E40002322F4FE832744FE0327C4FEE3EEE7F2E9
:100E5000130000008320C104032481041301010551
:100E600067800000130101FC232E1102232C810254
:100E700013040104232EA4FC232CB4FC232AC4FC59
:100E80002328D4FC2326E4FCB76702810327C4FD92
:100E900023A4E71EB76702819387871E032784FD7B
:100EA00023A2E700B76702819387871E032744FDCB
:100EB00023A4E700B76702819387871E0327C4FC3A
:100EC00023A6E700B76702819387871E032704FDE7
:100ED00023A8E700EFF08FB22324A4FE0327C4FC6D
:100EE000832784FEB357F7022326F4FE0327C4FCAE
:100EF000832784FEB377F702638807008327C4FE45
:100F0000938717002326F4FEB76702819387871E15
:100F10000327C4FE23AAE7000327C4FC832784FE1B
:100F20006362F702B76702819386871EB717008056
:100F30001386C7F9832584FE032504FDEFF08FD3C4
:100F40006F000002B76702819386871EB717008083
:100F50001386C7F98325C4FC032504FDEFF08FD168
:100F6000EFF04FA92322A4FE032704FD832744FEAC
:100F700063F8E700032544FEEFF0CFDE6F00C0000A
:100F8000032504FDEFF00FDE130000008320C103F2
:100F9000032481031301010467800000130101FB96
:100FA000232611042324810413040105232EA4FA0B
:100FB000232CB4FAEFF00FEA2320A4FE832704FECB
:100FC00083A70700232EF4FC832704FE83A7470092
:100FD000232CF4FC832704FE83A78700232AF4FC38
:100FE000832704FE83A747012326F4FE0327C4FEBC
:100FF0008327C4FBB307F7022324F4FE8327C4FE30
:10100000639A0700930710002326F4FE8327C4FB8E
:101010002324F4FE832704FE83A7C7002328F4FCBF
:10102000232204FE6F00000C032784FB832704FDAA
:101030003307F702832784FEB307F7002326F4FC67
:10104000032784FE832704FDB337F70093F7F70FD8
:101050002324F4FC832784FC93B71700A303F4FC38
:10106000834774FC138F0700B7170080938F070D19
:101070006B200F007B70FF018327C4FC9397270030
:101080000327C4FDB307F70083A607008327C4FC2A
:1010900093972700032784FDB307F70003A70700F2
:1010A0008327C4FC93972700032644FDB307F6006B
:1010B0003387E64023A0E700832784FE9387170049
:1010C0002324F4FEB7170080138E470D67000E002F
:1010D000130000006B300000832744FE9387170045
:1010E0002322F4FE832744FE0327C4FEE3EEE7F247
:1010F000130000008320C1040324810413010105AF
:1011000067800000130101FC232E1102232C8102B1
:1011100013040104232EA4FC232CB4FC232AC4FCB6
:101120002328D4FC2326E4FCB76702810327C4FDEF
:1011300023A0E720B767028193870720032784FD58
:1011400023A2E700B767028193870720032744FDA6
:1011500023A4E700B7670281938707200327C4FC15
:1011600023A6E700B767028193870720032704FDC2
:1011700023A8E700EFF08F882324A4FE0327C4FCF4
:10118000832784FEB357F7022326F4FE0327C4FC0B
:10119000832784FEB377F702638807008327C4FEA2
:1011A000938717002326F4FEB767028193870720F1
:1011B0000327C4FE23AAE7000327C4FC832784FE79
:1011C0006362F702B767028193860720B717008032
:1011D0001386C723832584FE032504FDEFF08FA922
:1011E0006F000002B767028193860720B71700805F
:1011F0001386C7238325C4FC032504FDEFF08FA7C6
:10120000EFE05FFF2322A4FE032704FD832744FEB3
:1012100063F8E700032544FEEFF0CFB46F00C00091
:10122000032504FDEFF00FB4130000008320C10379
:10123000032481031301010467800000130101FBF3
:10124000232611042324810413040105232EA4FA68
:10125000232CB4FAEFF00FC02320A4FE832704FE52
:1012600083A70700232EF4FC832704FE83A74700EF
:1012700083A70700232CF4FC832704FE83A78700A1
:10128000232AF4FC832704FE83A747012326F4FEC8
:101290000327C4FE8327C4FBB307F7022324F4FE0D
:1012A0008327C4FE639A0700930710002326F4FEE9
:1012B0008327C4FB2324F4FE832704FE83A7C700EF
:1012C0002328F4FC232204FE6F00000B032784FB79
:1012D000832704FD3307F702832784FEB307F70053
:1012E0002326F4FC032784FE832704FDB337F7008D
:1012F00093F7F70F2324F4FC832784FC93B717009C
:10130000A303F4FC834774FC138F0700B717008016
:10131000938F47366B200F007B70FF018327C4FC3F
:10132000939727000327C4FDB307F70083A60700A0
:101330008327C4FC93972700032744FDB307F700D6
:10134000032784FD3387E60023A0E700832784FE7C
:10135000938717002324F4FEB7170080138E873677
:1013600067000E00130000006B300000832744FE6E
:10137000938717002322F4FE832744FE0327C4FE2D
:10138000E3E6E7F4130000008320C1040324810492
:101390001301010567800000130101FC232E1102D7
:1013A000232C810213040104232EA4FC232CB4FC5F
:1013B000232AC4FC2328D4FC2326E4FCB76702813B
:1013C0000327C4FD23A0E720B76702819387072086
:1013D000032784FD23A2E700B767028193870720D4
:1013E000032744FD23A4E700B76702819387072002
:1013F0000327C4FC23A6E700B76702819387072071
:10140000032704FD23A8E700EFE05FDF2324A4FE09
:101410000327C4FC832784FEB357F7022326F4FE78
:101420000327C4FC832784FEB377F7026388070091
:101430008327C4FE938717002326F4FEB767028133
:10144000938707200327C4FE23AAE7000327C4FCD1
:10145000832784FE6362F702B767028193860720C1
:10146000B71700801386074D832584FE032504FDEE
:10147000EFF04F806F000002B7670281938607206C
:10148000B71700801386074D8325C4FC032504FD90
:10149000EFE05FFEEFE01FD62322A4FE032704FD4A
:1014A000832744FE63F8E700032544FEEFF08F8BAB
:1014B0006F00C000032504FDEFF0CF8A1300000089
:1014C0008320C1030324810313010104678000000A
:1014D000130101FB232611042324810413040105B5
:1014E000232EA4FA232CB4FAEFF0CF962320A4FEE7
:1014F000832704FE83A70700232EF4FC832704FE22
:1015000083A7470083A70700232CF4FC832704FE4E
:1015100083A78700232AF4FC832704FE83A74701BF
:101520002326F4FE0327C4FE8327C4FBB307F70278
:101530002324F4FE8327C4FE639A07009307100058
:101540002326F4FE8327C4FB2324F4FE832704FE12
:1015500083A7C7002328F4FC232204FE6F00000B9E
:10156000032784FB832704FD3307F702832784FEC8
:10157000B307F7002326F4FC032784FE832704FD2A
:10158000B337F70093F7F70F2324F4FC832784FC89
:1015900093B71700A303F4FC834774FC138F070071
:1015A000B7170080938F875F6B200F007B70FF0160
:1015B0008327C4FC939727000327C4FDB307F700D4
:1015C00083A607008327C4FC93972700032744FDC5
:1015D000B307F700032784FD3387E60223A0E70063
:1015E000832784FE938717002324F4FEB717008017
:1015F000138EC75F67000E00130000006B30000001
:10160000832744FE938717002322F4FE832744FE9A
:101610000327C4FEE3E6E7F4130000008320C104BF
:10162000032481041301010567800000130101FDFB
:101630002326810213040103232EA4FC232604FE87
:101640006F0000018327C4FE938717002326F4FE52
:101650000327C4FE8327C4FDE346F7FE1300000002
:101660000324C1021301010367800000130101FD7F
:10167000232611022324810213040103232EA4FC38
:10168000232CB4FCB7670281138787218327C4FD0D
:10169000B307F700130710002380E7008327C4FD7A
:1016A0006390070CA30104FE232604FE6F00800A4A
:1016B000232604FE232404FE6F004003B767028143
:1016C00013878721832784FEB307F70083C70700AA
:1016D000638807008327C4FE938717002326F4FE40
:1016E000832784FE938717002324F4FE032784FEB8
:1016F000832784FDE344F7FC0327C4FE832784FD8E
:10170000631AF704232204FE6F000004B767028106
:1017100013878721832744FEB307F7002380070040
:10172000B7970281130710002380E72E130560048A
:10173000EFF0DFEFB79702812380072E832744FE67
:10174000938717002322F4FE032744FE832784FD9A
:10175000E34EF7FA834734FEE39C07F46F00400240
:1017600013000000B797028183C7072E93C71700A5
:1017700093F7F70FE39807FE13054006EFF01FEB12
:10178000130000008320C10203248102130101031E
:1017900067800000130101FE232E81001304010263
:1017A000232604FE6F008004B76702810327C4FE6E
:1017B0001317270093878723B307F7001307300019
:1017C00023A0E700B77702810327C4FE1317270081
:1017D00093878723B307F7001307200023A0E700B0
:1017E0008327C4FE938717002326F4FE0327C4FE35
:1017F0009307F00FE3DAE7FA130000000324C101B6
:101800001301010267800000130101FD232611026C
:101810002324810213040103232EA4FCB7070081B3
:1018200013858711EFE05FFB232604FE6F00800520
:101830008327C4FE638E07008327C4FE93F7F70057
:1018400063980700B70700811385C713EFE0DFF83F
:101850008327C4FE939727000327C4FDB307F7002F
:1018600083A7070013850700EFE0DFFAB7070081C1
:1018700013850714EFE05FF68327C4FE93871700F4
:101880002326F4FE0327C4FE9307F00FE3D2E7FA02
:10189000B707008113854714EFE01FF41300000021
:1018A0008320C10203248102130101036780000029
:1018B000130101FF232611002324810013040101D9
:1018C000EFF05FED93060001B7870281138687234F
:1018D000B777028193858723B767028113858723B2
:1018E000EFF00F84B707008113858716EFE0DFEE76
:1018F000B787028113858723EFF01FF1930700005C
:10190000138507008320C100032481001301010116
:0419100067800000EC
:02000004810079
:10000000300000003100000032000000330000002A
:10001000340000003500000036000000370000000A
:10002000380000003900000061000000620000009C
:10003000630000006400000065000000660000002E
:1000400052657363686564756C653A200000000052
:1000500030000000310000003200000033000000DA
:1000600034000000350000003600000037000000BA
:10007000380000003900000061000000620000004C
:1000800063000000640000006500000066000000DE
:100090000A000000300000003100000032000000C3
:1000A000330000003400000035000000360000007E
:1000B0003700000038000000390000006100000037
:1000C00062000000630000006400000065000000A2
:1000D000660000004F66667365743A2000000000F9
:1000E000300000003100000032000000330000004A
:1000F000340000003500000036000000370000002A
:1001000038000000390000006100000062000000BB
:10011000630000006400000065000000660000004D
:100040007761697420666F723A200000466F756EA2
:10005000643A20003000000031000000320000004F
:1000600033000000340000003500000036000000BE
:100070003700000038000000390000006100000077
:1000800062000000630000006400000065000000E2
:10009000660000000A00000030000000310000008F
:1000A0003200000033000000340000003500000082
:1000B0003600000037000000380000003900000062
:1000C00061000000620000006300000064000000A6
:1000D00065000000660000003000000031000000F4
:1000E0003200000033000000340000003500000042
:1000F0003600000037000000380000003900000022
:100100006100000062000000630000006400000065
:1001100065000000660000002D2D2D2D2D2D2D2DAC
:100120002D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2DFF
:100130002D2D2D2D2D2D2D2D2D2D2D2D2D2D2D0A12
:10014000000000000A000000200000000A2D2D2DF4
:100130002D2D2D2D2D2D2D0A000000000A00000070
:10014000200000000A2D2D2D2D2D2D2D2D2D2D2D96
:100150002D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2DCF
:100160002D2D2D2D2D2D2D2D2D2D2D2D0A00000069
:100170000A0A4D6174726978206D756C7469706CCF
:0901800069636174696F6E0A0085
:10018C000000008104000081080000810C00008147
:10019C001000008114000081180000811C000081F7
:1001AC002000008124000081280000812C000081A7
:1001BC003000008134000081380000813C00008157
:1001CC005000008154000081580000815C000081C7
:1001DC006000008164000081680000816C00008177
:1001EC007000008174000081780000817C00008127
:1001FC008000008184000081880000818C000081D7
:10020C0094000081980000819C000081A000008176
:10021C00A4000081A8000081AC000081B000008126
:10022C00B4000081B8000081BC000081C0000081D6
:10023C00C4000081C8000081CC000081D000008186
:10024C00E0000081E4000081E8000081EC00008106
:10025C00F0000081F4000081F8000081FC000081B6
:10026C000001008104010081080100810C01008162
:10027C001001008114010081180100811C01008112
:100160002D2D2D2D0A0000000A0A4D617472697848
:10017000206D756C7469706C69636174696F6E0A67
:01018000007E
:100184000000008104000081080000810C0000814F
:100194001000008114000081180000811C000081FF
:1001A4002000008124000081280000812C000081AF
:1001B4003000008134000081380000813C0000815F
:1001C40054000081580000815C00008160000081BF
:1001D40064000081680000816C000081700000816F
:1001E40074000081780000817C000081800000811F
:1001F40084000081880000818C00008190000081CF
:10020400980000819C000081A0000081A40000816E
:10021400A8000081AC000081B0000081B40000811E
:10022400B8000081BC000081C0000081C4000081CE
:10023400C8000081CC000081D0000081D40000817E
:10024400D8000081DC000081E0000081E40000812E
:10025400E8000081EC000081F0000081F4000081DE
:10026400F8000081FC00008100010081040100818C
:10027400080100810C01008110010081140100813A
:040000058000000077
:00000001FF

View file

@ -23,7 +23,7 @@ void vx_sq_mat_mult(void * x, void * y, void * z, unsigned mat_dim)
off += 1;
}
vx_printf("Offset: ", off);
// vx_printf("Offset: ", off);
mat_mult_args.offset = off;

View file

@ -16,18 +16,7 @@ void vx_reschedule_warps()
{
register unsigned curr_warp asm("s10");
vx_printf("Reschedule: ", curr_warp);
asm __volatile__("nop");
asm __volatile__("nop");
asm __volatile__("nop");
asm __volatile__("nop");
asm __volatile__("nop");
asm __volatile__("nop");
asm __volatile__("nop");
asm __volatile__("nop");
asm __volatile__("nop");
asm __volatile__("nop");
asm __volatile__("nop");
// vx_printf("Reschedule: ", curr_warp);
asm __volatile__("nop");
if (queue_isEmpty(q+curr_warp))
@ -131,20 +120,20 @@ void vx_spawnWarps(unsigned num_Warps, unsigned num_threads, FUNC, void * args)
void vx_wait_for_warps(unsigned num_wait)
{
// vx_printf("wait for: ", num_wait);
vx_printf("wait for: ", num_wait);
unsigned num_available_warps = vx_available_warps();
unsigned num = 0;
while (num != num_wait)
{
num = 0;
for (int i = 0; i < num_available_warps; i++)
num = 1;
for (int i = 0; i < 32; i++)
{
if (done[i] == 1)
{
num += 1;
}
}
// vx_printf("Found: ", num);
vx_printf("Found: ", num);
}
// vx_printf("num found: ", num);

BIN
rtl/.DS_Store vendored Normal file

Binary file not shown.

View file

@ -3,7 +3,9 @@
module VX_csr_handler (
input wire clk,
input wire[11:0] in_decode_csr_address, // done
/* verilator lint_off UNUSED */
input wire[11:0] in_mem_csr_address,
/* verilator lint_on UNUSED */
input wire in_mem_is_csr,
/* verilator lint_off UNUSED */
input wire[31:0] in_mem_csr_result,
@ -13,7 +15,7 @@ module VX_csr_handler (
);
reg[11:0] csr[4095:0];
reg[11:0] csr[1024:0];
reg[63:0] cycle;
reg[63:0] instret;
reg[11:0] decode_csr_address;
@ -42,7 +44,9 @@ module VX_csr_handler (
always @(posedge clk) begin
if(in_mem_is_csr) begin
/* verilator lint_off WIDTH */
csr[in_mem_csr_address] <= in_mem_csr_result[11:0];
/* verilator lint_on WIDTH */
end
end
@ -53,11 +57,13 @@ module VX_csr_handler (
assign read_instreth = decode_csr_address == 12'hC82;
/* verilator lint_off WIDTH */
assign out_decode_csr_data = read_cycle ? cycle[31:0] :
read_cycleh ? cycle[63:32] :
read_instret ? instret[31:0] :
read_instreth ? instret[63:32] :
{{20{1'b0}}, csr[decode_csr_address]};
/* verilator lint_on WIDTH */

View file

@ -3,8 +3,10 @@
`define NT 4
`define NT_M1 (`NT-1)
// NW_M1 is actually log2(NW)
`define NW_M1 3
`define NW 8
// Uncomment the below line if NW=1
// `define ONLY

View file

@ -40,22 +40,22 @@ module VX_fetch (
reg[`NW_M1:0] warp_state;
reg[`NW_M1:0] warp_count;
reg[31:0] num_ecalls;
// reg[31:0] num_ecalls;
initial begin
warp_num = 0;
warp_state = 0;
num_ecalls = 0;
// num_ecalls = 0;
warp_count = 1;
end
always @(posedge clk) begin
if (in_ebreak) begin
num_ecalls <= num_ecalls + 1;
$display("--------> New num_ecalls = %h", num_ecalls+1);
end
end
// always @(posedge clk) begin
// if (in_ebreak) begin
// num_ecalls <= num_ecalls + 1;
// $display("--------> New num_ecalls = %h", num_ecalls+1);
// end
// end
wire add_warp = in_wspawn && !in_ebreak && !in_clone_stall;
wire remove_warp = in_ebreak && !in_wspawn && !in_clone_stall;
@ -65,7 +65,7 @@ module VX_fetch (
warp_num <= 0;
`ifndef ONLY
end else if (!warp_glob_valid[warp_num+1]) begin
$display("Skipping one");
// $display("Skipping one");
warp_num <= warp_num + 2;
`endif
end else begin
@ -75,12 +75,12 @@ module VX_fetch (
if (add_warp) begin
warp_state <= warp_state + 1;
warp_count <= warp_count + 1;
$display("Adding a new warp %h", warp_state+1);
// $display("Adding a new warp %h", warp_state+1);
end else if (remove_warp) begin // No removing, just invalidating
warp_count <= warp_count - 1;
$display("Removing a warp %h %h", in_decode_warp_num, warp_count);
// $display("Removing a warp %h %h", in_decode_warp_num, warp_count);
if (warp_count == 2) begin
$display("&&&&&&&&&&&&& STATE 0");
// $display("&&&&&&&&&&&&& STATE 0");
warp_state <= 0;
end
end
@ -103,9 +103,9 @@ module VX_fetch (
wire[31:0] warp_zero_wspawn_pc = in_wspawn_pc;
wire warp_zero_remove = remove_warp && (in_decode_warp_num == 0);
always @(*) begin : proc_
if (warp_zero_remove) $display("4Removing warp: %h", 0);
end
// always @(*) begin : proc_
// if (warp_zero_remove) $display("4Removing warp: %h", 0);
// end
VX_warp VX_Warp(
.clk (clk),
@ -140,9 +140,9 @@ module VX_fetch (
wire[31:0] warp_zero_wspawn_pc = in_wspawn_pc;
wire warp_zero_remove = remove_warp && (in_decode_warp_num == cur_warp);
always @(*) begin : proc_
if (warp_zero_remove) $display("4Removing warp: %h", cur_warp);
end
// always @(*) begin : proc_
// if (warp_zero_remove) $display("4Removing warp: %h", cur_warp);
// end
VX_warp VX_Warp(
.clk (clk),
@ -184,11 +184,11 @@ module VX_fetch (
assign out_PC = out_PC_var;
assign out_valid = out_valid_var;
always @(*) begin
if (out_valid[0]) begin
$display("[%d] %h #%b#",out_warp_num, out_PC, out_valid);
end
end
// always @(*) begin
// if (out_valid[0]) begin
// $display("[%d] %h #%b#",out_warp_num, out_PC, out_valid);
// end
// end
`endif

View file

@ -1,7 +1,7 @@
`include "VX_define.v"
// Old SM file
module VX_shared_memory(
input wire clk,

30
rtl/Vortex.qpf Normal file
View file

@ -0,0 +1,30 @@
# -------------------------------------------------------------------------- #
#
# Copyright (C) 2018 Intel Corporation. All rights reserved.
# Your use of Intel Corporation's design tools, logic functions
# and other software and tools, and its AMPP partner logic
# functions, and any output files from any of the foregoing
# (including device programming or simulation files), and any
# associated documentation or information are expressly subject
# to the terms and conditions of the Intel Program License
# Subscription Agreement, the Intel Quartus Prime License Agreement,
# the Intel FPGA IP License Agreement, or other applicable license
# agreement, including, without limitation, that your use is for
# the sole purpose of programming logic devices manufactured by
# Intel and sold by Intel or its authorized distributors. Please
# refer to the applicable agreement for further details.
#
# -------------------------------------------------------------------------- #
#
# Quartus Prime
# Version 18.0.0 Build 219 04/25/2018 SJ Pro Edition
# Date created = 20:33:29 May 12, 2019
#
# -------------------------------------------------------------------------- #
QUARTUS_VERSION = "18.0"
DATE = "20:33:29 May 12, 2019"
# Revisions
PROJECT_REVISION = "Vortex"

47
rtl/Vortex.qsf Normal file
View file

@ -0,0 +1,47 @@
set_global_assignment -name FAMILY "Arria 10"
set_global_assignment -name TOP_LEVEL_ENTITY Vortex
set_global_assignment -name ORIGINAL_QUARTUS_VERSION 18.0.0
set_global_assignment -name PROJECT_CREATION_TIME_DATE "20:33:29 MAY 12, 2019"
set_global_assignment -name LAST_QUARTUS_VERSION "18.0.0 Pro Edition"
set_global_assignment -name VERILOG_FILE ../../Users/fsabbaghgt/Documents/GitHub/Vortex/rtl/Vortex.v
set_global_assignment -name VERILOG_FILE ../../Users/fsabbaghgt/Documents/GitHub/Vortex/rtl/VX_alu.v
set_global_assignment -name VERILOG_FILE ../../Users/fsabbaghgt/Documents/GitHub/Vortex/rtl/VX_context.v
set_global_assignment -name VERILOG_FILE ../../Users/fsabbaghgt/Documents/GitHub/Vortex/rtl/VX_context_slave.v
set_global_assignment -name VERILOG_FILE ../../Users/fsabbaghgt/Documents/GitHub/Vortex/rtl/VX_csr_handler.v
set_global_assignment -name VERILOG_FILE ../../Users/fsabbaghgt/Documents/GitHub/Vortex/rtl/VX_d_e_reg.v
set_global_assignment -name VERILOG_FILE ../../Users/fsabbaghgt/Documents/GitHub/Vortex/rtl/VX_decode.v
set_global_assignment -name VERILOG_FILE ../../Users/fsabbaghgt/Documents/GitHub/Vortex/rtl/VX_define.v
set_global_assignment -name VERILOG_FILE ../../Users/fsabbaghgt/Documents/GitHub/Vortex/rtl/VX_e_m_reg.v
set_global_assignment -name VERILOG_FILE ../../Users/fsabbaghgt/Documents/GitHub/Vortex/rtl/VX_execute.v
set_global_assignment -name VERILOG_FILE ../../Users/fsabbaghgt/Documents/GitHub/Vortex/rtl/VX_f_d_reg.v
set_global_assignment -name VERILOG_FILE ../../Users/fsabbaghgt/Documents/GitHub/Vortex/rtl/VX_fetch.v
set_global_assignment -name VERILOG_FILE ../../Users/fsabbaghgt/Documents/GitHub/Vortex/rtl/VX_forwarding.v
set_global_assignment -name VERILOG_FILE ../../Users/fsabbaghgt/Documents/GitHub/Vortex/rtl/VX_m_w_reg.v
set_global_assignment -name VERILOG_FILE ../../Users/fsabbaghgt/Documents/GitHub/Vortex/rtl/VX_memory.v
set_global_assignment -name VERILOG_FILE ../../Users/fsabbaghgt/Documents/GitHub/Vortex/rtl/VX_register_file.v
set_global_assignment -name VERILOG_FILE ../../Users/fsabbaghgt/Documents/GitHub/Vortex/rtl/VX_register_file_master_slave.v
set_global_assignment -name VERILOG_FILE ../../Users/fsabbaghgt/Documents/GitHub/Vortex/rtl/VX_register_file_slave.v
set_global_assignment -name VERILOG_FILE ../../Users/fsabbaghgt/Documents/GitHub/Vortex/rtl/VX_warp.v
set_global_assignment -name VERILOG_FILE ../../Users/fsabbaghgt/Documents/GitHub/Vortex/rtl/VX_writeback.v
set_global_assignment -name PROJECT_OUTPUT_DIRECTORY output_files
set_global_assignment -name DEVICE 10AX115U3F45I2SG
set_global_assignment -name ERROR_CHECK_FREQUENCY_DIVISOR 4
set_global_assignment -name MIN_CORE_JUNCTION_TEMP "-40"
set_global_assignment -name MAX_CORE_JUNCTION_TEMP 100
set_global_assignment -name POWER_AUTO_COMPUTE_TJ ON
set_global_assignment -name POWER_PRESET_COOLING_SOLUTION "23 MM HEAT SINK WITH 200 LFPM AIRFLOW"
set_global_assignment -name POWER_BOARD_THERMAL_MODEL "NONE (CONSERVATIVE)"
set_global_assignment -name NUMBER_OF_REMOVED_REGISTERS_REPORTED 50000
set_global_assignment -name VERILOG_INPUT_VERSION SYSTEMVERILOG_2009
set_global_assignment -name VERILOG_SHOW_LMF_MAPPING_MESSAGES OFF
set_global_assignment -name OPTIMIZATION_TECHNIQUE SPEED
set_global_assignment -name SDC_FILE clk_const.sdc
set_global_assignment -name ALLOW_REGISTER_RETIMING OFF
set_global_assignment -name REMOVE_DUPLICATE_REGISTERS OFF
set_global_assignment -name AUTO_ROM_RECOGNITION OFF
set_global_assignment -name AUTO_RAM_RECOGNITION OFF
set_global_assignment -name SYNTH_PROTECT_SDC_CONSTRAINT ON
set_global_assignment -name IGNORE_MAX_FANOUT_ASSIGNMENTS ON
set_global_assignment -name FLOW_ENABLE_POWER_ANALYZER OFF
set_global_assignment -name FLOW_DISABLE_ASSEMBLER ON
set_instance_assignment -name PARTITION_COLOUR 4288217044 -to Vortex -entity Vortex

1
rtl/clk_const.sdc Normal file
View file

@ -0,0 +1 @@
create_clock -name {clk} -period "400 MHz" -waveform { 0.0 1.0 } [get_ports {clk}]

BIN
rtl/obj_dir/VVortex Executable file

Binary file not shown.

14783
rtl/obj_dir/VVortex.cpp Normal file

File diff suppressed because it is too large Load diff

489
rtl/obj_dir/VVortex.h Normal file
View file

@ -0,0 +1,489 @@
// Verilated -*- C++ -*-
// DESCRIPTION: Verilator output: Primary design header
//
// This header should be included by all source files instantiating the design.
// The class here is then constructed to instantiate the design.
// See the Verilator manual for examples.
#ifndef _VVortex_H_
#define _VVortex_H_
#include "verilated.h"
class VVortex__Syms;
class VVortex_VX_context_slave;
//----------
VL_MODULE(VVortex) {
public:
// CELLS
// Public to allow access to /*verilator_public*/ items;
// otherwise the application code can consider these internals.
VVortex_VX_context_slave* __PVT__Vortex__DOT__vx_decode__DOT__genblk1__BRA__1__KET____DOT__VX_Context_one;
VVortex_VX_context_slave* __PVT__Vortex__DOT__vx_decode__DOT__genblk1__BRA__2__KET____DOT__VX_Context_one;
VVortex_VX_context_slave* __PVT__Vortex__DOT__vx_decode__DOT__genblk1__BRA__3__KET____DOT__VX_Context_one;
VVortex_VX_context_slave* __PVT__Vortex__DOT__vx_decode__DOT__genblk1__BRA__4__KET____DOT__VX_Context_one;
VVortex_VX_context_slave* __PVT__Vortex__DOT__vx_decode__DOT__genblk1__BRA__5__KET____DOT__VX_Context_one;
VVortex_VX_context_slave* __PVT__Vortex__DOT__vx_decode__DOT__genblk1__BRA__6__KET____DOT__VX_Context_one;
VVortex_VX_context_slave* __PVT__Vortex__DOT__vx_decode__DOT__genblk1__BRA__7__KET____DOT__VX_Context_one;
// PORTS
// The application code writes and reads these signals to
// propagate new values into/out from the Verilated model.
// Begin mtask footprint all:
VL_IN8(clk,0,0);
VL_IN8(reset,0,0);
VL_OUT8(out_cache_driver_in_mem_read,2,0);
VL_OUT8(out_cache_driver_in_mem_write,2,0);
VL_OUT8(out_ebreak,0,0);
VL_IN(fe_instruction,31,0);
VL_OUT(curr_PC,31,0);
VL_IN(in_cache_driver_out_data[4],31,0);
VL_OUT(out_cache_driver_in_address[4],31,0);
VL_OUT8(out_cache_driver_in_valid[4],0,0);
VL_OUT(out_cache_driver_in_data[4],31,0);
// LOCAL SIGNALS
// Internals; generally not touched by application code
// Anonymous structures to workaround compiler member-count bugs
struct {
// Begin mtask footprint all:
VL_SIG8(Vortex__DOT__decode_branch_stall,0,0);
VL_SIG8(Vortex__DOT__decode_branch_type,2,0);
VL_SIG8(Vortex__DOT__decode_jal,0,0);
VL_SIG8(Vortex__DOT__decode_change_mask,0,0);
VL_SIG8(Vortex__DOT__execute_branch_stall,0,0);
VL_SIG8(Vortex__DOT__memory_branch_dir,0,0);
VL_SIG8(Vortex__DOT__forwarding_fwd_stall,0,0);
VL_SIG8(Vortex__DOT__forwarding_src1_fwd,0,0);
VL_SIG8(Vortex__DOT__forwarding_src2_fwd,0,0);
VL_SIG8(Vortex__DOT__vx_fetch__DOT__stall,0,0);
VL_SIG8(Vortex__DOT__vx_fetch__DOT__warp_num,3,0);
VL_SIG8(Vortex__DOT__vx_fetch__DOT__warp_state,3,0);
VL_SIG8(Vortex__DOT__vx_fetch__DOT__warp_count,3,0);
VL_SIG8(Vortex__DOT__vx_fetch__DOT__add_warp,0,0);
VL_SIG8(Vortex__DOT__vx_fetch__DOT__remove_warp,0,0);
VL_SIG8(Vortex__DOT__vx_fetch__DOT__genblk1__BRA__0__KET____DOT__warp_zero_change_mask,0,0);
VL_SIG8(Vortex__DOT__vx_fetch__DOT__genblk1__BRA__0__KET____DOT__warp_zero_stall,0,0);
VL_SIG8(Vortex__DOT__vx_fetch__DOT__genblk1__BRA__1__KET____DOT__warp_zero_change_mask,0,0);
VL_SIG8(Vortex__DOT__vx_fetch__DOT__genblk1__BRA__1__KET____DOT__warp_zero_stall,0,0);
VL_SIG8(Vortex__DOT__vx_fetch__DOT__genblk1__BRA__2__KET____DOT__warp_zero_change_mask,0,0);
VL_SIG8(Vortex__DOT__vx_fetch__DOT__genblk1__BRA__2__KET____DOT__warp_zero_stall,0,0);
VL_SIG8(Vortex__DOT__vx_fetch__DOT__genblk1__BRA__3__KET____DOT__warp_zero_change_mask,0,0);
VL_SIG8(Vortex__DOT__vx_fetch__DOT__genblk1__BRA__3__KET____DOT__warp_zero_stall,0,0);
VL_SIG8(Vortex__DOT__vx_fetch__DOT__genblk1__BRA__4__KET____DOT__warp_zero_change_mask,0,0);
VL_SIG8(Vortex__DOT__vx_fetch__DOT__genblk1__BRA__4__KET____DOT__warp_zero_stall,0,0);
VL_SIG8(Vortex__DOT__vx_fetch__DOT__genblk1__BRA__5__KET____DOT__warp_zero_change_mask,0,0);
VL_SIG8(Vortex__DOT__vx_fetch__DOT__genblk1__BRA__5__KET____DOT__warp_zero_stall,0,0);
VL_SIG8(Vortex__DOT__vx_fetch__DOT__genblk1__BRA__6__KET____DOT__warp_zero_change_mask,0,0);
VL_SIG8(Vortex__DOT__vx_fetch__DOT__genblk1__BRA__6__KET____DOT__warp_zero_stall,0,0);
VL_SIG8(Vortex__DOT__vx_fetch__DOT__genblk1__BRA__7__KET____DOT__warp_zero_change_mask,0,0);
VL_SIG8(Vortex__DOT__vx_fetch__DOT__genblk1__BRA__7__KET____DOT__warp_zero_stall,0,0);
VL_SIG8(Vortex__DOT__vx_f_d_reg__DOT__warp_num,3,0);
VL_SIG8(Vortex__DOT__vx_decode__DOT__is_itype,0,0);
VL_SIG8(Vortex__DOT__vx_decode__DOT__is_csr,0,0);
VL_SIG8(Vortex__DOT__vx_decode__DOT__is_clone,0,0);
VL_SIG8(Vortex__DOT__vx_decode__DOT__is_jalrs,0,0);
VL_SIG8(Vortex__DOT__vx_decode__DOT__is_jmprt,0,0);
VL_SIG8(Vortex__DOT__vx_decode__DOT__is_wspawn,0,0);
VL_SIG8(Vortex__DOT__vx_decode__DOT__jal_sys_jal,0,0);
VL_SIG8(Vortex__DOT__vx_decode__DOT__mul_alu,4,0);
VL_SIG8(Vortex__DOT__vx_decode__DOT__real_zero_isclone,0,0);
VL_SIG8(Vortex__DOT__vx_decode__DOT__temp_out_clone_stall,0,0);
VL_SIG8(Vortex__DOT__vx_decode__DOT__is_ebreak,0,0);
VL_SIG8(Vortex__DOT__vx_decode__DOT__temp_final_alu,4,0);
VL_SIG8(Vortex__DOT__vx_decode__DOT__genblk1__BRA__1__KET____DOT__real_wspawn,0,0);
VL_SIG8(Vortex__DOT__vx_decode__DOT__genblk1__BRA__1__KET____DOT__real_isclone,0,0);
VL_SIG8(Vortex__DOT__vx_decode__DOT__genblk1__BRA__2__KET____DOT__real_wspawn,0,0);
VL_SIG8(Vortex__DOT__vx_decode__DOT__genblk1__BRA__2__KET____DOT__real_isclone,0,0);
VL_SIG8(Vortex__DOT__vx_decode__DOT__genblk1__BRA__3__KET____DOT__real_wspawn,0,0);
VL_SIG8(Vortex__DOT__vx_decode__DOT__genblk1__BRA__3__KET____DOT__real_isclone,0,0);
VL_SIG8(Vortex__DOT__vx_decode__DOT__genblk1__BRA__4__KET____DOT__real_wspawn,0,0);
VL_SIG8(Vortex__DOT__vx_decode__DOT__genblk1__BRA__4__KET____DOT__real_isclone,0,0);
VL_SIG8(Vortex__DOT__vx_decode__DOT__genblk1__BRA__5__KET____DOT__real_wspawn,0,0);
VL_SIG8(Vortex__DOT__vx_decode__DOT__genblk1__BRA__5__KET____DOT__real_isclone,0,0);
VL_SIG8(Vortex__DOT__vx_decode__DOT__genblk1__BRA__6__KET____DOT__real_wspawn,0,0);
VL_SIG8(Vortex__DOT__vx_decode__DOT__genblk1__BRA__6__KET____DOT__real_isclone,0,0);
VL_SIG8(Vortex__DOT__vx_decode__DOT__genblk1__BRA__7__KET____DOT__real_wspawn,0,0);
VL_SIG8(Vortex__DOT__vx_decode__DOT__genblk1__BRA__7__KET____DOT__real_isclone,0,0);
VL_SIG8(Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__state_stall,5,0);
VL_SIG8(Vortex__DOT__vx_d_e_reg__DOT__rd,4,0);
VL_SIG8(Vortex__DOT__vx_d_e_reg__DOT__alu_op,4,0);
VL_SIG8(Vortex__DOT__vx_d_e_reg__DOT__wb,1,0);
VL_SIG8(Vortex__DOT__vx_d_e_reg__DOT__rs2_src,0,0);
VL_SIG8(Vortex__DOT__vx_d_e_reg__DOT__mem_read,2,0);
};
struct {
VL_SIG8(Vortex__DOT__vx_d_e_reg__DOT__mem_write,2,0);
VL_SIG8(Vortex__DOT__vx_d_e_reg__DOT__branch_type,2,0);
VL_SIG8(Vortex__DOT__vx_d_e_reg__DOT__is_csr,0,0);
VL_SIG8(Vortex__DOT__vx_d_e_reg__DOT__jal,0,0);
VL_SIG8(Vortex__DOT__vx_d_e_reg__DOT__warp_num,3,0);
VL_SIG8(Vortex__DOT__vx_d_e_reg__DOT__stalling,0,0);
VL_SIG8(Vortex__DOT__vx_e_m_reg__DOT__rd,4,0);
VL_SIG8(Vortex__DOT__vx_e_m_reg__DOT__wb,1,0);
VL_SIG8(Vortex__DOT__vx_e_m_reg__DOT__mem_read,2,0);
VL_SIG8(Vortex__DOT__vx_e_m_reg__DOT__mem_write,2,0);
VL_SIG8(Vortex__DOT__vx_e_m_reg__DOT__is_csr,0,0);
VL_SIG8(Vortex__DOT__vx_e_m_reg__DOT__branch_type,2,0);
VL_SIG8(Vortex__DOT__vx_e_m_reg__DOT__jal,0,0);
VL_SIG8(Vortex__DOT__vx_e_m_reg__DOT__warp_num,3,0);
VL_SIG8(Vortex__DOT__vx_m_w_reg__DOT__rd,4,0);
VL_SIG8(Vortex__DOT__vx_m_w_reg__DOT__wb,1,0);
VL_SIG8(Vortex__DOT__vx_m_w_reg__DOT__warp_num,3,0);
VL_SIG8(Vortex__DOT__vx_forwarding__DOT__src1_exe_fwd,0,0);
VL_SIG8(Vortex__DOT__vx_forwarding__DOT__src1_mem_fwd,0,0);
VL_SIG8(Vortex__DOT__vx_forwarding__DOT__src1_wb_fwd,0,0);
VL_SIG8(Vortex__DOT__vx_forwarding__DOT__src2_exe_fwd,0,0);
VL_SIG8(Vortex__DOT__vx_forwarding__DOT__src2_mem_fwd,0,0);
VL_SIG8(Vortex__DOT__vx_forwarding__DOT__src2_wb_fwd,0,0);
VL_SIG16(Vortex__DOT__decode_csr_address,11,0);
VL_SIG16(Vortex__DOT__vx_decode__DOT__alu_tempp,11,0);
VL_SIG16(Vortex__DOT__vx_d_e_reg__DOT__csr_address,11,0);
VL_SIG16(Vortex__DOT__vx_e_m_reg__DOT__csr_address,11,0);
VL_SIG16(Vortex__DOT__vx_csr_handler__DOT__decode_csr_address,11,0);
VL_SIG(Vortex__DOT__decode_itype_immed,31,0);
VL_SIG(Vortex__DOT__decode_jal_offset,31,0);
VL_SIG(Vortex__DOT__memory_branch_dest,31,0);
VL_SIG(Vortex__DOT__csr_decode_csr_data,31,0);
VL_SIG(Vortex__DOT__vx_fetch__DOT__out_PC_var,31,0);
VL_SIG(Vortex__DOT__vx_fetch__DOT__genblk1__BRA__0__KET____DOT__VX_Warp__DOT__real_PC,31,0);
VL_SIG(Vortex__DOT__vx_fetch__DOT__genblk1__BRA__0__KET____DOT__VX_Warp__DOT__temp_PC,31,0);
VL_SIG(Vortex__DOT__vx_fetch__DOT__genblk1__BRA__1__KET____DOT__VX_Warp__DOT__real_PC,31,0);
VL_SIG(Vortex__DOT__vx_fetch__DOT__genblk1__BRA__1__KET____DOT__VX_Warp__DOT__temp_PC,31,0);
VL_SIG(Vortex__DOT__vx_fetch__DOT__genblk1__BRA__2__KET____DOT__VX_Warp__DOT__real_PC,31,0);
VL_SIG(Vortex__DOT__vx_fetch__DOT__genblk1__BRA__2__KET____DOT__VX_Warp__DOT__temp_PC,31,0);
VL_SIG(Vortex__DOT__vx_fetch__DOT__genblk1__BRA__3__KET____DOT__VX_Warp__DOT__real_PC,31,0);
VL_SIG(Vortex__DOT__vx_fetch__DOT__genblk1__BRA__3__KET____DOT__VX_Warp__DOT__temp_PC,31,0);
VL_SIG(Vortex__DOT__vx_fetch__DOT__genblk1__BRA__4__KET____DOT__VX_Warp__DOT__real_PC,31,0);
VL_SIG(Vortex__DOT__vx_fetch__DOT__genblk1__BRA__4__KET____DOT__VX_Warp__DOT__temp_PC,31,0);
VL_SIG(Vortex__DOT__vx_fetch__DOT__genblk1__BRA__5__KET____DOT__VX_Warp__DOT__real_PC,31,0);
VL_SIG(Vortex__DOT__vx_fetch__DOT__genblk1__BRA__5__KET____DOT__VX_Warp__DOT__temp_PC,31,0);
VL_SIG(Vortex__DOT__vx_fetch__DOT__genblk1__BRA__6__KET____DOT__VX_Warp__DOT__real_PC,31,0);
VL_SIG(Vortex__DOT__vx_fetch__DOT__genblk1__BRA__6__KET____DOT__VX_Warp__DOT__temp_PC,31,0);
VL_SIG(Vortex__DOT__vx_fetch__DOT__genblk1__BRA__7__KET____DOT__VX_Warp__DOT__real_PC,31,0);
VL_SIG(Vortex__DOT__vx_fetch__DOT__genblk1__BRA__7__KET____DOT__VX_Warp__DOT__temp_PC,31,0);
VL_SIG(Vortex__DOT__vx_f_d_reg__DOT__instruction,31,0);
VL_SIG(Vortex__DOT__vx_f_d_reg__DOT__curr_PC,31,0);
VL_SIG(Vortex__DOT__vx_d_e_reg__DOT__PC_next_out,31,0);
VL_SIG(Vortex__DOT__vx_d_e_reg__DOT__itype_immed,31,0);
VL_SIG(Vortex__DOT__vx_d_e_reg__DOT__upper_immed,19,0);
VL_SIG(Vortex__DOT__vx_d_e_reg__DOT__csr_mask,31,0);
VL_SIG(Vortex__DOT__vx_d_e_reg__DOT__curr_PC,31,0);
VL_SIG(Vortex__DOT__vx_d_e_reg__DOT__jal_offset,31,0);
VL_SIG(Vortex__DOT__vx_execute__DOT__genblk1__BRA__0__KET____DOT__vx_alu__DOT__ALU_in2,31,0);
VL_SIG(Vortex__DOT__vx_execute__DOT__genblk1__BRA__1__KET____DOT__vx_alu__DOT__ALU_in2,31,0);
VL_SIG(Vortex__DOT__vx_execute__DOT__genblk1__BRA__2__KET____DOT__vx_alu__DOT__ALU_in2,31,0);
VL_SIG(Vortex__DOT__vx_execute__DOT__genblk1__BRA__3__KET____DOT__vx_alu__DOT__ALU_in2,31,0);
VL_SIG(Vortex__DOT__vx_e_m_reg__DOT__PC_next,31,0);
VL_SIG(Vortex__DOT__vx_e_m_reg__DOT__csr_result,31,0);
VL_SIG(Vortex__DOT__vx_e_m_reg__DOT__curr_PC,31,0);
};
struct {
VL_SIG(Vortex__DOT__vx_e_m_reg__DOT__branch_offset,31,0);
VL_SIG(Vortex__DOT__vx_e_m_reg__DOT__jal_dest,31,0);
VL_SIG(Vortex__DOT__vx_m_w_reg__DOT__PC_next,31,0);
VL_SIG64(Vortex__DOT__vx_execute__DOT__genblk1__BRA__0__KET____DOT__vx_alu__DOT__mult_signed_result,63,0);
VL_SIG64(Vortex__DOT__vx_execute__DOT__genblk1__BRA__1__KET____DOT__vx_alu__DOT__mult_signed_result,63,0);
VL_SIG64(Vortex__DOT__vx_execute__DOT__genblk1__BRA__2__KET____DOT__vx_alu__DOT__mult_signed_result,63,0);
VL_SIG64(Vortex__DOT__vx_execute__DOT__genblk1__BRA__3__KET____DOT__vx_alu__DOT__mult_signed_result,63,0);
VL_SIG64(Vortex__DOT__vx_csr_handler__DOT__cycle,63,0);
VL_SIG64(Vortex__DOT__vx_csr_handler__DOT__instret,63,0);
VL_SIG8(Vortex__DOT__fetch_valid[4],0,0);
VL_SIG8(Vortex__DOT__f_d_valid[4],0,0);
VL_SIG(Vortex__DOT__decode_a_reg_data[4],31,0);
VL_SIG(Vortex__DOT__decode_b_reg_data[4],31,0);
VL_SIG8(Vortex__DOT__decode_valid[4],0,0);
VL_SIG8(Vortex__DOT__decode_thread_mask[4],0,0);
VL_SIG(Vortex__DOT__d_e_a_reg_data[4],31,0);
VL_SIG(Vortex__DOT__d_e_b_reg_data[4],31,0);
VL_SIG8(Vortex__DOT__d_e_valid[4],0,0);
VL_SIG(Vortex__DOT__execute_alu_result[4],31,0);
VL_SIG(Vortex__DOT__execute_b_reg_data[4],31,0);
VL_SIG8(Vortex__DOT__execute_valid[4],0,0);
VL_SIG(Vortex__DOT__e_m_alu_result[4],31,0);
VL_SIG(Vortex__DOT__e_m_b_reg_data[4],31,0);
VL_SIG8(Vortex__DOT__e_m_valid[4],0,0);
VL_SIG(Vortex__DOT__memory_alu_result[4],31,0);
VL_SIG(Vortex__DOT__memory_mem_result[4],31,0);
VL_SIG8(Vortex__DOT__memory_valid[4],0,0);
VL_SIG(Vortex__DOT__m_w_alu_result[4],31,0);
VL_SIG(Vortex__DOT__m_w_mem_result[4],31,0);
VL_SIG8(Vortex__DOT__m_w_valid[4],0,0);
VL_SIG(Vortex__DOT__writeback_write_data[4],31,0);
VL_SIG(Vortex__DOT__forwarding_src1_fwd_data[4],31,0);
VL_SIG(Vortex__DOT__forwarding_src2_fwd_data[4],31,0);
VL_SIG(Vortex__DOT__vx_fetch__DOT__warp_glob_pc[8],31,0);
VL_SIG8(Vortex__DOT__vx_fetch__DOT__warp_glob_valid[8][4],0,0);
VL_SIG8(Vortex__DOT__vx_fetch__DOT__out_valid_var[4],0,0);
VL_SIG8(Vortex__DOT__vx_fetch__DOT__genblk1__BRA__0__KET____DOT__VX_Warp__DOT__valid[4],0,0);
VL_SIG8(Vortex__DOT__vx_fetch__DOT__genblk1__BRA__0__KET____DOT__VX_Warp__DOT__valid_zero[4],0,0);
VL_SIG8(Vortex__DOT__vx_fetch__DOT__genblk1__BRA__1__KET____DOT__VX_Warp__DOT__valid[4],0,0);
VL_SIG8(Vortex__DOT__vx_fetch__DOT__genblk1__BRA__1__KET____DOT__VX_Warp__DOT__valid_zero[4],0,0);
VL_SIG8(Vortex__DOT__vx_fetch__DOT__genblk1__BRA__2__KET____DOT__VX_Warp__DOT__valid[4],0,0);
VL_SIG8(Vortex__DOT__vx_fetch__DOT__genblk1__BRA__2__KET____DOT__VX_Warp__DOT__valid_zero[4],0,0);
VL_SIG8(Vortex__DOT__vx_fetch__DOT__genblk1__BRA__3__KET____DOT__VX_Warp__DOT__valid[4],0,0);
VL_SIG8(Vortex__DOT__vx_fetch__DOT__genblk1__BRA__3__KET____DOT__VX_Warp__DOT__valid_zero[4],0,0);
VL_SIG8(Vortex__DOT__vx_fetch__DOT__genblk1__BRA__4__KET____DOT__VX_Warp__DOT__valid[4],0,0);
VL_SIG8(Vortex__DOT__vx_fetch__DOT__genblk1__BRA__4__KET____DOT__VX_Warp__DOT__valid_zero[4],0,0);
VL_SIG8(Vortex__DOT__vx_fetch__DOT__genblk1__BRA__5__KET____DOT__VX_Warp__DOT__valid[4],0,0);
VL_SIG8(Vortex__DOT__vx_fetch__DOT__genblk1__BRA__5__KET____DOT__VX_Warp__DOT__valid_zero[4],0,0);
VL_SIG8(Vortex__DOT__vx_fetch__DOT__genblk1__BRA__6__KET____DOT__VX_Warp__DOT__valid[4],0,0);
VL_SIG8(Vortex__DOT__vx_fetch__DOT__genblk1__BRA__6__KET____DOT__VX_Warp__DOT__valid_zero[4],0,0);
VL_SIG8(Vortex__DOT__vx_fetch__DOT__genblk1__BRA__7__KET____DOT__VX_Warp__DOT__valid[4],0,0);
VL_SIG8(Vortex__DOT__vx_fetch__DOT__genblk1__BRA__7__KET____DOT__VX_Warp__DOT__valid_zero[4],0,0);
VL_SIG8(Vortex__DOT__vx_f_d_reg__DOT__valid[4],0,0);
VL_SIG(Vortex__DOT__vx_decode__DOT__w0_t0_registers[32],31,0);
VL_SIG(Vortex__DOT__vx_decode__DOT__glob_a_reg_data[8][4],31,0);
VL_SIG(Vortex__DOT__vx_decode__DOT__glob_b_reg_data[8][4],31,0);
VL_SIG8(Vortex__DOT__vx_decode__DOT__glob_clone_stall[8],0,0);
VL_SIG(Vortex__DOT__vx_decode__DOT__temp_out_a_reg_data[4],31,0);
VL_SIG(Vortex__DOT__vx_decode__DOT__temp_out_b_reg_data[4],31,0);
VL_SIG8(Vortex__DOT__vx_decode__DOT__jalrs_thread_mask[4],0,0);
VL_SIG8(Vortex__DOT__vx_decode__DOT__jmprt_thread_mask[4],0,0);
VL_SIG(Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__rd1_register[4],31,0);
VL_SIG(Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__rd2_register[4],31,0);
VL_SIG(Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__clone_regsiters[32],31,0);
};
struct {
VL_SIG(Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__vx_register_file_master__DOT__registers[32],31,0);
VL_SIG(Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers[32],31,0);
VL_SIG(Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__gen_code_label__BRA__2__KET____DOT__vx_register_file_slave__DOT__registers[32],31,0);
VL_SIG(Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__gen_code_label__BRA__3__KET____DOT__vx_register_file_slave__DOT__registers[32],31,0);
VL_SIG(Vortex__DOT__vx_d_e_reg__DOT__a_reg_data[4],31,0);
VL_SIG(Vortex__DOT__vx_d_e_reg__DOT__b_reg_data[4],31,0);
VL_SIG8(Vortex__DOT__vx_d_e_reg__DOT__valid[4],0,0);
VL_SIG(Vortex__DOT__vx_d_e_reg__DOT__reg_data_z[4],31,0);
VL_SIG8(Vortex__DOT__vx_d_e_reg__DOT__valid_z[4],0,0);
VL_SIG(Vortex__DOT__vx_e_m_reg__DOT__alu_result[4],31,0);
VL_SIG(Vortex__DOT__vx_e_m_reg__DOT__a_reg_data[4],31,0);
VL_SIG(Vortex__DOT__vx_e_m_reg__DOT__b_reg_data[4],31,0);
VL_SIG8(Vortex__DOT__vx_e_m_reg__DOT__valid[4],0,0);
VL_SIG(Vortex__DOT__vx_m_w_reg__DOT__alu_result[4],31,0);
VL_SIG(Vortex__DOT__vx_m_w_reg__DOT__mem_result[4],31,0);
VL_SIG8(Vortex__DOT__vx_m_w_reg__DOT__valid[4],0,0);
VL_SIG(Vortex__DOT__vx_writeback__DOT__out_pc_data[4],31,0);
VL_SIG(Vortex__DOT__vx_forwarding__DOT__use_execute_PC_next[4],31,0);
VL_SIG(Vortex__DOT__vx_forwarding__DOT__use_memory_PC_next[4],31,0);
VL_SIG(Vortex__DOT__vx_forwarding__DOT__use_writeback_PC_next[4],31,0);
VL_SIG16(Vortex__DOT__vx_csr_handler__DOT__csr[1025],11,0);
};
// LOCAL VARIABLES
// Internals; generally not touched by application code
// Anonymous structures to workaround compiler member-count bugs
struct {
// Begin mtask footprint all:
VL_SIG8(__Vtableidx1,2,0);
VL_SIG8(__Vclklast__TOP__clk,0,0);
VL_SIG8(__Vclklast__TOP__reset,0,0);
VL_SIG16(Vortex__DOT__vx_csr_handler__DOT____Vlvbound1,11,0);
VL_SIG(Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellout__vx_register_file_master__out_src2_data,31,0);
VL_SIG(Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellout__vx_register_file_master__out_src1_data,31,0);
VL_SIG(Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellout__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__out_src2_data,31,0);
VL_SIG(Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellout__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__out_src1_data,31,0);
VL_SIG(Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellout__gen_code_label__BRA__2__KET____DOT__vx_register_file_slave__out_src2_data,31,0);
VL_SIG(Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellout__gen_code_label__BRA__2__KET____DOT__vx_register_file_slave__out_src1_data,31,0);
VL_SIG(Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellout__gen_code_label__BRA__3__KET____DOT__vx_register_file_slave__out_src2_data,31,0);
VL_SIG(Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellout__gen_code_label__BRA__3__KET____DOT__vx_register_file_slave__out_src1_data,31,0);
VL_SIG(Vortex__DOT__vx_execute__DOT____Vcellout__genblk1__BRA__0__KET____DOT__vx_alu__out_alu_result,31,0);
VL_SIG(Vortex__DOT__vx_execute__DOT____Vcellout__genblk1__BRA__1__KET____DOT__vx_alu__out_alu_result,31,0);
VL_SIG(Vortex__DOT__vx_execute__DOT____Vcellout__genblk1__BRA__2__KET____DOT__vx_alu__out_alu_result,31,0);
VL_SIG(Vortex__DOT__vx_execute__DOT____Vcellout__genblk1__BRA__3__KET____DOT__vx_alu__out_alu_result,31,0);
VL_SIG8(Vortex__DOT____Vcellout__vx_fetch__out_valid[4],0,0);
VL_SIG8(Vortex__DOT____Vcellinp__vx_fetch__in_thread_mask[4],0,0);
VL_SIG8(Vortex__DOT____Vcellout__vx_f_d_reg__out_valid[4],0,0);
VL_SIG8(Vortex__DOT____Vcellinp__vx_f_d_reg__in_valid[4],0,0);
VL_SIG8(Vortex__DOT____Vcellout__vx_decode__out_thread_mask[4],0,0);
VL_SIG8(Vortex__DOT____Vcellout__vx_decode__out_valid[4],0,0);
VL_SIG(Vortex__DOT____Vcellout__vx_decode__out_b_reg_data[4],31,0);
VL_SIG(Vortex__DOT____Vcellout__vx_decode__out_a_reg_data[4],31,0);
VL_SIG(Vortex__DOT____Vcellinp__vx_decode__in_src2_fwd_data[4],31,0);
VL_SIG(Vortex__DOT____Vcellinp__vx_decode__in_src1_fwd_data[4],31,0);
VL_SIG8(Vortex__DOT____Vcellinp__vx_decode__in_wb_valid[4],0,0);
VL_SIG(Vortex__DOT____Vcellinp__vx_decode__in_write_data[4],31,0);
VL_SIG8(Vortex__DOT____Vcellinp__vx_decode__in_valid[4],0,0);
VL_SIG8(Vortex__DOT____Vcellout__vx_d_e_reg__out_valid[4],0,0);
VL_SIG(Vortex__DOT____Vcellout__vx_d_e_reg__out_b_reg_data[4],31,0);
VL_SIG(Vortex__DOT____Vcellout__vx_d_e_reg__out_a_reg_data[4],31,0);
VL_SIG8(Vortex__DOT____Vcellinp__vx_d_e_reg__in_valid[4],0,0);
VL_SIG(Vortex__DOT____Vcellinp__vx_d_e_reg__in_b_reg_data[4],31,0);
VL_SIG(Vortex__DOT____Vcellinp__vx_d_e_reg__in_a_reg_data[4],31,0);
VL_SIG8(Vortex__DOT____Vcellout__vx_execute__out_valid[4],0,0);
VL_SIG(Vortex__DOT____Vcellout__vx_execute__out_b_reg_data[4],31,0);
VL_SIG(Vortex__DOT____Vcellout__vx_execute__out_alu_result[4],31,0);
VL_SIG8(Vortex__DOT____Vcellinp__vx_execute__in_valid[4],0,0);
VL_SIG(Vortex__DOT____Vcellinp__vx_execute__in_b_reg_data[4],31,0);
VL_SIG(Vortex__DOT____Vcellinp__vx_execute__in_a_reg_data[4],31,0);
VL_SIG8(Vortex__DOT____Vcellout__vx_e_m_reg__out_valid[4],0,0);
VL_SIG(Vortex__DOT____Vcellout__vx_e_m_reg__out_b_reg_data[4],31,0);
VL_SIG(Vortex__DOT____Vcellout__vx_e_m_reg__out_alu_result[4],31,0);
VL_SIG8(Vortex__DOT____Vcellinp__vx_e_m_reg__in_valid[4],0,0);
VL_SIG(Vortex__DOT____Vcellinp__vx_e_m_reg__in_b_reg_data[4],31,0);
VL_SIG(Vortex__DOT____Vcellinp__vx_e_m_reg__in_alu_result[4],31,0);
VL_SIG8(Vortex__DOT____Vcellout__vx_memory__out_cache_driver_in_valid[4],0,0);
VL_SIG(Vortex__DOT____Vcellout__vx_memory__out_cache_driver_in_data[4],31,0);
VL_SIG(Vortex__DOT____Vcellout__vx_memory__out_cache_driver_in_address[4],31,0);
VL_SIG8(Vortex__DOT____Vcellout__vx_memory__out_valid[4],0,0);
VL_SIG(Vortex__DOT____Vcellout__vx_memory__out_mem_result[4],31,0);
VL_SIG(Vortex__DOT____Vcellout__vx_memory__out_alu_result[4],31,0);
VL_SIG(Vortex__DOT____Vcellinp__vx_memory__in_cache_driver_out_data[4],31,0);
VL_SIG8(Vortex__DOT____Vcellinp__vx_memory__in_valid[4],0,0);
VL_SIG(Vortex__DOT____Vcellinp__vx_memory__in_rd2[4],31,0);
VL_SIG(Vortex__DOT____Vcellinp__vx_memory__in_alu_result[4],31,0);
VL_SIG8(Vortex__DOT____Vcellout__vx_m_w_reg__out_valid[4],0,0);
VL_SIG(Vortex__DOT____Vcellout__vx_m_w_reg__out_mem_result[4],31,0);
VL_SIG(Vortex__DOT____Vcellout__vx_m_w_reg__out_alu_result[4],31,0);
VL_SIG8(Vortex__DOT____Vcellinp__vx_m_w_reg__in_valid[4],0,0);
VL_SIG(Vortex__DOT____Vcellinp__vx_m_w_reg__in_mem_result[4],31,0);
VL_SIG(Vortex__DOT____Vcellinp__vx_m_w_reg__in_alu_result[4],31,0);
VL_SIG(Vortex__DOT____Vcellout__vx_writeback__out_write_data[4],31,0);
};
struct {
VL_SIG(Vortex__DOT____Vcellinp__vx_writeback__in_mem_result[4],31,0);
VL_SIG(Vortex__DOT____Vcellinp__vx_writeback__in_alu_result[4],31,0);
VL_SIG(Vortex__DOT____Vcellout__vx_forwarding__out_src2_fwd_data[4],31,0);
VL_SIG(Vortex__DOT____Vcellout__vx_forwarding__out_src1_fwd_data[4],31,0);
VL_SIG(Vortex__DOT____Vcellinp__vx_forwarding__in_writeback_mem_data[4],31,0);
VL_SIG(Vortex__DOT____Vcellinp__vx_forwarding__in_writeback_alu_result[4],31,0);
VL_SIG(Vortex__DOT____Vcellinp__vx_forwarding__in_memory_mem_data[4],31,0);
VL_SIG(Vortex__DOT____Vcellinp__vx_forwarding__in_memory_alu_result[4],31,0);
VL_SIG(Vortex__DOT____Vcellinp__vx_forwarding__in_execute_alu_result[4],31,0);
VL_SIG8(Vortex__DOT__vx_fetch__DOT____Vcellout__genblk1__BRA__0__KET____DOT__VX_Warp__out_valid[4],0,0);
VL_SIG8(Vortex__DOT__vx_fetch__DOT____Vcellinp__genblk1__BRA__0__KET____DOT__VX_Warp__in_thread_mask[4],0,0);
VL_SIG8(Vortex__DOT__vx_fetch__DOT____Vcellout__genblk1__BRA__1__KET____DOT__VX_Warp__out_valid[4],0,0);
VL_SIG8(Vortex__DOT__vx_fetch__DOT____Vcellinp__genblk1__BRA__1__KET____DOT__VX_Warp__in_thread_mask[4],0,0);
VL_SIG8(Vortex__DOT__vx_fetch__DOT____Vcellout__genblk1__BRA__2__KET____DOT__VX_Warp__out_valid[4],0,0);
VL_SIG8(Vortex__DOT__vx_fetch__DOT____Vcellinp__genblk1__BRA__2__KET____DOT__VX_Warp__in_thread_mask[4],0,0);
VL_SIG8(Vortex__DOT__vx_fetch__DOT____Vcellout__genblk1__BRA__3__KET____DOT__VX_Warp__out_valid[4],0,0);
VL_SIG8(Vortex__DOT__vx_fetch__DOT____Vcellinp__genblk1__BRA__3__KET____DOT__VX_Warp__in_thread_mask[4],0,0);
VL_SIG8(Vortex__DOT__vx_fetch__DOT____Vcellout__genblk1__BRA__4__KET____DOT__VX_Warp__out_valid[4],0,0);
VL_SIG8(Vortex__DOT__vx_fetch__DOT____Vcellinp__genblk1__BRA__4__KET____DOT__VX_Warp__in_thread_mask[4],0,0);
VL_SIG8(Vortex__DOT__vx_fetch__DOT____Vcellout__genblk1__BRA__5__KET____DOT__VX_Warp__out_valid[4],0,0);
VL_SIG8(Vortex__DOT__vx_fetch__DOT____Vcellinp__genblk1__BRA__5__KET____DOT__VX_Warp__in_thread_mask[4],0,0);
VL_SIG8(Vortex__DOT__vx_fetch__DOT____Vcellout__genblk1__BRA__6__KET____DOT__VX_Warp__out_valid[4],0,0);
VL_SIG8(Vortex__DOT__vx_fetch__DOT____Vcellinp__genblk1__BRA__6__KET____DOT__VX_Warp__in_thread_mask[4],0,0);
VL_SIG8(Vortex__DOT__vx_fetch__DOT____Vcellout__genblk1__BRA__7__KET____DOT__VX_Warp__out_valid[4],0,0);
VL_SIG8(Vortex__DOT__vx_fetch__DOT____Vcellinp__genblk1__BRA__7__KET____DOT__VX_Warp__in_thread_mask[4],0,0);
VL_SIG(Vortex__DOT__vx_decode__DOT____Vcellout__VX_Context_zero__w0_t0_registers[32],31,0);
VL_SIG(Vortex__DOT__vx_decode__DOT____Vcellout__VX_Context_zero__out_b_reg_data[4],31,0);
VL_SIG(Vortex__DOT__vx_decode__DOT____Vcellout__VX_Context_zero__out_a_reg_data[4],31,0);
VL_SIG(Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context_zero__in_write_data[4],31,0);
VL_SIG(Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context_zero__in_src2_fwd_data[4],31,0);
VL_SIG(Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context_zero__in_src1_fwd_data[4],31,0);
VL_SIG8(Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context_zero__in_valid[4],0,0);
VL_SIG(Vortex__DOT__vx_decode__DOT____Vcellout__genblk1__BRA__1__KET____DOT__VX_Context_one__out_b_reg_data[4],31,0);
VL_SIG(Vortex__DOT__vx_decode__DOT____Vcellout__genblk1__BRA__1__KET____DOT__VX_Context_one__out_a_reg_data[4],31,0);
VL_SIG(Vortex__DOT__vx_decode__DOT____Vcellinp__genblk1__BRA__1__KET____DOT__VX_Context_one__in_wspawn_regs[32],31,0);
VL_SIG(Vortex__DOT__vx_decode__DOT____Vcellinp__genblk1__BRA__1__KET____DOT__VX_Context_one__in_write_data[4],31,0);
VL_SIG(Vortex__DOT__vx_decode__DOT____Vcellinp__genblk1__BRA__1__KET____DOT__VX_Context_one__in_src2_fwd_data[4],31,0);
VL_SIG(Vortex__DOT__vx_decode__DOT____Vcellinp__genblk1__BRA__1__KET____DOT__VX_Context_one__in_src1_fwd_data[4],31,0);
VL_SIG8(Vortex__DOT__vx_decode__DOT____Vcellinp__genblk1__BRA__1__KET____DOT__VX_Context_one__in_valid[4],0,0);
VL_SIG(Vortex__DOT__vx_decode__DOT____Vcellout__genblk1__BRA__2__KET____DOT__VX_Context_one__out_b_reg_data[4],31,0);
VL_SIG(Vortex__DOT__vx_decode__DOT____Vcellout__genblk1__BRA__2__KET____DOT__VX_Context_one__out_a_reg_data[4],31,0);
VL_SIG(Vortex__DOT__vx_decode__DOT____Vcellinp__genblk1__BRA__2__KET____DOT__VX_Context_one__in_wspawn_regs[32],31,0);
VL_SIG(Vortex__DOT__vx_decode__DOT____Vcellinp__genblk1__BRA__2__KET____DOT__VX_Context_one__in_write_data[4],31,0);
VL_SIG(Vortex__DOT__vx_decode__DOT____Vcellinp__genblk1__BRA__2__KET____DOT__VX_Context_one__in_src2_fwd_data[4],31,0);
VL_SIG(Vortex__DOT__vx_decode__DOT____Vcellinp__genblk1__BRA__2__KET____DOT__VX_Context_one__in_src1_fwd_data[4],31,0);
VL_SIG8(Vortex__DOT__vx_decode__DOT____Vcellinp__genblk1__BRA__2__KET____DOT__VX_Context_one__in_valid[4],0,0);
VL_SIG(Vortex__DOT__vx_decode__DOT____Vcellout__genblk1__BRA__3__KET____DOT__VX_Context_one__out_b_reg_data[4],31,0);
VL_SIG(Vortex__DOT__vx_decode__DOT____Vcellout__genblk1__BRA__3__KET____DOT__VX_Context_one__out_a_reg_data[4],31,0);
VL_SIG(Vortex__DOT__vx_decode__DOT____Vcellinp__genblk1__BRA__3__KET____DOT__VX_Context_one__in_wspawn_regs[32],31,0);
VL_SIG(Vortex__DOT__vx_decode__DOT____Vcellinp__genblk1__BRA__3__KET____DOT__VX_Context_one__in_write_data[4],31,0);
VL_SIG(Vortex__DOT__vx_decode__DOT____Vcellinp__genblk1__BRA__3__KET____DOT__VX_Context_one__in_src2_fwd_data[4],31,0);
VL_SIG(Vortex__DOT__vx_decode__DOT____Vcellinp__genblk1__BRA__3__KET____DOT__VX_Context_one__in_src1_fwd_data[4],31,0);
VL_SIG8(Vortex__DOT__vx_decode__DOT____Vcellinp__genblk1__BRA__3__KET____DOT__VX_Context_one__in_valid[4],0,0);
VL_SIG(Vortex__DOT__vx_decode__DOT____Vcellout__genblk1__BRA__4__KET____DOT__VX_Context_one__out_b_reg_data[4],31,0);
VL_SIG(Vortex__DOT__vx_decode__DOT____Vcellout__genblk1__BRA__4__KET____DOT__VX_Context_one__out_a_reg_data[4],31,0);
VL_SIG(Vortex__DOT__vx_decode__DOT____Vcellinp__genblk1__BRA__4__KET____DOT__VX_Context_one__in_wspawn_regs[32],31,0);
VL_SIG(Vortex__DOT__vx_decode__DOT____Vcellinp__genblk1__BRA__4__KET____DOT__VX_Context_one__in_write_data[4],31,0);
VL_SIG(Vortex__DOT__vx_decode__DOT____Vcellinp__genblk1__BRA__4__KET____DOT__VX_Context_one__in_src2_fwd_data[4],31,0);
VL_SIG(Vortex__DOT__vx_decode__DOT____Vcellinp__genblk1__BRA__4__KET____DOT__VX_Context_one__in_src1_fwd_data[4],31,0);
VL_SIG8(Vortex__DOT__vx_decode__DOT____Vcellinp__genblk1__BRA__4__KET____DOT__VX_Context_one__in_valid[4],0,0);
VL_SIG(Vortex__DOT__vx_decode__DOT____Vcellout__genblk1__BRA__5__KET____DOT__VX_Context_one__out_b_reg_data[4],31,0);
VL_SIG(Vortex__DOT__vx_decode__DOT____Vcellout__genblk1__BRA__5__KET____DOT__VX_Context_one__out_a_reg_data[4],31,0);
VL_SIG(Vortex__DOT__vx_decode__DOT____Vcellinp__genblk1__BRA__5__KET____DOT__VX_Context_one__in_wspawn_regs[32],31,0);
VL_SIG(Vortex__DOT__vx_decode__DOT____Vcellinp__genblk1__BRA__5__KET____DOT__VX_Context_one__in_write_data[4],31,0);
};
struct {
VL_SIG(Vortex__DOT__vx_decode__DOT____Vcellinp__genblk1__BRA__5__KET____DOT__VX_Context_one__in_src2_fwd_data[4],31,0);
VL_SIG(Vortex__DOT__vx_decode__DOT____Vcellinp__genblk1__BRA__5__KET____DOT__VX_Context_one__in_src1_fwd_data[4],31,0);
VL_SIG8(Vortex__DOT__vx_decode__DOT____Vcellinp__genblk1__BRA__5__KET____DOT__VX_Context_one__in_valid[4],0,0);
VL_SIG(Vortex__DOT__vx_decode__DOT____Vcellout__genblk1__BRA__6__KET____DOT__VX_Context_one__out_b_reg_data[4],31,0);
VL_SIG(Vortex__DOT__vx_decode__DOT____Vcellout__genblk1__BRA__6__KET____DOT__VX_Context_one__out_a_reg_data[4],31,0);
VL_SIG(Vortex__DOT__vx_decode__DOT____Vcellinp__genblk1__BRA__6__KET____DOT__VX_Context_one__in_wspawn_regs[32],31,0);
VL_SIG(Vortex__DOT__vx_decode__DOT____Vcellinp__genblk1__BRA__6__KET____DOT__VX_Context_one__in_write_data[4],31,0);
VL_SIG(Vortex__DOT__vx_decode__DOT____Vcellinp__genblk1__BRA__6__KET____DOT__VX_Context_one__in_src2_fwd_data[4],31,0);
VL_SIG(Vortex__DOT__vx_decode__DOT____Vcellinp__genblk1__BRA__6__KET____DOT__VX_Context_one__in_src1_fwd_data[4],31,0);
VL_SIG8(Vortex__DOT__vx_decode__DOT____Vcellinp__genblk1__BRA__6__KET____DOT__VX_Context_one__in_valid[4],0,0);
VL_SIG(Vortex__DOT__vx_decode__DOT____Vcellout__genblk1__BRA__7__KET____DOT__VX_Context_one__out_b_reg_data[4],31,0);
VL_SIG(Vortex__DOT__vx_decode__DOT____Vcellout__genblk1__BRA__7__KET____DOT__VX_Context_one__out_a_reg_data[4],31,0);
VL_SIG(Vortex__DOT__vx_decode__DOT____Vcellinp__genblk1__BRA__7__KET____DOT__VX_Context_one__in_wspawn_regs[32],31,0);
VL_SIG(Vortex__DOT__vx_decode__DOT____Vcellinp__genblk1__BRA__7__KET____DOT__VX_Context_one__in_write_data[4],31,0);
VL_SIG(Vortex__DOT__vx_decode__DOT____Vcellinp__genblk1__BRA__7__KET____DOT__VX_Context_one__in_src2_fwd_data[4],31,0);
VL_SIG(Vortex__DOT__vx_decode__DOT____Vcellinp__genblk1__BRA__7__KET____DOT__VX_Context_one__in_src1_fwd_data[4],31,0);
VL_SIG8(Vortex__DOT__vx_decode__DOT____Vcellinp__genblk1__BRA__7__KET____DOT__VX_Context_one__in_valid[4],0,0);
VL_SIG(Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellout__vx_register_file_master__out_regs[32],31,0);
VL_SIG(Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs[32],31,0);
VL_SIG(Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellinp__gen_code_label__BRA__2__KET____DOT__vx_register_file_slave__in_regs[32],31,0);
VL_SIG(Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellinp__gen_code_label__BRA__3__KET____DOT__vx_register_file_slave__in_regs[32],31,0);
};
static VL_ST_SIG8(__Vtable1_Vortex__DOT__vx_decode__DOT__mul_alu[8],4,0);
// INTERNAL VARIABLES
// Internals; generally not touched by application code
VVortex__Syms* __VlSymsp; // Symbol table
// PARAMETERS
// Parameters marked /*verilator public*/ for use by application code
// CONSTRUCTORS
private:
VL_UNCOPYABLE(VVortex); ///< Copying not allowed
public:
/// Construct the model; called by application code
/// The special name may be used to make a wrapper with a
/// single model invisible with respect to DPI scope names.
VVortex(const char* name="TOP");
/// Destroy the model; called (often implicitly) by application code
~VVortex();
// API METHODS
/// Evaluate the model. Application must call when inputs change.
void eval();
/// Simulation complete, run final blocks. Application must call on completion.
void final();
// INTERNAL METHODS
private:
static void _eval_initial_loop(VVortex__Syms* __restrict vlSymsp);
public:
void __Vconfigure(VVortex__Syms* symsp, bool first);
private:
static QData _change_request(VVortex__Syms* __restrict vlSymsp);
public:
static void _combo__TOP__10(VVortex__Syms* __restrict vlSymsp);
static void _combo__TOP__8(VVortex__Syms* __restrict vlSymsp);
private:
void _ctor_var_reset();
public:
static void _eval(VVortex__Syms* __restrict vlSymsp);
private:
#ifdef VL_DEBUG
void _eval_debug_assertions();
#endif // VL_DEBUG
public:
static void _eval_initial(VVortex__Syms* __restrict vlSymsp);
static void _eval_settle(VVortex__Syms* __restrict vlSymsp);
static void _initial__TOP__1(VVortex__Syms* __restrict vlSymsp);
static void _sequent__TOP__4(VVortex__Syms* __restrict vlSymsp);
static void _sequent__TOP__5(VVortex__Syms* __restrict vlSymsp);
static void _sequent__TOP__6(VVortex__Syms* __restrict vlSymsp);
static void _sequent__TOP__7(VVortex__Syms* __restrict vlSymsp);
static void _sequent__TOP__9(VVortex__Syms* __restrict vlSymsp);
static void _settle__TOP__2(VVortex__Syms* __restrict vlSymsp);
static void _settle__TOP__3(VVortex__Syms* __restrict vlSymsp);
} VL_ATTR_ALIGNED(128);
#endif // guard

66
rtl/obj_dir/VVortex.mk Normal file
View file

@ -0,0 +1,66 @@
# Verilated -*- Makefile -*-
# DESCRIPTION: Verilator output: Makefile for building Verilated archive or executable
#
# Execute this makefile from the object directory:
# make -f VVortex.mk
default: VVortex
### Constants...
# Perl executable (from $PERL)
PERL = perl
# Path to Verilator kit (from $VERILATOR_ROOT)
VERILATOR_ROOT = /usr/local/Cellar/verilator/4.010/share/verilator
# SystemC include directory with systemc.h (from $SYSTEMC_INCLUDE)
SYSTEMC_INCLUDE ?=
# SystemC library directory with libsystemc.a (from $SYSTEMC_LIBDIR)
SYSTEMC_LIBDIR ?=
### Switches...
# SystemC output mode? 0/1 (from --sc)
VM_SC = 0
# Legacy or SystemC output mode? 0/1 (from --sc)
VM_SP_OR_SC = $(VM_SC)
# Deprecated
VM_PCLI = 1
# Deprecated: SystemC architecture to find link library path (from $SYSTEMC_ARCH)
VM_SC_TARGET_ARCH = linux
### Vars...
# Design prefix (from --prefix)
VM_PREFIX = VVortex
# Module prefix (from --prefix)
VM_MODPREFIX = VVortex
# User CFLAGS (from -CFLAGS on Verilator command line)
VM_USER_CFLAGS = \
# User LDLIBS (from -LDFLAGS on Verilator command line)
VM_USER_LDLIBS = \
# User .cpp files (from .cpp's on Verilator command line)
VM_USER_CLASSES = \
test_bench \
# User .cpp directories (from .cpp's on Verilator command line)
VM_USER_DIR = \
. \
### Default rules...
# Include list of all generated classes
include VVortex_classes.mk
# Include global rules
include $(VERILATOR_ROOT)/include/verilated.mk
### Executable rules... (from --exe)
VPATH += $(VM_USER_DIR)
test_bench.o: test_bench.cpp
$(OBJCACHE) $(CXX) $(CXXFLAGS) $(CPPFLAGS) $(OPT_FAST) -c -o $@ $<
### Link rules... (from --exe)
VVortex: $(VK_USER_OBJS) $(VK_GLOBAL_OBJS) $(VM_PREFIX)__ALL.a
$(LINK) $(LDFLAGS) $^ $(LOADLIBES) $(LDLIBS) -o $@ $(LIBS) $(SC_LIBS)
# Verilated -*- Makefile -*-

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,257 @@
// Verilated -*- C++ -*-
// DESCRIPTION: Verilator output: Design internal header
// See VVortex.h for the primary calling header
#ifndef _VVortex_VX_context_slave_H_
#define _VVortex_VX_context_slave_H_
#include "verilated.h"
class VVortex__Syms;
//----------
VL_MODULE(VVortex_VX_context_slave) {
public:
// PORTS
// Begin mtask footprint all:
VL_IN8(clk,0,0);
VL_IN8(in_warp,0,0);
VL_IN8(in_wb_warp,0,0);
VL_IN8(in_write_register,0,0);
VL_IN8(in_rd,4,0);
VL_IN8(in_src1,4,0);
VL_IN8(in_src2,4,0);
VL_IN8(in_is_clone,0,0);
VL_IN8(in_is_jal,0,0);
VL_IN8(in_src1_fwd,0,0);
VL_IN8(in_src2_fwd,0,0);
VL_IN8(in_wspawn,0,0);
VL_OUT8(out_clone_stall,0,0);
VL_IN(in_curr_PC,31,0);
VL_IN8(in_valid[4],0,0);
VL_IN(in_write_data[4],31,0);
VL_IN(in_src1_fwd_data[4],31,0);
VL_IN(in_src2_fwd_data[4],31,0);
VL_IN(in_wspawn_regs[32],31,0);
VL_OUT(out_a_reg_data[4],31,0);
VL_OUT(out_b_reg_data[4],31,0);
// LOCAL SIGNALS
// Begin mtask footprint all:
VL_SIG8(__PVT__clone_state_stall,5,0);
VL_SIG8(__PVT__wspawn_state_stall,5,0);
VL_SIG(__PVT__rd1_register[4],31,0);
VL_SIG(__PVT__rd2_register[4],31,0);
VL_SIG(__PVT__clone_regsiters[32],31,0);
VL_SIG(__PVT__vx_register_file_master__DOT__registers[32],31,0);
VL_SIG(__PVT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers[32],31,0);
VL_SIG(__PVT__gen_code_label__BRA__2__KET____DOT__vx_register_file_slave__DOT__registers[32],31,0);
VL_SIG(__PVT__gen_code_label__BRA__3__KET____DOT__vx_register_file_slave__DOT__registers[32],31,0);
// LOCAL VARIABLES
// Anonymous structures to workaround compiler member-count bugs
struct {
// Begin mtask footprint all:
VL_SIG8(__Vdly__clone_state_stall,5,0);
VL_SIG8(__Vdly__wspawn_state_stall,5,0);
VL_SIG8(__Vdlyvdim0__vx_register_file_master__DOT__registers__v0,4,0);
VL_SIG8(__Vdlyvset__vx_register_file_master__DOT__registers__v0,0,0);
VL_SIG8(__Vdlyvset__vx_register_file_master__DOT__registers__v1,0,0);
VL_SIG8(__Vdlyvdim0__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v0,4,0);
VL_SIG8(__Vdlyvset__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v0,0,0);
VL_SIG8(__Vdlyvset__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v1,0,0);
VL_SIG8(__Vdlyvdim0__gen_code_label__BRA__2__KET____DOT__vx_register_file_slave__DOT__registers__v0,4,0);
VL_SIG8(__Vdlyvset__gen_code_label__BRA__2__KET____DOT__vx_register_file_slave__DOT__registers__v0,0,0);
VL_SIG8(__Vdlyvset__gen_code_label__BRA__2__KET____DOT__vx_register_file_slave__DOT__registers__v1,0,0);
VL_SIG8(__Vdlyvdim0__gen_code_label__BRA__3__KET____DOT__vx_register_file_slave__DOT__registers__v0,4,0);
VL_SIG8(__Vdlyvset__gen_code_label__BRA__3__KET____DOT__vx_register_file_slave__DOT__registers__v0,0,0);
VL_SIG8(__Vdlyvset__gen_code_label__BRA__3__KET____DOT__vx_register_file_slave__DOT__registers__v1,0,0);
VL_SIG(__Vcellout__vx_register_file_master__out_src2_data,31,0);
VL_SIG(__Vcellout__vx_register_file_master__out_src1_data,31,0);
VL_SIG(__Vcellout__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__out_src2_data,31,0);
VL_SIG(__Vcellout__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__out_src1_data,31,0);
VL_SIG(__Vcellout__gen_code_label__BRA__2__KET____DOT__vx_register_file_slave__out_src2_data,31,0);
VL_SIG(__Vcellout__gen_code_label__BRA__2__KET____DOT__vx_register_file_slave__out_src1_data,31,0);
VL_SIG(__Vcellout__gen_code_label__BRA__3__KET____DOT__vx_register_file_slave__out_src2_data,31,0);
VL_SIG(__Vcellout__gen_code_label__BRA__3__KET____DOT__vx_register_file_slave__out_src1_data,31,0);
VL_SIG(__Vdlyvval__vx_register_file_master__DOT__registers__v0,31,0);
VL_SIG(__Vdlyvval__vx_register_file_master__DOT__registers__v1,31,0);
VL_SIG(__Vdlyvval__vx_register_file_master__DOT__registers__v2,31,0);
VL_SIG(__Vdlyvval__vx_register_file_master__DOT__registers__v3,31,0);
VL_SIG(__Vdlyvval__vx_register_file_master__DOT__registers__v4,31,0);
VL_SIG(__Vdlyvval__vx_register_file_master__DOT__registers__v5,31,0);
VL_SIG(__Vdlyvval__vx_register_file_master__DOT__registers__v6,31,0);
VL_SIG(__Vdlyvval__vx_register_file_master__DOT__registers__v7,31,0);
VL_SIG(__Vdlyvval__vx_register_file_master__DOT__registers__v8,31,0);
VL_SIG(__Vdlyvval__vx_register_file_master__DOT__registers__v9,31,0);
VL_SIG(__Vdlyvval__vx_register_file_master__DOT__registers__v10,31,0);
VL_SIG(__Vdlyvval__vx_register_file_master__DOT__registers__v11,31,0);
VL_SIG(__Vdlyvval__vx_register_file_master__DOT__registers__v12,31,0);
VL_SIG(__Vdlyvval__vx_register_file_master__DOT__registers__v13,31,0);
VL_SIG(__Vdlyvval__vx_register_file_master__DOT__registers__v14,31,0);
VL_SIG(__Vdlyvval__vx_register_file_master__DOT__registers__v15,31,0);
VL_SIG(__Vdlyvval__vx_register_file_master__DOT__registers__v16,31,0);
VL_SIG(__Vdlyvval__vx_register_file_master__DOT__registers__v17,31,0);
VL_SIG(__Vdlyvval__vx_register_file_master__DOT__registers__v18,31,0);
VL_SIG(__Vdlyvval__vx_register_file_master__DOT__registers__v19,31,0);
VL_SIG(__Vdlyvval__vx_register_file_master__DOT__registers__v20,31,0);
VL_SIG(__Vdlyvval__vx_register_file_master__DOT__registers__v21,31,0);
VL_SIG(__Vdlyvval__vx_register_file_master__DOT__registers__v22,31,0);
VL_SIG(__Vdlyvval__vx_register_file_master__DOT__registers__v23,31,0);
VL_SIG(__Vdlyvval__vx_register_file_master__DOT__registers__v24,31,0);
VL_SIG(__Vdlyvval__vx_register_file_master__DOT__registers__v25,31,0);
VL_SIG(__Vdlyvval__vx_register_file_master__DOT__registers__v26,31,0);
VL_SIG(__Vdlyvval__vx_register_file_master__DOT__registers__v27,31,0);
VL_SIG(__Vdlyvval__vx_register_file_master__DOT__registers__v28,31,0);
VL_SIG(__Vdlyvval__vx_register_file_master__DOT__registers__v29,31,0);
VL_SIG(__Vdlyvval__vx_register_file_master__DOT__registers__v30,31,0);
VL_SIG(__Vdlyvval__vx_register_file_master__DOT__registers__v31,31,0);
VL_SIG(__Vdlyvval__vx_register_file_master__DOT__registers__v32,31,0);
VL_SIG(__Vdlyvval__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v0,31,0);
VL_SIG(__Vdlyvval__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v1,31,0);
VL_SIG(__Vdlyvval__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v2,31,0);
VL_SIG(__Vdlyvval__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v3,31,0);
VL_SIG(__Vdlyvval__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v4,31,0);
VL_SIG(__Vdlyvval__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v5,31,0);
VL_SIG(__Vdlyvval__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v6,31,0);
VL_SIG(__Vdlyvval__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v7,31,0);
VL_SIG(__Vdlyvval__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v8,31,0);
};
struct {
VL_SIG(__Vdlyvval__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v9,31,0);
VL_SIG(__Vdlyvval__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v10,31,0);
VL_SIG(__Vdlyvval__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v11,31,0);
VL_SIG(__Vdlyvval__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v12,31,0);
VL_SIG(__Vdlyvval__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v13,31,0);
VL_SIG(__Vdlyvval__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v14,31,0);
VL_SIG(__Vdlyvval__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v15,31,0);
VL_SIG(__Vdlyvval__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v16,31,0);
VL_SIG(__Vdlyvval__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v17,31,0);
VL_SIG(__Vdlyvval__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v18,31,0);
VL_SIG(__Vdlyvval__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v19,31,0);
VL_SIG(__Vdlyvval__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v20,31,0);
VL_SIG(__Vdlyvval__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v21,31,0);
VL_SIG(__Vdlyvval__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v22,31,0);
VL_SIG(__Vdlyvval__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v23,31,0);
VL_SIG(__Vdlyvval__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v24,31,0);
VL_SIG(__Vdlyvval__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v25,31,0);
VL_SIG(__Vdlyvval__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v26,31,0);
VL_SIG(__Vdlyvval__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v27,31,0);
VL_SIG(__Vdlyvval__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v28,31,0);
VL_SIG(__Vdlyvval__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v29,31,0);
VL_SIG(__Vdlyvval__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v30,31,0);
VL_SIG(__Vdlyvval__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v31,31,0);
VL_SIG(__Vdlyvval__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v32,31,0);
VL_SIG(__Vdlyvval__gen_code_label__BRA__2__KET____DOT__vx_register_file_slave__DOT__registers__v0,31,0);
VL_SIG(__Vdlyvval__gen_code_label__BRA__2__KET____DOT__vx_register_file_slave__DOT__registers__v1,31,0);
VL_SIG(__Vdlyvval__gen_code_label__BRA__2__KET____DOT__vx_register_file_slave__DOT__registers__v2,31,0);
VL_SIG(__Vdlyvval__gen_code_label__BRA__2__KET____DOT__vx_register_file_slave__DOT__registers__v3,31,0);
VL_SIG(__Vdlyvval__gen_code_label__BRA__2__KET____DOT__vx_register_file_slave__DOT__registers__v4,31,0);
VL_SIG(__Vdlyvval__gen_code_label__BRA__2__KET____DOT__vx_register_file_slave__DOT__registers__v5,31,0);
VL_SIG(__Vdlyvval__gen_code_label__BRA__2__KET____DOT__vx_register_file_slave__DOT__registers__v6,31,0);
VL_SIG(__Vdlyvval__gen_code_label__BRA__2__KET____DOT__vx_register_file_slave__DOT__registers__v7,31,0);
VL_SIG(__Vdlyvval__gen_code_label__BRA__2__KET____DOT__vx_register_file_slave__DOT__registers__v8,31,0);
VL_SIG(__Vdlyvval__gen_code_label__BRA__2__KET____DOT__vx_register_file_slave__DOT__registers__v9,31,0);
VL_SIG(__Vdlyvval__gen_code_label__BRA__2__KET____DOT__vx_register_file_slave__DOT__registers__v10,31,0);
VL_SIG(__Vdlyvval__gen_code_label__BRA__2__KET____DOT__vx_register_file_slave__DOT__registers__v11,31,0);
VL_SIG(__Vdlyvval__gen_code_label__BRA__2__KET____DOT__vx_register_file_slave__DOT__registers__v12,31,0);
VL_SIG(__Vdlyvval__gen_code_label__BRA__2__KET____DOT__vx_register_file_slave__DOT__registers__v13,31,0);
VL_SIG(__Vdlyvval__gen_code_label__BRA__2__KET____DOT__vx_register_file_slave__DOT__registers__v14,31,0);
VL_SIG(__Vdlyvval__gen_code_label__BRA__2__KET____DOT__vx_register_file_slave__DOT__registers__v15,31,0);
VL_SIG(__Vdlyvval__gen_code_label__BRA__2__KET____DOT__vx_register_file_slave__DOT__registers__v16,31,0);
VL_SIG(__Vdlyvval__gen_code_label__BRA__2__KET____DOT__vx_register_file_slave__DOT__registers__v17,31,0);
VL_SIG(__Vdlyvval__gen_code_label__BRA__2__KET____DOT__vx_register_file_slave__DOT__registers__v18,31,0);
VL_SIG(__Vdlyvval__gen_code_label__BRA__2__KET____DOT__vx_register_file_slave__DOT__registers__v19,31,0);
VL_SIG(__Vdlyvval__gen_code_label__BRA__2__KET____DOT__vx_register_file_slave__DOT__registers__v20,31,0);
VL_SIG(__Vdlyvval__gen_code_label__BRA__2__KET____DOT__vx_register_file_slave__DOT__registers__v21,31,0);
VL_SIG(__Vdlyvval__gen_code_label__BRA__2__KET____DOT__vx_register_file_slave__DOT__registers__v22,31,0);
VL_SIG(__Vdlyvval__gen_code_label__BRA__2__KET____DOT__vx_register_file_slave__DOT__registers__v23,31,0);
VL_SIG(__Vdlyvval__gen_code_label__BRA__2__KET____DOT__vx_register_file_slave__DOT__registers__v24,31,0);
VL_SIG(__Vdlyvval__gen_code_label__BRA__2__KET____DOT__vx_register_file_slave__DOT__registers__v25,31,0);
VL_SIG(__Vdlyvval__gen_code_label__BRA__2__KET____DOT__vx_register_file_slave__DOT__registers__v26,31,0);
VL_SIG(__Vdlyvval__gen_code_label__BRA__2__KET____DOT__vx_register_file_slave__DOT__registers__v27,31,0);
VL_SIG(__Vdlyvval__gen_code_label__BRA__2__KET____DOT__vx_register_file_slave__DOT__registers__v28,31,0);
VL_SIG(__Vdlyvval__gen_code_label__BRA__2__KET____DOT__vx_register_file_slave__DOT__registers__v29,31,0);
VL_SIG(__Vdlyvval__gen_code_label__BRA__2__KET____DOT__vx_register_file_slave__DOT__registers__v30,31,0);
VL_SIG(__Vdlyvval__gen_code_label__BRA__2__KET____DOT__vx_register_file_slave__DOT__registers__v31,31,0);
VL_SIG(__Vdlyvval__gen_code_label__BRA__2__KET____DOT__vx_register_file_slave__DOT__registers__v32,31,0);
VL_SIG(__Vdlyvval__gen_code_label__BRA__3__KET____DOT__vx_register_file_slave__DOT__registers__v0,31,0);
VL_SIG(__Vdlyvval__gen_code_label__BRA__3__KET____DOT__vx_register_file_slave__DOT__registers__v1,31,0);
VL_SIG(__Vdlyvval__gen_code_label__BRA__3__KET____DOT__vx_register_file_slave__DOT__registers__v2,31,0);
VL_SIG(__Vdlyvval__gen_code_label__BRA__3__KET____DOT__vx_register_file_slave__DOT__registers__v3,31,0);
VL_SIG(__Vdlyvval__gen_code_label__BRA__3__KET____DOT__vx_register_file_slave__DOT__registers__v4,31,0);
VL_SIG(__Vdlyvval__gen_code_label__BRA__3__KET____DOT__vx_register_file_slave__DOT__registers__v5,31,0);
VL_SIG(__Vdlyvval__gen_code_label__BRA__3__KET____DOT__vx_register_file_slave__DOT__registers__v6,31,0);
};
struct {
VL_SIG(__Vdlyvval__gen_code_label__BRA__3__KET____DOT__vx_register_file_slave__DOT__registers__v7,31,0);
VL_SIG(__Vdlyvval__gen_code_label__BRA__3__KET____DOT__vx_register_file_slave__DOT__registers__v8,31,0);
VL_SIG(__Vdlyvval__gen_code_label__BRA__3__KET____DOT__vx_register_file_slave__DOT__registers__v9,31,0);
VL_SIG(__Vdlyvval__gen_code_label__BRA__3__KET____DOT__vx_register_file_slave__DOT__registers__v10,31,0);
VL_SIG(__Vdlyvval__gen_code_label__BRA__3__KET____DOT__vx_register_file_slave__DOT__registers__v11,31,0);
VL_SIG(__Vdlyvval__gen_code_label__BRA__3__KET____DOT__vx_register_file_slave__DOT__registers__v12,31,0);
VL_SIG(__Vdlyvval__gen_code_label__BRA__3__KET____DOT__vx_register_file_slave__DOT__registers__v13,31,0);
VL_SIG(__Vdlyvval__gen_code_label__BRA__3__KET____DOT__vx_register_file_slave__DOT__registers__v14,31,0);
VL_SIG(__Vdlyvval__gen_code_label__BRA__3__KET____DOT__vx_register_file_slave__DOT__registers__v15,31,0);
VL_SIG(__Vdlyvval__gen_code_label__BRA__3__KET____DOT__vx_register_file_slave__DOT__registers__v16,31,0);
VL_SIG(__Vdlyvval__gen_code_label__BRA__3__KET____DOT__vx_register_file_slave__DOT__registers__v17,31,0);
VL_SIG(__Vdlyvval__gen_code_label__BRA__3__KET____DOT__vx_register_file_slave__DOT__registers__v18,31,0);
VL_SIG(__Vdlyvval__gen_code_label__BRA__3__KET____DOT__vx_register_file_slave__DOT__registers__v19,31,0);
VL_SIG(__Vdlyvval__gen_code_label__BRA__3__KET____DOT__vx_register_file_slave__DOT__registers__v20,31,0);
VL_SIG(__Vdlyvval__gen_code_label__BRA__3__KET____DOT__vx_register_file_slave__DOT__registers__v21,31,0);
VL_SIG(__Vdlyvval__gen_code_label__BRA__3__KET____DOT__vx_register_file_slave__DOT__registers__v22,31,0);
VL_SIG(__Vdlyvval__gen_code_label__BRA__3__KET____DOT__vx_register_file_slave__DOT__registers__v23,31,0);
VL_SIG(__Vdlyvval__gen_code_label__BRA__3__KET____DOT__vx_register_file_slave__DOT__registers__v24,31,0);
VL_SIG(__Vdlyvval__gen_code_label__BRA__3__KET____DOT__vx_register_file_slave__DOT__registers__v25,31,0);
VL_SIG(__Vdlyvval__gen_code_label__BRA__3__KET____DOT__vx_register_file_slave__DOT__registers__v26,31,0);
VL_SIG(__Vdlyvval__gen_code_label__BRA__3__KET____DOT__vx_register_file_slave__DOT__registers__v27,31,0);
VL_SIG(__Vdlyvval__gen_code_label__BRA__3__KET____DOT__vx_register_file_slave__DOT__registers__v28,31,0);
VL_SIG(__Vdlyvval__gen_code_label__BRA__3__KET____DOT__vx_register_file_slave__DOT__registers__v29,31,0);
VL_SIG(__Vdlyvval__gen_code_label__BRA__3__KET____DOT__vx_register_file_slave__DOT__registers__v30,31,0);
VL_SIG(__Vdlyvval__gen_code_label__BRA__3__KET____DOT__vx_register_file_slave__DOT__registers__v31,31,0);
VL_SIG(__Vdlyvval__gen_code_label__BRA__3__KET____DOT__vx_register_file_slave__DOT__registers__v32,31,0);
VL_SIG(__Vcellout__vx_register_file_master__out_regs[32],31,0);
VL_SIG(__Vcellinp__vx_register_file_master__in_wspawn_regs[32],31,0);
VL_SIG(__Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs[32],31,0);
VL_SIG(__Vcellinp__gen_code_label__BRA__2__KET____DOT__vx_register_file_slave__in_regs[32],31,0);
VL_SIG(__Vcellinp__gen_code_label__BRA__3__KET____DOT__vx_register_file_slave__in_regs[32],31,0);
};
// INTERNAL VARIABLES
private:
VVortex__Syms* __VlSymsp; // Symbol table
public:
// PARAMETERS
// CONSTRUCTORS
private:
VL_UNCOPYABLE(VVortex_VX_context_slave); ///< Copying not allowed
public:
VVortex_VX_context_slave(const char* name="TOP");
~VVortex_VX_context_slave();
// API METHODS
// INTERNAL METHODS
void __Vconfigure(VVortex__Syms* symsp, bool first);
void _combo__TOP__Vortex__DOT__vx_decode__DOT__genblk1__BRA__1__KET____DOT__VX_Context_one__29(VVortex__Syms* __restrict vlSymsp);
void _combo__TOP__Vortex__DOT__vx_decode__DOT__genblk1__BRA__1__KET____DOT__VX_Context_one__36(VVortex__Syms* __restrict vlSymsp);
private:
void _ctor_var_reset();
public:
void _initial__TOP__Vortex__DOT__vx_decode__DOT__genblk1__BRA__1__KET____DOT__VX_Context_one__1(VVortex__Syms* __restrict vlSymsp);
void _sequent__TOP__Vortex__DOT__vx_decode__DOT__genblk1__BRA__1__KET____DOT__VX_Context_one__15(VVortex__Syms* __restrict vlSymsp);
void _sequent__TOP__Vortex__DOT__vx_decode__DOT__genblk1__BRA__1__KET____DOT__VX_Context_one__22(VVortex__Syms* __restrict vlSymsp);
void _sequent__TOP__Vortex__DOT__vx_decode__DOT__genblk1__BRA__2__KET____DOT__VX_Context_one__16(VVortex__Syms* __restrict vlSymsp);
void _sequent__TOP__Vortex__DOT__vx_decode__DOT__genblk1__BRA__3__KET____DOT__VX_Context_one__17(VVortex__Syms* __restrict vlSymsp);
void _sequent__TOP__Vortex__DOT__vx_decode__DOT__genblk1__BRA__4__KET____DOT__VX_Context_one__18(VVortex__Syms* __restrict vlSymsp);
void _sequent__TOP__Vortex__DOT__vx_decode__DOT__genblk1__BRA__5__KET____DOT__VX_Context_one__19(VVortex__Syms* __restrict vlSymsp);
void _sequent__TOP__Vortex__DOT__vx_decode__DOT__genblk1__BRA__6__KET____DOT__VX_Context_one__20(VVortex__Syms* __restrict vlSymsp);
void _sequent__TOP__Vortex__DOT__vx_decode__DOT__genblk1__BRA__7__KET____DOT__VX_Context_one__21(VVortex__Syms* __restrict vlSymsp);
void _settle__TOP__Vortex__DOT__vx_decode__DOT__genblk1__BRA__1__KET____DOT__VX_Context_one__8(VVortex__Syms* __restrict vlSymsp);
} VL_ATTR_ALIGNED(128);
#endif // guard

BIN
rtl/obj_dir/VVortex__ALL.a Normal file

Binary file not shown.

View file

@ -0,0 +1,4 @@
// DESCRIPTION: Generated by verilator_includer via makefile
#define VL_INCLUDE_OPT include
#include "VVortex.cpp"
#include "VVortex_VX_context_slave.cpp"

View file

@ -0,0 +1,5 @@
VVortex__ALLcls.o: VVortex__ALLcls.cpp VVortex.cpp VVortex.h \
/usr/local/Cellar/verilator/4.010/share/verilator/include/verilated.h \
/usr/local/Cellar/verilator/4.010/share/verilator/include/verilatedos.h \
VVortex__Syms.h VVortex_VX_context_slave.h \
VVortex_VX_context_slave.cpp

Binary file not shown.

View file

@ -0,0 +1,3 @@
// DESCRIPTION: Generated by verilator_includer via makefile
#define VL_INCLUDE_OPT include
#include "VVortex__Syms.cpp"

View file

@ -0,0 +1,4 @@
VVortex__ALLsup.o: VVortex__ALLsup.cpp VVortex__Syms.cpp VVortex__Syms.h \
/usr/local/Cellar/verilator/4.010/share/verilator/include/verilated.h \
/usr/local/Cellar/verilator/4.010/share/verilator/include/verilatedos.h \
VVortex.h VVortex_VX_context_slave.h

Binary file not shown.

View file

@ -0,0 +1,41 @@
// Verilated -*- C++ -*-
// DESCRIPTION: Verilator output: Symbol table implementation internals
#include "VVortex__Syms.h"
#include "VVortex.h"
#include "VVortex_VX_context_slave.h"
// FUNCTIONS
VVortex__Syms::VVortex__Syms(VVortex* topp, const char* namep)
// Setup locals
: __Vm_namep(namep)
, __Vm_didInit(false)
// Setup submodule names
, TOP__Vortex__DOT__vx_decode__DOT__genblk1__BRA__1__KET____DOT__VX_Context_one (Verilated::catName(topp->name(),"Vortex.vx_decode.genblk1[1].VX_Context_one"))
, TOP__Vortex__DOT__vx_decode__DOT__genblk1__BRA__2__KET____DOT__VX_Context_one (Verilated::catName(topp->name(),"Vortex.vx_decode.genblk1[2].VX_Context_one"))
, TOP__Vortex__DOT__vx_decode__DOT__genblk1__BRA__3__KET____DOT__VX_Context_one (Verilated::catName(topp->name(),"Vortex.vx_decode.genblk1[3].VX_Context_one"))
, TOP__Vortex__DOT__vx_decode__DOT__genblk1__BRA__4__KET____DOT__VX_Context_one (Verilated::catName(topp->name(),"Vortex.vx_decode.genblk1[4].VX_Context_one"))
, TOP__Vortex__DOT__vx_decode__DOT__genblk1__BRA__5__KET____DOT__VX_Context_one (Verilated::catName(topp->name(),"Vortex.vx_decode.genblk1[5].VX_Context_one"))
, TOP__Vortex__DOT__vx_decode__DOT__genblk1__BRA__6__KET____DOT__VX_Context_one (Verilated::catName(topp->name(),"Vortex.vx_decode.genblk1[6].VX_Context_one"))
, TOP__Vortex__DOT__vx_decode__DOT__genblk1__BRA__7__KET____DOT__VX_Context_one (Verilated::catName(topp->name(),"Vortex.vx_decode.genblk1[7].VX_Context_one"))
{
// Pointer to top level
TOPp = topp;
// Setup each module's pointers to their submodules
TOPp->__PVT__Vortex__DOT__vx_decode__DOT__genblk1__BRA__1__KET____DOT__VX_Context_one = &TOP__Vortex__DOT__vx_decode__DOT__genblk1__BRA__1__KET____DOT__VX_Context_one;
TOPp->__PVT__Vortex__DOT__vx_decode__DOT__genblk1__BRA__2__KET____DOT__VX_Context_one = &TOP__Vortex__DOT__vx_decode__DOT__genblk1__BRA__2__KET____DOT__VX_Context_one;
TOPp->__PVT__Vortex__DOT__vx_decode__DOT__genblk1__BRA__3__KET____DOT__VX_Context_one = &TOP__Vortex__DOT__vx_decode__DOT__genblk1__BRA__3__KET____DOT__VX_Context_one;
TOPp->__PVT__Vortex__DOT__vx_decode__DOT__genblk1__BRA__4__KET____DOT__VX_Context_one = &TOP__Vortex__DOT__vx_decode__DOT__genblk1__BRA__4__KET____DOT__VX_Context_one;
TOPp->__PVT__Vortex__DOT__vx_decode__DOT__genblk1__BRA__5__KET____DOT__VX_Context_one = &TOP__Vortex__DOT__vx_decode__DOT__genblk1__BRA__5__KET____DOT__VX_Context_one;
TOPp->__PVT__Vortex__DOT__vx_decode__DOT__genblk1__BRA__6__KET____DOT__VX_Context_one = &TOP__Vortex__DOT__vx_decode__DOT__genblk1__BRA__6__KET____DOT__VX_Context_one;
TOPp->__PVT__Vortex__DOT__vx_decode__DOT__genblk1__BRA__7__KET____DOT__VX_Context_one = &TOP__Vortex__DOT__vx_decode__DOT__genblk1__BRA__7__KET____DOT__VX_Context_one;
// Setup each module's pointer back to symbol table (for public functions)
TOPp->__Vconfigure(this, true);
TOP__Vortex__DOT__vx_decode__DOT__genblk1__BRA__1__KET____DOT__VX_Context_one.__Vconfigure(this, true);
TOP__Vortex__DOT__vx_decode__DOT__genblk1__BRA__2__KET____DOT__VX_Context_one.__Vconfigure(this, false);
TOP__Vortex__DOT__vx_decode__DOT__genblk1__BRA__3__KET____DOT__VX_Context_one.__Vconfigure(this, false);
TOP__Vortex__DOT__vx_decode__DOT__genblk1__BRA__4__KET____DOT__VX_Context_one.__Vconfigure(this, false);
TOP__Vortex__DOT__vx_decode__DOT__genblk1__BRA__5__KET____DOT__VX_Context_one.__Vconfigure(this, false);
TOP__Vortex__DOT__vx_decode__DOT__genblk1__BRA__6__KET____DOT__VX_Context_one.__Vconfigure(this, false);
TOP__Vortex__DOT__vx_decode__DOT__genblk1__BRA__7__KET____DOT__VX_Context_one.__Vconfigure(this, false);
}

View file

@ -0,0 +1,42 @@
// Verilated -*- C++ -*-
// DESCRIPTION: Verilator output: Symbol table internal header
//
// Internal details; most calling programs do not need this header
#ifndef _VVortex__Syms_H_
#define _VVortex__Syms_H_
#include "verilated.h"
// INCLUDE MODULE CLASSES
#include "VVortex.h"
#include "VVortex_VX_context_slave.h"
// SYMS CLASS
class VVortex__Syms : public VerilatedSyms {
public:
// LOCAL STATE
const char* __Vm_namep;
bool __Vm_didInit;
// SUBCELL STATE
VVortex* TOPp;
VVortex_VX_context_slave TOP__Vortex__DOT__vx_decode__DOT__genblk1__BRA__1__KET____DOT__VX_Context_one;
VVortex_VX_context_slave TOP__Vortex__DOT__vx_decode__DOT__genblk1__BRA__2__KET____DOT__VX_Context_one;
VVortex_VX_context_slave TOP__Vortex__DOT__vx_decode__DOT__genblk1__BRA__3__KET____DOT__VX_Context_one;
VVortex_VX_context_slave TOP__Vortex__DOT__vx_decode__DOT__genblk1__BRA__4__KET____DOT__VX_Context_one;
VVortex_VX_context_slave TOP__Vortex__DOT__vx_decode__DOT__genblk1__BRA__5__KET____DOT__VX_Context_one;
VVortex_VX_context_slave TOP__Vortex__DOT__vx_decode__DOT__genblk1__BRA__6__KET____DOT__VX_Context_one;
VVortex_VX_context_slave TOP__Vortex__DOT__vx_decode__DOT__genblk1__BRA__7__KET____DOT__VX_Context_one;
// CREATORS
VVortex__Syms(VVortex* topp, const char* namep);
~VVortex__Syms() {}
// METHODS
inline const char* name() { return __Vm_namep; }
} VL_ATTR_ALIGNED(64);
#endif // guard

View file

@ -0,0 +1 @@
obj_dir/VVortex.cpp obj_dir/VVortex.h obj_dir/VVortex.mk obj_dir/VVortex_VX_context_slave.cpp obj_dir/VVortex_VX_context_slave.h obj_dir/VVortex__Syms.cpp obj_dir/VVortex__Syms.h obj_dir/VVortex__ver.d obj_dir/VVortex_classes.mk : /usr/local/Cellar/verilator/4.010/bin/verilator_bin /usr/local/Cellar/verilator/4.010/bin/verilator_bin VX_alu.v VX_context.v VX_context_slave.v VX_csr_handler.v VX_d_e_reg.v VX_decode.v VX_define.v VX_e_m_reg.v VX_execute.v VX_f_d_reg.v VX_fetch.v VX_forwarding.v VX_m_w_reg.v VX_memory.v VX_register_file.v VX_register_file_master_slave.v VX_register_file_slave.v VX_warp.v VX_writeback.v Vortex.v

View file

@ -0,0 +1,33 @@
# DESCRIPTION: Verilator output: Timestamp data for --skip-identical. Delete at will.
C "-Wall -cc Vortex.v --exe test_bench.cpp"
S 4608404 12889046060 1553037052 0 1548678579 0 "/usr/local/Cellar/verilator/4.010/bin/verilator_bin"
S 2785 12891069980 1560309956 0 1560309956 0 "VX_alu.v"
S 3553 12891069981 1560309956 0 1560309956 0 "VX_context.v"
S 4995 12891069982 1560309956 0 1560309956 0 "VX_context_slave.v"
S 1699 12891069983 1560311423 0 1560311423 0 "VX_csr_handler.v"
S 5512 12891069984 1560309956 0 1560309956 0 "VX_d_e_reg.v"
S 17808 12891069985 1560309956 0 1560309956 0 "VX_decode.v"
S 1676 12891069987 1560310232 0 1560310232 0 "VX_define.v"
S 4267 12891069988 1560309956 0 1560309956 0 "VX_e_m_reg.v"
S 3692 12891069989 1560309956 0 1560309956 0 "VX_execute.v"
S 1751 12891069990 1560309956 0 1560309956 0 "VX_f_d_reg.v"
S 6204 12891069991 1560310568 0 1560310568 0 "VX_fetch.v"
S 6293 12891069992 1560309956 0 1560309956 0 "VX_forwarding.v"
S 1866 12891069993 1560309956 0 1560309956 0 "VX_m_w_reg.v"
S 4352 12891069994 1560310451 0 1560310451 0 "VX_memory.v"
S 1249 12891069995 1560309956 0 1560309956 0 "VX_register_file.v"
S 1655 12891069996 1560309956 0 1560309956 0 "VX_register_file_master_slave.v"
S 1599 12891069997 1560309956 0 1560309956 0 "VX_register_file_slave.v"
S 1915 12891069999 1560309956 0 1560309956 0 "VX_warp.v"
S 1568 12891070000 1560309956 0 1560309956 0 "VX_writeback.v"
S 18828 12891070001 1560309956 0 1560309956 0 "Vortex.v"
T 937577 12891114882 1560311425 0 1560311425 0 "obj_dir/VVortex.cpp"
T 33907 12891114881 1560311425 0 1560311425 0 "obj_dir/VVortex.h"
T 1800 12891114886 1560311425 0 1560311425 0 "obj_dir/VVortex.mk"
T 597541 12891114884 1560311425 0 1560311425 0 "obj_dir/VVortex_VX_context_slave.cpp"
T 19362 12891114883 1560311425 0 1560311425 0 "obj_dir/VVortex_VX_context_slave.h"
T 3668 12891114880 1560311425 0 1560311425 0 "obj_dir/VVortex__Syms.cpp"
T 1547 12891114879 1560311425 0 1560311425 0 "obj_dir/VVortex__Syms.h"
T 635 12891114889 1560311425 0 1560311425 0 "obj_dir/VVortex__ver.d"
T 0 0 1560311425 0 1560311425 0 "obj_dir/VVortex__verFiles.dat"
T 1187 12891114885 1560311425 0 1560311425 0 "obj_dir/VVortex_classes.mk"

View file

@ -0,0 +1,39 @@
# Verilated -*- Makefile -*-
# DESCRIPTION: Verilator output: Make include file with class lists
#
# This file lists generated Verilated files, for including in higher level makefiles.
# See VVortex.mk for the caller.
### Switches...
# Coverage output mode? 0/1 (from --coverage)
VM_COVERAGE = 0
# Threaded output mode? 0/1/N threads (from --threads)
VM_THREADS = 0
# Tracing output mode? 0/1 (from --trace)
VM_TRACE = 0
### Object file lists...
# Generated module classes, fast-path, compile with highest optimization
VM_CLASSES_FAST += \
VVortex \
VVortex_VX_context_slave \
# Generated module classes, non-fast-path, compile with low/medium optimization
VM_CLASSES_SLOW += \
# Generated support classes, fast-path, compile with highest optimization
VM_SUPPORT_FAST += \
# Generated support classes, non-fast-path, compile with low/medium optimization
VM_SUPPORT_SLOW += \
VVortex__Syms \
# Global classes, need linked once per executable, fast-path, compile with highest optimization
VM_GLOBAL_FAST += \
verilated \
# Global classes, need linked once per executable, non-fast-path, compile with low/medium optimization
VM_GLOBAL_SLOW += \
# Verilated -*- Makefile -*-

4
rtl/obj_dir/test_bench.d Normal file
View file

@ -0,0 +1,4 @@
test_bench.o: ../test_bench.cpp ../test_bench.h ../VX_define.h ../ram.h \
VVortex.h \
/usr/local/Cellar/verilator/4.010/share/verilator/include/verilated.h \
/usr/local/Cellar/verilator/4.010/share/verilator/include/verilatedos.h

BIN
rtl/obj_dir/test_bench.o Normal file

Binary file not shown.

9
rtl/obj_dir/verilated.d Normal file
View file

@ -0,0 +1,9 @@
verilated.o: \
/usr/local/Cellar/verilator/4.010/share/verilator/include/verilated.cpp \
/usr/local/Cellar/verilator/4.010/share/verilator/include/verilatedos.h \
/usr/local/Cellar/verilator/4.010/share/verilator/include/verilated_imp.h \
/usr/local/Cellar/verilator/4.010/share/verilator/include/verilated.h \
/usr/local/Cellar/verilator/4.010/share/verilator/include/verilated_heavy.h \
/usr/local/Cellar/verilator/4.010/share/verilator/include/verilated_syms.h \
/usr/local/Cellar/verilator/4.010/share/verilator/include/verilated_sym_props.h \
/usr/local/Cellar/verilator/4.010/share/verilator/include/verilated_config.h

BIN
rtl/obj_dir/verilated.o Normal file

Binary file not shown.

View file

@ -4,7 +4,8 @@
#define __RAM__
#include "string.h"
#include <stdint.h>
#include <cstdint>
class RAM{
public:
uint8_t* mem[1 << 12];

View file

@ -0,0 +1,7 @@
# Dynamic Instructions: 173969
# of total cycles: 175806
# of forwarding stalls: 0
# of branch stalls: 0
# CPI: 1.01056
# time to simulate: 6.95312e-310 milliseconds
# GRADE: Failed on test: 4294967295

View file

@ -189,17 +189,17 @@ bool Vortex::dbus_driver()
std::cerr << (char) data_write;
}
if ((addr >= 0x810002cc) && (addr < 0x810002d0))
{
int index = (addr - 0x810002cc) / 4;
std::cerr << GREEN << "1done[" << index << "] = " << data_write << DEFAULT << "\n";
}
// if ((addr >= 0x810002cc) && (addr < 0x810002d0))
// {
// int index = (addr - 0x810002cc) / 4;
// // std::cerr << GREEN << "1done[" << index << "] = " << data_write << DEFAULT << "\n";
// }
if ((addr >= 0x810059f4) && (addr < 0x810059f4))
{
int index = (addr - 0x810059f4) / 4;
std::cerr << RED << "2done[" << index << "] = " << data_write << DEFAULT << "\n";
}
// if ((addr >= 0x810059f4) && (addr < 0x810059f4))
// {
// int index = (addr - 0x810059f4) / 4;
// // std::cerr << RED << "2done[" << index << "] = " << data_write << DEFAULT << "\n";
// }
if (vortex->out_cache_driver_in_mem_write == SB_MEM_WRITE)
{
@ -248,7 +248,7 @@ bool Vortex::dbus_driver()
{
// printf("Reading mem - Addr: %x = %x\n", addr, data_read);
// std::cout << "READING - Addr: " << std::hex << addr << " = " << data_read << "\n";
std::cout << std::dec;
// std::cout << std::dec;
vortex->in_cache_driver_out_data[curr_th] = data_read;
} else if (vortex->out_cache_driver_in_mem_read == LBU_MEM_READ)

215904
rtl/worst_case_paths.rpt Normal file

File diff suppressed because it is too large Load diff