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

Subversion Repositories riscv_vhdl

[/] [riscv_vhdl/] [trunk/] [examples/] [common/] [maps/] [map_fsev2.h] - Rev 5

Compare with Previous | Blame | View Log

/*****************************************************************************
 * @file
 * @copyright Copyright 2015 GNSS Sensor Ltd. All right reserved.
 * @author    Sergey Khabarov - sergeykhbr@gmail.com
 * @brief     Fast Search Engine (FSE) memory map description.
 ****************************************************************************/
 
#ifndef __FSEV2_H__
#define __FSEV2_H__
 
#include <inttypes.h>
 
#define FSE2_CHAN_MAX 32
 
static const uint32_t FSE2_CONTROL_ENA      = (1 << 31);  // 0=disable; 1=enable
static const uint32_t FSE2_CONTROL_ADC      = (1 << 30);  // 0=bin offset; 1=sign/magn
static const uint32_t FSE2_REC_DISABLE      = (1 << 29);
static const uint32_t FSE2_STATE_NXT_DOPLER = (1 << 21);
static const uint32_t FSE2_STATE_PROCESSING = (1 << 20);
static const uint32_t FSE2_STATE_SELCHAN    = (1 << 19);
static const uint32_t FSE2_STATE_WRITING    = (1 << 18);
static const uint32_t FSE2_STATE_WAIT_MS    = (1 << 17);
static const uint32_t FSE2_STATE_IDLE       = (1 << 16);
 
typedef struct fsev2_chan_fields {
    volatile uint32_t common;//prn, acc_ms, carr_steps, coh_ena
    volatile int32_t carr_nco_f0;
    volatile int32_t carr_nco_dlt;
    volatile int32_t carr_nco_letter;
    volatile uint32_t max;
    volatile uint32_t ind;
    volatile uint32_t noise;
    volatile int32_t dopler;
} fsev2_chan_fields;
 
typedef struct fsev2_map {
   fsev2_chan_fields chan[FSE2_CHAN_MAX];
 
   volatile uint32_t hw_id; // msec ram capacity and hw_id
   volatile uint32_t control;
   volatile uint32_t ms_marker;
   volatile uint32_t carr_nco_th;
   volatile uint32_t code_nco_th;
   volatile int32_t carr_nco_if;
   volatile uint32_t code_nco;
   volatile uint32_t recram_msb; // most signficant bits of address (valid bits [13:11])
 
   uint8_t rsrv[2048 - FSE2_CHAN_MAX*sizeof(fsev2_chan_fields) - 8*sizeof(uint32_t)];
   uint64_t rec_mem[2048/sizeof(uint64_t)];
} fsev2_map;
 
 
#endif//__FSEV2_H__
 

Compare with Previous | Blame | View Log

powered by: WebSVN 2.1.0

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