Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Moderinzation, Organization & Unit Testing #5

Open
wants to merge 99 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
99 commits
Select commit Hold shift + click to select a range
db88ff7
unit-test: Added simple unit test framework
atsmith3 Jun 8, 2020
f7a8a8e
Merge pull request #2 from atsmith3/feature/unit_test
atsmith3 Jun 8, 2020
02b8be9
git-hooks:
atsmith3 Jun 9, 2020
b6e82e0
CMake: Converted from Make to CMake
atsmith3 Jun 9, 2020
6e6b3eb
git-hooks:
atsmith3 Jun 9, 2020
65beb91
git-hooks: Testing clang-format again
atsmith3 Jun 9, 2020
3c1013f
git-hooks:
atsmith3 Jun 9, 2020
3e271be
Merge pull request #3 from atsmith3/feature/git-hooks
atsmith3 Jun 9, 2020
40ea8de
organization: src directory
atsmith3 Jun 9, 2020
91b42bd
Merge pull request #6 from atsmith3/feature/organization
atsmith3 Jun 9, 2020
3a3a401
Options: Options class with libboost program_options
atsmith3 Jun 9, 2020
9c6c308
Merge pull request #7 from atsmith3/feature/boost_frontend
atsmith3 Jun 9, 2020
a2606a7
refactor-serialization: Refactored FlashController
atsmith3 Jun 10, 2020
c5ee7ff
refactor-serialization: Refactored PCIeController
atsmith3 Jun 10, 2020
a95e705
refactor-serialization: Refactored NIUController
atsmith3 Jun 10, 2020
e2e3a32
Merge pull request #8 from atsmith3/feature/refactor-iocontrollers
atsmith3 Jun 10, 2020
238afbf
refactor-serialization: Refactored MC Backend
atsmith3 Jun 10, 2020
c729f93
refactor-serialization: Refactored MC PHY
atsmith3 Jun 10, 2020
7118de3
refactor-serialization: Split up the Memory Controller Files
atsmith3 Jun 11, 2020
ee8d1ea
refactor-serialization: Refactored MC Front End
atsmith3 Jun 11, 2020
1a091fa
refactor-serialization: Refactored Memory Controller
atsmith3 Jun 11, 2020
87c9a0b
Merge pull request #13 from atsmith3/feature/refactor-memctrl
atsmith3 Jun 11, 2020
27d6079
refactor: Cache
atsmith3 Jun 11, 2020
876b243
refactor: Split Core Source
atsmith3 Jun 11, 2020
1b7e204
refactor: Changed cache interface, need to update the DataCache and I…
atsmith3 Jun 11, 2020
1eefdef
Added branchPredictor
Jun 17, 2020
57c7db5
Merge pull request #16 from atsmith3/feature/branch_predictor
atsmith3 Jun 17, 2020
19ff96a
mmu done
Jun 17, 2020
772f0fd
Error in Ececute unit
Jun 18, 2020
d194747
error in bypass in execute unit due to regfile
Jun 18, 2020
4e2f975
regfile error fixed
Jun 18, 2020
be92176
Regfile-Scheduler-Renaming done
Jun 18, 2020
9135fe0
Merge pull request #18 from atsmith3/feature/MMU
atsmith3 Jun 18, 2020
2ccaaad
Merge pull request #20 from atsmith3/feature/Regfile-Scheduler-Renaming
atsmith3 Jun 18, 2020
29b0c02
experimental merge: Preparing to merge
atsmith3 Jun 20, 2020
a86a3ab
Merge branch 'feature/refactor-cache' into feature/refactor-cache-merge
atsmith3 Jun 20, 2020
29a6fc1
Fixed error in renaming.cc
Jun 21, 2020
fc8c308
rename unit:
atsmith3 Jun 21, 2020
0607d43
Merge pull request #22 from atsmith3/feature/RenamingFileErrorFixed
atsmith3 Jun 21, 2020
24f9563
Merge branch 'feature/refactor-cache' into feature/refactor-cache-merge
atsmith3 Jun 21, 2020
69f427e
Merge pull request #24 from atsmith3/feature/refactor-cache-merge
atsmith3 Jun 21, 2020
9b7ceda
Merge pull request #25 from atsmith3/feature/refactor-cache
atsmith3 Jun 21, 2020
57a10c6
functional-unit:
atsmith3 Jun 21, 2020
63059dc
functional-unit:
atsmith3 Jun 21, 2020
459db3c
Merge pull request #27 from atsmith3/feature/refactor-functional-unit
atsmith3 Jun 21, 2020
9b5c644
refactor: NoC updated
atsmith3 Jun 21, 2020
23dcf8a
Merge pull request #28 from atsmith3/feature/refactor-noc
atsmith3 Jun 21, 2020
852f4b7
refactor: Interconnect updated
atsmith3 Jun 21, 2020
974fb8a
Merge pull request #29 from atsmith3/feature/refactor-interconnect
atsmith3 Jun 21, 2020
43e85bd
refactor: Preparing processor class for refactor
atsmith3 Jun 21, 2020
32f4264
refoactor: Processor
atsmith3 Jun 21, 2020
8b980a3
serialization: Debugging double counting
atsmith3 Jun 21, 2020
2c73fa8
Selection_logic Dep_resource & EXECU
Jun 22, 2020
28a9a6d
Added stats comment
Jun 22, 2020
7537993
Merge pull request #30 from atsmith3/feature/refactor-SelectionLogic-…
atsmith3 Jun 22, 2020
2797d31
Fix one bug another 10 appear....
atsmith3 Jun 22, 2020
1b292db
Fixed bug
Jun 22, 2020
b06b9ab
Merge pull request #31 from atsmith3/feature/refactor-bug-fix
atsmith3 Jun 22, 2020
ca89bb4
Inst_decoder unit donw
Jun 23, 2020
3269b09
Done with the ID units
Jun 23, 2020
bd7c499
NoC calculation incorrect by a factor of 1/2 for all niagra based tests
atsmith3 Jun 23, 2020
72194ee
Merge pull request #32 from atsmith3/feature/refactor-Instruction_dec…
atsmith3 Jun 23, 2020
2d65451
Merge branch 'feature/refactor' into feature/serialization-merge-refa…
atsmith3 Jun 23, 2020
53a8a4e
Unit Test Update & Merge & bugfix
atsmith3 Jun 23, 2020
47df78e
preliminary IF unit changes
Jun 23, 2020
038fc20
Updated to Unit Test Scripts and Formatting of Text Data
atsmith3 Jun 23, 2020
96fb04a
Merge pull request #33 from atsmith3/feature/refactor-Instruction_Fetch
atsmith3 Jun 23, 2020
62bf410
Merge branch 'feature/refactor' into feature/serialization-merge-refa…
atsmith3 Jun 23, 2020
2ba7cb0
Merge pull request #34 from atsmith3/feature/serialization-merge-refa…
atsmith3 Jun 23, 2020
cbf2381
Merge pull request #35 from atsmith3/feature/serialization
atsmith3 Jun 23, 2020
bc738f9
Unit Test in Parallel
atsmith3 Jun 23, 2020
48f88aa
Merge branch 'feature/serialization-merge-refactor' of https://github…
atsmith3 Jun 23, 2020
2ff0567
Merge branch 'feature/refactor' into feature/serialization-merge-refa…
atsmith3 Jun 23, 2020
f2e4cb0
Merge pull request #36 from atsmith3/feature/serialization-merge-refa…
atsmith3 Jun 23, 2020
44d9521
instruction fetch unit finally DONE
kanungoramakrishna Jun 23, 2020
658f46e
Merge pull request #37 from atsmith3/feature/refactor-IF_Unit
atsmith3 Jun 23, 2020
3a9aee7
refactor: Load Store Unit
atsmith3 Jun 23, 2020
c18e98f
Merge branch 'feature/refactor' into feature/refactor-lsqueue
atsmith3 Jun 23, 2020
1eff27e
Merge pull request #38 from atsmith3/feature/refactor-lsqueue
atsmith3 Jun 23, 2020
3efd789
Bugfix in merge
atsmith3 Jun 23, 2020
cfd37ff
Merge pull request #39 from atsmith3/feature/refactor-bugfix-ifu
atsmith3 Jun 23, 2020
9351d14
Initiating changes in the undiff_core
kanungoramakrishna Jun 24, 2020
54e564a
Completed the undiff core
kanungoramakrishna Jun 24, 2020
03fde96
Corepipe fixed
kanungoramakrishna Jun 24, 2020
d3df757
refactor: cacti/decoder
atsmith3 Jun 24, 2020
16db390
core done
kanungoramakrishna Jun 24, 2020
6219082
Merge pull request #40 from atsmith3/feature/refactor-core
atsmith3 Jun 24, 2020
1d8081e
Adding more fields to inst_decoder & predec_blk
atsmith3 Jun 24, 2020
93fb7c3
Merge branch 'feature/refactor' into feature/serialization-core-merge
atsmith3 Jun 24, 2020
dc7c5da
merge: feature/refactor
atsmith3 Jun 24, 2020
3943ed4
Merge pull request #41 from atsmith3/feature/serialization-core-merge
atsmith3 Jun 24, 2020
d658b04
ExecU ALUs not calculating power properly
atsmith3 Jun 24, 2020
ee61a7b
serialization: Serialization Complete
atsmith3 Jun 24, 2020
2f97299
organized code
kanungoramakrishna Jun 24, 2020
b144f0f
Merge pull request #42 from atsmith3/feature/serialization-core-arranged
atsmith3 Jun 24, 2020
5df7d61
Merge pull request #43 from atsmith3/feature/serialization-core
atsmith3 Jun 24, 2020
38a37b8
Merge pull request #44 from atsmith3/feature/refactor
atsmith3 Jun 24, 2020
b08ddf4
Merge pull request #45 from atsmith3/develop
atsmith3 Jun 24, 2020
fcd4d65
Update to Readme
atsmith3 Jun 24, 2020
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
137 changes: 137 additions & 0 deletions .clang-format
Original file line number Diff line number Diff line change
@@ -0,0 +1,137 @@
---
Language: Cpp
# BasedOnStyle: LLVM
AccessModifierOffset: -2
AlignAfterOpenBracket: Align
AlignConsecutiveMacros: false
AlignConsecutiveAssignments: false
AlignConsecutiveDeclarations: false
AlignEscapedNewlines: Right
AlignOperands: true
AlignTrailingComments: true
AllowAllArgumentsOnNextLine: true
AllowAllConstructorInitializersOnNextLine: true
AllowAllParametersOfDeclarationOnNextLine: true
AllowShortBlocksOnASingleLine: Never
AllowShortCaseLabelsOnASingleLine: false
AllowShortFunctionsOnASingleLine: All
AllowShortLambdasOnASingleLine: All
AllowShortIfStatementsOnASingleLine: Never
AllowShortLoopsOnASingleLine: false
AlwaysBreakAfterDefinitionReturnType: None
AlwaysBreakAfterReturnType: None
AlwaysBreakBeforeMultilineStrings: false
AlwaysBreakTemplateDeclarations: MultiLine
BinPackArguments: false
BinPackParameters: false
BraceWrapping:
AfterCaseLabel: false
AfterClass: true
AfterControlStatement: Always
AfterEnum: false
AfterFunction: true
AfterNamespace: true
AfterObjCDeclaration: false
AfterStruct: false
AfterUnion: false
AfterExternBlock: false
BeforeCatch: true
BeforeElse: true
IndentBraces: false
SplitEmptyFunction: true
SplitEmptyRecord: true
SplitEmptyNamespace: true
BreakBeforeBinaryOperators: None
BreakBeforeBraces: Attach
# BreakBeforeInheritanceComma: false
BreakInheritanceList: BeforeColon
BreakBeforeTernaryOperators: true
# BreakConstructorInitializersBeforeComma: false
BreakConstructorInitializers: BeforeColon
BreakAfterJavaFieldAnnotations: false
BreakStringLiterals: true
ColumnLimit: 80
CommentPragmas: '^ IWYU pragma:'
CompactNamespaces: false
ConstructorInitializerAllOnOneLineOrOnePerLine: false
ConstructorInitializerIndentWidth: 4
ContinuationIndentWidth: 4
Cpp11BracedListStyle: true
DeriveLineEnding: true
DerivePointerAlignment: false
DisableFormat: false
ExperimentalAutoDetectBinPacking: false
FixNamespaceComments: true
ForEachMacros:
- foreach
- Q_FOREACH
- BOOST_FOREACH
IncludeBlocks: Regroup
IncludeCategories:
- Regex: '^"(llvm|llvm-c|clang|clang-c)/'
Priority: 2
SortPriority: 0
- Regex: '^(<|"(gtest|gmock|isl|json)/)'
Priority: 3
SortPriority: 0
- Regex: '.*'
Priority: 1
SortPriority: 0
IncludeIsMainRegex: '(Test)?$'
IncludeIsMainSourceRegex: ''
IndentCaseLabels: true
IndentGotoLabels: true
IndentPPDirectives: None
IndentWidth: 2
IndentWrappedFunctionNames: false
JavaScriptQuotes: Leave
JavaScriptWrapImports: true
KeepEmptyLinesAtTheStartOfBlocks: true
MacroBlockBegin: ''
MacroBlockEnd: ''
MaxEmptyLinesToKeep: 1
NamespaceIndentation: None
ObjCBinPackProtocolList: Auto
ObjCBlockIndentWidth: 2
ObjCSpaceAfterProperty: false
ObjCSpaceBeforeProtocolList: true
PenaltyBreakAssignment: 2
PenaltyBreakBeforeFirstCallParameter: 19
PenaltyBreakComment: 300
PenaltyBreakFirstLessLess: 120
PenaltyBreakString: 1000
PenaltyBreakTemplateDeclaration: 10
PenaltyExcessCharacter: 1000000
PenaltyReturnTypeOnItsOwnLine: 60
PointerAlignment: Right
ReflowComments: true
SortIncludes: true
SortUsingDeclarations: true
SpaceAfterCStyleCast: false
SpaceAfterLogicalNot: false
SpaceAfterTemplateKeyword: true
SpaceBeforeAssignmentOperators: true
SpaceBeforeCpp11BracedList: false
SpaceBeforeCtorInitializerColon: true
SpaceBeforeInheritanceColon: true
SpaceBeforeParens: ControlStatements
SpaceBeforeRangeBasedForLoopColon: true
SpaceInEmptyBlock: false
SpaceInEmptyParentheses: false
SpacesBeforeTrailingComments: 1
SpacesInAngles: false
SpacesInConditionalStatement: false
SpacesInContainerLiterals: true
SpacesInCStyleCastParentheses: false
SpacesInParentheses: false
SpacesInSquareBrackets: false
SpaceBeforeSquareBrackets: false
Standard: Latest
StatementMacros:
- Q_UNUSED
- QT_REQUIRE_VERSION
TabWidth: 2
UseCRLF: false
UseTab: Never
...

