27 #include <TDmaNetif.h> 59 _netif->SetSignalIntr(_signal_intr);
60 _netif->SetSignalSendStatus(_signal_send_status);
61 _netif->SetSignalRecvStatus(_signal_recv_status);
62 _netif->SetSignalProgSend(_signal_prog_send);
63 _netif->SetSignalProgRecv(_signal_prog_recv);
64 _netif->SetSignalProgAddr(_signal_prog_addr);
65 _netif->SetSignalProgSize(_signal_prog_size);
102 _signal_intr->Write(0);
104 _signal_send_status->Write(0);
105 _signal_recv_status->Write(0);
106 _signal_prog_send->Write(0);
107 _signal_prog_recv->Write(0);
108 _signal_prog_addr->Write(0);
109 _signal_prog_size->Write(0);
111 #ifdef MEMORY_ENABLE_COUNTERS 113 _mem0->GetSignalCounterStore()->MapTo(_mem0->GetMap(M0_COUNTER_STORE_ADDR), M0_COUNTER_STORE_ADDR);
114 _mem0->GetSignalCounterLoad()->MapTo(_mem0->GetMap(M0_COUNTER_LOAD_ADDR), M0_COUNTER_LOAD_ADDR);
117 _mem1->GetSignalCounterStore()->MapTo(_mem0->GetMap(M1_COUNTER_STORE_ADDR), M1_COUNTER_STORE_ADDR);
118 _mem1->GetSignalCounterLoad()->MapTo(_mem0->GetMap(M1_COUNTER_LOAD_ADDR), M1_COUNTER_LOAD_ADDR);
119 _mem2->GetSignalCounterStore()->MapTo(_mem0->GetMap(M2_COUNTER_STORE_ADDR), M2_COUNTER_STORE_ADDR);
120 _mem2->GetSignalCounterLoad()->MapTo(_mem0->GetMap(M2_COUNTER_LOAD_ADDR), M2_COUNTER_LOAD_ADDR);
123 #ifdef ROUTER_ENABLE_COUNTERS 124 GetRouter()->GetSignalCounterActive()->MapTo(_mem0->GetMap(ROUTER_COUNTER_ACTIVE_ADDR), ROUTER_COUNTER_ACTIVE_ADDR);
128 #ifdef HFRISCV_ENABLE_COUNTERS 129 _cpu->GetSignalCounterArith()->MapTo(_mem0->GetMap(CPU_COUNTER_ARITH_ADDR), CPU_COUNTER_ARITH_ADDR);
130 _cpu->GetSignalCounterLogical()->MapTo(_mem0->GetMap(CPU_COUNTER_LOGICAL_ADDR), CPU_COUNTER_LOGICAL_ADDR);
131 _cpu->GetSignalCounterShift()->MapTo(_mem0->GetMap(CPU_COUNTER_SHIFT_ADDR), CPU_COUNTER_SHIFT_ADDR);
132 _cpu->GetSignalCounterBranches()->MapTo(_mem0->GetMap(CPU_COUNTER_BRANCHES_ADDR), CPU_COUNTER_BRANCHES_ADDR);
133 _cpu->GetSignalCounterJumps()->MapTo(_mem0->GetMap(CPU_COUNTER_JUMPS_ADDR), CPU_COUNTER_JUMPS_ADDR);
134 _cpu->GetSignalCounterLoadStore()->MapTo(_mem0->GetMap(CPU_COUNTER_LOADSTORE_ADDR), CPU_COUNTER_LOADSTORE_ADDR);
135 _cpu->GetSignalCounterCyclesTotal()->MapTo(_mem0->GetMap(CPU_COUNTER_CYCLES_TOTAL_ADDR), CPU_COUNTER_CYCLES_TOTAL_ADDR);
136 _cpu->GetSignalCounterCyclesStall()->MapTo(_mem0->GetMap(CPU_COUNTER_CYCLES_STALL_ADDR), CPU_COUNTER_CYCLES_STALL_ADDR);
137 _cpu->GetSignalHostTime()->MapTo(_mem0->GetMap(CPU_COUNTER_HOSTTIME_ADDR), CPU_COUNTER_HOSTTIME_ADDR);
Signal< uint8_t > * GetSignalIntr()
void MapTo(bool keep_val=true)
Maps current Signal to the internal storage.
#define MEM0_SIZE
This file is part of project URSA.
Signal< uint8_t > * _signal_prog_send
Memory * GetMem2()
Get recv memory module.
Signal< uint8_t > * GetSignalSendStatus()
Signal< uint8_t > * _signal_send_status
Signal< uint8_t > * _signal_intr
Signal< uint32_t > * _signal_hosttime
Signal< uint8_t > * GetSignalStall()
ProcessingTile()
This file is part of project URSA.
#define SIGNAL_SEND_STATUS
Memory * GetMem1()
Get sender memory module.
#define MEM1_SIZE
This file is part of project URSA.
Signal< uint32_t > * GetSignalProgSize()
void Write(T val)
Writes some value to the bus.
Signal< uint32_t > * _signal_prog_size
HermesRouter * GetRouter()
Get current router of the PE.
Signal< uint32_t > * GetSignalId()
Get current signal for tile ID.
Signal< uint32_t > * GetSignalHostTime()
Get current signal for systime signal.
Signal< uint8_t > * GetSignalProgRecv()
Signal< uint8_t > * GetSignalProgSend()
Signal< uint8_t > * _signal_prog_recv
Signal< uint8_t > * _signal_stall
#define SIGNAL_RECV_STATUS
Signal< uint32_t > * GetSignalProgAddr()
Signal< uint32_t > * _signal_prog_addr
DmaNetif * GetDmaNetif()
Get current NI module.
Signal< uint32_t > * GetSignalRecvStatus()
Signal< uint32_t > * _signal_recv_status
This class models an entire processing element that contains RAM memory (3x), DMA, NoC Router, HFRiscV core.