[doc] format
This commit is contained in:
parent
37ed10919f
commit
dde9ef0449
144
CMakeLists.txt
144
CMakeLists.txt
|
@ -2,8 +2,8 @@ cmake_minimum_required(VERSION 2.8.12)
|
||||||
|
|
||||||
find_program(CCACHE_FOUND ccache)
|
find_program(CCACHE_FOUND ccache)
|
||||||
if(CCACHE_FOUND)
|
if(CCACHE_FOUND)
|
||||||
set_property(GLOBAL PROPERTY RULE_LAUNCH_COMPILE ccache)
|
set_property(GLOBAL PROPERTY RULE_LAUNCH_COMPILE ccache)
|
||||||
set_property(GLOBAL PROPERTY RULE_LAUNCH_LINK ccache)
|
set_property(GLOBAL PROPERTY RULE_LAUNCH_LINK ccache)
|
||||||
endif(CCACHE_FOUND)
|
endif(CCACHE_FOUND)
|
||||||
|
|
||||||
if (${CMAKE_VERSION} VERSION_GREATER "3.8")
|
if (${CMAKE_VERSION} VERSION_GREATER "3.8")
|
||||||
|
@ -92,17 +92,17 @@ set(WITH_PARMYS OFF CACHE BOOL "Enable Yosys as elaborator and parmys-plugin as
|
||||||
|
|
||||||
# TCL file/lib required to link with SWIG generated wrapper
|
# TCL file/lib required to link with SWIG generated wrapper
|
||||||
if (OPENFPGA_WITH_SWIG)
|
if (OPENFPGA_WITH_SWIG)
|
||||||
#Find Tcl
|
#Find Tcl
|
||||||
include(FindTCL)
|
include(FindTCL)
|
||||||
message(STATUS "tcl.h path is : ${TCL_INCLUDE_PATH}")
|
message(STATUS "tcl.h path is : ${TCL_INCLUDE_PATH}")
|
||||||
message(STATUS "libtcl.so path is : ${TCL_LIBRARY}")
|
message(STATUS "libtcl.so path is : ${TCL_LIBRARY}")
|
||||||
|
|
||||||
#Find SWIG
|
#Find SWIG
|
||||||
find_package(SWIG 3.0 REQUIRED)
|
find_package(SWIG 3.0 REQUIRED)
|
||||||
if (SWIG_VERSION VERSION_GREATER_EQUAL "4.1.0")
|
if (SWIG_VERSION VERSION_GREATER_EQUAL "4.1.0")
|
||||||
message(WARNING "Using SWIG >= ${SWIG_VERSION} -flatstaticmethod flag for python")
|
message(WARNING "Using SWIG >= ${SWIG_VERSION} -flatstaticmethod flag for python")
|
||||||
endif()
|
endif()
|
||||||
include(UseSWIG)
|
include(UseSWIG)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
#Compiler flag configuration checks
|
#Compiler flag configuration checks
|
||||||
|
@ -150,71 +150,71 @@ endif()
|
||||||
set(WARN_FLAGS "")
|
set(WARN_FLAGS "")
|
||||||
|
|
||||||
if (MSVC)
|
if (MSVC)
|
||||||
# Visual studio warnings
|
# Visual studio warnings
|
||||||
# Note that we do not use /Wall since it generates warnings about standard library headers
|
# Note that we do not use /Wall since it generates warnings about standard library headers
|
||||||
set(WARN_FLAGS_TO_CHECK # the flags to check if the compiler supports
|
set(WARN_FLAGS_TO_CHECK # the flags to check if the compiler supports
|
||||||
"/W4" # Most warnings
|
"/W4" # Most warnings
|
||||||
)
|
)
|
||||||
else ()
|
else ()
|
||||||
set(WARN_FLAGS_TO_CHECK # the flags to check if the compiler supports
|
set(WARN_FLAGS_TO_CHECK # the flags to check if the compiler supports
|
||||||
#GCC-like
|
#GCC-like
|
||||||
"-Wall" #Most warnings, typically good
|
"-Wall" #Most warnings, typically good
|
||||||
"-Wextra" #Extra warning, usually good
|
"-Wextra" #Extra warning, usually good
|
||||||
"-Wpedantic" #Ensure ISO compliance (i.e. no non-standard extensions)
|
"-Wpedantic" #Ensure ISO compliance (i.e. no non-standard extensions)
|
||||||
"-Wcast-qual" #Warn if cast removes qualifier (e.g. const char* -> char*)
|
"-Wcast-qual" #Warn if cast removes qualifier (e.g. const char* -> char*)
|
||||||
"-Wcast-align" #Warn if a cast causes memory alignment changes
|
"-Wcast-align" #Warn if a cast causes memory alignment changes
|
||||||
"-Wshadow" #Warn if local variable shadows another variable
|
"-Wshadow" #Warn if local variable shadows another variable
|
||||||
"-Wformat=2" #Sanity checks for printf-like formatting
|
"-Wformat=2" #Sanity checks for printf-like formatting
|
||||||
"-Wno-format-nonliteral" # But don't worry about non-literal formtting (i.e. run-time printf format strings)
|
"-Wno-format-nonliteral" # But don't worry about non-literal formatting (i.e. run-time printf format strings)
|
||||||
"-Wlogical-op" #Checks for logical op when bit-wise expected
|
"-Wlogical-op" #Checks for logical op when bit-wise expected
|
||||||
"-Wmissing-declarations" #Warn if a global function is defined with no declaration
|
"-Wmissing-declarations" #Warn if a global function is defined with no declaration
|
||||||
"-Wmissing-include-dirs" #Warn if a user include directory is missing
|
"-Wmissing-include-dirs" #Warn if a user include directory is missing
|
||||||
"-Wredundant-decls" #Warn if there are overlapping declarations
|
"-Wredundant-decls" #Warn if there are overlapping declarations
|
||||||
"-Wswitch-default" #Warn if a switch has no default
|
"-Wswitch-default" #Warn if a switch has no default
|
||||||
"-Wundef" #Warn if #if() preprocessor refers to an undefined directive
|
"-Wundef" #Warn if #if() preprocessor refers to an undefined directive
|
||||||
"-Wunused" #Warn about unused variables/parameters
|
"-Wunused" #Warn about unused variables/parameters
|
||||||
"-Wunused-variable" #Warn about variables that are not used
|
"-Wunused-variable" #Warn about variables that are not used
|
||||||
"-Wunused-parameter" #Warn about function parameters which are unused
|
"-Wunused-parameter" #Warn about function parameters which are unused
|
||||||
"-Wdisabled-optimization" #Warn when optimizations are skipped (usually due to large/complex code)
|
"-Wdisabled-optimization" #Warn when optimizations are skipped (usually due to large/complex code)
|
||||||
"-Wnoexcept" #Warn when functions should be noexcept (i.e. compiler know it doesn't throw)
|
"-Wnoexcept" #Warn when functions should be noexcept (i.e. compiler know it doesn't throw)
|
||||||
"-Woverloaded-virtual" #Warn when a function declaration overrides a virtual method
|
"-Woverloaded-virtual" #Warn when a function declaration overrides a virtual method
|
||||||
"-Wctor-dtor-privacy" #Warn about inaccessible constructors/destructors
|
"-Wctor-dtor-privacy" #Warn about inaccessible constructors/destructors
|
||||||
"-Wnon-virtual-dtor" #Warn about missing virtual destructors
|
"-Wnon-virtual-dtor" #Warn about missing virtual destructors
|
||||||
"-Wduplicated-cond" #Warn about identical conditions in if-else chains
|
"-Wduplicated-cond" #Warn about identical conditions in if-else chains
|
||||||
"-Wduplicated-branches" #Warn when different branches of an if-else chain are equivalent
|
"-Wduplicated-branches" #Warn when different branches of an if-else chain are equivalent
|
||||||
"-Wnull-dereference" #Warn about null pointer dereference execution paths
|
"-Wnull-dereference" #Warn about null pointer dereference execution paths
|
||||||
"-Wuninitialized" #Warn about unitialized values
|
"-Wuninitialized" #Warn about uninitialized values
|
||||||
"-Winit-self" #Warn about self-initialization
|
"-Winit-self" #Warn about self-initialization
|
||||||
"-Wcatch-value=3" #Warn when catch statements don't catch by reference
|
"-Wcatch-value=3" #Warn when catch statements don't catch by reference
|
||||||
"-Wextra-semi" #Warn about redudnant semicolons
|
"-Wextra-semi" #Warn about redundant semicolons
|
||||||
"-Wimplicit-fallthrough=3" #Warn about case fallthroughs, but allow 'fallthrough' comments to suppress warnings
|
"-Wimplicit-fallthrough=3" #Warn about case fallthroughs, but allow 'fallthrough' comments to suppress warnings
|
||||||
#GCC-like optional
|
#GCC-like optional
|
||||||
#"-Wsuggest-final-types" #Suggest where 'final' would help if specified on a type methods
|
#"-Wsuggest-final-types" #Suggest where 'final' would help if specified on a type methods
|
||||||
#"-Wsuggest-final-methods" #Suggest where 'final' would help if specified on methods
|
#"-Wsuggest-final-methods" #Suggest where 'final' would help if specified on methods
|
||||||
#"-Wsuggest-override" #Suggest where 'override' should be specified
|
#"-Wsuggest-override" #Suggest where 'override' should be specified
|
||||||
#"-Wold-style-cast" #Warn about using c-style casts
|
#"-Wold-style-cast" #Warn about using c-style casts
|
||||||
#"-Wconversion" #Warn when type conversions may change value
|
#"-Wconversion" #Warn when type conversions may change value
|
||||||
#"-Wsign-conversion" #Warn if a conversion may change the sign
|
#"-Wsign-conversion" #Warn if a conversion may change the sign
|
||||||
#"-Wpadded" #Will warn if additional padding is introduced to a struct/class. Turn on if optimizing class memory layouts
|
#"-Wpadded" #Will warn if additional padding is introduced to a struct/class. Turn on if optimizing class memory layouts
|
||||||
#"-Wstrict-overflow=2" #Warn if the compiler optimizes assuming signed overflow does not occur
|
#"-Wstrict-overflow=2" #Warn if the compiler optimizes assuming signed overflow does not occur
|
||||||
#"-Wfloat-equal" #Warn about using direct floating point equality
|
#"-Wfloat-equal" #Warn about using direct floating point equality
|
||||||
#"-Wunsafe-loop-optimizations" #Warn when loops can't be optimized
|
#"-Wunsafe-loop-optimizations" #Warn when loops can't be optimized
|
||||||
#"-Wswitch-enum" #Warn about uncovered enumeration values in a switch (even if there is a default)
|
#"-Wswitch-enum" #Warn about uncovered enumeration values in a switch (even if there is a default)
|
||||||
#"-Wsign-promo" #Warn when overload resolution converts an unsigned type to signed when an unsigned overload exists
|
#"-Wsign-promo" #Warn when overload resolution converts an unsigned type to signed when an unsigned overload exists
|
||||||
#"-Wdouble-promotion" #Warn when float is implicitly propted to double
|
#"-Wdouble-promotion" #Warn when float is implicitly prompted to double
|
||||||
#"-Wuseless-cast" #Warn about casts to the same type
|
#"-Wuseless-cast" #Warn about casts to the same type
|
||||||
#"-Wzero-as-null-pointer-constant" #Warn about using '0' instead of nullptr
|
#"-Wzero-as-null-pointer-constant" #Warn about using '0' instead of nullptr
|
||||||
)
|
)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
# check and see if the compiler supports the various warning flags
|
# check and see if the compiler supports the various warning flags
|
||||||
# and add valid flags
|
# and add valid flags
|
||||||
foreach (flag ${WARN_FLAGS_TO_CHECK})
|
foreach (flag ${WARN_FLAGS_TO_CHECK})
|
||||||
CHECK_CXX_COMPILER_FLAG(${flag} CXX_COMPILER_SUPPORTS_${flag})
|
CHECK_CXX_COMPILER_FLAG(${flag} CXX_COMPILER_SUPPORTS_${flag})
|
||||||
if (CXX_COMPILER_SUPPORTS_${flag})
|
if (CXX_COMPILER_SUPPORTS_${flag})
|
||||||
# flag supported, so enable it
|
# flag supported, so enable it
|
||||||
set (WARN_FLAGS "${WARN_FLAGS} ${flag}")
|
set (WARN_FLAGS "${WARN_FLAGS} ${flag}")
|
||||||
endif()
|
endif()
|
||||||
endforeach()
|
endforeach()
|
||||||
|
|
||||||
#Suppress IPO link warnings
|
#Suppress IPO link warnings
|
||||||
|
@ -301,7 +301,7 @@ option(YOSYS_ENABLE_NDEBUG, "Enable non-debugging feature in compiled yosys" OFF
|
||||||
## Search and link dependent packages
|
## Search and link dependent packages
|
||||||
## We need readline to compile
|
## We need readline to compile
|
||||||
if (YOSYS_ENABLE_READLINE)
|
if (YOSYS_ENABLE_READLINE)
|
||||||
find_package(Readline REQUIRED)
|
find_package(Readline REQUIRED)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
#PugiXml has some deliberate switch fallthrough cases (as indicated by comments), but they
|
#PugiXml has some deliberate switch fallthrough cases (as indicated by comments), but they
|
||||||
|
|
2
Makefile
2
Makefile
|
@ -24,7 +24,7 @@ CMAKE_BUILD_TYPE := $(shell echo ${BUILD_TYPE} | sed 's/_\?pgo//' | sed 's/_\?st
|
||||||
# e.g. make CMAKE_FLAGS="-DCMAKE_CXX_COMPILER=g++-9'
|
# e.g. make CMAKE_FLAGS="-DCMAKE_CXX_COMPILER=g++-9'
|
||||||
override CMAKE_FLAGS := -DCMAKE_BUILD_TYPE=${BUILD_TYPE} -G 'Unix Makefiles' ${CMAKE_FLAGS}
|
override CMAKE_FLAGS := -DCMAKE_BUILD_TYPE=${BUILD_TYPE} -G 'Unix Makefiles' ${CMAKE_FLAGS}
|
||||||
|
|
||||||
# -s : Suppresss makefile output (e.g. entering/leaving directories)
|
# -s : Suppress makefile output (e.g. entering/leaving directories)
|
||||||
# --output-sync target : For parallel compilation ensure output for each target is synchronized (make version >= 4.0)
|
# --output-sync target : For parallel compilation ensure output for each target is synchronized (make version >= 4.0)
|
||||||
MAKEFLAGS := -s
|
MAKEFLAGS := -s
|
||||||
|
|
||||||
|
|
|
@ -42,6 +42,6 @@ Version updates are made in the following scenario
|
||||||
|
|
||||||
- significant improvements on Quality-of-Results (QoR).
|
- significant improvements on Quality-of-Results (QoR).
|
||||||
- significant changes on user interface.
|
- significant changes on user interface.
|
||||||
- a techical feature is developed and validated by the community, which can impact the complete design flow.
|
- a technical feature is developed and validated by the community, which can impact the complete design flow.
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -30,7 +30,7 @@ A summary of the architectural features is as follows:
|
||||||
- K4N4 Configurable Logic Block (CLB), which consists of four Basic Logic Elements (BLEs) and a fully-connected crossbar. Each BLE contains a 4-input Look-Up Table (LUT), a Flip-Flop (FF) and a 2:1 routing multiplexer
|
- K4N4 Configurable Logic Block (CLB), which consists of four Basic Logic Elements (BLEs) and a fully-connected crossbar. Each BLE contains a 4-input Look-Up Table (LUT), a Flip-Flop (FF) and a 2:1 routing multiplexer
|
||||||
- Length-1 routing wires interconnected by Wilton-Style Switch Block (SB)
|
- Length-1 routing wires interconnected by Wilton-Style Switch Block (SB)
|
||||||
|
|
||||||
The VPR architecture description is designed for EDA needs mainly, which lacks the details physical modelingrequired by OpenFPGA.
|
The VPR architecture description is designed for EDA needs mainly, which lacks the details physical modeling required by OpenFPGA.
|
||||||
Here, we show a step-by-step adaption on the architecture template.
|
Here, we show a step-by-step adaption on the architecture template.
|
||||||
|
|
||||||
Physical I/O Modeling
|
Physical I/O Modeling
|
||||||
|
|
|
@ -46,7 +46,7 @@ Once the ``openfpga.sh`` script is sourced, you can run any following commands d
|
||||||
|
|
||||||
.. option:: clear-task-run <task_name>
|
.. option:: clear-task-run <task_name>
|
||||||
|
|
||||||
Clears all run diretories of the given task
|
Clears all run directories of the given task
|
||||||
|
|
||||||
.. option:: run-modelsim <task_name>
|
.. option:: run-modelsim <task_name>
|
||||||
|
|
||||||
|
|
|
@ -132,7 +132,7 @@ goto-task () {
|
||||||
done
|
done
|
||||||
}
|
}
|
||||||
|
|
||||||
# Clears enviroment variables and fucntions
|
# Clears environment variables and functions
|
||||||
unset-openfpga (){
|
unset-openfpga (){
|
||||||
unset -v OPENFPGA_PATH
|
unset -v OPENFPGA_PATH
|
||||||
unset -f list-tasks run-task run-flow goto-task goto-root >/dev/null 2>&1
|
unset -f list-tasks run-task run-flow goto-task goto-root >/dev/null 2>&1
|
||||||
|
|
Loading…
Reference in New Issue