orca-sim
|
#include <TDmaMult.hpp>
Public Member Functions | |
DmaState | GetDmaState () |
SimulationTime | Run () |
void | Reset () |
TDmaMult (std::string name, Signal< uint8_t > *stall, Signal< uint8_t > *dma_start, Signal< uint32_t > *burst_size, Signal< uint32_t > *nn_size, Signal< uint32_t > *out_size, uint32_t base_mac_out_addr, Memory *main_mem) | |
ctor More... | |
~TDmaMult () | |
dtor More... | |
Private Member Functions | |
void | ReadData () |
Internal processes – 3 stage pipeline. More... | |
void | DoMult () |
void | DoAcc () |
Private Attributes | |
Memory * | _mem0 |
uint32_t | _memW [SIMD_SIZE] |
uint32_t | _memI [SIMD_SIZE] |
uint32_t | _base_mac_out_addr |
DmaState | _dma_state |
Signal< uint8_t > * | _sig_stall |
Signal< uint8_t > * | _sig_dma_prog |
Signal< uint32_t > * | _sig_burst_size |
Signal< uint32_t > * | _sig_nn_size |
Signal< uint32_t > * | _sig_out_size |
float | _op1 [SIMD_SIZE] |
float | _op2 [SIMD_SIZE] |
float | _reg_mul [SIMD_SIZE] |
float | _reg_mac [SIMD_SIZE] |
uint8_t | _mul_loaded |
pipeline signals. More... | |
uint8_t | _mul_ready |
uint32_t | _burst_size |
uint32_t | nn_size |
uint32_t | out_size |
uint32_t | _remaining |
count number of data to be read. More... | |
uint32_t | _mem_idx |
memory idx used to access both the input and weight memories. More... | |
Definition at line 69 of file TDmaMult.hpp.
TDmaMult::TDmaMult | ( | std::string | name, |
Signal< uint8_t > * | stall, | ||
Signal< uint8_t > * | dma_start, | ||
Signal< uint32_t > * | burst_size, | ||
Signal< uint32_t > * | nn_size, | ||
Signal< uint32_t > * | out_size, | ||
uint32_t | base_mac_out_addr, | ||
Memory * | main_mem | ||
) |
ctor
This file is part of project URSA.
name | name of the module. |
stall | signal to stall the processor while the DMA is going on. |
burst_size | MMIO with the total number of multiplications. |
nn_size | (not used) number of NN memory banks for a single MAC. |
out_size | (not used) number of expected output data. |
base_mac_out_addr | base address to the array with the output of the MACs. |
mac | pointer to the MAC module. |
More information on the project can be found at URSA's repository at GitHub
http://https://github.com/andersondomingues/ursa
Copyright (C) 2018 Anderson Domingues, ti.an ders ondom ingu es@gm ail. com
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
Definition at line 34 of file TDmaMult.cpp.
TDmaMult::~TDmaMult | ( | ) |
|
private |
Definition at line 107 of file TDmaMult.cpp.
|
private |
Definition at line 137 of file TDmaMult.cpp.
DmaState TDmaMult::GetDmaState | ( | ) |
Definition at line 92 of file TDmaMult.cpp.
|
private |
Internal processes – 3 stage pipeline.
Definition at line 158 of file TDmaMult.cpp.
void TDmaMult::Reset | ( | ) |
Definition at line 79 of file TDmaMult.cpp.
SimulationTime TDmaMult::Run | ( | ) |
Definition at line 94 of file TDmaMult.cpp.
|
private |
Definition at line 81 of file TDmaMult.hpp.
|
private |
Definition at line 116 of file TDmaMult.hpp.
|
private |
Definition at line 83 of file TDmaMult.hpp.
|
private |
Definition at line 72 of file TDmaMult.hpp.
|
private |
memory idx used to access both the input and weight memories.
Definition at line 122 of file TDmaMult.hpp.
|
private |
Definition at line 78 of file TDmaMult.hpp.
|
private |
Definition at line 75 of file TDmaMult.hpp.
|
private |
pipeline signals.
Definition at line 112 of file TDmaMult.hpp.
|
private |
Definition at line 113 of file TDmaMult.hpp.
|
private |
Definition at line 104 of file TDmaMult.hpp.
|
private |
Definition at line 104 of file TDmaMult.hpp.
|
private |
Definition at line 109 of file TDmaMult.hpp.
|
private |
Definition at line 107 of file TDmaMult.hpp.
|
private |
count number of data to be read.
Definition at line 120 of file TDmaMult.hpp.
|
private |
Definition at line 93 of file TDmaMult.hpp.
|
private |
Definition at line 89 of file TDmaMult.hpp.
|
private |
Definition at line 97 of file TDmaMult.hpp.
|
private |
Definition at line 99 of file TDmaMult.hpp.
|
private |
Definition at line 87 of file TDmaMult.hpp.
|
private |
Definition at line 117 of file TDmaMult.hpp.
|
private |
Definition at line 118 of file TDmaMult.hpp.