OpenCores
URL https://opencores.org/ocsvn/riscv_vhdl/riscv_vhdl/trunk

Subversion Repositories riscv_vhdl

[/] [riscv_vhdl/] [trunk/] [debugger/] [src/] [socsim_plugin/] [fsev2.h] - Blame information for rev 2

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 2 sergeykhbr
/**
2
 * @file
3
 * @copyright  Copyright 2017 GNSS Sensor Ltd. All right reserved.
4
 * @author     Sergey Khabarov - sergeykhbr@gmail.com
5
 * @brief      Fast Search Engnine (FSE) black-box model.
6
 */
7
 
8
#ifndef __DEBUGGER_SOCSIM_PLUGIN_FSEV2_H__
9
#define __DEBUGGER_SOCSIM_PLUGIN_FSEV2_H__
10
 
11
#include "iclass.h"
12
#include "iservice.h"
13
#include "coreservices/imemop.h"
14
 
15
namespace debugger {
16
 
17
class FseV2 : public IService,
18
              public IMemoryOperation {
19
public:
20
    FseV2(const char *name);
21
 
22
    /** IMemoryOperation */
23
    virtual void b_transport(Axi4TransactionType *trans);
24
 
25
    virtual uint64_t getBaseAddress() {
26
        return baseAddress_.to_uint64();
27
    }
28
    virtual uint64_t getLength() {
29
        return length_.to_uint64();
30
    }
31
 
32
private:
33
    AttributeType baseAddress_;
34
    AttributeType length_;
35
 
36
    static const int FSE2_CHAN_MAX = 32;
37
 
38
    struct fsev2_chan_fields {
39
        volatile uint32_t common;//prn, acc_ms, carr_steps, coh_ena
40
        volatile int32_t carr_nco_f0;
41
        volatile int32_t carr_nco_dlt;
42
        volatile int32_t carr_nco_letter;
43
        volatile uint32_t max;
44
        volatile uint32_t ind;
45
        volatile uint32_t noise;
46
        volatile int32_t dopler;
47
    };
48
 
49
    struct fsev2_map {
50
       fsev2_chan_fields chan[FSE2_CHAN_MAX];
51
 
52
       volatile uint32_t hw_id; // msec ram capacity and hw_id
53
       volatile uint32_t control;
54
       volatile uint32_t ms_marker;
55
       volatile uint32_t carr_nco_th;
56
       volatile uint32_t code_nco_th;
57
       volatile int32_t carr_nco_if;
58
       volatile uint32_t code_nco;
59
       uint32_t reserved;
60
    } regs_;
61
};
62
 
63
DECLARE_CLASS(FseV2)
64
 
65
}  // namespace debugger
66
 
67
#endif  // __DEBUGGER_SOCSIM_PLUGIN_FSEV2_H__

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.