16 changes: 15 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -29,4 +29,18 @@

# McPAT custom
mcpat
obj_opt/
obj_opt/

# vim
.*.swo
.*.swp

# Unit-Test
unit_test/output

# CMake
build*

# Profiling
gmon.out
profile*.txt
2 changes: 2 additions & 0 deletions .style.yapf
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
[style]
based_on_style = yapf
36 changes: 36 additions & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
if(${CMAKE_SOURCE_DIR} STREQUAL ${CMAKE_BINARY_DIR})
message(FATAL_ERROR "Create a separate build directory")
endif()

cmake_minimum_required (VERSION 3.12)

project(mcpat DESCRIPTION "Power Timing Area Calculator"
LANGUAGES CXX)

find_package(Boost 1.56 REQUIRED COMPONENTS
program_options
serialization)

set(THREADS_PREFER_PTHREAD_FLAG ON)

find_package(Threads REQUIRED)

set (MCPAT_VERSION_MAJOR 1)
set (MCPAT_VERSION_MINOR 3)
set (MCPAT_VERSION_PATCH 0)

if(NOT CMAKE_BUILD_TYPE)
set(CMAKE_BUILD_TYPE Release)
endif()

set(CMAKE_CXX_FLAGS "-Wall -Wextra -Wno-unused-parameter -Wno-unused-variable -Wno-unused-function")
set(CMAKE_CXX_FLAGS_DEBUG "-g -ggdb -O0")
set(CMAKE_CXX_FLAGS_RELEASE "-O3")
set(CMAKE_CXX_FLAGS_PROFILE "-O3 -pg -g")
set(CMAKE_C_COMPILER clang)
set(CMAKE_CXX_COMPILER clang++)

add_definitions(-DNTHREADS=1)

add_subdirectory(src)

Loading