Updated to latest scc version
This commit is contained in:
parent
dc02b44ae1
commit
0ee778decc
16
.cproject
16
.cproject
@ -17,15 +17,15 @@
|
||||
<folderInfo id="cdt.managedbuild.config.gnu.macosx.exe.debug.133691581." name="/" resourcePath="">
|
||||
<toolChain id="cdt.managedbuild.toolchain.gnu.base.294919492" name="Linux GCC" superClass="cdt.managedbuild.toolchain.gnu.base">
|
||||
<targetPlatform archList="all" binaryParser="org.eclipse.cdt.core.GNU_ELF" id="cdt.managedbuild.target.gnu.platform.base.431503568" name="Debug Platform" osList="linux,hpux,aix,qnx" superClass="cdt.managedbuild.target.gnu.platform.base"/>
|
||||
<builder buildPath="${workspace_loc:/sc-components-test/}" id="de.marw.cdt.cmake.core.genscriptbuilder.649731186" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="CMake Builder (portable)" parallelBuildOn="false" superClass="de.marw.cdt.cmake.core.genscriptbuilder"/>
|
||||
<builder buildPath="${workspace_loc:/sc-components-test/}" id="de.marw.cdt.cmake.core.genscriptbuilder.649731186" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="CMake Builder" parallelBuildOn="false" superClass="de.marw.cdt.cmake.core.genscriptbuilder"/>
|
||||
<tool id="cdt.managedbuild.tool.gnu.archiver.base.1722876084" name="GCC Archiver" superClass="cdt.managedbuild.tool.gnu.archiver.base"/>
|
||||
<tool id="cdt.managedbuild.tool.gnu.cpp.compiler.base.1937096603" name="GCC C++ Compiler" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.base">
|
||||
<option id="gnu.cpp.compiler.option.include.paths.1398860210" name="Include paths (-I)" superClass="gnu.cpp.compiler.option.include.paths" useByScannerDiscovery="false" valueType="includePath">
|
||||
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="gnu.cpp.compiler.option.include.paths.1398860210" name="Include paths (-I)" superClass="gnu.cpp.compiler.option.include.paths" useByScannerDiscovery="false" valueType="includePath">
|
||||
<listOptionValue builtIn="false" value=""${HOME}/.conan/data/SystemC/2.3.2/minres/stable/package/5da42a16f2fe7e4182d2c23eaed73d10d0bca3f4/include""/>
|
||||
<listOptionValue builtIn="false" value=""${HOME}/.conan/data/SystemCVerification/2.0.1/minres/stable/package/d9580b78ca474433b46b653ea2c6c83385840479/include""/>
|
||||
<listOptionValue builtIn="false" value=""${HOME}/.conan/data/SystemC-CCI/0.9.0/minres/stable/package/d9580b78ca474433b46b653ea2c6c83385840479/include""/>
|
||||
</option>
|
||||
<option id="gnu.cpp.compiler.option.preprocessor.def.62636415" name="Defined symbols (-D)" superClass="gnu.cpp.compiler.option.preprocessor.def" useByScannerDiscovery="false" valueType="definedSymbols">
|
||||
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="gnu.cpp.compiler.option.preprocessor.def.62636415" name="Defined symbols (-D)" superClass="gnu.cpp.compiler.option.preprocessor.def" useByScannerDiscovery="false" valueType="definedSymbols">
|
||||
<listOptionValue builtIn="false" value="WITH_SCV"/>
|
||||
</option>
|
||||
<option id="gnu.cpp.compiler.option.optimization.level.1942034420" name="Optimization Level" superClass="gnu.cpp.compiler.option.optimization.level" useByScannerDiscovery="false" value="gnu.cpp.compiler.optimization.level.none" valueType="enumerated"/>
|
||||
@ -39,11 +39,11 @@
|
||||
</tool>
|
||||
<tool id="cdt.managedbuild.tool.gnu.c.linker.base.706441092" name="GCC C Linker" superClass="cdt.managedbuild.tool.gnu.c.linker.base"/>
|
||||
<tool id="cdt.managedbuild.tool.gnu.cpp.linker.base.264303412" name="GCC C++ Linker" superClass="cdt.managedbuild.tool.gnu.cpp.linker.base">
|
||||
<option id="gnu.cpp.link.option.libs.1865739110" name="Libraries (-l)" superClass="gnu.cpp.link.option.libs" valueType="libs">
|
||||
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="gnu.cpp.link.option.libs.1865739110" name="Libraries (-l)" superClass="gnu.cpp.link.option.libs" valueType="libs">
|
||||
<listOptionValue builtIn="false" srcPrefixMapping="" srcRootPath="" value="systemc"/>
|
||||
<listOptionValue builtIn="false" srcPrefixMapping="" srcRootPath="" value="scv"/>
|
||||
</option>
|
||||
<option id="gnu.cpp.link.option.paths.208272497" name="Library search path (-L)" superClass="gnu.cpp.link.option.paths" valueType="libPaths">
|
||||
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="gnu.cpp.link.option.paths.208272497" name="Library search path (-L)" superClass="gnu.cpp.link.option.paths" valueType="libPaths">
|
||||
<listOptionValue builtIn="false" value=""${SYSTEMC_HOME}/lib-linux64""/>
|
||||
</option>
|
||||
<inputType id="cdt.managedbuild.tool.gnu.cpp.linker.input.291247993" superClass="cdt.managedbuild.tool.gnu.cpp.linker.input">
|
||||
@ -184,6 +184,9 @@
|
||||
</storageModule>
|
||||
<storageModule moduleId="scannerConfiguration">
|
||||
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
|
||||
<scannerConfigBuildInfo instanceId="cdt.managedbuild.config.gnu.macosx.exe.debug.133691581;cdt.managedbuild.config.gnu.macosx.exe.debug.133691581.;cdt.managedbuild.tool.gnu.cpp.compiler.base.1937096603;cdt.managedbuild.tool.gnu.cpp.compiler.input.803568785">
|
||||
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
|
||||
</scannerConfigBuildInfo>
|
||||
<scannerConfigBuildInfo instanceId="cdt.managedbuild.config.gnu.macosx.exe.debug.133691581;cdt.managedbuild.config.gnu.macosx.exe.debug.133691581.;cdt.managedbuild.tool.gnu.cpp.compiler.macosx.exe.debug.1149501692;cdt.managedbuild.tool.gnu.cpp.compiler.input.506955043">
|
||||
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
|
||||
</scannerConfigBuildInfo>
|
||||
@ -193,6 +196,9 @@
|
||||
<scannerConfigBuildInfo instanceId="cdt.managedbuild.config.macosx.exe.release.222902119;cdt.managedbuild.config.macosx.exe.release.222902119.;cdt.managedbuild.tool.gnu.cpp.compiler.macosx.exe.release.1207281858;cdt.managedbuild.tool.gnu.cpp.compiler.input.749408456">
|
||||
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
|
||||
</scannerConfigBuildInfo>
|
||||
<scannerConfigBuildInfo instanceId="cdt.managedbuild.config.gnu.macosx.exe.debug.133691581;cdt.managedbuild.config.gnu.macosx.exe.debug.133691581.;cdt.managedbuild.tool.gnu.c.compiler.base.318007495;cdt.managedbuild.tool.gnu.c.compiler.input.1732590288">
|
||||
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
|
||||
</scannerConfigBuildInfo>
|
||||
<scannerConfigBuildInfo instanceId="cdt.managedbuild.config.macosx.exe.release.222902119;cdt.managedbuild.config.macosx.exe.release.222902119.;cdt.managedbuild.tool.gnu.c.compiler.macosx.exe.release.2136924185;cdt.managedbuild.tool.gnu.c.compiler.input.220005104">
|
||||
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
|
||||
</scannerConfigBuildInfo>
|
||||
|
@ -5,11 +5,20 @@
|
||||
<provider copy-of="extension" id="org.eclipse.cdt.ui.UserLanguageSettingsProvider"/>
|
||||
<provider-reference id="org.eclipse.cdt.core.ReferencedProjectsLanguageSettingsProvider" ref="shared-provider"/>
|
||||
<provider-reference id="org.eclipse.cdt.managedbuilder.core.MBSLanguageSettingsProvider" ref="shared-provider"/>
|
||||
<provider class="org.eclipse.cdt.managedbuilder.language.settings.providers.GCCBuiltinSpecsDetector" console="false" env-hash="-106393050810961736" id="org.eclipse.cdt.managedbuilder.core.GCCBuiltinSpecsDetector" keep-relative-paths="false" name="CDT GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD "${INPUTS}"" prefer-non-shared="true">
|
||||
<provider class="org.eclipse.cdt.managedbuilder.language.settings.providers.GCCBuiltinSpecsDetector" console="false" env-hash="65496988555952" id="org.eclipse.cdt.managedbuilder.core.GCCBuiltinSpecsDetector" keep-relative-paths="false" name="CDT GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -std=c++14 -dD "${INPUTS}"" prefer-non-shared="true">
|
||||
<provider class="org.eclipse.cdt.managedbuilder.language.settings.providers.GCCBuiltinSpecsDetector" console="false" env-hash="1600315999323265833" id="org.eclipse.cdt.managedbuilder.core.GCCBuiltinSpecsDetector" keep-relative-paths="false" name="CDT GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD "${INPUTS}"" prefer-non-shared="true">
|
||||
<language-scope id="org.eclipse.cdt.core.gcc"/>
|
||||
<language-scope id="org.eclipse.cdt.core.g++"/>
|
||||
</provider>
|
||||
<provider class="de.marw.cmake.cdt.language.settings.providers.BuiltinsCompileCommandsJsonParser" id="de.marw.cmake.cdt.language.settings.providers.BuiltinsCompileCommandsJsonParser" name="CMAKE_EXPORT_COMPILE_COMMANDS Compiler Built-ins" store-entries-with-project="true">
|
||||
<language-scope id="org.eclipse.cdt.core.gcc"/>
|
||||
<language-scope id="org.eclipse.cdt.core.g++"/>
|
||||
<language-scope id="com.nvidia.cuda.toolchain.language.cuda.cu"/>
|
||||
</provider>
|
||||
<provider class="de.marw.cmake.cdt.language.settings.providers.CompileCommandsJsonParser" id="de.marw.cmake.cdt.language.settings.providers.CompileCommandsJsonParser" name="CMAKE_EXPORT_COMPILE_COMMANDS Parser" store-entries-with-project="true">
|
||||
<language-scope id="org.eclipse.cdt.core.gcc"/>
|
||||
<language-scope id="org.eclipse.cdt.core.g++"/>
|
||||
<language-scope id="com.nvidia.cuda.toolchain.language.cuda.cu"/>
|
||||
</provider>
|
||||
</extension>
|
||||
</configuration>
|
||||
<configuration id="cdt.managedbuild.config.macosx.exe.release.222902119" name="Release">
|
||||
@ -17,7 +26,7 @@
|
||||
<provider copy-of="extension" id="org.eclipse.cdt.ui.UserLanguageSettingsProvider"/>
|
||||
<provider-reference id="org.eclipse.cdt.core.ReferencedProjectsLanguageSettingsProvider" ref="shared-provider"/>
|
||||
<provider-reference id="org.eclipse.cdt.managedbuilder.core.MBSLanguageSettingsProvider" ref="shared-provider"/>
|
||||
<provider class="org.eclipse.cdt.managedbuilder.language.settings.providers.GCCBuiltinSpecsDetector" console="false" env-hash="-106393050810961736" id="org.eclipse.cdt.managedbuilder.core.GCCBuiltinSpecsDetector" keep-relative-paths="false" name="CDT GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -std=c++14 -dD "${INPUTS}"" prefer-non-shared="true">
|
||||
<provider class="org.eclipse.cdt.managedbuilder.language.settings.providers.GCCBuiltinSpecsDetector" console="false" env-hash="1600315999323265833" id="org.eclipse.cdt.managedbuilder.core.GCCBuiltinSpecsDetector" keep-relative-paths="false" name="CDT GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD "${INPUTS}"" prefer-non-shared="true">
|
||||
<language-scope id="org.eclipse.cdt.core.gcc"/>
|
||||
<language-scope id="org.eclipse.cdt.core.g++"/>
|
||||
</provider>
|
||||
|
@ -1,9 +1,8 @@
|
||||
[requires]
|
||||
gsl_microsoft/20180102@bincrafters/stable
|
||||
spdlog/0.16.3@bincrafters/stable
|
||||
SystemC/2.3.2@minres/stable
|
||||
SystemC/2.3.3@minres/stable
|
||||
SystemCVerification/2.0.1@minres/stable
|
||||
SystemC-CCI/0.9.0@minres/stable
|
||||
SystemC-CCI/1.0.0@minres/stable
|
||||
|
||||
[generators]
|
||||
cmake
|
||||
|
@ -37,3 +37,5 @@ if(SCV_FOUND)
|
||||
endif(SCV_FOUND)
|
||||
|
||||
add_subdirectory(simple_system)
|
||||
add_subdirectory(transaction_recording)
|
||||
add_subdirectory(ahb_bfm_test)
|
||||
|
10
examples/ahb_bfm_test/CMakeLists.txt
Normal file
10
examples/ahb_bfm_test/CMakeLists.txt
Normal file
@ -0,0 +1,10 @@
|
||||
cmake_minimum_required(VERSION 3.3)
|
||||
# Add executable called "transaction_recording" that is built from the source files
|
||||
# "scv_tr_recording_example.cpp". The extensions are automatically found.
|
||||
add_executable (ahb_bfm_test
|
||||
sc_main.cpp
|
||||
)
|
||||
# Link the executable to the sc_components library. Since the sc_components library has
|
||||
# public include directories we will use those link directories when building
|
||||
# transaction_recording
|
||||
target_link_libraries (ahb_bfm_test LINK_PUBLIC scc ${CONAN_LIBS})
|
151
examples/ahb_bfm_test/sc_main.cpp
Normal file
151
examples/ahb_bfm_test/sc_main.cpp
Normal file
@ -0,0 +1,151 @@
|
||||
#include <tlm/ahb/bfm/initiator.h>
|
||||
#include <tlm/ahb/bfm/target.h>
|
||||
#include <scc/initiator_mixin.h>
|
||||
#include <scc/target_mixin.h>
|
||||
#include <scc/configurable_tracer.h>
|
||||
#include <scc/configurer.h>
|
||||
#include <scc/report.h>
|
||||
#include <scc/scv_tr_db.h>
|
||||
#include <scc/tracer.h>
|
||||
#include <scc/traceable.h>
|
||||
#include <scv.h>
|
||||
#include <cci_utils/broker.h>
|
||||
#include <iostream>
|
||||
|
||||
using namespace sc_core;
|
||||
using namespace scc;
|
||||
|
||||
class testbench: public sc_module, public scc::traceable {
|
||||
public:
|
||||
enum { WIDTH=64};
|
||||
scc::initiator_mixin<tlm::tlm_initiator_socket<WIDTH>> isck{"isck"};
|
||||
tlm::ahb::bfm::initiator<WIDTH> intor{"intor"};
|
||||
sc_core::sc_clock HCLK{"HCLK", 10_ns};
|
||||
sc_core::sc_signal<bool> HRESETn{"HRESETn"};
|
||||
sc_core::sc_signal<sc_dt::sc_uint<32>> HADDR{"HADDR"};
|
||||
sc_core::sc_signal<sc_dt::sc_uint<3>> HBURST{"HBURST"};
|
||||
sc_core::sc_signal<bool> HMASTLOCK{"HMASTLOCK"};
|
||||
sc_core::sc_signal<sc_dt::sc_uint<4>> HPROT{"HPROT"};
|
||||
sc_core::sc_signal<sc_dt::sc_uint<3>> HSIZE{"HSIZE"};
|
||||
sc_core::sc_signal<sc_dt::sc_uint<2>> HTRANS{"HTRANS"};
|
||||
sc_core::sc_signal<sc_dt::sc_uint<WIDTH>> HWDATA{"HWDATA"};
|
||||
sc_core::sc_signal<bool> HWRITE{"HWRITE"};
|
||||
sc_core::sc_signal<sc_dt::sc_uint<WIDTH>> HRDATA{"HRDATA"};
|
||||
sc_core::sc_signal<bool> HREADY{"HREADY"};
|
||||
sc_core::sc_signal<bool> HRESP{"HRESP"};
|
||||
sc_core::sc_signal<bool> HSEL{"HSEL"};
|
||||
|
||||
tlm::ahb::bfm::target<WIDTH> target{"target"};
|
||||
scc::target_mixin<tlm::tlm_target_socket<WIDTH>> tsck{"tsck"};
|
||||
|
||||
testbench(sc_module_name nm):sc_module(nm){
|
||||
SC_HAS_PROCESS(testbench);
|
||||
isck(intor.tsckt);
|
||||
intor.HCLK_i(HCLK);
|
||||
intor.HRESETn_i(HRESETn);
|
||||
intor.HADDR_o(HADDR);
|
||||
intor.HBURST_o(HBURST);
|
||||
intor.HMASTLOCK_o(HMASTLOCK);
|
||||
intor.HPROT_o(HPROT);
|
||||
intor.HSIZE_o(HSIZE);
|
||||
intor.HTRANS_o(HTRANS);
|
||||
intor.HWDATA_o(HWDATA);
|
||||
intor.HWRITE_o(HWRITE);
|
||||
intor.HRDATA_i(HRDATA);
|
||||
intor.HREADY_i(HREADY);
|
||||
intor.HRESP_i(HRESP);
|
||||
target.HCLK_i(HCLK);
|
||||
target.HRESETn_i(HRESETn);
|
||||
target.HADDR_i(HADDR);
|
||||
target.HBURST_i(HBURST);
|
||||
target.HMASTLOCK_i(HMASTLOCK);
|
||||
target.HPROT_i(HPROT);
|
||||
target.HSIZE_i(HSIZE);
|
||||
target.HTRANS_i(HTRANS);
|
||||
target.HWDATA_i(HWDATA);
|
||||
target.HWRITE_i(HWRITE);
|
||||
target.HSEL_i(HSEL);
|
||||
target.HRDATA_o(HRDATA);
|
||||
target.HREADY_o(HREADY);
|
||||
target.HRESP_o(HRESP);
|
||||
target.isckt(tsck);
|
||||
SC_THREAD(run);
|
||||
tsck.register_b_transport([this](tlm::tlm_generic_payload& gp, sc_time& delay){
|
||||
gp.set_response_status(tlm::TLM_OK_RESPONSE);
|
||||
if(gp.is_write()){
|
||||
SCCINFO(SCMOD)<<"Received write access to addr 0x"<<std::hex<<gp.get_address();
|
||||
} else{
|
||||
memset(gp.get_data_ptr(), 0x55, gp.get_data_length());
|
||||
SCCINFO(SCMOD)<<"Received read access from addr 0x"<<std::hex<<gp.get_address();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
void run(){
|
||||
HRESETn.write(false);
|
||||
for(size_t i=0; i<10; ++i) wait(HCLK.posedge_event());
|
||||
HRESETn.write(true);
|
||||
wait(HCLK.posedge_event());
|
||||
HSEL.write(true);
|
||||
tlm::tlm_generic_payload gp;
|
||||
uint8_t data[8];
|
||||
data[0]=2;
|
||||
data[1]=4;
|
||||
gp.set_address(0x1000);
|
||||
gp.set_data_length(8);
|
||||
gp.set_data_ptr(data);
|
||||
gp.set_streaming_width(8);
|
||||
gp.set_command(tlm::TLM_WRITE_COMMAND);
|
||||
sc_time delay;
|
||||
isck->b_transport(gp, delay);
|
||||
gp.set_address(0x1020);
|
||||
gp.set_data_length(8);
|
||||
gp.set_data_ptr(data);
|
||||
gp.set_streaming_width(8);
|
||||
gp.set_command(tlm::TLM_READ_COMMAND);
|
||||
delay=SC_ZERO_TIME;
|
||||
isck->b_transport(gp, delay);
|
||||
for(size_t i=0; i<10; ++i) wait(HCLK.posedge_event());
|
||||
sc_stop();
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
int sc_main (int argc , char *argv[]){
|
||||
sc_core::sc_report_handler::set_actions( "/IEEE_Std_1666/deprecated", sc_core::SC_DO_NOTHING );
|
||||
sc_report_handler::set_actions(SC_ID_MORE_THAN_ONE_SIGNAL_DRIVER_, SC_DO_NOTHING);
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
// create global CCI broker
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
cci::cci_register_broker(new cci_utils::broker("Global Broker"));
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
// configure logging
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
scc::init_logging(logging::DEBUG);
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
// set up configuration
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
scc::configurer cfg("ahb_test.json");
|
||||
scc::configurable_tracer trace("ahb_test", tracer::TEXT, true, true);
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
// create modules/channels and trace
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
testbench tb("tb");
|
||||
trace.add_control();
|
||||
{
|
||||
std::ofstream of{"ahb_test.default.json"};
|
||||
if (of.is_open()) cfg.dump_configuration(of);
|
||||
}
|
||||
cfg.configure();
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
// run the simulation
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
try {
|
||||
sc_core::sc_start(1_us);
|
||||
if (!sc_core::sc_end_of_simulation_invoked()) sc_core::sc_stop();
|
||||
} catch (sc_core::sc_report &rep) {
|
||||
sc_core::sc_report_handler::get_handler()(rep, sc_core::SC_DISPLAY | sc_core::SC_STOP);
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
@ -13,10 +13,6 @@ add_executable (simple_system
|
||||
# Link the executable to the sc_components library. Since the sc_components library has
|
||||
# public include directories we will use those link directories when building
|
||||
# simple_system
|
||||
target_link_libraries (simple_system LINK_PUBLIC sc-components)
|
||||
target_link_libraries (simple_system LINK_PUBLIC ${SystemC_LIBRARIES})
|
||||
target_link_libraries (simple_system LINK_PUBLIC ${SCV_LIBRARIES})
|
||||
target_link_libraries (simple_system LINK_PUBLIC scc)
|
||||
target_link_libraries (simple_system LINK_PUBLIC ${Boost_LIBRARIES} )
|
||||
target_link_libraries (simple_system LINK_PUBLIC ${CMAKE_THREAD_LIBS_INIT})
|
||||
target_link_libraries (simple_system LINK_PUBLIC ${ZLIB_LIBRARY})
|
||||
target_link_libraries (simple_system LINK_PUBLIC ${CMAKE_DL_LIBS})
|
||||
|
@ -18,10 +18,10 @@
|
||||
// need double braces, see
|
||||
// https://stackoverflow.com/questions/6893700/how-to-construct-stdarray-object-with-initializer-list#6894191
|
||||
const std::array<scc::target_memory_map_entry<32>, 4> e300_plat_map = {{
|
||||
{&i_plic, 0x0c000000, 0x200008},
|
||||
{&i_gpio, 0x10012000, 0x1000},
|
||||
{&i_uart, 0x10013000, 0x1000},
|
||||
{&i_spi, 0x10014000, 0x1000},
|
||||
{i_plic.socket, 0x0c000000, 0x200008},
|
||||
{i_gpio.socket, 0x10012000, 0x1000},
|
||||
{i_uart.socket, 0x10013000, 0x1000},
|
||||
{i_spi.socket, 0x10014000, 0x1000},
|
||||
}};
|
||||
|
||||
#endif /* _E300_PLAT_MAP_H_ */
|
||||
|
@ -25,7 +25,7 @@ gpio::gpio(sc_core::sc_module_name nm)
|
||||
, tlm_target<>(clk)
|
||||
, NAMED(clk_i)
|
||||
, NAMED(rst_i)
|
||||
, NAMEDD(gpio_regs, regs) {
|
||||
, NAMEDD(regs, gpio_regs) {
|
||||
regs->registerResources(*this);
|
||||
SC_METHOD(clock_cb);
|
||||
sensitive << clk_i;
|
||||
|
@ -50,8 +50,7 @@ plic::plic(sc_core::sc_module_name nm)
|
||||
, NAMED(rst_i)
|
||||
, NAMED(global_interrupts_i, 256)
|
||||
, NAMED(core_interrupt_o)
|
||||
, NAMEDD(plic_regs, regs)
|
||||
|
||||
, NAMEDD(regs, plic_regs)
|
||||
{
|
||||
regs->registerResources(*this);
|
||||
// register callbacks
|
||||
|
@ -21,11 +21,12 @@
|
||||
*/
|
||||
|
||||
#include "simple_system.h"
|
||||
#include <boost/program_options.hpp>
|
||||
#include <sstream>
|
||||
#include <scc/report.h>
|
||||
#include <scc/scv_tr_db.h>
|
||||
#include <scc/tracer.h>
|
||||
#include <cci_utils/broker.h>
|
||||
#include <boost/program_options.hpp>
|
||||
#include <sstream>
|
||||
|
||||
using namespace sysc;
|
||||
using namespace scc;
|
||||
@ -38,10 +39,12 @@ const size_t ERROR_UNHANDLED_EXCEPTION = 2;
|
||||
} // namespace
|
||||
|
||||
int sc_main(int argc, char *argv[]) {
|
||||
sc_core::sc_report_handler::set_actions( "/IEEE_Std_1666/deprecated", sc_core::SC_DO_NOTHING );
|
||||
sc_core::sc_report_handler::set_actions(sc_core::SC_ID_MORE_THAN_ONE_SIGNAL_DRIVER_, sc_core::SC_DO_NOTHING);
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
// setup initial logging
|
||||
// create global CCI broker
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
scc::Logger<>::reporting_level() = logging::INFO;
|
||||
cci::cci_register_broker(new cci_utils::broker("Global Broker"));
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
// CLI argument parsing
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
@ -67,12 +70,10 @@ int sc_main(int argc, char *argv[]) {
|
||||
std::cerr << desc << std::endl;
|
||||
return ERROR_IN_COMMAND_LINE;
|
||||
}
|
||||
if (vm.count("debug")) {
|
||||
LOGGER(DEFAULT)::reporting_level() = log::DEBUG;
|
||||
LOGGER(SystemC)::reporting_level() = log::DEBUG;
|
||||
scc::Logger<>::reporting_level() = log::DEBUG;
|
||||
}
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
// configure logging
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
scc::init_logging(vm.count("debug")?logging::DEBUG:logging::INFO);
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
// set up tracing & transaction recording
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
|
@ -42,8 +42,8 @@ simple_system::simple_system(sc_core::sc_module_name nm)
|
||||
i_master.intor(i_router.target[0]);
|
||||
size_t i = 0;
|
||||
for (const auto &e : e300_plat_map) {
|
||||
i_router.initiator[i](e.target->socket);
|
||||
i_router.add_target_range(i, e.start, e.size);
|
||||
i_router.initiator[i](e.target);
|
||||
i_router.set_target_range(i, e.start, e.size);
|
||||
i++;
|
||||
}
|
||||
|
||||
|
@ -25,7 +25,7 @@ spi::spi(sc_core::sc_module_name nm)
|
||||
, tlm_target<>(clk)
|
||||
, NAMED(clk_i)
|
||||
, NAMED(rst_i)
|
||||
, NAMEDD(spi_regs, regs) {
|
||||
, NAMEDD(regs, spi_regs) {
|
||||
regs->registerResources(*this);
|
||||
SC_METHOD(clock_cb);
|
||||
sensitive << clk_i;
|
||||
|
@ -25,7 +25,7 @@ uart::uart(sc_core::sc_module_name nm)
|
||||
, tlm_target<>(clk)
|
||||
, NAMED(clk_i)
|
||||
, NAMED(rst_i)
|
||||
, NAMEDD(uart_regs, regs) {
|
||||
, NAMEDD(regs, uart_regs) {
|
||||
regs->registerResources(*this);
|
||||
SC_METHOD(clock_cb);
|
||||
sensitive << clk_i;
|
||||
|
@ -7,8 +7,4 @@ add_executable (transaction_recording
|
||||
# Link the executable to the sc_components library. Since the sc_components library has
|
||||
# public include directories we will use those link directories when building
|
||||
# transaction_recording
|
||||
target_link_libraries (transaction_recording LINK_PUBLIC sc-components)
|
||||
target_link_libraries (transaction_recording LINK_PUBLIC ${SystemC_LIBRARIES})
|
||||
target_link_libraries (transaction_recording LINK_PUBLIC ${SCV_LIBRARIES})
|
||||
target_link_libraries (transaction_recording LINK_PUBLIC ${CMAKE_THREAD_LIBS_INIT})
|
||||
target_link_libraries (transaction_recording LINK_PUBLIC ${CMAKE_DL_LIBS})
|
||||
target_link_libraries (transaction_recording LINK_PUBLIC scc ${CONAN_LIBS})
|
||||
|
@ -329,13 +329,8 @@ extern void scv_tr_sqlite_init();
|
||||
int sc_main(int argc, char *argv[]) {
|
||||
scv_startup();
|
||||
|
||||
#if 0
|
||||
scv_tr_text_init();
|
||||
const char* fileName = "my_db.txlog";
|
||||
#else
|
||||
scv_tr_sqlite_init();
|
||||
const char *fileName = "my_db";
|
||||
#endif
|
||||
scv_tr_db db(fileName);
|
||||
scv_tr_db::set_default_db(&db);
|
||||
sc_trace_file *tf = sc_create_vcd_trace_file("my_db");
|
||||
|
@ -1 +1 @@
|
||||
Subproject commit bab66d1744221fdce7d0634c08c5c21184539d2a
|
||||
Subproject commit 72806c0fd634b15fa23666843c3db2ad7f6b5077
|
Loading…
Reference in New Issue
Block a user