diff options
| author | Thomas Bauereiss | 2019-01-29 16:55:26 +0000 |
|---|---|---|
| committer | Thomas Bauereiss | 2019-01-29 16:58:47 +0000 |
| commit | 06b4141e3a06aaf74449d062d85cffb68f566b6b (patch) | |
| tree | 97cd44c6a17bb7d5bd205be6f2565941cbef9ba8 /lib/rts.c | |
| parent | 1f2c21b684be664e8ffffda2fd3c8d34edaba807 (diff) | |
| parent | 60164a9a221ed6566f1067100dbea2ec828b47d2 (diff) | |
Merge branch 'sail2' into asl_flow2
Diffstat (limited to 'lib/rts.c')
| -rw-r--r-- | lib/rts.c | 15 |
1 files changed, 15 insertions, 0 deletions
@@ -238,6 +238,21 @@ bool write_ram(const mpz_t addr_size, // Either 32 or 64 return true; } +sbits fast_read_ram(const int64_t data_size, + const uint64_t addr) +{ + uint64_t r = 0; + + uint64_t byte; + for(uint64_t i = (uint64_t) data_size; i > 0; --i) { + byte = read_mem(addr + (i - 1)); + r = r << 8; + r = r + byte; + } + sbits res = {.len = data_size * 8, .bits = r }; + return res; +} + void read_ram(lbits *data, const mpz_t addr_size, const mpz_t data_size_mpz, |
