Giter Club home page Giter Club logo

libsystemctlm-soc's Introduction

LibSystemCTLM-SoC

This library contains various SystemC/TLM-2.0 modules that enable co-simulation of Xilinx QEMU, SystemC/TLM-2.0 models and RTL.

QEMU gets connected by libremote-port. It implements a socket based transaction protocol by serializing/de-serializing QEMU transactions and TLM Generic Payloads.

RTL needs to be converted to something that interfaces with SystemC by a tool such as Verilator or equivalent commercial tools.

Quickstart

There are two ways to run the examples

Using Docker Image

docker run --hostname builder -it xilinxset/eri-july-2019:full

Full description on how to run the examples can be found here: https://hub.docker.com/r/xilinxset/eri-july-2019

Setting up your environment locally

Assuming you've installed the Dependencies and created the Configuration file.

Clone submodules:

git submodule update --init --recursive

To run the examples, change directory to the test directory and run:

cd tests/
make examples-run

You'll then for example get a build of the example-rtl-axi4 example that includes a verilog AXI4 device hooked up to co-simulate with SystemC/TLM. A VCD trace should have been generated that you can look at:

gtkwave example-rtl-axi4/example-rtl-axi4.vcd

Dependencies

You'll need to install the following packages: apt-get install gcc g++ verilator libsystemc-dev gtkwave rapidjson-dev python-pytest python-pytest-xdist

On some distros, the libsystemc-dev package may not exist, in that case you'll need to install SystemC manually. The SystemC libraries can be found here:http://www.accellera.org/downloads/standards/systemc

To be able to generate the HTML test reports, you'll need to install pytest-html. This may not be available on your distro but can be found with pip:pip install pytest-html

Please note that you'll need GCC v5.4.0 at minimum to build this software.

Limitations

Building and running libsystemctlm-soc is not supported for Cent OS.

CentOS 7 - The default gcc version for this distro is 4.8.5, you'll need to manually build and install GCC 5.4.0 and above. Calling convention for pytest differs, should be called as py.test instead of pytest.

Configuration

To run the test-suites and examples, libsystemctlm-soc by default assumes that the SystemC libraries are installed under /usr/local/systemc-2.3.2/

If you are using a different version or have installed the libraries on some other location, you'll need to create a .config.mk file to specify this.

Also, if you used specific c++ flags to build the SystemC libraries, such as manually specifying -std=gnu++17 or something like that, you can specify that in the config files.

Here's an example with SystemC installed under /opt/: SYSTEMC = /opt/systemc-2.3.2

Here's another example with SystemC installed under /opt/ and built with gnu++17. SYSTEMC = /opt/systemc-2.3.2 CXXFLAGS +=-std=gnu++17

How To Embed Into Your Project

This repository contains the code and header files required to connect your SystemC application with Xilinx's QEMU. There are three directories.

 libsystemctlm-soc
  |
  |-zynq
  |  Contains the wrapper files required to interface a Zynq-7000 QEMU model
  |    of the PS with a SystemC model of the PL.
  |-zynqmp
  |  Contains the wrapper files required to interface a ZynqMP QEMU model
  |    of the PS with a SystemC model of the PL.
  |-libremote-port
  |  Contains the communitcation library for Remote-Port (RP) that is used for
  |   inter-simulator communication.

Including in your project

To include this library in your project you can follow the steps below. This assumes that you have cloned this repo in the root direcotry of your project.

See: https://github.com/Xilinx/systemctlm-cosim-demo for an example project using this library.

Include this in your Makefile for Zynq-7000 projects:

  LIBSOC_ZYNQ_PATH=$(LIBSOC_PATH)/zynq
  SC_OBJS += $(LIBSOC_ZYNQ_PATH)/xilinx-zynq.o
  CPPFLAGS += -I $(LIBSOC_ZYNQ_PATH)

Include this in your Makefile for ZynqMP projects:

  LIBSOC_ZYNQMP_PATH=$(LIBSOC_PATH)/zynqmp
  SC_OBJS += $(LIBSOC_ZYNQMP_PATH)/xilinx-zynqmp.o
  CPPFLAGS += -I $(LIBSOC_ZYNQMP_PATH)

Include this in your Makefile for all projects:

 LIBSOC_PATH=libsystemctlm-soc
 CPPFLAGS += -I $(LIBSOC_PATH)

 LIBRP_PATH=$(LIBSOC_PATH)/libremote-port
 C_OBJS += $(LIBRP_PATH)/safeio.o
 C_OBJS += $(LIBRP_PATH)/remote-port-proto.o
 C_OBJS += $(LIBRP_PATH)/remote-port-sk.o
 SC_OBJS += $(LIBRP_PATH)/remote-port-tlm.o
 SC_OBJS += $(LIBRP_PATH)/remote-port-tlm-memory-master.o
 SC_OBJS += $(LIBRP_PATH)/remote-port-tlm-memory-slave.o
 SC_OBJS += $(LIBRP_PATH)/remote-port-tlm-wires.o
 SC_OBJS += $(LIBRP_PATH)/remote-port-tlm-ats.o
 SC_OBJS += $(LIBRP_PATH)/remote-port-tlm-pci-ep.o
 CPPFLAGS += -I $(LIBRP_PATH)

libsystemctlm-soc's People

Contributors

alistair23 avatar edgarigl avatar figlesia-xilinx avatar fkonrad-amd avatar franciscoiglesias avatar kopinions avatar nmoroze avatar saipava avatar tianrui-wei avatar tziyangshao avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

libsystemctlm-soc's Issues

Is it possible to use this library for testing user logic based on the XDMA&QDMA IP Core?

Hi! I'm trying to use this lib for some co-simulation works but I have some questions about its feasibility for my use case.

We have user logic based on XDMA and QDMA, but Xilinx's IP Core is encrypted and can't be simulated with verilator. However, I see that this lib has software interfaces for XDMA and QDMA, so I'm wondering if we can connect our user logic to these software interfaces for simulation purposes? I'm not sure if this is feasible or if there are any potential issues to be aware of. Thank you very much!

Accesing rp_cosim_reserved for user implementation specific featues

I am trying to create a way that my software test can notify the simulator for the Programmable Logic (in my case I use QuestaSim) that it has passed or failed the test.

I notice that the reserved RemotePort in the QEMU-devicetrees are allocated to reserved memory according to the ZYNQ or ZYNQ UltraScale+ TRM.

Zynq devicetree: (https://github.com/Xilinx/qemu-devicetrees/blob/master/zynq-pl-remoteport.dtsi#L146)
/* This area can be used for implentation specific emulation*/ rp_cosim_reserved: rp_cosim_reserved@0{ compatible = "remote-port-memory-master"; remote-ports = <&cosim_rp_0 12>; reg = <0xFE000000 0x100000>; };
Zynq UltraScale devicetree: (https://github.com/Xilinx/qemu-devicetrees/blob/master/zynqmp-pl-remoteport.dtsi#L130)
/* This area can be used for implentation specific emulation*/ rp_cosim_reserved: rp_cosim_reserved@0{ compatible = "remote-port-memory-master"; remote-ports = <&cosim_rp_0 15>; reg = <BASE_ADDR(0xFF4E0000) 0x100000>; };

When trying to write to the reserved memory master (on the Zynq) I notice that my bare metal application(main.c compiled in Vitis 2021.1) stops. And does not continue with the other write transactions. I am wondering if the reserved address are interfering with the RemotePort communication.

I would like to know if this is the correct way to access the reserved memory master for communication with the PL.

The main.c is shown below:

init_platform();
u32 WValue = 0;
u32	RValue = 0;
volatile u32 *Localwriteaddr = (volatile u32*) 0x40000000;
volatile u32 *Localaddr = (volatile u32*) XPAR_GPIO_0_BASEADDR;
volatile u32 *start_gp0 = (volatile u32*) 0x40000000;
volatile u32 *end_gp0 =   (volatile u32*) 0x4ffffffc;
volatile u32 *start_gp1 = (volatile u32*) 0x80000000;
volatile u32 *end_gp1 =   (volatile u32*) 0x8ffffffc;
volatile u32 *start_gp2 = (volatile u32*) 0xfe000000; //Reserved address space, Address for simulation information
volatile u32 *end_gp2 =   (volatile u32*) 0xfe0ffffc;
for(int i = 0; i < 10; i++){
	//Count Write value
	WValue++;
	// Write WValue to localaddr in the PL
	*Localaddr = WValue;
	// Read localaddr in the PL
	RValue = *Localaddr;
	if(i < 5){
		printf("RValue: %lx\n", RValue);
		// xil_printf("RValue: %lx\n", RValue);
	}
	// Shift the RValue 1 byte
	// Write Shifted value to localwriteaddr in PL
	*Localwriteaddr = RValue << 4;
	// Readback the shifted value
	RValue = *Localwriteaddr;
	// Increment the localwrite addr
	Localwriteaddr = Localwriteaddr + 1;
}
*start_gp0 = 10;
*end_gp0 = 1023;
*start_gp1 = 10;
*end_gp1 = 1023;
//Application hangs after reading or write to the *start_gp2 which are reserved address for the user specific implementation features.
*start_gp0 = *start_gp2;
*start_gp2 = 10;
*end_gp2 = 1023;
*start_gp0 = pow(2,32)-1;
*end_gp0 = pow(2,32)-1;
*start_gp1 = pow(2,32)-1;
*end_gp1 = pow(2,32)-1;
cleanup_platform();

Segmentation fault on get_posted() call

When sending tlm_generic_payload through an initiator socket, a segmentation fault happens on get_posted() call. Indeed if genattr does not exist, for instance if get_extension() is not supported, the get_posted() method call is failing.

Code in remote-port-tlm-memory-slave.cc line 136 :

if (genattr->get_posted()) {
    return;
}

Problem can be fixed by testing genattr before :

if (genattr) {
    if (genattr->get_posted()) {
        return;
    }
}

Having error running examples in tri branch

First off, this is an extremely interesting and innovative project. Kudos to the developers!

I was trying to work on tri branch a bit more, hopefully get a bit more integration into Qemu. However, the HEAD of tri branch doesn't seem to work. This commit is a first attempt to make it work. However, there is still a ld error. The exact error message as of now is

eva@eva-virtual-machine:~/libsystemctlm-soc/tests/example-rtl-tri$ make
g++-10 -std=c++14 -MMD -Wall -Wno-strict-overflow -I /usr/local/share/verilator/include -Wno-strict-overflow -Wall -g -I /usr/local/systemc-2.3.2//include/ -I obj_dir -I /include -I ../../ -I ../ -I . -L /usr/local/systemc-2.3.2//lib-linux64 -Wl,-rpath,/usr/local/systemc-2.3.2//lib-linux64 obj_dir/Vsystem__ALL.a obj_dir/Vaxifull_dev__ALL.a example-rtl-tri.o obj_dir/verilated.o ../test-modules/memory.o -pthread -lsystemc -o example-rtl-tri
example-rtl-tri.o: In function Top::Top(sc_core::sc_module_name)': /home/eva/libsystemctlm-soc/tests/example-rtl-tri/example-rtl-tri.cc:182: undefined reference to Vsystem::Vsystem(sc_core::sc_module_name)'
/home/eva/libsystemctlm-soc/tests/example-rtl-tri/example-rtl-tri.cc:182: undefined reference to Vsystem::~Vsystem()' example-rtl-tri.o: In function Top::~Top()':
/home/eva/libsystemctlm-soc/tests/example-rtl-tri/example-rtl-tri.cc:100: undefined reference to `Vsystem::~Vsystem()'
collect2: error: ld returned 1 exit status
Makefile:72: recipe for target 'example-rtl-tri' failed
make: *** [example-rtl-tri] Error 1

There were a bunches of errors rejected by Verilator before the commit also. I was wondering if you could tell me a bit more about the state of this branch?

My environments:
OS: Ubuntu 18.04
Verilator: 4.108
System C: 2.32

Missing ../.config.mk file

The file libsystemctlm-soc/tests/Makefile makes a call to ../.config.mk, which is missing in the git repo. README does not specify adding an empty file as mandatory.

Would help on-ramp if the examples ran out of the box without the need to manually add/edit an in tree file. (file is being filtered in .gitignore)

pc-axilite.h handshakes naming error

There is a problem with naming of signals (duplicate of check-axilite-reset):

m_check_axilite_handshakes("check-axilite-reset", this),

where it should be renamed to:

m_check_axilite_handshakes("check-axilite-handshakes", this),

This results in runtime warning from SystemC (2.3.2 compiled with g++9):

Warning: (W505) object already exists: top.checker.check-axilite-reset. Latter declaration will be renamed to top.checker.check-axilite-reset_0
In file: kernel/sc_object_manager.cpp:153

bugs for the GetWriteToSNDone() check in ProcessResp_SN

Hi sir,
I found there may a bug in the ProcessResp_SN @L2663,
because SetWriteToSNDone is called in two place:
1. req->SetWriteToSNDone(true); @L2653
2. req->SetWriteToSNDone(true); @L2694 which will never be called, because the code only run to L2694 when the return value of GetWriteToSNDone() is already true !

so the condition @ L2663 can only be true because the code ran to L2653 ever

but the code can only run to L2653 when the Comp from SN has already received which is when both condition below are true

  1. (rsp.IsCompDBIDResp() || rsp.IsDBIDResp()) @L2609
  2. (rsp.IsCompDBIDResp() || req->GetCompSNReceived()) @ L2622

so when the Comp from RN aready is reveived by INC, it will never be reveived again , so the branch if (req->GetWriteToSNDone()) @L2663 seems useless !

if (req->GetWriteToSNDone()) {

axi2tlm_bridge: compile error on Cadence Xcelium

Xcelium reports C++ type dismatch at code:

// file: axi2tlm-bridge.h  line:413

			for (; i < DATA_BUS_BYTES && m_dataIdx < m_gp->get_data_length(); i++) {
				if (wstrb.read().bit(i)) {
					............
			}

changed to :

			for (; i < DATA_BUS_BYTES && m_dataIdx < m_gp->get_data_length(); i++) {
				if (wstrb.read().bit(i).to_bool()) {
					.............
			}

axi2tlm-bridge: wrong byte enable

// file axi2tlm-bridge.h

// wrong byte enable assignment and m_dataIdx increment

			for (; i < DATA_BUS_BYTES && m_dataIdx < m_gp->get_data_length(); i++) {
				if (wstrb.read().bit(i)) {
					int firstbit = i * 8;
					int lastbit = firstbit + 8 - 1;

					assert(m_dataIdx < m_gp->get_data_length());
					be[m_dataIdx] = TLM_BYTE_ENABLED;
					gp_data[m_dataIdx++] =
						wdata.read().range(lastbit, firstbit).to_uint();
				} else {
					be[m_dataIdx++] = TLM_BYTE_DISABLED;
				}
			}

refdesign-sim demo fails on Error: SIGNALS:: Unable to connect top.pcie_bridge.signals-master-tieoff_0.awvalid

Hello,
I'm trying to run the refdesign-sim demo, connecting to the Xilinx QEMU VM. The QEMU is running and waiting for connection:

(qemu) device_add remote-port-pci-adaptor,bus=rootport1,id=rp0
Failed to connect to 'machine-x86/qemu-rport-_machine_peripheral_rp0_rp': Connection refused
info: QEMU waiting for connection on: disconnected:unix:machine-x86/qemu-rport-_machine_peripheral_rp0_rp,server=on

The host is:
g++ --version g++ (Ubuntu 11.3.0-1ubuntu1~22.04.1) 11.3.0

 > verilator --version
Verilator 4.038 2020-07-11 rev v4.036-114-g0cd4a57ad

SystemC 2.3.3

 > ldd tests/rtl-bridges/pcie/refdesign-sim
        linux-vdso.so.1 (0x00007ffd663da000)
        libsystemc-2.3.3.so => /lib/x86_64-linux-gnu/libsystemc-2.3.3.so (0x00007fc0d02df000)

I get a strange error when running refdesign-sim on the host:

> sudo ./refdesign-sim unix:machine-x86/qemu-rport-_machine_peripheral_rp0_rp 1000
        SystemC 2.3.3-Accellera --- Mar 17 2022 13:55:26
        Copyright (c) 1996-2018 by all Contributors,
        ALL RIGHTS RESERVED

Error: SIGNALS:: Unable to connect top.pcie_bridge.signals-master-tieoff_0.awvalid
In file: ../../test-modules/signals-common.h:97

After some debug it appears this is from this line: refdesign-sim.cc

108                         snprintf(pname, sizeof(pname) - 1, "m_axi_usr_%d_", bi);
109                         signals_m_tieoff[i].connect(ep_bridge, pname);

Where the verilated ep_bridge module (Vpcie_ep) seems to only return some generic port names for its child objects, which leads to this error.
For example, I print all child object names returned in the signal_find_child function, and the names are all of the form:
port_0
port_1
port_2
etc...

Looking at the Vpcie_ep.cpp/h files, and the module appears to have the correct SC ports, which should match with the refdesign-sim.cc code, if ep_bridge children returned the names of the SC module port variables.
Example: tests/rtl-bridges/pcie/obj_dir/Vpcie_ep.h, these should match the connections made in refdesign-sim.cc

   37     // PORTS
   38     // The application code writes and reads these signals to
   39     // propagate new values into/out from the Verilated model.
   40     sc_in<bool> clk;
   41     sc_in<bool> resetn;
   42     sc_out<bool> usr_resetn;
   43     sc_in<bool> s_axi_pcie_m0_awvalid;
   44     sc_out<bool> s_axi_pcie_m0_awready;
   45     sc_in<bool> s_axi_pcie_m0_wvalid;
   46     sc_out<bool> s_axi_pcie_m0_wready;
   47     sc_out<bool> s_axi_pcie_m0_bvalid;

Any ideas why the child names in ep_bridge are not matching, and seem to be generic port+number, such as 'port_0' etc..?

remote-port-tlm-memory-slave mode read and write question

Hi
I am sorry, I have a question about slave mode' reading and writing. when muti-slave write package in same time. because we send socket package which is splitted in two. fristly, writing package header, secondly writing data. I got it from "remote-port-tlm-memory-slave.cc" line 127-130. So I am strange about this. if A process complete sending package header of itself. but B process send it's package header in behind of A process. After B process compete sending package header, A begin to send data. After B send it's data. So how identfy the whole A's package in QEMU receiver. becasue the package order is disrupt.

Integration in behavioral/RTL simulation through Vivado

Hello.

I have been using LibSystemCTLM-SoC to cosimulate my Zynq designs for behavioral/RTL simulations.

I use generated simulation scripts and files from Vivado and replace the "processing_system7_0_0" entity during elaboration (which normally is the Zynq Verification IP) by a custom made generic Zynq wrapper built around LibSystemCTLM-SoC and the TLM bridges.
This allows me to CoSimulate the entire system with QuestaSim and QEMU.
This required however to create several wrappers and scripts, especially to get all the parameters for the Zynq processing system (which ports are enabled, what are the width of the AXI ports etc.) as well as the creation of a specific SystemC Zynq model to instantiate all the ports to communicate with QEMU through remote port and convert the TLM transactions to AXI (Master/Slave) using the TLM bridges from LibSystemCTLM-SoC.

This works well but results in a rather large extra set of files and relies on home-made scripts (which will extract the parameters automatically from the IP files etc.). to configure everything.

It seems there could be some support in Vivado for automating this, but I could not find any documentation.
In a Vivado project with a Zynq PS there are the following files under :
project/project.srcs/sources_1/bd/block_design_name_bd/ip/block_design_name_bd_processing_system7_0_0/sim/

  • block_design_name_bd_processing_system7_0_0.sv
  • block_design_name_bd_processing_system7_0_0.v
  • libremoteport.so

So there seems to be a SystemVerilog entity which uses Remote Port and TLM through the DPI.
Can this entity be used for co-simulation in any way ? Is there any documentation ? libremoteport.so offers functions to synchronize with QEMU as well as read and write remote port commands (very similar to https://github.com/Xilinx/libsystemctlm-soc/blob/master/libremote-port/remote-port-tlm.cc) however I did not find any documentation as to how to set this up. Is there any ?

LibSystemCTLM-SoC provides everything to create a "drop-in" replacement for the Zynq PS VIP used in simulation under Vivado which would allow to CoSimulate everything, is there anything provided here by Xilinx to launch such a simulation ?

Thank you for your time.

Getting errors while building RTL-bridges ACE example

There is a problem with building examples for RTL modules.

I'm currently working on docker, which means every package needed is installed properly.

$ cd tests/
$ make examples-run

Thus this works fine and I could get a vcd result.

However, what I want to do is test ACE RTL modules, so I tried

$ make all

but it gave me result like this.

make[1]: *** [Makefile:100: obj_dir/Vace_mst__ALL.a] Error 255
make[1]: Leaving directory '/home/builder/sources/libsystemctlm-soc/tests/rtl-bridges/ace'
make: *** [Makefile:62: rtl-bridges/ace] Error 2

I also tried this at Ubuntu 18.04 and it still works fine with "make examples-run", and gets errors with "make all".
In this case, errors are like this.

make[1]: *** [ace-mst-test.o] Error 1
make[1]: Leaving directory '/home/soc/posh-rtl-birdges-refdesigns/libsystemctlm-soc/tests/rtl-bridges/ace'
Makefile:62: recipe for traget 'rtl-bridges/ace' failed
make: *** [rtl-bridges/ace] Error 2

Thanks.

setting m_gotRspSepData=true in HandleRxDat result in TLM_GENERIC_ERROR_RESPONSE?

Hi sir:
I am trying to integrated the chi here into a system, while I readed the implementation of the chi protocol , I found for a read transaction with seperate response (which is RespSepData and DataSepResp), if the DataSepResp comes first and we get all the data the transaction requested , the m_gotRspSepData will be set to true in HandleRxDat.
this may result in a TLM_GENERIC_ERROR_RESPONSE response when the RespSepData came sometime later after the DataSepResp in cache_chi::b_transport_rxrsp ?

m_gotRspSepData = true;

virtual void b_transport_rxrsp(tlm::tlm_generic_payload& trans, sc_time& delay)

       {
               trans.set_response_status(tlm::TLM_GENERIC_ERROR_RESPONSE);
                .....
		ret = t->HandleRxRsp(trans, chiattr);           // return false.  see the comment blow

		m_transmitter.Process(t);
	}
       // false here,  so the trans respoonse will he TLM_GENERIC_ERROR_RESPONSE 
       //  which is set at the first line of  b_transport_rxrsp
	if (ret) {                               
		trans.set_response_status(      
			tlm::TLM_OK_RESPONSE);
	}

blocking the the whole processing thread when there is a hazard ?

Hi sir:
I learned the flow of the chi inter-connect and found that the thread RequestOrderer::req_ordering_thread
will be blocked when there is a hazard for a cache line(a ongoing request for a cacheline, and a incoming request for the same cache line).
but theoretically, the request to a diffrent cache line can be handled and be processed nomally, but in the current implementation, the request to a diffrent line is also blocked! because the RequestOrderer::req_ordering_thread only be waked up when the hazard request is done. is my understanding right ?

wait(m_removeEvent);

make examples-run fails with missing tlm-bridges/umi.h

@ 42aa8ed , following the Quickstart instructions in README.md after successfully cloning submodules:

cd tests/
make examples-run

gives:

make[2]: Entering directory '/home/user/libsystemctlm-soc/tests/example-rtl-umi/obj_dir'
g++  -I.  -MMD -I/usr/share/verilator/include -I/usr/share/verilator/include/vltstd -DVM_COVERAGE=0 -DVM_SC=1 -DVM_TRACE=1 -DVM_TRACE_FST=0 -DVM_TRACE_VCD=1 -faligned-new -fcf-protection=none -Wno-bool-operation -Wno-sign-compare -Wno-uninitialized -Wno-unused-but-set-variable -Wno-unused-parameter -Wno-unused-variable -Wno-shadow     -I /home/user/systemc-2.3.4/include/ -I ../../../ -I ../../ -I .     -Os -c -o example-rtl-umi.o ../example-rtl-umi.cc
In file included from ../example-rtl-umi.cc:24:
../../../tlm-bridges/tlm2umi-bridge.h:15:10: fatal error: tlm-bridges/umi.h: No such file or directory
   15 | #include "tlm-bridges/umi.h"
      |          ^~~~~~~~~~~~~~~~~~~
compilation terminated.

I'm not sure where umi.h should come from.

How to solve the problem related to the version of dependencies

Hi,

I have a little problem. when I install and run this program.

There are what I installed below.

Ubuntu > 14.04
GCC > 5.5.0
G++ > 5.5.0
verilator > 3.856
SystemC > 2.3.0

I think that installation was success without any error.
However i can not complete to compile test-example.
e.g.)pwd: libsystemctlm-soc/tests/rtl-bridge/ace/

when i install systemc, i don't type any complie option such as -std=c++11.
so, i don't add any complie option when compile test-example, either.

there is the log, when i type "make"

No compile option

soc@ace$ make
g++ -MMD -Wall -Wno-strict-overflow -Wall -O3 -g -I /usr/local/systemc-2.3.0//include/ -DVM_TRACE=1 -I obj_dir -I /usr/share/verilator/include -I ../../../ -I ../../ -I . -I. -MMD -I/usr/share/verilator/include -I/usr/share/verilator/include/vltstd -DVL_PRINTF=printf -DVM_TRACE=1 -DVM_COVERAGE=0 -c -o ace-slv-test.o ace-slv-test.cc
In file included from ../../../traffic-generators/tg-tlm.h:39:0,
from ace-slv-test.cc:41:
../../../traffic-generators/data-transfer.h:74:3: warning: identifier ‘nullptr’ is a keyword in C++11 [-Wc++0x-compat]
data(nullptr),
^
../../../traffic-generators/data-transfer.h:30:9: warning: scoped enums only available with -std=c++11 or -std=gnu++11
enum : uint32_t {
^
../../../traffic-generators/data-transfer.h:86:27: error: expected ‘,’ or ‘...’ before ‘&&’ token
DataTransfer(DataTransfer&& other) :
^
../../../traffic-generators/data-transfer.h:86:35: error: invalid constructor; you probably meant ‘DataTransfer (const DataTransfer&)’
DataTransfer(DataTransfer&& other) :
^
../../../traffic-generators/data-transfer.h: In constructor ‘DataTransfer::DataTransfer(bool)’:
../../../traffic-generators/data-transfer.h:74:8: error: ‘nullptr’ was not declared in this scope
data(nullptr),
^
../../../traffic-generators/data-transfer.h:82:19: warning: extended initializer lists only available with -std=c++11 or -std=gnu++11
ext.gen_attr = {};
^
../../../traffic-generators/data-transfer.h:82:16: warning: extended initializer lists only available with -std=c++11 or -std=gnu++11
ext.gen_attr = {};
^
../../../traffic-generators/data-transfer.h: In copy constructor ‘DataTransfer::DataTransfer(const DataTransfer&)’:
../../../traffic-generators/data-transfer.h:167:8: error: ‘nullptr’ was not declared in this scope
data(nullptr),
^
In file included from ace-slv-test.cc:41:0:
../../../traffic-generators/tg-tlm.h: At global scope:
../../../traffic-generators/tg-tlm.h:100:24: error: expected ‘,’ or ‘...’ before ‘&&’ token
ThreadData(ThreadData&& d) :
^
../../../traffic-generators/tg-tlm.h:100:28: error: invalid constructor; you probably meant ‘TLMTrafficGenerator::ThreadData (const TLMTrafficGenerator::ThreadData&)’
ThreadData(ThreadData&& d) :
^
../../../traffic-generators/tg-tlm.h: In member function ‘void TLMTrafficGenerator::run()’:
../../../traffic-generators/tg-tlm.h:165:8: warning: ‘auto’ changes meaning in C++11; please remove it [-Wc++0x-compat]
for (auto& td : m_tData) {
^
../../../traffic-generators/tg-tlm.h:165:14: error: ISO C++ forbids declaration of ‘td’ with no type [-fpermissive]
for (auto& td : m_tData) {
^
../../../traffic-generators/tg-tlm.h:165:19: warning: range-based ‘for’ loops only available with -std=c++11 or -std=gnu++11
for (auto& td : m_tData) {
^
../../../traffic-generators/tg-tlm.h: In member function ‘void TLMTrafficGenerator::generate(ITrafficDesc*)’:
../../../traffic-generators/tg-tlm.h:218:31: error: ‘nullptr’ was not declared in this scope
trans.set_byte_enable_ptr(nullptr);
^
In file included from ace-slv-test.cc:42:0:
../../../traffic-generators/traffic-desc.h: At global scope:
../../../traffic-generators/traffic-desc.h:37:29: error: expected ‘,’ or ‘...’ before ‘&&’ token
TrafficDesc(DataTransferVec&& transfers) :
^
../../../traffic-generators/traffic-desc.h: In constructor ‘TrafficDesc::TrafficDesc(DataTransferVec)’:
../../../traffic-generators/traffic-desc.h:38:15: error: ‘transfers’ was not declared in this scope
m_transfers(transfers),
^
In file included from ace-slv-test.cc:43:0:
../../../traffic-generators/random-traffic.h: In member function ‘virtual unsigned char* RandomTraffic::getByteEnable()’:
../../../traffic-generators/random-traffic.h:139:36: error: ‘nullptr’ was not declared in this scope
return be_len ? m_byte_enables : nullptr;
^
../../../traffic-generators/random-traffic.h: In member function ‘virtual unsigned char* RandomTraffic::getExpect()’:
../../../traffic-generators/random-traffic.h:155:46: error: ‘nullptr’ was not declared in this scope
virtual unsigned char getExpect() { return nullptr; }
^
In file included from ace-slv-test.cc:52:0:
../../test-modules/signals-axi.h: At global scope:
../../test-modules/signals-axi.h:48:19: warning: ‘>>’ operator is treated as two right angle brackets in C++11 [-Wc++0x-compat]
sc_signal<sc_bv<3>> awprot;
^
../../test-modules/signals-axi.h:48:19: note: suggest parentheses around ‘>>’ expression
../../test-modules/signals-axi.h:48:22: error: ‘uint8_t RTL::AMBA::ACE::awprot(uint32_t)’ cannot appear in a constant-expression
sc_signal<sc_bv<3>> awprot;
^
../../test-modules/signals-axi.h:48:22: error: template argument 1 is invalid
../../test-modules/signals-axi.h:48:12: error: template argument 1 is invalid
sc_signal<sc_bv<3>> awprot;
^
../../test-modules/signals-axi.h:50:19: warning: ‘>>’ operator is treated as two right angle brackets in C++11 [-Wc++0x-compat]
sc_signal<sc_bv<4>> awregion;
^
../../test-modules/signals-axi.h:50:19: note: suggest parentheses around ‘>>’ expression
../../test-modules/signals-axi.h:50:22: error: ‘uint8_t RTL::AMBA::ACE::awregion(uint32_t)’ cannot appear in a constant-expression
sc_signal<sc_bv<4>> awregion;
^
../../test-modules/signals-axi.h:50:22: error: template argument 1 is invalid
../../test-modules/signals-axi.h:50:12: error: template argument 1 is invalid
sc_signal<sc_bv<4>> awregion;
^
../../test-modules/signals-axi.h:51:19: warning: ‘>>’ operator is treated as two right angle brackets in C++11 [-Wc++0x-compat]
sc_signal<sc_bv<4>> awqos;
^
../../test-modules/signals-axi.h:51:19: note: suggest parentheses around ‘>>’ expression
../../test-modules/signals-axi.h:51:22: error: ‘uint8_t RTL::AMBA::ACE::awqos(uint32_t)’ cannot appear in a constant-expression
sc_signal<sc_bv<4>> awqos;
^
../../test-modules/signals-axi.h:51:22: error: template argument 1 is invalid
../../test-modules/signals-axi.h:51:12: error: template argument 1 is invalid
sc_signal<sc_bv<4>> awqos;
^
../../test-modules/signals-axi.h:52:19: warning: ‘>>’ operator is treated as two right angle brackets in C++11 [-Wc++0x-compat]
sc_signal<sc_bv<4>> awcache;
^
../../test-modules/signals-axi.h:52:19: note: suggest parentheses around ‘>>’ expression
../../test-modules/signals-axi.h:52:22: error: ‘uint8_t RTL::AMBA::ACE::awcache(uint32_t)’ cannot appear in a constant-expression
sc_signal<sc_bv<4>> awcache;
^
../../test-modules/signals-axi.h:52:22: error: template argument 1 is invalid
../../test-modules/signals-axi.h:52:12: error: template argument 1 is invalid
sc_signal<sc_bv<4>> awcache;
^
../../test-modules/signals-axi.h:53:19: warning: ‘>>’ operator is treated as two right angle brackets in C++11 [-Wc++0x-compat]
sc_signal<sc_bv<2>> awburst;
^
../../test-modules/signals-axi.h:53:19: note: suggest parentheses around ‘>>’ expression
../../test-modules/signals-axi.h:53:22: error: ‘uint8_t RTL::AMBA::ACE::awburst(uint32_t)’ cannot appear in a constant-expression
sc_signal<sc_bv<2>> awburst;
^
../../test-modules/signals-axi.h:53:22: error: template argument 1 is invalid
../../test-modules/signals-axi.h:53:12: error: template argument 1 is invalid
sc_signal<sc_bv<2>> awburst;
^
../../test-modules/signals-axi.h:54:19: warning: ‘>>’ operator is treated as two right angle brackets in C++11 [-Wc++0x-compat]
sc_signal<sc_bv<3>> awsize;
^
../../test-modules/signals-axi.h:54:19: note: suggest parentheses around ‘>>’ expression
../../test-modules/signals-axi.h:54:22: error: ‘awsize’ was not declared in this scope
sc_signal<sc_bv<3>> awsize;
^
../../test-modules/signals-axi.h:54:22: error: template argument 1 is invalid
../../test-modules/signals-axi.h:54:12: error: template argument 1 is invalid
sc_signal<sc_bv<3>> awsize;
^
../../test-modules/signals-axi.h: In member function ‘void AXISignals<ADDR_WIDTH, DATA_WIDTH, ID_WIDTH, AxLEN_WIDTH, AxLOCK_WIDTH, AWUSER_WIDTH, ARUSER_WIDTH, WUSER_WIDTH, RUSER_WIDTH, BUSER_WIDTH>::connect(T&, const char
)’:
../../test-modules/signals-axi.h:111:32: error: ‘awsize’ was not declared in this scope
signal_connect(&dev, prefix, awsize);
^
../../test-modules/signals-axi.h: In member function ‘void AXISignals<ADDR_WIDTH, DATA_WIDTH, ID_WIDTH, AxLEN_WIDTH, AxLOCK_WIDTH, AWUSER_WIDTH, ARUSER_WIDTH, WUSER_WIDTH, RUSER_WIDTH, BUSER_WIDTH>::connect(T*)’:
../../test-modules/signals-axi.h:171:16: error: ‘awsize’ was not declared in this scope
dev->awsize(awsize);
^
../../test-modules/signals-axi.h: In member function ‘void AXISignals<ADDR_WIDTH, DATA_WIDTH, ID_WIDTH, AxLEN_WIDTH, AxLOCK_WIDTH, AWUSER_WIDTH, ARUSER_WIDTH, WUSER_WIDTH, RUSER_WIDTH, BUSER_WIDTH>::Trace(sc_core::sc_trace_file*)’:
../../test-modules/signals-axi.h:245:30: error: request for member ‘name’ in ‘RTL::AMBA::ACE::awprot’, which is of non-class type ‘uint8_t(uint32_t) {aka unsigned char(unsigned int)}’
sc_trace(f, awprot, awprot.name());
^
../../test-modules/signals-axi.h:247:34: error: request for member ‘name’ in ‘RTL::AMBA::ACE::awregion’, which is of non-class type ‘uint8_t(uint32_t) {aka unsigned char(unsigned int)}’
sc_trace(f, awregion, awregion.name());
^
../../test-modules/signals-axi.h:248:28: error: request for member ‘name’ in ‘RTL::AMBA::ACE::awqos’, which is of non-class type ‘uint8_t(uint32_t) {aka unsigned char(unsigned int)}’
sc_trace(f, awqos, awqos.name());
^
../../test-modules/signals-axi.h:249:32: error: request for member ‘name’ in ‘RTL::AMBA::ACE::awcache’, which is of non-class type ‘uint8_t(uint32_t) {aka unsigned char(unsigned int)}’
sc_trace(f, awcache, awcache.name());
^
../../test-modules/signals-axi.h:250:32: error: request for member ‘name’ in ‘RTL::AMBA::ACE::awburst’, which is of non-class type ‘uint8_t(uint32_t) {aka unsigned char(unsigned int)}’
sc_trace(f, awburst, awburst.name());
^
../../test-modules/signals-axi.h:251:15: error: ‘awsize’ was not declared in this scope
sc_trace(f, awsize, awsize.name());
^
../../test-modules/signals-axi.h: In constructor ‘AXISignals<ADDR_WIDTH, DATA_WIDTH, ID_WIDTH, AxLEN_WIDTH, AxLOCK_WIDTH, AWUSER_WIDTH, ARUSER_WIDTH, WUSER_WIDTH, RUSER_WIDTH, BUSER_WIDTH>::AXISignals(sc_core::sc_module_name, AXIVersion)’:
../../test-modules/signals-axi.h:308:3: error: class ‘AXISignals<ADDR_WIDTH, DATA_WIDTH, ID_WIDTH, AxLEN_WIDTH, AxLOCK_WIDTH, AWUSER_WIDTH, ARUSER_WIDTH, WUSER_WIDTH, RUSER_WIDTH, BUSER_WIDTH>’ does not have any field named ‘awprot’
awprot("awprot"),
^
../../test-modules/signals-axi.h:310:3: error: class ‘AXISignals<ADDR_WIDTH, DATA_WIDTH, ID_WIDTH, AxLEN_WIDTH, AxLOCK_WIDTH, AWUSER_WIDTH, ARUSER_WIDTH, WUSER_WIDTH, RUSER_WIDTH, BUSER_WIDTH>’ does not have any field named ‘awregion’
awregion("awregion"),
^
../../test-modules/signals-axi.h:311:3: error: class ‘AXISignals<ADDR_WIDTH, DATA_WIDTH, ID_WIDTH, AxLEN_WIDTH, AxLOCK_WIDTH, AWUSER_WIDTH, ARUSER_WIDTH, WUSER_WIDTH, RUSER_WIDTH, BUSER_WIDTH>’ does not have any field named ‘awqos’
awqos("awqos"),
^
../../test-modules/signals-axi.h:312:3: error: class ‘AXISignals<ADDR_WIDTH, DATA_WIDTH, ID_WIDTH, AxLEN_WIDTH, AxLOCK_WIDTH, AWUSER_WIDTH, ARUSER_WIDTH, WUSER_WIDTH, RUSER_WIDTH, BUSER_WIDTH>’ does not have any field named ‘awcache’
awcache("awcache"),
^
../../test-modules/signals-axi.h:313:3: error: class ‘AXISignals<ADDR_WIDTH, DATA_WIDTH, ID_WIDTH, AxLEN_WIDTH, AxLOCK_WIDTH, AWUSER_WIDTH, ARUSER_WIDTH, WUSER_WIDTH, RUSER_WIDTH, BUSER_WIDTH>’ does not have any field named ‘awburst’
awburst("awburst"),
^
../../test-modules/signals-axi.h:314:3: error: class ‘AXISignals<ADDR_WIDTH, DATA_WIDTH, ID_WIDTH, AxLEN_WIDTH, AxLOCK_WIDTH, AWUSER_WIDTH, ARUSER_WIDTH, WUSER_WIDTH, RUSER_WIDTH, BUSER_WIDTH>’ does not have any field named ‘awsize’
awsize("awsize"),
^
In file included from ace-slv-test.cc:53:0:
../../test-modules/signals-ace.h: At global scope:
../../test-modules/signals-ace.h:49:19: warning: ‘>>’ operator is treated as two right angle brackets in C++11 [-Wc++0x-compat]
sc_signal<sc_bv<3>> awprot;
^
../../test-modules/signals-ace.h:49:19: note: suggest parentheses around ‘>>’ expression
../../test-modules/signals-ace.h:49:22: error: ‘uint8_t RTL::AMBA::ACE::awprot(uint32_t)’ cannot appear in a constant-expression
sc_signal<sc_bv<3>> awprot;
^
../../test-modules/signals-ace.h:49:22: error: template argument 1 is invalid
../../test-modules/signals-ace.h:49:12: error: template argument 1 is invalid
sc_signal<sc_bv<3>> awprot;
^
../../test-modules/signals-ace.h:51:19: warning: ‘>>’ operator is treated as two right angle brackets in C++11 [-Wc++0x-compat]
sc_signal<sc_bv<4>> awregion;
^
../../test-modules/signals-ace.h:51:19: note: suggest parentheses around ‘>>’ expression
../../test-modules/signals-ace.h:51:22: error: ‘uint8_t RTL::AMBA::ACE::awregion(uint32_t)’ cannot appear in a constant-expression
sc_signal<sc_bv<4>> awregion;
^
../../test-modules/signals-ace.h:51:22: error: template argument 1 is invalid
../../test-modules/signals-ace.h:51:12: error: template argument 1 is invalid
sc_signal<sc_bv<4>> awregion;
^
../../test-modules/signals-ace.h:52:19: warning: ‘>>’ operator is treated as two right angle brackets in C++11 [-Wc++0x-compat]
sc_signal<sc_bv<4>> awqos;
^
../../test-modules/signals-ace.h:52:19: note: suggest parentheses around ‘>>’ expression
../../test-modules/signals-ace.h:52:22: error: ‘uint8_t RTL::AMBA::ACE::awqos(uint32_t)’ cannot appear in a constant-expression
sc_signal<sc_bv<4>> awqos;
^
../../test-modules/signals-ace.h:52:22: error: template argument 1 is invalid
../../test-modules/signals-ace.h:52:12: error: template argument 1 is invalid
sc_signal<sc_bv<4>> awqos;
^
../../test-modules/signals-ace.h:53:19: warning: ‘>>’ operator is treated as two right angle brackets in C++11 [-Wc++0x-compat]
sc_signal<sc_bv<4>> awcache;
^
../../test-modules/signals-ace.h:53:19: note: suggest parentheses around ‘>>’ expression
../../test-modules/signals-ace.h:53:22: error: ‘uint8_t RTL::AMBA::ACE::awcache(uint32_t)’ cannot appear in a constant-expression
sc_signal<sc_bv<4>> awcache;
^
../../test-modules/signals-ace.h:53:22: error: template argument 1 is invalid
../../test-modules/signals-ace.h:53:12: error: template argument 1 is invalid
sc_signal<sc_bv<4>> awcache;
^
../../test-modules/signals-ace.h:54:19: warning: ‘>>’ operator is treated as two right angle brackets in C++11 [-Wc++0x-compat]
sc_signal<sc_bv<2>> awburst;
^
../../test-modules/signals-ace.h:54:19: note: suggest parentheses around ‘>>’ expression
../../test-modules/signals-ace.h:54:22: error: ‘uint8_t RTL::AMBA::ACE::awburst(uint32_t)’ cannot appear in a constant-expression
sc_signal<sc_bv<2>> awburst;
^
../../test-modules/signals-ace.h:54:22: error: template argument 1 is invalid
../../test-modules/signals-ace.h:54:12: error: template argument 1 is invalid
sc_signal<sc_bv<2>> awburst;
^
../../test-modules/signals-ace.h:55:19: warning: ‘>>’ operator is treated as two right angle brackets in C++11 [-Wc++0x-compat]
sc_signal<sc_bv<3>> awsize;
^
../../test-modules/signals-ace.h:55:19: note: suggest parentheses around ‘>>’ expression
../../test-modules/signals-ace.h:55:22: error: ‘awsize’ was not declared in this scope
sc_signal<sc_bv<3>> awsize;
^
../../test-modules/signals-ace.h:55:22: error: template argument 1 is invalid
../../test-modules/signals-ace.h:55:12: error: template argument 1 is invalid
sc_signal<sc_bv<3>> awsize;
^
../../test-modules/signals-ace.h: In member function ‘void ACESignals<ADDR_WIDTH, DATA_WIDTH, ID_WIDTH, AxLEN_WIDTH, AxLOCK_WIDTH, AWUSER_WIDTH, ARUSER_WIDTH, WUSER_WIDTH, RUSER_WIDTH, BUSER_WIDTH, CD_DATA_WIDTH>::connect(T*)’:
../../test-modules/signals-ace.h:142:15: error: ‘awsize’ was not declared in this scope
dev->awsize(awsize);
^
../../test-modules/signals-ace.h: In member function ‘void ACESignals<ADDR_WIDTH, DATA_WIDTH, ID_WIDTH, AxLEN_WIDTH, AxLOCK_WIDTH, AWUSER_WIDTH, ARUSER_WIDTH, WUSER_WIDTH, RUSER_WIDTH, BUSER_WIDTH, CD_DATA_WIDTH>::Trace(sc_core::sc_trace_file*)’:
../../test-modules/signals-ace.h:230:30: error: request for member ‘name’ in ‘RTL::AMBA::ACE::awprot’, which is of non-class type ‘uint8_t(uint32_t) {aka unsigned char(unsigned int)}’
sc_trace(f, awprot, awprot.name());
^
../../test-modules/signals-ace.h:232:34: error: request for member ‘name’ in ‘RTL::AMBA::ACE::awregion’, which is of non-class type ‘uint8_t(uint32_t) {aka unsigned char(unsigned int)}’
sc_trace(f, awregion, awregion.name());
^
../../test-modules/signals-ace.h:233:28: error: request for member ‘name’ in ‘RTL::AMBA::ACE::awqos’, which is of non-class type ‘uint8_t(uint32_t) {aka unsigned char(unsigned int)}’
sc_trace(f, awqos, awqos.name());
^
../../test-modules/signals-ace.h:234:32: error: request for member ‘name’ in ‘RTL::AMBA::ACE::awcache’, which is of non-class type ‘uint8_t(uint32_t) {aka unsigned char(unsigned int)}’
sc_trace(f, awcache, awcache.name());
^
../../test-modules/signals-ace.h:235:32: error: request for member ‘name’ in ‘RTL::AMBA::ACE::awburst’, which is of non-class type ‘uint8_t(uint32_t) {aka unsigned char(unsigned int)}’
sc_trace(f, awburst, awburst.name());
^
../../test-modules/signals-ace.h:236:15: error: ‘awsize’ was not declared in this scope
sc_trace(f, awsize, awsize.name());
^
../../test-modules/signals-ace.h: In constructor ‘ACESignals<ADDR_WIDTH, DATA_WIDTH, ID_WIDTH, AxLEN_WIDTH, AxLOCK_WIDTH, AWUSER_WIDTH, ARUSER_WIDTH, WUSER_WIDTH, RUSER_WIDTH, BUSER_WIDTH, CD_DATA_WIDTH>::ACESignals(sc_core::sc_module_name)’:
../../test-modules/signals-ace.h:320:3: error: class ‘ACESignals<ADDR_WIDTH, DATA_WIDTH, ID_WIDTH, AxLEN_WIDTH, AxLOCK_WIDTH, AWUSER_WIDTH, ARUSER_WIDTH, WUSER_WIDTH, RUSER_WIDTH, BUSER_WIDTH, CD_DATA_WIDTH>’ does not have any field named ‘awprot’
awprot("awprot"),
^
../../test-modules/signals-ace.h:322:3: error: class ‘ACESignals<ADDR_WIDTH, DATA_WIDTH, ID_WIDTH, AxLEN_WIDTH, AxLOCK_WIDTH, AWUSER_WIDTH, ARUSER_WIDTH, WUSER_WIDTH, RUSER_WIDTH, BUSER_WIDTH, CD_DATA_WIDTH>’ does not have any field named ‘awregion’
awregion("awregion"),
^
../../test-modules/signals-ace.h:323:3: error: class ‘ACESignals<ADDR_WIDTH, DATA_WIDTH, ID_WIDTH, AxLEN_WIDTH, AxLOCK_WIDTH, AWUSER_WIDTH, ARUSER_WIDTH, WUSER_WIDTH, RUSER_WIDTH, BUSER_WIDTH, CD_DATA_WIDTH>’ does not have any field named ‘awqos’
awqos("awqos"),
^
../../test-modules/signals-ace.h:324:3: error: class ‘ACESignals<ADDR_WIDTH, DATA_WIDTH, ID_WIDTH, AxLEN_WIDTH, AxLOCK_WIDTH, AWUSER_WIDTH, ARUSER_WIDTH, WUSER_WIDTH, RUSER_WIDTH, BUSER_WIDTH, CD_DATA_WIDTH>’ does not have any field named ‘awcache’
awcache("awcache"),
^
../../test-modules/signals-ace.h:325:3: error: class ‘ACESignals<ADDR_WIDTH, DATA_WIDTH, ID_WIDTH, AxLEN_WIDTH, AxLOCK_WIDTH, AWUSER_WIDTH, ARUSER_WIDTH, WUSER_WIDTH, RUSER_WIDTH, BUSER_WIDTH, CD_DATA_WIDTH>’ does not have any field named ‘awburst’
awburst("awburst"),
^
../../test-modules/signals-ace.h:326:3: error: class ‘ACESignals<ADDR_WIDTH, DATA_WIDTH, ID_WIDTH, AxLEN_WIDTH, AxLOCK_WIDTH, AWUSER_WIDTH, ARUSER_WIDTH, WUSER_WIDTH, RUSER_WIDTH, BUSER_WIDTH, CD_DATA_WIDTH>’ does not have any field named ‘awsize’
awsize("awsize"),
^
In file included from ../../test-modules/utils-ace.h:26:0,
from ace-slv-test.cc:54:
../../test-modules/utils.h: At global scope:
../../test-modules/utils.h:28:8: warning: scoped enums only available with -std=c++11 or -std=gnu++11
enum : uint32_t {
^
../../test-modules/utils.h: In function ‘DataTransferVec utils::merge(DataTransferVec)’:
../../test-modules/utils.h:39:7: warning: ‘auto’ changes meaning in C++11; please remove it [-Wc++0x-compat]
for (auto& t : transfers) {
^
../../test-modules/utils.h:39:13: error: ISO C++ forbids declaration of ‘t’ with no type [-fpermissive]
for (auto& t : transfers) {
^
../../test-modules/utils.h:39:17: warning: range-based ‘for’ loops only available with -std=c++11 or -std=gnu++11
for (auto& t : transfers) {
^
../../test-modules/utils.h:44:10: error: request for member ‘cmd’ in ‘t’, which is of non-class type ‘int’
if (t.cmd == BYTE_ENABLE) {
^
../../test-modules/utils.h:45:26: error: request for member ‘byte_enable’ in ‘t’, which is of non-class type ‘int’
last.byte_enable = t.byte_enable;
^
../../test-modules/utils.h:46:33: error: request for member ‘byte_enable_length’ in ‘t’, which is of non-class type ‘int’
last.byte_enable_length = t.byte_enable_length;
^
../../test-modules/utils.h:49:7: error: request for member ‘byte_enable’ in ‘t’, which is of non-class type ‘int’
t.byte_enable = nullptr;
^
../../test-modules/utils.h:49:21: error: ‘nullptr’ was not declared in this scope
t.byte_enable = nullptr;
^
../../test-modules/utils.h:50:17: error: request for member ‘cmd’ in ‘t’, which is of non-class type ‘int’
} else if (t.cmd == STREAMING_WIDTH) {
^
../../test-modules/utils.h:51:30: error: request for member ‘streaming_width’ in ‘t’, which is of non-class type ‘int’
last.streaming_width = t.streaming_width;
^
../../test-modules/utils.h:52:17: error: request for member ‘cmd’ in ‘t’, which is of non-class type ‘int’
} else if (t.cmd == EXPECT) {
^
../../test-modules/utils.h:53:21: error: request for member ‘expect’ in ‘t’, which is of non-class type ‘int’
last.expect = t.expect;
^
../../test-modules/utils.h:56:7: error: request for member ‘expect’ in ‘t’, which is of non-class type ‘int’
t.expect = nullptr;
^
../../test-modules/utils.h:56:16: error: ‘nullptr’ was not declared in this scope
t.expect = nullptr;
^
../../test-modules/utils.h:57:17: error: request for member ‘cmd’ in ‘t’, which is of non-class type ‘int’
} else if (t.cmd == EXT_GEN_ATTR) {
^
../../test-modules/utils.h:58:27: error: request for member ‘ext’ in ‘t’, which is of non-class type ‘int’
last.ext.gen_attr = t.ext.gen_attr;
^
../../test-modules/utils.h:62:9: error: request for member ‘cmd’ in ‘t’, which is of non-class type ‘int’
if (t.cmd == DataTransfer::READ ||
^
../../test-modules/utils.h:63:7: error: request for member ‘cmd’ in ‘t’, which is of non-class type ‘int’
t.cmd == DataTransfer::WRITE ||
^
../../test-modules/utils.h:64:7: error: request for member ‘cmd’ in ‘t’, which is of non-class type ‘int’
t.cmd == DataTransfer::IGNORE ) {
^
In file included from ace-slv-test.cc:60:0:
../../test-modules/signals-axilite.h: At global scope:
../../test-modules/signals-axilite.h:39:19: warning: ‘>>’ operator is treated as two right angle brackets in C++11 [-Wc++0x-compat]
sc_signal<sc_bv<3>> awprot;
^
../../test-modules/signals-axilite.h:39:19: note: suggest parentheses around ‘>>’ expression
../../test-modules/signals-axilite.h:39:22: error: ‘uint8_t RTL::AMBA::ACE::awprot(uint32_t)’ cannot appear in a constant-expression
sc_signal<sc_bv<3>> awprot;
^
../../test-modules/signals-axilite.h:39:22: error: template argument 1 is invalid
../../test-modules/signals-axilite.h:39:12: error: template argument 1 is invalid
sc_signal<sc_bv<3>> awprot;
^
../../test-modules/signals-axilite.h: In member function ‘void AXILiteSignals<ADDR_WIDTH, DATA_WIDTH>::Trace(sc_core::sc_trace_file*)’:
../../test-modules/signals-axilite.h:130:30: error: request for member ‘name’ in ‘RTL::AMBA::ACE::awprot’, which is of non-class type ‘uint8_t(uint32_t) {aka unsigned char(unsigned int)}’
sc_trace(f, awprot, awprot.name());
^
../../test-modules/signals-axilite.h: In constructor ‘AXILiteSignals<ADDR_WIDTH, DATA_WIDTH>::AXILiteSignals(sc_core::sc_module_name, AXIVersion)’:
../../test-modules/signals-axilite.h:167:3: error: class ‘AXILiteSignals<ADDR_WIDTH, DATA_WIDTH>’ does not have any field named ‘awprot’
awprot("awprot"),
^
ace-slv-test.cc: At global scope:
ace-slv-test.cc:194:25: warning: extended initializer lists only available with -std=c++11 or -std=gnu++11
TrafficDesc xfers(merge({
^
ace-slv-test.cc:246:2: error: no matching function for call to ‘merge()’
}));
^
In file included from ../../test-modules/utils-ace.h:26:0,
from ace-slv-test.cc:54:
../../test-modules/utils.h:35:17: note: candidate: DataTransferVec utils::merge(DataTransferVec)
DataTransferVec merge(DataTransferVec transfers)
^
../../test-modules/utils.h:35:17: note: no known conversion for argument 1 from ‘’ to ‘DataTransferVec {aka std::vector}’
In file included from /usr/include/c++/5/algorithm:62:0,
from /usr/local/systemc-2.3.0//include/tlm_core/tlm_1/tlm_analysis/tlm_analysis_port.h:25,
from /usr/local/systemc-2.3.0//include/tlm_core/tlm_1/tlm_analysis/tlm_analysis.h:28,
from /usr/local/systemc-2.3.0//include/tlm:26,
from /usr/local/systemc-2.3.0//include/tlm.h:22,
from ace-slv-test.cc:33:
/usr/include/c++/5/bits/stl_algo.h:4827:5: note: candidate: template<class _IIter1, class _IIter2, class _OIter, class _Compare> _OIter std::merge(_IIter1, _IIter1, _IIter2, _IIter2, _OIter, _Compare)
merge(InputIterator1 first1, InputIterator1 last1,
^
/usr/include/c++/5/bits/stl_algo.h:4827:5: note: template argument deduction/substitution failed:
ace-slv-test.cc:246:2: note: candidate expects 6 arguments, 1 provided
}));
^
In file included from /usr/include/c++/5/algorithm:62:0,
from /usr/local/systemc-2.3.0//include/tlm_core/tlm_1/tlm_analysis/tlm_analysis_port.h:25,
from /usr/local/systemc-2.3.0//include/tlm_core/tlm_1/tlm_analysis/tlm_analysis.h:28,
from /usr/local/systemc-2.3.0//include/tlm:26,
from /usr/local/systemc-2.3.0//include/tlm.h:22,
from ace-slv-test.cc:33:
/usr/include/c++/5/bits/stl_algo.h:4779:5: note: candidate: template<class IIter1, class IIter2, class OIter> OIter std::merge(IIter1, IIter1, IIter2, IIter2, OIter)
merge(InputIterator1 first1, InputIterator1 last1,
^
/usr/include/c++/5/bits/stl_algo.h:4779:5: note: template argument deduction/substitution failed:
ace-slv-test.cc:246:2: note: candidate expects 5 arguments, 1 provided
}));
^
ace-slv-test.cc: In member function ‘void Top::connect_axilite_dut()’:
ace-slv-test.cc:489:33: error: ‘class AXILiteSignals<64, 32>’ has no member named ‘awprot’
dut.s_axi_awprot(signals_host.awprot);
^
ace-slv-test.cc: In member function ‘void Top::connect_ace_signals_dut()’:
ace-slv-test.cc:516:40: error: ‘ACESignals_t {aka class ACESignals<64, 128, 16, 8, 1, 32, 32, 32, 32, 32, 128>}’ has no member named ‘awprot’
dut.s_ace_usr_awprot(signals_ace_dut.awprot);
^
ace-slv-test.cc:518:42: error: ‘ACESignals_t {aka class ACESignals<64, 128, 16, 8, 1, 32, 32, 32, 32, 32, 128>}’ has no member named ‘awregion’
dut.s_ace_usr_awregion(signals_ace_dut.awregion);
^
ace-slv-test.cc:519:39: error: ‘ACESignals_t {aka class ACESignals<64, 128, 16, 8, 1, 32, 32, 32, 32, 32, 128>}’ has no member named ‘awqos’
dut.s_ace_usr_awqos(signals_ace_dut.awqos);
^
ace-slv-test.cc:520:41: error: ‘ACESignals_t {aka class ACESignals<64, 128, 16, 8, 1, 32, 32, 32, 32, 32, 128>}’ has no member named ‘awcache’
dut.s_ace_usr_awcache(signals_ace_dut.awcache);
^
ace-slv-test.cc:521:41: error: ‘ACESignals_t {aka class ACESignals<64, 128, 16, 8, 1, 32, 32, 32, 32, 32, 128>}’ has no member named ‘awburst’
dut.s_ace_usr_awburst(signals_ace_dut.awburst);
^
ace-slv-test.cc:522:40: error: ‘ACESignals_t {aka class ACESignals<64, 128, 16, 8, 1, 32, 32, 32, 32, 32, 128>}’ has no member named ‘awsize’
dut.s_ace_usr_awsize(signals_ace_dut.awsize);
^
In file included from ace-slv-test.cc:53:0:
../../test-modules/signals-ace.h: In instantiation of ‘void ACESignals<ADDR_WIDTH, DATA_WIDTH, ID_WIDTH, AxLEN_WIDTH, AxLOCK_WIDTH, AWUSER_WIDTH, ARUSER_WIDTH, WUSER_WIDTH, RUSER_WIDTH, BUSER_WIDTH, CD_DATA_WIDTH>::connect(T*) [with T = tlm2ace_bridge<64, 128, 16, 8, 1, 32, 32, 32, 32, 32, 64, 128>; int ADDR_WIDTH = 64; int DATA_WIDTH = 128; int ID_WIDTH = 16; int AxLEN_WIDTH = 8; int AxLOCK_WIDTH = 1; int AWUSER_WIDTH = 32; int ARUSER_WIDTH = 32; int WUSER_WIDTH = 32; int RUSER_WIDTH = 32; int BUSER_WIDTH = 32; int CD_DATA_WIDTH = 128]’:
ace-slv-test.cc:382:39: required from here
../../test-modules/signals-ace.h:134:3: error: no match for call to ‘(sc_core::sc_out<sc_dt::sc_bv<3> >) (uint8_t (&)(uint32_t))’
dev->awprot(awprot);
^
In file included from /usr/local/systemc-2.3.0//include/sysc/communication/sc_signal.h:32:0,
from /usr/local/systemc-2.3.0//include/sysc/communication/sc_buffer.h:34,
from /usr/local/systemc-2.3.0//include/systemc:79,
from ace-slv-test.cc:28:
/usr/local/systemc-2.3.0//include/sysc/communication/sc_port.h:272:10: note: candidate: void sc_core::sc_port_b::operator()(IF&) [with IF = sc_core::sc_signal_inout_if<sc_dt::sc_bv<3> >]
void operator () ( IF& interface
)
^
/usr/local/systemc-2.3.0//include/sysc/communication/sc_port.h:272:10: note: no known conversion for argument 1 from ‘uint8_t(uint32_t) {aka unsigned char(unsigned int)}’ to ‘sc_core::sc_signal_inout_if<sc_dt::sc_bv<3> >&’
/usr/local/systemc-2.3.0//include/sysc/communication/sc_port.h:281:10: note: candidate: void sc_core::sc_port_b::operator()(sc_core::sc_port_b::port_type&) [with IF = sc_core::sc_signal_inout_if<sc_dt::sc_bv<3> >; sc_core::sc_port_b::port_type = sc_core::sc_port_b<sc_core::sc_signal_inout_if<sc_dt::sc_bv<3> > >]
void operator () ( port_type& parent
)
^
/usr/local/systemc-2.3.0//include/sysc/communication/sc_port.h:281:10: note: no known conversion for argument 1 from ‘uint8_t(uint32_t) {aka unsigned char(unsigned int)}’ to ‘sc_core::sc_port_b<sc_core::sc_signal_inout_if<sc_dt::sc_bv<3> > >::port_type& {aka sc_core::sc_port_b<sc_core::sc_signal_inout_if<sc_dt::sc_bv<3> > >&}’
In file included from ace-slv-test.cc:53:0:
../../test-modules/signals-ace.h:138:3: error: no match for call to ‘(sc_core::sc_out<sc_dt::sc_bv<4> >) (uint8_t (&)(uint32_t))’
dev->awregion(awregion);
^
In file included from /usr/local/systemc-2.3.0//include/sysc/communication/sc_signal.h:32:0,
from /usr/local/systemc-2.3.0//include/sysc/communication/sc_buffer.h:34,
from /usr/local/systemc-2.3.0//include/systemc:79,
from ace-slv-test.cc:28:
/usr/local/systemc-2.3.0//include/sysc/communication/sc_port.h:272:10: note: candidate: void sc_core::sc_port_b::operator()(IF&) [with IF = sc_core::sc_signal_inout_if<sc_dt::sc_bv<4> >]
void operator () ( IF& interface
)
^
/usr/local/systemc-2.3.0//include/sysc/communication/sc_port.h:272:10: note: no known conversion for argument 1 from ‘uint8_t(uint32_t) {aka unsigned char(unsigned int)}’ to ‘sc_core::sc_signal_inout_if<sc_dt::sc_bv<4> >&’
/usr/local/systemc-2.3.0//include/sysc/communication/sc_port.h:281:10: note: candidate: void sc_core::sc_port_b::operator()(sc_core::sc_port_b::port_type&) [with IF = sc_core::sc_signal_inout_if<sc_dt::sc_bv<4> >; sc_core::sc_port_b::port_type = sc_core::sc_port_b<sc_core::sc_signal_inout_if<sc_dt::sc_bv<4> > >]
void operator () ( port_type& parent )
^
/usr/local/systemc-2.3.0//include/sysc/communication/sc_port.h:281:10: note: no known conversion for argument 1 from ‘uint8_t(uint32_t) {aka unsigned char(unsigned int)}’ to ‘sc_core::sc_port_b<sc_core::sc_signal_inout_if<sc_dt::sc_bv<4> > >::port_type& {aka sc_core::sc_port_b<sc_core::sc_signal_inout_if<sc_dt::sc_bv<4> > >&}’
In file included from ace-slv-test.cc:53:0:
../../test-modules/signals-ace.h:139:3: error: no match for call to ‘(sc_core::sc_out<sc_dt::sc_bv<4> >) (uint8_t (&)(uint32_t))’
dev->awqos(awqos);
^
In file included from /usr/local/systemc-2.3.0//include/sysc/communication/sc_signal.h:32:0,
from /usr/local/systemc-2.3.0//include/sysc/communication/sc_buffer.h:34,
from /usr/local/systemc-2.3.0//include/systemc:79,
from ace-slv-test.cc:28:
/usr/local/systemc-2.3.0//include/sysc/communication/sc_port.h:272:10: note: candidate: void sc_core::sc_port_b::operator()(IF&) [with IF = sc_core::sc_signal_inout_if<sc_dt::sc_bv<4> >]
void operator () ( IF& interface )
^
/usr/local/systemc-2.3.0//include/sysc/communication/sc_port.h:272:10: note: no known conversion for argument 1 from ‘uint8_t(uint32_t) {aka unsigned char(unsigned int)}’ to ‘sc_core::sc_signal_inout_if<sc_dt::sc_bv<4> >&’
/usr/local/systemc-2.3.0//include/sysc/communication/sc_port.h:281:10: note: candidate: void sc_core::sc_port_b::operator()(sc_core::sc_port_b::port_type&) [with IF = sc_core::sc_signal_inout_if<sc_dt::sc_bv<4> >; sc_core::sc_port_b::port_type = sc_core::sc_port_b<sc_core::sc_signal_inout_if<sc_dt::sc_bv<4> > >]
void operator () ( port_type& parent )
^
/usr/local/systemc-2.3.0//include/sysc/communication/sc_port.h:281:10: note: no known conversion for argument 1 from ‘uint8_t(uint32_t) {aka unsigned char(unsigned int)}’ to ‘sc_core::sc_port_b<sc_core::sc_signal_inout_if<sc_dt::sc_bv<4> > >::port_type& {aka sc_core::sc_port_b<sc_core::sc_signal_inout_if<sc_dt::sc_bv<4> > >&}’
In file included from ace-slv-test.cc:53:0:
../../test-modules/signals-ace.h:140:3: error: no match for call to ‘(sc_core::sc_out<sc_dt::sc_bv<4> >) (uint8_t (&)(uint32_t))’
dev->awcache(awcache);
^
In file included from /usr/local/systemc-2.3.0//include/sysc/communication/sc_signal.h:32:0,
from /usr/local/systemc-2.3.0//include/sysc/communication/sc_buffer.h:34,
from /usr/local/systemc-2.3.0//include/systemc:79,
from ace-slv-test.cc:28:
/usr/local/systemc-2.3.0//include/sysc/communication/sc_port.h:272:10: note: candidate: void sc_core::sc_port_b::operator()(IF&) [with IF = sc_core::sc_signal_inout_if<sc_dt::sc_bv<4> >]
void operator () ( IF& interface )
^
/usr/local/systemc-2.3.0//include/sysc/communication/sc_port.h:272:10: note: no known conversion for argument 1 from ‘uint8_t(uint32_t) {aka unsigned char(unsigned int)}’ to ‘sc_core::sc_signal_inout_if<sc_dt::sc_bv<4> >&’
/usr/local/systemc-2.3.0//include/sysc/communication/sc_port.h:281:10: note: candidate: void sc_core::sc_port_b::operator()(sc_core::sc_port_b::port_type&) [with IF = sc_core::sc_signal_inout_if<sc_dt::sc_bv<4> >; sc_core::sc_port_b::port_type = sc_core::sc_port_b<sc_core::sc_signal_inout_if<sc_dt::sc_bv<4> > >]
void operator () ( port_type& parent )
^
/usr/local/systemc-2.3.0//include/sysc/communication/sc_port.h:281:10: note: no known conversion for argument 1 from ‘uint8_t(uint32_t) {aka unsigned char(unsigned int)}’ to ‘sc_core::sc_port_b<sc_core::sc_signal_inout_if<sc_dt::sc_bv<4> > >::port_type& {aka sc_core::sc_port_b<sc_core::sc_signal_inout_if<sc_dt::sc_bv<4> > >&}’
In file included from ace-slv-test.cc:53:0:
../../test-modules/signals-ace.h:141:3: error: no match for call to ‘(sc_core::sc_out<sc_dt::sc_bv<2> >) (uint8_t (&)(uint32_t))’
dev->awburst(awburst);
^
In file included from /usr/local/systemc-2.3.0//include/sysc/communication/sc_signal.h:32:0,
from /usr/local/systemc-2.3.0//include/sysc/communication/sc_buffer.h:34,
from /usr/local/systemc-2.3.0//include/systemc:79,
from ace-slv-test.cc:28:
/usr/local/systemc-2.3.0//include/sysc/communication/sc_port.h:272:10: note: candidate: void sc_core::sc_port_b::operator()(IF&) [with IF = sc_core::sc_signal_inout_if<sc_dt::sc_bv<2> >]
void operator () ( IF& interface )
^
/usr/local/systemc-2.3.0//include/sysc/communication/sc_port.h:272:10: note: no known conversion for argument 1 from ‘uint8_t(uint32_t) {aka unsigned char(unsigned int)}’ to ‘sc_core::sc_signal_inout_if<sc_dt::sc_bv<2> >&’
/usr/local/systemc-2.3.0//include/sysc/communication/sc_port.h:281:10: note: candidate: void sc_core::sc_port_b::operator()(sc_core::sc_port_b::port_type&) [with IF = sc_core::sc_signal_inout_if<sc_dt::sc_bv<2> >; sc_core::sc_port_b::port_type = sc_core::sc_port_b<sc_core::sc_signal_inout_if<sc_dt::sc_bv<2> > >]
void operator () ( port_type& parent )
^
/usr/local/systemc-2.3.0//include/sysc/communication/sc_port.h:281:10: note: no known conversion for argument 1 from ‘uint8_t(uint32_t) {aka unsigned char(unsigned int)}’ to ‘sc_core::sc_port_b<sc_core::sc_signal_inout_if<sc_dt::sc_bv<2> > >::port_type& {aka sc_core::sc_port_b<sc_core::sc_signal_inout_if<sc_dt::sc_bv<2> > >&}’
In file included from ace-slv-test.cc:52:0:
../../test-modules/signals-axi.h: In instantiation of ‘void AXISignals<ADDR_WIDTH, DATA_WIDTH, ID_WIDTH, AxLEN_WIDTH, AxLOCK_WIDTH, AWUSER_WIDTH, ARUSER_WIDTH, WUSER_WIDTH, RUSER_WIDTH, BUSER_WIDTH>::connect(T&, const char*) [with T = Vace_slv; int ADDR_WIDTH = 64; int DATA_WIDTH = 128; int ID_WIDTH = 16; int AxLEN_WIDTH = 8; int AxLOCK_WIDTH = 1; int AWUSER_WIDTH = 32; int ARUSER_WIDTH = 32; int WUSER_WIDTH = 32; int RUSER_WIDTH = 32; int BUSER_WIDTH = 32]’:
ace-slv-test.cc:418:41: required from here
../../test-modules/signals-axi.h:105:17: error: no matching function for call to ‘signal_connect(Vace_slv*, const char*&, uint8_t (&)(uint32_t))’
signal_connect(&dev, prefix, awprot);
^
In file included from ../../test-modules/signals-axi.h:28:0,
from ace-slv-test.cc:52:
../../test-modules/signals-common.h:53:20: note: candidate: template void signal_connect(sc_core::sc_object*, const char*, sc_core::sc_signal&, bool)
static inline void signal_connect(sc_object dev,
^
../../test-modules/signals-common.h:53:20: note: template argument deduction/substitution failed:
In file included from ace-slv-test.cc:52:0:
../../test-modules/signals-axi.h:105:17: note: mismatched types ‘sc_core::sc_signal’ and ‘uint8_t(uint32_t) {aka unsigned char(unsigned int)}’
signal_connect(&dev, prefix, awprot);
^
../../test-modules/signals-axi.h:107:26: error: no matching function for call to ‘signal_connect_optional(Vace_slv
, const char*&, uint8_t (&)(uint32_t))’
signal_connect_optional(&dev, prefix, awregion);
^
In file included from ../../test-modules/signals-axi.h:28:0,
from ace-slv-test.cc:52:
../../test-modules/signals-common.h:95:20: note: candidate: template void signal_connect_optional(sc_core::sc_object*, const char*, sc_core::sc_signal&)
static inline void signal_connect_optional(sc_object dev,
^
../../test-modules/signals-common.h:95:20: note: template argument deduction/substitution failed:
In file included from ace-slv-test.cc:52:0:
../../test-modules/signals-axi.h:107:26: note: mismatched types ‘sc_core::sc_signal’ and ‘uint8_t(uint32_t) {aka unsigned char(unsigned int)}’
signal_connect_optional(&dev, prefix, awregion);
^
../../test-modules/signals-axi.h:108:26: error: no matching function for call to ‘signal_connect_optional(Vace_slv
, const char*&, uint8_t (&)(uint32_t))’
signal_connect_optional(&dev, prefix, awqos);
^
In file included from ../../test-modules/signals-axi.h:28:0,
from ace-slv-test.cc:52:
../../test-modules/signals-common.h:95:20: note: candidate: template void signal_connect_optional(sc_core::sc_object*, const char*, sc_core::sc_signal&)
static inline void signal_connect_optional(sc_object dev,
^
../../test-modules/signals-common.h:95:20: note: template argument deduction/substitution failed:
In file included from ace-slv-test.cc:52:0:
../../test-modules/signals-axi.h:108:26: note: mismatched types ‘sc_core::sc_signal’ and ‘uint8_t(uint32_t) {aka unsigned char(unsigned int)}’
signal_connect_optional(&dev, prefix, awqos);
^
../../test-modules/signals-axi.h:109:17: error: no matching function for call to ‘signal_connect(Vace_slv
, const char*&, uint8_t (&)(uint32_t))’
signal_connect(&dev, prefix, awcache);
^
In file included from ../../test-modules/signals-axi.h:28:0,
from ace-slv-test.cc:52:
../../test-modules/signals-common.h:53:20: note: candidate: template void signal_connect(sc_core::sc_object*, const char*, sc_core::sc_signal&, bool)
static inline void signal_connect(sc_object dev,
^
../../test-modules/signals-common.h:53:20: note: template argument deduction/substitution failed:
In file included from ace-slv-test.cc:52:0:
../../test-modules/signals-axi.h:109:17: note: mismatched types ‘sc_core::sc_signal’ and ‘uint8_t(uint32_t) {aka unsigned char(unsigned int)}’
signal_connect(&dev, prefix, awcache);
^
../../test-modules/signals-axi.h:110:17: error: no matching function for call to ‘signal_connect(Vace_slv
, const char*&, uint8_t (&)(uint32_t))’
signal_connect(&dev, prefix, awburst);
^
In file included from ../../test-modules/signals-axi.h:28:0,
from ace-slv-test.cc:52:
../../test-modules/signals-common.h:53:20: note: candidate: template void signal_connect(sc_core::sc_object*, const char*, sc_core::sc_signal&, bool)
static inline void signal_connect(sc_object dev,
^
../../test-modules/signals-common.h:53:20: note: template argument deduction/substitution failed:
In file included from ace-slv-test.cc:52:0:
../../test-modules/signals-axi.h:110:17: note: mismatched types ‘sc_core::sc_signal’ and ‘uint8_t(uint32_t) {aka unsigned char(unsigned int)}’
signal_connect(&dev, prefix, awburst);
^
In file included from /usr/local/systemc-2.3.0//include/sysc/communication/sc_port.h:35:0,
from /usr/local/systemc-2.3.0//include/sysc/communication/sc_signal.h:32,
from /usr/local/systemc-2.3.0//include/sysc/communication/sc_buffer.h:34,
from /usr/local/systemc-2.3.0//include/systemc:79,
from ace-slv-test.cc:28:
../../../traffic-generators/tg-tlm.h: In instantiation of ‘void std::vector<_Tp, _Alloc>::_M_insert_aux(std::vector<_Tp, _Alloc>::iterator, const _Tp&) [with _Tp = TLMTrafficGenerator::ThreadData; _Alloc = std::allocatorTLMTrafficGenerator::ThreadData; std::vector<_Tp, _Alloc>::iterator = __gnu_cxx::__normal_iterator<TLMTrafficGenerator::ThreadData
, std::vectorTLMTrafficGenerator::ThreadData >; typename std::Vector_base<Tp, Alloc>::pointer = TLMTrafficGenerator::ThreadData*]’:
/usr/include/c++/5/bits/stl_vector.h:925:17: required from ‘void std::vector<Tp, Alloc>::push_back(const value_type&) [with Tp = TLMTrafficGenerator::ThreadData; Alloc = std::allocatorTLMTrafficGenerator::ThreadData; std::vector<Tp, Alloc>::value_type = TLMTrafficGenerator::ThreadData]’
../../../traffic-generators/tg-tlm.h:56:41: required from here
/usr/local/systemc-2.3.0//include/sysc/kernel/sc_event.h:332:5: error: ‘sc_core::sc_event::sc_event(const sc_core::sc_event&)’ is private
sc_event( const sc_event& );
^
In file included from ace-slv-test.cc:41:0:
../../../traffic-generators/tg-tlm.h:91:8: error: within this context
class ThreadData {
^
In file included from /usr/include/c++/5/vector:69:0,
from /usr/local/systemc-2.3.0//include/sysc/kernel/sc_attribute.h:34,
from /usr/local/systemc-2.3.0//include/sysc/kernel/sc_object.h:35,
from /usr/local/systemc-2.3.0//include/sysc/kernel/sc_process.h:37,
from /usr/local/systemc-2.3.0//include/sysc/kernel/sc_module.h:35,
from /usr/local/systemc-2.3.0//include/systemc:74,
from ace-slv-test.cc:28:
/usr/include/c++/5/bits/vector.tcc:337:19: note: synthesized method ‘TLMTrafficGenerator::ThreadData::ThreadData(const TLMTrafficGenerator::ThreadData&)’ first required here
Tp x_copy = x;
^
In file included from /usr/local/systemc-2.3.0//include/sysc/communication/sc_port.h:35:0,
from /usr/local/systemc-2.3.0//include/sysc/communication/sc_signal.h:32,
from /usr/local/systemc-2.3.0//include/sysc/communication/sc_buffer.h:34,
from /usr/local/systemc-2.3.0//include/systemc:79,
from ace-slv-test.cc:28:
/usr/local/systemc-2.3.0//include/sysc/kernel/sc_event.h:333:15: error: ‘sc_core::sc_event& sc_core::sc_event::operator=(const sc_core::sc_event&)’ is private
sc_event& operator = ( const sc_event& );
^
In file included from ace-slv-test.cc:41:0:
../../../traffic-generators/tg-tlm.h:91:8: error: within this context
class ThreadData {
^
In file included from /usr/include/c++/5/vector:69:0,
from /usr/local/systemc-2.3.0//include/sysc/kernel/sc_attribute.h:34,
from /usr/local/systemc-2.3.0//include/sysc/kernel/sc_object.h:35,
from /usr/local/systemc-2.3.0//include/sysc/kernel/sc_process.h:37,
from /usr/local/systemc-2.3.0//include/sysc/kernel/sc_module.h:35,
from /usr/local/systemc-2.3.0//include/systemc:74,
from ace-slv-test.cc:28:
/usr/include/c++/5/bits/vector.tcc:343:16: note: synthesized method ‘TLMTrafficGenerator::ThreadData& TLMTrafficGenerator::ThreadData::operator=(const TLMTrafficGenerator::ThreadData&)’ first required here
__position = __x_copy;
^
In file included from ace-slv-test.cc:53:0:
../../test-modules/signals-ace.h: In instantiation of ‘void ACESignals<ADDR_WIDTH, DATA_WIDTH, ID_WIDTH, AxLEN_WIDTH, AxLOCK_WIDTH, AWUSER_WIDTH, ARUSER_WIDTH, WUSER_WIDTH, RUSER_WIDTH, BUSER_WIDTH, CD_DATA_WIDTH>::connect(T
) [with T = ace2tlm_bridge<64, 128, 16, 8, 1, 32, 32, 32, 32, 32, 128>; int ADDR_WIDTH = 64; int DATA_WIDTH = 128; int ID_WIDTH = 16; int AxLEN_WIDTH = 8; int AxLOCK_WIDTH = 1; int AWUSER_WIDTH = 32; int ARUSER_WIDTH = 32; int WUSER_WIDTH = 32; int RUSER_WIDTH = 32; int BUSER_WIDTH = 32; int CD_DATA_WIDTH = 128]’:
ace-slv-test.cc:458:3: required from ‘void Top::connect(T1&, T2&, T3&, T4&, T5&, T6&, T7&) [with T1 = sc_core::sc_clock; T2 = sc_core::sc_signal<bool, (sc_core::sc_writer_policy)0u>; T3 = ACEMaster<256, 64>; T4 = tlm2ace_bridge<64, 128, 16, 8, 1, 32, 32, 32, 32, 32, 64, 128>; T5 = ACESignals<64, 128, 16, 8, 1, 32, 32, 32, 32, 32, 128>; T6 = ace2tlm_bridge<64, 128, 16, 8, 1, 32, 32, 32, 32, 32, 128>; T7 = iconnect_ace<2, 0, 64>::ACEPort_S]’
ace-slv-test.cc:391:40: required from here
../../test-modules/signals-ace.h:134:3: error: no match for call to ‘(sc_core::sc_in<sc_dt::sc_bv<3> >) (uint8_t (&)(uint32_t))’
dev->awprot(awprot);
^
In file included from /usr/local/systemc-2.3.0//include/sysc/communication/sc_clock_ports.h:33:0,
from /usr/local/systemc-2.3.0//include/systemc:81,
from ace-slv-test.cc:28:
/usr/local/systemc-2.3.0//include/sysc/communication/sc_signal_ports.h:168:10: note: candidate: void sc_core::sc_in::operator()(const in_if_type&) [with T = sc_dt::sc_bv<3>; sc_core::sc_in::in_if_type = sc_core::sc_signal_in_if<sc_dt::sc_bv<3> >]
void operator () ( const in_if_type& interface
)
^
/usr/local/systemc-2.3.0//include/sysc/communication/sc_signal_ports.h:168:10: note: no known conversion for argument 1 from ‘uint8_t(uint32_t) {aka unsigned char(unsigned int)}’ to ‘const in_if_type& {aka const sc_core::sc_signal_in_if<sc_dt::sc_bv<3> >&}’
/usr/local/systemc-2.3.0//include/sysc/communication/sc_signal_ports.h:177:10: note: candidate: void sc_core::sc_in::operator()(sc_core::sc_in::in_port_type&) [with T = sc_dt::sc_bv<3>; sc_core::sc_in::in_port_type = sc_core::sc_port<sc_core::sc_signal_in_if<sc_dt::sc_bv<3> >, 1, (sc_core::sc_port_policy)0u>]
void operator () ( in_port_type& parent
)
^
/usr/local/systemc-2.3.0//include/sysc/communication/sc_signal_ports.h:177:10: note: no known conversion for argument 1 from ‘uint8_t(uint32_t) {aka unsigned char(unsigned int)}’ to ‘sc_core::sc_in<sc_dt::sc_bv<3> >::in_port_type& {aka sc_core::sc_port<sc_core::sc_signal_in_if<sc_dt::sc_bv<3> >, 1, (sc_core::sc_port_policy)0u>&}’
/usr/local/systemc-2.3.0//include/sysc/communication/sc_signal_ports.h:186:10: note: candidate: void sc_core::sc_in::operator()(sc_core::sc_in::inout_port_type&) [with T = sc_dt::sc_bv<3>; sc_core::sc_in::inout_port_type = sc_core::sc_port<sc_core::sc_signal_inout_if<sc_dt::sc_bv<3> >, 1, (sc_core::sc_port_policy)0u>]
void operator () ( inout_port_type& parent )
^
/usr/local/systemc-2.3.0//include/sysc/communication/sc_signal_ports.h:186:10: note: no known conversion for argument 1 from ‘uint8_t(uint32_t) {aka unsigned char(unsigned int)}’ to ‘sc_core::sc_in<sc_dt::sc_bv<3> >::inout_port_type& {aka sc_core::sc_port<sc_core::sc_signal_inout_if<sc_dt::sc_bv<3> >, 1, (sc_core::sc_port_policy)0u>&}’
In file included from ace-slv-test.cc:53:0:
../../test-modules/signals-ace.h:138:3: error: no match for call to ‘(sc_core::sc_in<sc_dt::sc_bv<4> >) (uint8_t (&)(uint32_t))’
dev->awregion(awregion);
^
In file included from /usr/local/systemc-2.3.0//include/sysc/communication/sc_clock_ports.h:33:0,
from /usr/local/systemc-2.3.0//include/systemc:81,
from ace-slv-test.cc:28:
/usr/local/systemc-2.3.0//include/sysc/communication/sc_signal_ports.h:168:10: note: candidate: void sc_core::sc_in::operator()(const in_if_type&) [with T = sc_dt::sc_bv<4>; sc_core::sc_in::in_if_type = sc_core::sc_signal_in_if<sc_dt::sc_bv<4> >]
void operator () ( const in_if_type& interface )
^
/usr/local/systemc-2.3.0//include/sysc/communication/sc_signal_ports.h:168:10: note: no known conversion for argument 1 from ‘uint8_t(uint32_t) {aka unsigned char(unsigned int)}’ to ‘const in_if_type& {aka const sc_core::sc_signal_in_if<sc_dt::sc_bv<4> >&}’
/usr/local/systemc-2.3.0//include/sysc/communication/sc_signal_ports.h:177:10: note: candidate: void sc_core::sc_in::operator()(sc_core::sc_in::in_port_type&) [with T = sc_dt::sc_bv<4>; sc_core::sc_in::in_port_type = sc_core::sc_port<sc_core::sc_signal_in_if<sc_dt::sc_bv<4> >, 1, (sc_core::sc_port_policy)0u>]
void operator () ( in_port_type& parent )
^
/usr/local/systemc-2.3.0//include/sysc/communication/sc_signal_ports.h:177:10: note: no known conversion for argument 1 from ‘uint8_t(uint32_t) {aka unsigned char(unsigned int)}’ to ‘sc_core::sc_in<sc_dt::sc_bv<4> >::in_port_type& {aka sc_core::sc_port<sc_core::sc_signal_in_if<sc_dt::sc_bv<4> >, 1, (sc_core::sc_port_policy)0u>&}’
/usr/local/systemc-2.3.0//include/sysc/communication/sc_signal_ports.h:186:10: note: candidate: void sc_core::sc_in::operator()(sc_core::sc_in::inout_port_type&) [with T = sc_dt::sc_bv<4>; sc_core::sc_in::inout_port_type = sc_core::sc_port<sc_core::sc_signal_inout_if<sc_dt::sc_bv<4> >, 1, (sc_core::sc_port_policy)0u>]
void operator () ( inout_port_type& parent )
^
/usr/local/systemc-2.3.0//include/sysc/communication/sc_signal_ports.h:186:10: note: no known conversion for argument 1 from ‘uint8_t(uint32_t) {aka unsigned char(unsigned int)}’ to ‘sc_core::sc_in<sc_dt::sc_bv<4> >::inout_port_type& {aka sc_core::sc_port<sc_core::sc_signal_inout_if<sc_dt::sc_bv<4> >, 1, (sc_core::sc_port_policy)0u>&}’
In file included from ace-slv-test.cc:53:0:
../../test-modules/signals-ace.h:139:3: error: no match for call to ‘(sc_core::sc_in<sc_dt::sc_bv<4> >) (uint8_t (&)(uint32_t))’
dev->awqos(awqos);
^
In file included from /usr/local/systemc-2.3.0//include/sysc/communication/sc_clock_ports.h:33:0,
from /usr/local/systemc-2.3.0//include/systemc:81,
from ace-slv-test.cc:28:
/usr/local/systemc-2.3.0//include/sysc/communication/sc_signal_ports.h:168:10: note: candidate: void sc_core::sc_in::operator()(const in_if_type&) [with T = sc_dt::sc_bv<4>; sc_core::sc_in::in_if_type = sc_core::sc_signal_in_if<sc_dt::sc_bv<4> >]
void operator () ( const in_if_type& interface )
^
/usr/local/systemc-2.3.0//include/sysc/communication/sc_signal_ports.h:168:10: note: no known conversion for argument 1 from ‘uint8_t(uint32_t) {aka unsigned char(unsigned int)}’ to ‘const in_if_type& {aka const sc_core::sc_signal_in_if<sc_dt::sc_bv<4> >&}’
/usr/local/systemc-2.3.0//include/sysc/communication/sc_signal_ports.h:177:10: note: candidate: void sc_core::sc_in::operator()(sc_core::sc_in::in_port_type&) [with T = sc_dt::sc_bv<4>; sc_core::sc_in::in_port_type = sc_core::sc_port<sc_core::sc_signal_in_if<sc_dt::sc_bv<4> >, 1, (sc_core::sc_port_policy)0u>]
void operator () ( in_port_type& parent )
^
/usr/local/systemc-2.3.0//include/sysc/communication/sc_signal_ports.h:177:10: note: no known conversion for argument 1 from ‘uint8_t(uint32_t) {aka unsigned char(unsigned int)}’ to ‘sc_core::sc_in<sc_dt::sc_bv<4> >::in_port_type& {aka sc_core::sc_port<sc_core::sc_signal_in_if<sc_dt::sc_bv<4> >, 1, (sc_core::sc_port_policy)0u>&}’
/usr/local/systemc-2.3.0//include/sysc/communication/sc_signal_ports.h:186:10: note: candidate: void sc_core::sc_in::operator()(sc_core::sc_in::inout_port_type&) [with T = sc_dt::sc_bv<4>; sc_core::sc_in::inout_port_type = sc_core::sc_port<sc_core::sc_signal_inout_if<sc_dt::sc_bv<4> >, 1, (sc_core::sc_port_policy)0u>]
void operator () ( inout_port_type& parent )
^
/usr/local/systemc-2.3.0//include/sysc/communication/sc_signal_ports.h:186:10: note: no known conversion for argument 1 from ‘uint8_t(uint32_t) {aka unsigned char(unsigned int)}’ to ‘sc_core::sc_in<sc_dt::sc_bv<4> >::inout_port_type& {aka sc_core::sc_port<sc_core::sc_signal_inout_if<sc_dt::sc_bv<4> >, 1, (sc_core::sc_port_policy)0u>&}’
In file included from ace-slv-test.cc:53:0:
../../test-modules/signals-ace.h:140:3: error: no match for call to ‘(sc_core::sc_in<sc_dt::sc_bv<4> >) (uint8_t (&)(uint32_t))’
dev->awcache(awcache);
^
In file included from /usr/local/systemc-2.3.0//include/sysc/communication/sc_clock_ports.h:33:0,
from /usr/local/systemc-2.3.0//include/systemc:81,
from ace-slv-test.cc:28:
/usr/local/systemc-2.3.0//include/sysc/communication/sc_signal_ports.h:168:10: note: candidate: void sc_core::sc_in::operator()(const in_if_type&) [with T = sc_dt::sc_bv<4>; sc_core::sc_in::in_if_type = sc_core::sc_signal_in_if<sc_dt::sc_bv<4> >]
void operator () ( const in_if_type& interface )
^
/usr/local/systemc-2.3.0//include/sysc/communication/sc_signal_ports.h:168:10: note: no known conversion for argument 1 from ‘uint8_t(uint32_t) {aka unsigned char(unsigned int)}’ to ‘const in_if_type& {aka const sc_core::sc_signal_in_if<sc_dt::sc_bv<4> >&}’
/usr/local/systemc-2.3.0//include/sysc/communication/sc_signal_ports.h:177:10: note: candidate: void sc_core::sc_in::operator()(sc_core::sc_in::in_port_type&) [with T = sc_dt::sc_bv<4>; sc_core::sc_in::in_port_type = sc_core::sc_port<sc_core::sc_signal_in_if<sc_dt::sc_bv<4> >, 1, (sc_core::sc_port_policy)0u>]
void operator () ( in_port_type& parent )
^
/usr/local/systemc-2.3.0//include/sysc/communication/sc_signal_ports.h:177:10: note: no known conversion for argument 1 from ‘uint8_t(uint32_t) {aka unsigned char(unsigned int)}’ to ‘sc_core::sc_in<sc_dt::sc_bv<4> >::in_port_type& {aka sc_core::sc_port<sc_core::sc_signal_in_if<sc_dt::sc_bv<4> >, 1, (sc_core::sc_port_policy)0u>&}’
/usr/local/systemc-2.3.0//include/sysc/communication/sc_signal_ports.h:186:10: note: candidate: void sc_core::sc_in::operator()(sc_core::sc_in::inout_port_type&) [with T = sc_dt::sc_bv<4>; sc_core::sc_in::inout_port_type = sc_core::sc_port<sc_core::sc_signal_inout_if<sc_dt::sc_bv<4> >, 1, (sc_core::sc_port_policy)0u>]
void operator () ( inout_port_type& parent )
^
/usr/local/systemc-2.3.0//include/sysc/communication/sc_signal_ports.h:186:10: note: no known conversion for argument 1 from ‘uint8_t(uint32_t) {aka unsigned char(unsigned int)}’ to ‘sc_core::sc_in<sc_dt::sc_bv<4> >::inout_port_type& {aka sc_core::sc_port<sc_core::sc_signal_inout_if<sc_dt::sc_bv<4> >, 1, (sc_core::sc_port_policy)0u>&}’
In file included from ace-slv-test.cc:53:0:
../../test-modules/signals-ace.h:141:3: error: no match for call to ‘(sc_core::sc_in<sc_dt::sc_bv<2> >) (uint8_t (&)(uint32_t))’
dev->awburst(awburst);
^
In file included from /usr/local/systemc-2.3.0//include/sysc/communication/sc_clock_ports.h:33:0,
from /usr/local/systemc-2.3.0//include/systemc:81,
from ace-slv-test.cc:28:
/usr/local/systemc-2.3.0//include/sysc/communication/sc_signal_ports.h:168:10: note: candidate: void sc_core::sc_in::operator()(const in_if_type&) [with T = sc_dt::sc_bv<2>; sc_core::sc_in::in_if_type = sc_core::sc_signal_in_if<sc_dt::sc_bv<2> >]
void operator () ( const in_if_type& interface )
^
/usr/local/systemc-2.3.0//include/sysc/communication/sc_signal_ports.h:168:10: note: no known conversion for argument 1 from ‘uint8_t(uint32_t) {aka unsigned char(unsigned int)}’ to ‘const in_if_type& {aka const sc_core::sc_signal_in_if<sc_dt::sc_bv<2> >&}’
/usr/local/systemc-2.3.0//include/sysc/communication/sc_signal_ports.h:177:10: note: candidate: void sc_core::sc_in::operator()(sc_core::sc_in::in_port_type&) [with T = sc_dt::sc_bv<2>; sc_core::sc_in::in_port_type = sc_core::sc_port<sc_core::sc_signal_in_if<sc_dt::sc_bv<2> >, 1, (sc_core::sc_port_policy)0u>]
void operator () ( in_port_type& parent )
^
/usr/local/systemc-2.3.0//include/sysc/communication/sc_signal_ports.h:177:10: note: no known conversion for argument 1 from ‘uint8_t(uint32_t) {aka unsigned char(unsigned int)}’ to ‘sc_core::sc_in<sc_dt::sc_bv<2> >::in_port_type& {aka sc_core::sc_port<sc_core::sc_signal_in_if<sc_dt::sc_bv<2> >, 1, (sc_core::sc_port_policy)0u>&}’
/usr/local/systemc-2.3.0//include/sysc/communication/sc_signal_ports.h:186:10: note: candidate: void sc_core::sc_in::operator()(sc_core::sc_in::inout_port_type&) [with T = sc_dt::sc_bv<2>; sc_core::sc_in::inout_port_type = sc_core::sc_port<sc_core::sc_signal_inout_if<sc_dt::sc_bv<2> >, 1, (sc_core::sc_port_policy)0u>]
void operator () ( inout_port_type& parent )
^
/usr/local/systemc-2.3.0//include/sysc/communication/sc_signal_ports.h:186:10: note: no known conversion for argument 1 from ‘uint8_t(uint32_t) {aka unsigned char(unsigned int)}’ to ‘sc_core::sc_in<sc_dt::sc_bv<2> >::inout_port_type& {aka sc_core::sc_port<sc_core::sc_signal_inout_if<sc_dt::sc_bv<2> >, 1, (sc_core::sc_port_policy)0u>&}’
In file included from ace-slv-test.cc:60:0:
../../test-modules/signals-axilite.h: In instantiation of ‘void AXILiteSignals<ADDR_WIDTH, DATA_WIDTH>::connect(T*) [with T = tlm2axilite_bridge<64, 32>; int ADDR_WIDTH = 64; int DATA_WIDTH = 32]’:
../../test-modules/signals-axilite.h:159:10: required from ‘void AXILiteSignals<ADDR_WIDTH, DATA_WIDTH>::connect(T&) [with T = tlm2axilite_bridge<64, 32>; int ADDR_WIDTH = 64; int DATA_WIDTH = 32]’
ace-slv-test.cc:400:42: required from here
../../test-modules/signals-axilite.h:99:3: error: no match for call to ‘(sc_core::sc_out<sc_dt::sc_bv<3> >) (uint8_t (&)(uint32_t))’
dev->awprot(awprot);
^
In file included from /usr/local/systemc-2.3.0//include/sysc/communication/sc_signal.h:32:0,
from /usr/local/systemc-2.3.0//include/sysc/communication/sc_buffer.h:34,
from /usr/local/systemc-2.3.0//include/systemc:79,
from ace-slv-test.cc:28:
/usr/local/systemc-2.3.0//include/sysc/communication/sc_port.h:272:10: note: candidate: void sc_core::sc_port_b::operator()(IF&) [with IF = sc_core::sc_signal_inout_if<sc_dt::sc_bv<3> >]
void operator () ( IF& interface )
^
/usr/local/systemc-2.3.0//include/sysc/communication/sc_port.h:272:10: note: no known conversion for argument 1 from ‘uint8_t(uint32_t) {aka unsigned char(unsigned int)}’ to ‘sc_core::sc_signal_inout_if<sc_dt::sc_bv<3> >&’
/usr/local/systemc-2.3.0//include/sysc/communication/sc_port.h:281:10: note: candidate: void sc_core::sc_port_b::operator()(sc_core::sc_port_b::port_type&) [with IF = sc_core::sc_signal_inout_if<sc_dt::sc_bv<3> >; sc_core::sc_port_b::port_type = sc_core::sc_port_b<sc_core::sc_signal_inout_if<sc_dt::sc_bv<3> > >]
void operator () ( port_type& parent )
^
/usr/local/systemc-2.3.0//include/sysc/communication/sc_port.h:281:10: note: no known conversion for argument 1 from ‘uint8_t(uint32_t) {aka unsigned char(unsigned int)}’ to ‘sc_core::sc_port_b<sc_core::sc_signal_inout_if<sc_dt::sc_bv<3> > >::port_type& {aka sc_core::sc_port_b<sc_core::sc_signal_inout_if<sc_dt::sc_bv<3> > >&}’
In file included from ace-slv-test.cc:60:0:
../../test-modules/signals-axilite.h: In instantiation of ‘void AXILiteSignals<ADDR_WIDTH, DATA_WIDTH>::connect(T*) [with T = AXILiteProtocolChecker<64, 32>; int ADDR_WIDTH = 64; int DATA_WIDTH = 32]’:
../../test-modules/signals-axilite.h:159:10: required from ‘void AXILiteSignals<ADDR_WIDTH, DATA_WIDTH>::connect(T&) [with T = AXILiteProtocolChecker<64, 32>; int ADDR_WIDTH = 64; int DATA_WIDTH = 32]’
ace-slv-test.cc:401:39: required from here
../../test-modules/signals-axilite.h:99:3: error: no match for call to ‘(sc_core::sc_in<sc_dt::sc_bv<3> >) (uint8_t (&)(uint32_t))’
dev->awprot(awprot);
^
In file included from /usr/local/systemc-2.3.0//include/sysc/communication/sc_clock_ports.h:33:0,
from /usr/local/systemc-2.3.0//include/systemc:81,
from ace-slv-test.cc:28:
/usr/local/systemc-2.3.0//include/sysc/communication/sc_signal_ports.h:168:10: note: candidate: void sc_core::sc_in::operator()(const in_if_type&) [with T = sc_dt::sc_bv<3>; sc_core::sc_in::in_if_type = sc_core::sc_signal_in_if<sc_dt::sc_bv<3> >]
void operator () ( const in_if_type& interface )
^
/usr/local/systemc-2.3.0//include/sysc/communication/sc_signal_ports.h:168:10: note: no known conversion for argument 1 from ‘uint8_t(uint32_t) {aka unsigned char(unsigned int)}’ to ‘const in_if_type& {aka const sc_core::sc_signal_in_if<sc_dt::sc_bv<3> >&}’
/usr/local/systemc-2.3.0//include/sysc/communication/sc_signal_ports.h:177:10: note: candidate: void sc_core::sc_in::operator()(sc_core::sc_in::in_port_type&) [with T = sc_dt::sc_bv<3>; sc_core::sc_in::in_port_type = sc_core::sc_port<sc_core::sc_signal_in_if<sc_dt::sc_bv<3> >, 1, (sc_core::sc_port_policy)0u>]
void operator () ( in_port_type& parent )
^
/usr/local/systemc-2.3.0//include/sysc/communication/sc_signal_ports.h:177:10: note: no known conversion for argument 1 from ‘uint8_t(uint32_t) {aka unsigned char(unsigned int)}’ to ‘sc_core::sc_in<sc_dt::sc_bv<3> >::in_port_type& {aka sc_core::sc_port<sc_core::sc_signal_in_if<sc_dt::sc_bv<3> >, 1, (sc_core::sc_port_policy)0u>&}’
/usr/local/systemc-2.3.0//include/sysc/communication/sc_signal_ports.h:186:10: note: candidate: void sc_core::sc_in::operator()(sc_core::sc_in::inout_port_type&) [with T = sc_dt::sc_bv<3>; sc_core::sc_in::inout_port_type = sc_core::sc_port<sc_core::sc_signal_inout_if<sc_dt::sc_bv<3> >, 1, (sc_core::sc_port_policy)0u>]
void operator () ( inout_port_type& parent )
^
/usr/local/systemc-2.3.0//include/sysc/communication/sc_signal_ports.h:186:10: note: no known conversion for argument 1 from ‘uint8_t(uint32_t) {aka unsigned char(unsigned int)}’ to ‘sc_core::sc_in<sc_dt::sc_bv<3> >::inout_port_type& {aka sc_core::sc_port<sc_core::sc_signal_inout_if<sc_dt::sc_bv<3> >, 1, (sc_core::sc_port_policy)0u>&}’
In file included from /usr/local/systemc-2.3.0//include/sysc/kernel/sc_boost.h:44:0,
from /usr/local/systemc-2.3.0//include/sysc/kernel/sc_dynamic_processes.h:36,
from /usr/local/systemc-2.3.0//include/systemc:124,
from ace-slv-test.cc:28:
/usr/local/systemc-2.3.0//include/sysc/packages/boost/bind.hpp: In instantiation of ‘void sc_boost::sc_bi::list2<A1, A2>::operator()(sc_boost::sc_bi::type, F&, A&, int) [with F = sc_boost::sc_mfi::mf1<void, TLMTrafficGenerator, TLMTrafficGenerator::ThreadData*>; A = sc_boost::sc_bi::list0; A1 = sc_boost::sc_bi::value<TLMTrafficGenerator*>; A2 = sc_boost::sc_bi::value<int*>]’:
/usr/local/systemc-2.3.0//include/sysc/packages/boost/bind/bind_template.hpp:20:62: required from ‘sc_boost::sc_bi::bind_t<R, F, L>::result_type sc_boost::sc_bi::bind_t<R, F, L>::operator()() [with R = void; F = sc_boost::sc_mfi::mf1<void, TLMTrafficGenerator, TLMTrafficGenerator::ThreadData*>; L = sc_boost::sc_bi::list2<sc_boost::sc_bi::value<TLMTrafficGenerator*>, sc_boost::sc_bi::value<int*> >; sc_boost::sc_bi::bind_t<R, F, L>::result_type = void]’
/usr/local/systemc-2.3.0//include/sysc/kernel/sc_spawn.h:83:9: required from ‘void sc_core::sc_spawn_object::semantics() [with T = sc_boost::sc_bi::bind_t<void, sc_boost::sc_mfi::mf1<void, TLMTrafficGenerator, TLMTrafficGenerator::ThreadData*>, sc_boost::sc_bi::list2<sc_boost::sc_bi::value<TLMTrafficGenerator*>, sc_boost::sc_bi::value<int*> > >]’
/usr/local/systemc-2.3.0//include/sysc/kernel/sc_spawn.h:118:13: required from ‘sc_core::sc_process_handle sc_core::sc_spawn(T, const char*, const sc_core::sc_spawn_options*) [with T = sc_boost::sc_bi::bind_t<void, sc_boost::sc_mfi::mf1<void, TLMTrafficGenerator, TLMTrafficGenerator::ThreadData*>, sc_boost::sc_bi::list2<sc_boost::sc_bi::value<TLMTrafficGenerator*>, sc_boost::sc_bi::value<int*> > >]’
../../../traffic-generators/tg-tlm.h:168:10: required from here
/usr/local/systemc-2.3.0//include/sysc/packages/boost/bind.hpp:286:22: error: no match for call to ‘(sc_boost::sc_mfi::mf1<void, TLMTrafficGenerator, TLMTrafficGenerator::ThreadData*>) (TLMTrafficGenerator*&, int*&)’
unwrap(&f, 0)(a[a1], a[a2]);
^
In file included from /usr/local/systemc-2.3.0//include/sysc/packages/boost/mem_fn.hpp:215:0,
from /usr/local/systemc-2.3.0//include/sysc/packages/boost/bind.hpp:26,
from /usr/local/systemc-2.3.0//include/sysc/kernel/sc_boost.h:44,
from /usr/local/systemc-2.3.0//include/sysc/kernel/sc_dynamic_processes.h:36,
from /usr/local/systemc-2.3.0//include/systemc:124,
from ace-slv-test.cc:28:
/usr/local/systemc-2.3.0//include/sysc/packages/boost/bind/mem_fn_template.hpp:147:7: note: candidate: R sc_boost::sc_mfi::mf1<R, T, A1>::operator()(T*, A1) const [with R = void; T = TLMTrafficGenerator; A1 = TLMTrafficGenerator::ThreadData*]
R operator()(T * p, A1 a1) const
^
/usr/local/systemc-2.3.0//include/sysc/packages/boost/bind/mem_fn_template.hpp:147:7: note: no known conversion for argument 2 from ‘int*’ to ‘TLMTrafficGenerator::ThreadData*’
/usr/local/systemc-2.3.0//include/sysc/packages/boost/bind/mem_fn_template.hpp:152:25: note: candidate: template R sc_boost::sc_mfi::mf1<R, T, A1>::operator()(U&, A1) const [with U = U; R = void; T = TLMTrafficGenerator; A1 = TLMTrafficGenerator::ThreadData*]
template R operator()(U & u, A1 a1) const
^
/usr/local/systemc-2.3.0//include/sysc/packages/boost/bind/mem_fn_template.hpp:152:25: note: template argument deduction/substitution failed:
In file included from /usr/local/systemc-2.3.0//include/sysc/kernel/sc_boost.h:44:0,
from /usr/local/systemc-2.3.0//include/sysc/kernel/sc_dynamic_processes.h:36,
from /usr/local/systemc-2.3.0//include/systemc:124,
from ace-slv-test.cc:28:
/usr/local/systemc-2.3.0//include/sysc/packages/boost/bind.hpp:286:22: note: cannot convert ‘(& a)->sc_boost::sc_bi::list0::operator[]<int*>(((sc_boost::sc_bi::list2<sc_boost::sc_bi::value<TLMTrafficGenerator*>, sc_boost::sc_bi::value<int*> >)this)->sc_boost::sc_bi::list2<sc_boost::sc_bi::value<TLMTrafficGenerator>, sc_boost::sc_bi::value<int*> >::a2)’ (type ‘int*’) to type ‘TLMTrafficGenerator::ThreadData*’
unwrap(&f, 0)(a[a1], a[a2]);
^
In file included from /usr/local/systemc-2.3.0//include/sysc/packages/boost/mem_fn.hpp:215:0,
from /usr/local/systemc-2.3.0//include/sysc/packages/boost/bind.hpp:26,
from /usr/local/systemc-2.3.0//include/sysc/kernel/sc_boost.h:44,
from /usr/local/systemc-2.3.0//include/sysc/kernel/sc_dynamic_processes.h:36,
from /usr/local/systemc-2.3.0//include/systemc:124,
from ace-slv-test.cc:28:
/usr/local/systemc-2.3.0//include/sysc/packages/boost/bind/mem_fn_template.hpp:157:7: note: candidate: R sc_boost::sc_mfi::mf1<R, T, A1>::operator()(T&, A1) const [with R = void; T = TLMTrafficGenerator; A1 = TLMTrafficGenerator::ThreadData*]
R operator()(T & t, A1 a1) const
^
/usr/local/systemc-2.3.0//include/sysc/packages/boost/bind/mem_fn_template.hpp:157:7: note: no known conversion for argument 1 from ‘TLMTrafficGenerator*’ to ‘TLMTrafficGenerator&’
In file included from ../../../tlm-bridges/ace2tlm-bridge.h:29:0,
from ace-slv-test.cc:47:
../../../tlm-bridges/axi2tlm-bridge.h: In instantiation of ‘void axi2tlm_bridge<ADDR_WIDTH, DATA_WIDTH, ID_WIDTH, AxLEN_WIDTH, AxLOCK_WIDTH, AWUSER_WIDTH, ARUSER_WIDTH, WUSER_WIDTH, RUSER_WIDTH, BUSER_WIDTH, ACE_MODE, CD_DATA_WIDTH>::Transaction::FillData(T1&, T2&) [with T1 = sc_core::sc_in<sc_dt::sc_bv<128> >; T2 = sc_core::sc_in<sc_dt::sc_bv<16> >; int ADDR_WIDTH = 64; int DATA_WIDTH = 128; int ID_WIDTH = 16; int AxLEN_WIDTH = 8; int AxLOCK_WIDTH = 1; int AWUSER_WIDTH = 32; int ARUSER_WIDTH = 32; int WUSER_WIDTH = 32; int RUSER_WIDTH = 32; int BUSER_WIDTH = 32; int ACE_MODE = 1; int CD_DATA_WIDTH = 128]’:
../../../tlm-bridges/axi2tlm-bridge.h:1222:4: required from ‘void axi2tlm_bridge<ADDR_WIDTH, DATA_WIDTH, ID_WIDTH, AxLEN_WIDTH, AxLOCK_WIDTH, AWUSER_WIDTH, ARUSER_WIDTH, WUSER_WIDTH, RUSER_WIDTH, BUSER_WIDTH, ACE_MODE, CD_DATA_WIDTH>::write_data_phase() [with int ADDR_WIDTH = 64; int DATA_WIDTH = 128; int ID_WIDTH = 16; int AxLEN_WIDTH = 8; int AxLOCK_WIDTH = 1; int AWUSER_WIDTH = 32; int ARUSER_WIDTH = 32; int WUSER_WIDTH = 32; int RUSER_WIDTH = 32; int BUSER_WIDTH = 32; int ACE_MODE = 1; int CD_DATA_WIDTH = 128]’
../../../tlm-bridges/axi2tlm-bridge.h:243:3: required from ‘axi2tlm_bridge<ADDR_WIDTH, DATA_WIDTH, ID_WIDTH, AxLEN_WIDTH, AxLOCK_WIDTH, AWUSER_WIDTH, ARUSER_WIDTH, WUSER_WIDTH, RUSER_WIDTH, BUSER_WIDTH, ACE_MODE, CD_DATA_WIDTH>::axi2tlm_bridge(sc_core::sc_module_name, AXIVersion) [with int ADDR_WIDTH = 64; int DATA_WIDTH = 128; int ID_WIDTH = 16; int AxLEN_WIDTH = 8; int AxLOCK_WIDTH = 1; int AWUSER_WIDTH = 32; int ARUSER_WIDTH = 32; int WUSER_WIDTH = 32; int RUSER_WIDTH = 32; int BUSER_WIDTH = 32; int ACE_MODE = 1; int CD_DATA_WIDTH = 128]’
../../../tlm-bridges/ace2tlm-bridge.h:257:28: required from ‘ace2tlm_bridge<ADDR_WIDTH, DATA_WIDTH, ID_WIDTH, AxLEN_WIDTH, AxLOCK_WIDTH, AWUSER_WIDTH, ARUSER_WIDTH, WUSER_WIDTH, RUSER_WIDTH, BUSER_WIDTH, CD_DATA_WIDTH>::ace2tlm_bridge(sc_core::sc_module_name) [with int ADDR_WIDTH = 64; int DATA_WIDTH = 128; int ID_WIDTH = 16; int AxLEN_WIDTH = 8; int AxLOCK_WIDTH = 1; int AWUSER_WIDTH = 32; int ARUSER_WIDTH = 32; int WUSER_WIDTH = 32; int RUSER_WIDTH = 32; int BUSER_WIDTH = 32; int CD_DATA_WIDTH = 128]’
ace-slv-test.cc:343:22: required from here
../../../tlm-bridges/axi2tlm-bridge.h:414:5: error: could not convert ‘sc_dt::sc_proxy::bit(int) const with X = sc_dt::sc_bv_base’ from ‘sc_dt::sc_bitref_r<sc_dt::sc_bv_base>’ to ‘bool’
if (wstrb.read().bit(i)) {
^
make: *** [ace-slv-test.o] 오류 1
soc@ace$

Additionally, i try to add compile option only test-example, not systemc
there are what i try below.

-std=c++11

soc@ace$ make
g++ -MMD -std=c++11 -Wall -Wno-strict-overflow -Wall -O3 -g -I /usr/local/systemc-2.3.0//include/ -DVM_TRACE=1 -I obj_dir -I /usr/share/verilator/include -I ../../../ -I ../../ -I . -I. -MMD -I/usr/share/verilator/include -I/usr/share/verilator/include/vltstd -DVL_PRINTF=printf -DVM_TRACE=1 -DVM_COVERAGE=0 -c -o ace-slv-test.o ace-slv-test.cc
In file included from /usr/local/systemc-2.3.0//include/sysc/packages/boost/mem_fn.hpp:25:0,
from /usr/local/systemc-2.3.0//include/sysc/packages/boost/bind.hpp:26,
from /usr/local/systemc-2.3.0//include/sysc/kernel/sc_boost.h:44,
from /usr/local/systemc-2.3.0//include/sysc/kernel/sc_dynamic_processes.h:36,
from /usr/local/systemc-2.3.0//include/systemc:124,
from ace-slv-test.cc:28:
/usr/local/systemc-2.3.0//include/sysc/packages/boost/get_pointer.hpp:21:40: warning: ‘template class std::auto_ptr’ is deprecated [-Wdeprecated-declarations]
template T * get_pointer(std::auto_ptr const& p)
^
In file included from /usr/include/c++/5/memory:81:0,
from /usr/local/systemc-2.3.0//include/sysc/packages/boost/get_pointer.hpp:8,
from /usr/local/systemc-2.3.0//include/sysc/packages/boost/mem_fn.hpp:25,
from /usr/local/systemc-2.3.0//include/sysc/packages/boost/bind.hpp:26,
from /usr/local/systemc-2.3.0//include/sysc/kernel/sc_boost.h:44,
from /usr/local/systemc-2.3.0//include/sysc/kernel/sc_dynamic_processes.h:36,
from /usr/local/systemc-2.3.0//include/systemc:124,
from ace-slv-test.cc:28:
/usr/include/c++/5/bits/unique_ptr.h:49:28: note: declared here
template class auto_ptr;
^
In file included from ../../../tlm-bridges/ace2tlm-bridge.h:29:0,
from ace-slv-test.cc:47:
../../../tlm-bridges/axi2tlm-bridge.h: In instantiation of ‘void axi2tlm_bridge<ADDR_WIDTH, DATA_WIDTH, ID_WIDTH, AxLEN_WIDTH, AxLOCK_WIDTH, AWUSER_WIDTH, ARUSER_WIDTH, WUSER_WIDTH, RUSER_WIDTH, BUSER_WIDTH, ACE_MODE, CD_DATA_WIDTH>::Transaction::FillData(T1&, T2&) [with T1 = sc_core::sc_in<sc_dt::sc_bv<128> >; T2 = sc_core::sc_in<sc_dt::sc_bv<16> >; int ADDR_WIDTH = 64; int DATA_WIDTH = 128; int ID_WIDTH = 16; int AxLEN_WIDTH = 8; int AxLOCK_WIDTH = 1; int AWUSER_WIDTH = 32; int ARUSER_WIDTH = 32; int WUSER_WIDTH = 32; int RUSER_WIDTH = 32; int BUSER_WIDTH = 32; int ACE_MODE = 1; int CD_DATA_WIDTH = 128]’:
../../../tlm-bridges/axi2tlm-bridge.h:1222:4: required from ‘void axi2tlm_bridge<ADDR_WIDTH, DATA_WIDTH, ID_WIDTH, AxLEN_WIDTH, AxLOCK_WIDTH, AWUSER_WIDTH, ARUSER_WIDTH, WUSER_WIDTH, RUSER_WIDTH, BUSER_WIDTH, ACE_MODE, CD_DATA_WIDTH>::write_data_phase() [with int ADDR_WIDTH = 64; int DATA_WIDTH = 128; int ID_WIDTH = 16; int AxLEN_WIDTH = 8; int AxLOCK_WIDTH = 1; int AWUSER_WIDTH = 32; int ARUSER_WIDTH = 32; int WUSER_WIDTH = 32; int RUSER_WIDTH = 32; int BUSER_WIDTH = 32; int ACE_MODE = 1; int CD_DATA_WIDTH = 128]’
../../../tlm-bridges/axi2tlm-bridge.h:243:3: required from ‘axi2tlm_bridge<ADDR_WIDTH, DATA_WIDTH, ID_WIDTH, AxLEN_WIDTH, AxLOCK_WIDTH, AWUSER_WIDTH, ARUSER_WIDTH, WUSER_WIDTH, RUSER_WIDTH, BUSER_WIDTH, ACE_MODE, CD_DATA_WIDTH>::axi2tlm_bridge(sc_core::sc_module_name, AXIVersion) [with int ADDR_WIDTH = 64; int DATA_WIDTH = 128; int ID_WIDTH = 16; int AxLEN_WIDTH = 8; int AxLOCK_WIDTH = 1; int AWUSER_WIDTH = 32; int ARUSER_WIDTH = 32; int WUSER_WIDTH = 32; int RUSER_WIDTH = 32; int BUSER_WIDTH = 32; int ACE_MODE = 1; int CD_DATA_WIDTH = 128]’
../../../tlm-bridges/ace2tlm-bridge.h:257:28: required from ‘ace2tlm_bridge<ADDR_WIDTH, DATA_WIDTH, ID_WIDTH, AxLEN_WIDTH, AxLOCK_WIDTH, AWUSER_WIDTH, ARUSER_WIDTH, WUSER_WIDTH, RUSER_WIDTH, BUSER_WIDTH, CD_DATA_WIDTH>::ace2tlm_bridge(sc_core::sc_module_name) [with int ADDR_WIDTH = 64; int DATA_WIDTH = 128; int ID_WIDTH = 16; int AxLEN_WIDTH = 8; int AxLOCK_WIDTH = 1; int AWUSER_WIDTH = 32; int ARUSER_WIDTH = 32; int WUSER_WIDTH = 32; int RUSER_WIDTH = 32; int BUSER_WIDTH = 32; int CD_DATA_WIDTH = 128]’
ace-slv-test.cc:343:22: required from here
../../../tlm-bridges/axi2tlm-bridge.h:414:5: error: could not convert ‘sc_dt::sc_proxy::bit(int) const with X = sc_dt::sc_bv_base’ from ‘sc_dt::sc_bitref_r<sc_dt::sc_bv_base>’ to ‘bool’
if (wstrb.read().bit(i)) {
^
make: *** [ace-slv-test.o] 오류 1
soc@ace$

-std=c++14

soc@ace$ make
SYSTEMC_INCLUDE=/usr/local/systemc-2.3.0//include/ SYSTEMC_LIBDIR=/usr/local/systemc-2.3.0//lib-linux64 verilator -Wno-fatal --pins-bv 2 --sc --unroll-count 100000 --unroll-stmts 100000 --output-split-cfuncs 500 -Wno-PINMISSING -Wno-COMBDLY --trace -I../../../rtl-bridges/pcie-host/ace/rtl/common -I../../../rtl-bridges/pcie-host/ace/rtl/slave ../../../rtl-bridges/pcie-host/ace/rtl/slave/ace_slv.v
make -C obj_dir CXXFLAGS="-MMD -std=c++14 -Wall -Wno-strict-overflow -Wall -O3 -g" -f Vace_slv.mk
make[1]: Entering directory /home/soc/libsystemctlm-soc-master/tests/rtl-bridges/ace/obj_dir' g++ -MMD -std=c++14 -Wall -Wno-strict-overflow -Wall -O3 -g -I. -MMD -I/usr/share/verilator/include -I/usr/share/verilator/include/vltstd -DVL_PRINTF=printf -DVM_TRACE=1 -DVM_COVERAGE=0 -I/usr/local/systemc-2.3.0//include/ -c -o Vace_slv__ALLcls.o Vace_slv__ALLcls.cpp In file included from Vace_slv.h:11:0, from Vace_slv.cpp:5, from Vace_slv__ALLcls.cpp:2: /usr/local/systemc-2.3.0//include/systemc.h:136:16: error: ‘std::gets’ has not been declared using std::gets; ^ make[1]: *** [Vace_slv__ALLcls.o] 오류 1 make[1]: Leaving directory /home/soc/libsystemctlm-soc-master/tests/rtl-bridges/ace/obj_dir'
make: *** [obj_dir/Vace_slv__ALL.a] 오류 2
soc@ace$

-std=gnu++17

soc@ace$ make
SYSTEMC_INCLUDE=/usr/local/systemc-2.3.0//include/ SYSTEMC_LIBDIR=/usr/local/systemc-2.3.0//lib-linux64 verilator -Wno-fatal --pins-bv 2 --sc --unroll-count 100000 --unroll-stmts 100000 --output-split-cfuncs 500 -Wno-PINMISSING -Wno-COMBDLY --trace -I../../../rtl-bridges/pcie-host/ace/rtl/common -I../../../rtl-bridges/pcie-host/ace/rtl/slave ../../../rtl-bridges/pcie-host/ace/rtl/slave/ace_slv.v
make -C obj_dir CXXFLAGS="-MMD -std=gnu++17 -Wall -Wno-strict-overflow -Wall -O3 -g" -f Vace_slv.mk
make[1]: Entering directory /home/soc/libsystemctlm-soc-master/tests/rtl-bridges/ace/obj_dir' g++ -MMD -std=gnu++17 -Wall -Wno-strict-overflow -Wall -O3 -g -I. -MMD -I/usr/share/verilator/include -I/usr/share/verilator/include/vltstd -DVL_PRINTF=printf -DVM_TRACE=1 -DVM_COVERAGE=0 -I/usr/local/systemc-2.3.0//include/ -c -o Vace_slv__ALLcls.o Vace_slv__ALLcls.cpp In file included from Vace_slv.h:11:0, from Vace_slv.cpp:5, from Vace_slv__ALLcls.cpp:2: /usr/local/systemc-2.3.0//include/systemc.h:136:16: error: ‘std::gets’ has not been declared using std::gets; ^ make[1]: *** [Vace_slv__ALLcls.o] 오류 1 make[1]: Leaving directory /home/soc/libsystemctlm-soc-master/tests/rtl-bridges/ace/obj_dir'
make: *** [obj_dir/Vace_slv__ALL.a] 오류 2
soc@ace$

So, What should i do for successful run the example?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.