Commit 0b5d6966 authored by mcattin's avatar mcattin

Add wbgen slaves C header files.

git-svn-id: http://svn.ohwr.org/fmc-adc-100m14b4cha/trunk@43 ddd67a1a-c8ad-4635-afe9-0b8a11d8f8e4
parent 91268c4f
......@@ -2,7 +2,7 @@ WBGEN2=../../../../wbgen2/wishbone-gen/wbgen2
RTL=../rtl/
carrier_csr:
$(WBGEN2) -l vhdl -V $(RTL)$@.vhd $@.wb
$(WBGEN2) -l vhdl -V $(RTL)$@.vhd -C $@.h $@.wb
fmc_adc_100Ms_csr:
$(WBGEN2) -l vhdl -V $(RTL)$@.vhd $@.wb
\ No newline at end of file
$(WBGEN2) -l vhdl -V $(RTL)$@.vhd -C $@.h $@.wb
\ No newline at end of file
/*
Register definitions for slave core: Carrier control and status registers
* File : carrier_csr.h
* Author : auto-generated by wbgen2 from carrier_csr.wb
* Created : Wed Mar 9 11:56:41 2011
* Standard : ANSI C
THIS FILE WAS GENERATED BY wbgen2 FROM SOURCE FILE carrier_csr.wb
DO NOT HAND-EDIT UNLESS IT'S ABSOLUTELY NECESSARY!
*/
#ifndef __WBGEN2_REGDEFS_CARRIER_CSR_WB
#define __WBGEN2_REGDEFS_CARRIER_CSR_WB
#include <inttypes.h>
#if defined( __GNUC__)
#define PACKED __attribute__ ((packed))
#else
#error "Unsupported compiler?"
#endif
#ifndef __WBGEN2_MACROS_DEFINED__
#define __WBGEN2_MACROS_DEFINED__
#define WBGEN2_GEN_MASK(offset, size) (((1<<(size))-1) << (offset))
#define WBGEN2_GEN_WRITE(value, offset, size) (((value) & ((1<<(size))-1)) << (offset))
#define WBGEN2_GEN_READ(reg, offset, size) (((reg) >> (offset)) & ((1<<(size))-1))
#define WBGEN2_SIGN_EXTEND(value, bits) (((value) & (1<<bits) ? ~((1<<(bits))-1): 0 ) | (value))
#endif
/* definitions for register: Carrier type and PCB version */
/* definitions for field: PCB revision in reg: Carrier type and PCB version */
#define CARRIER_CSR_CARRIER_PCB_REV_MASK WBGEN2_GEN_MASK(0, 4)
#define CARRIER_CSR_CARRIER_PCB_REV_SHIFT 0
#define CARRIER_CSR_CARRIER_PCB_REV_W(value) WBGEN2_GEN_WRITE(value, 0, 4)
#define CARRIER_CSR_CARRIER_PCB_REV_R(reg) WBGEN2_GEN_READ(reg, 0, 4)
/* definitions for field: Dummy in reg: Carrier type and PCB version */
#define CARRIER_CSR_CARRIER_DUMMY_MASK WBGEN2_GEN_MASK(4, 12)
#define CARRIER_CSR_CARRIER_DUMMY_SHIFT 4
#define CARRIER_CSR_CARRIER_DUMMY_W(value) WBGEN2_GEN_WRITE(value, 4, 12)
#define CARRIER_CSR_CARRIER_DUMMY_R(reg) WBGEN2_GEN_READ(reg, 4, 12)
/* definitions for field: Carrier type in reg: Carrier type and PCB version */
#define CARRIER_CSR_CARRIER_TYPE_MASK WBGEN2_GEN_MASK(16, 16)
#define CARRIER_CSR_CARRIER_TYPE_SHIFT 16
#define CARRIER_CSR_CARRIER_TYPE_W(value) WBGEN2_GEN_WRITE(value, 16, 16)
#define CARRIER_CSR_CARRIER_TYPE_R(reg) WBGEN2_GEN_READ(reg, 16, 16)
/* definitions for register: Bitstream type */
/* definitions for register: Bitstream date */
/* definitions for register: Status */
/* definitions for field: FMC presence in reg: Status */
#define CARRIER_CSR_STAT_FMC_PRES WBGEN2_GEN_MASK(0, 1)
/* definitions for field: GN4142 core P2L PLL status in reg: Status */
#define CARRIER_CSR_STAT_P2L_PLL_LCK WBGEN2_GEN_MASK(1, 1)
/* definitions for field: System clock PLL status in reg: Status */
#define CARRIER_CSR_STAT_SYS_PLL_LCK WBGEN2_GEN_MASK(2, 1)
/* definitions for field: DDR3 calibration status in reg: Status */
#define CARRIER_CSR_STAT_DDR3_CAL_DONE WBGEN2_GEN_MASK(3, 1)
/* definitions for register: Control */
/* definitions for field: Green LED in reg: Control */
#define CARRIER_CSR_CTRL_LED_GREEN WBGEN2_GEN_MASK(0, 1)
/* definitions for field: Red LED in reg: Control */
#define CARRIER_CSR_CTRL_LED_RED WBGEN2_GEN_MASK(1, 1)
/* definitions for field: DAC clear in reg: Control */
#define CARRIER_CSR_CTRL_DAC_CLR_N WBGEN2_GEN_MASK(2, 1)
PACKED struct CARRIER_CSR_WB {
/* [0x0]: REG Carrier type and PCB version */
uint32_t CARRIER;
/* [0x4]: REG Bitstream type */
uint32_t BITSTREAM_TYPE;
/* [0x8]: REG Bitstream date */
uint32_t BITSTREAM_DATE;
/* [0xc]: REG Status */
uint32_t STAT;
/* [0x10]: REG Control */
uint32_t CTRL;
};
#endif
/*
Register definitions for slave core: FMC ADC 100MS/s core registers
* File : fmc_adc_100Ms_csr.h
* Author : auto-generated by wbgen2 from fmc_adc_100Ms_csr.wb
* Created : Wed Mar 9 11:56:09 2011
* Standard : ANSI C
THIS FILE WAS GENERATED BY wbgen2 FROM SOURCE FILE fmc_adc_100Ms_csr.wb
DO NOT HAND-EDIT UNLESS IT'S ABSOLUTELY NECESSARY!
*/
#ifndef __WBGEN2_REGDEFS_FMC_ADC_100MS_CSR_WB
#define __WBGEN2_REGDEFS_FMC_ADC_100MS_CSR_WB
#include <inttypes.h>
#if defined( __GNUC__)
#define PACKED __attribute__ ((packed))
#else
#error "Unsupported compiler?"
#endif
#ifndef __WBGEN2_MACROS_DEFINED__
#define __WBGEN2_MACROS_DEFINED__
#define WBGEN2_GEN_MASK(offset, size) (((1<<(size))-1) << (offset))
#define WBGEN2_GEN_WRITE(value, offset, size) (((value) & ((1<<(size))-1)) << (offset))
#define WBGEN2_GEN_READ(reg, offset, size) (((reg) >> (offset)) & ((1<<(size))-1))
#define WBGEN2_SIGN_EXTEND(value, bits) (((value) & (1<<bits) ? ~((1<<(bits))-1): 0 ) | (value))
#endif
/* definitions for register: Control register */
/* definitions for field: State machine commands in reg: Control register */
#define FMC_ADC_CORE_CTL_FSM_CMD_MASK WBGEN2_GEN_MASK(0, 2)
#define FMC_ADC_CORE_CTL_FSM_CMD_SHIFT 0
#define FMC_ADC_CORE_CTL_FSM_CMD_W(value) WBGEN2_GEN_WRITE(value, 0, 2)
#define FMC_ADC_CORE_CTL_FSM_CMD_R(reg) WBGEN2_GEN_READ(reg, 0, 2)
/* definitions for field: FMC Si750 output enable in reg: Control register */
#define FMC_ADC_CORE_CTL_FMC_CLK_OE WBGEN2_GEN_MASK(2, 1)
/* definitions for field: Offset DACs clear (active low) in reg: Control register */
#define FMC_ADC_CORE_CTL_OFFSET_DAC_CLR_N WBGEN2_GEN_MASK(3, 1)
/* definitions for register: Status register */
/* definitions for field: State machine status in reg: Status register */
#define FMC_ADC_CORE_STA_FSM_MASK WBGEN2_GEN_MASK(0, 3)
#define FMC_ADC_CORE_STA_FSM_SHIFT 0
#define FMC_ADC_CORE_STA_FSM_W(value) WBGEN2_GEN_WRITE(value, 0, 3)
#define FMC_ADC_CORE_STA_FSM_R(reg) WBGEN2_GEN_READ(reg, 0, 3)
/* definitions for field: SerDes PLL status in reg: Status register */
#define FMC_ADC_CORE_STA_SERDES_PLL WBGEN2_GEN_MASK(3, 1)
/* definitions for field: SerDes synchronization status in reg: Status register */
#define FMC_ADC_CORE_STA_SERDES_SYNCED WBGEN2_GEN_MASK(4, 1)
/* definitions for register: Trigger configuration */
/* definitions for field: Hardware trigger selection in reg: Trigger configuration */
#define FMC_ADC_CORE_TRIG_CFG_HW_TRIG_SEL WBGEN2_GEN_MASK(0, 1)
/* definitions for field: External hardware trigger polarity in reg: Trigger configuration */
#define FMC_ADC_CORE_TRIG_CFG_EXT_TRIG_POL WBGEN2_GEN_MASK(1, 1)
/* definitions for field: Hardware trigger enable in reg: Trigger configuration */
#define FMC_ADC_CORE_TRIG_CFG_HW_TRIG_EN WBGEN2_GEN_MASK(2, 1)
/* definitions for field: Software trigger enable in reg: Trigger configuration */
#define FMC_ADC_CORE_TRIG_CFG_SW_TRIG_EN WBGEN2_GEN_MASK(3, 1)
/* definitions for field: Channel selection for internal trigger in reg: Trigger configuration */
#define FMC_ADC_CORE_TRIG_CFG_INT_TRIG_SEL_MASK WBGEN2_GEN_MASK(4, 2)
#define FMC_ADC_CORE_TRIG_CFG_INT_TRIG_SEL_SHIFT 4
#define FMC_ADC_CORE_TRIG_CFG_INT_TRIG_SEL_W(value) WBGEN2_GEN_WRITE(value, 4, 2)
#define FMC_ADC_CORE_TRIG_CFG_INT_TRIG_SEL_R(reg) WBGEN2_GEN_READ(reg, 4, 2)
/* definitions for field: Dummy in reg: Trigger configuration */
#define FMC_ADC_CORE_TRIG_CFG_DUMMY_MASK WBGEN2_GEN_MASK(6, 10)
#define FMC_ADC_CORE_TRIG_CFG_DUMMY_SHIFT 6
#define FMC_ADC_CORE_TRIG_CFG_DUMMY_W(value) WBGEN2_GEN_WRITE(value, 6, 10)
#define FMC_ADC_CORE_TRIG_CFG_DUMMY_R(reg) WBGEN2_GEN_READ(reg, 6, 10)
/* definitions for field: Threshold for internal trigger in reg: Trigger configuration */
#define FMC_ADC_CORE_TRIG_CFG_INT_TRIG_THRES_MASK WBGEN2_GEN_MASK(16, 16)
#define FMC_ADC_CORE_TRIG_CFG_INT_TRIG_THRES_SHIFT 16
#define FMC_ADC_CORE_TRIG_CFG_INT_TRIG_THRES_W(value) WBGEN2_GEN_WRITE(value, 16, 16)
#define FMC_ADC_CORE_TRIG_CFG_INT_TRIG_THRES_R(reg) WBGEN2_GEN_READ(reg, 16, 16)
/* definitions for register: Trigger delay */
/* definitions for register: Software trigger */
/* definitions for register: Number of shots */
/* definitions for field: Number of shots in reg: Number of shots */
#define FMC_ADC_CORE_SHOTS_NB_MASK WBGEN2_GEN_MASK(0, 16)
#define FMC_ADC_CORE_SHOTS_NB_SHIFT 0
#define FMC_ADC_CORE_SHOTS_NB_W(value) WBGEN2_GEN_WRITE(value, 0, 16)
#define FMC_ADC_CORE_SHOTS_NB_R(reg) WBGEN2_GEN_READ(reg, 0, 16)
/* definitions for register: Trigger UTC tag (LSBs) */
/* definitions for register: Trigger UTC tag (MSBs) */
/* definitions for register: Start UTC tag (LSBs) */
/* definitions for register: Start UTC tag (MSBs) */
/* definitions for register: Stop UTC tag (LSBs) */
/* definitions for register: Stop UTC tag (MSBs) */
/* definitions for register: Sample rate */
/* definitions for field: Sample rate decimation in reg: Sample rate */
#define FMC_ADC_CORE_SR_DECI_MASK WBGEN2_GEN_MASK(0, 16)
#define FMC_ADC_CORE_SR_DECI_SHIFT 0
#define FMC_ADC_CORE_SR_DECI_W(value) WBGEN2_GEN_WRITE(value, 0, 16)
#define FMC_ADC_CORE_SR_DECI_R(reg) WBGEN2_GEN_READ(reg, 0, 16)
/* definitions for register: Pre-trigger samples */
/* definitions for register: Post-trigger samples */
/* definitions for register: Sample counter */
/* definitions for register: Solid state relays control for channel 1 */
/* definitions for register: Channel 1 current value */
/* definitions for register: Solid state relays control for channel 2 */
/* definitions for register: Channel 2 current value */
/* definitions for register: Solid state relays control for channel 3 */
/* definitions for register: Channel 3 current value */
/* definitions for register: Solid state relays control for channel 4 */
/* definitions for register: Channel 4 current value */
PACKED struct FMC_ADC_CORE_WB {
/* [0x0]: REG Control register */
uint32_t CTL;
/* [0x4]: REG Status register */
uint32_t STA;
/* [0x8]: REG Trigger configuration */
uint32_t TRIG_CFG;
/* [0xc]: REG Trigger delay */
uint32_t TRIG_DLY;
/* [0x10]: REG Software trigger */
uint32_t SW_TRIG;
/* [0x14]: REG Number of shots */
uint32_t SHOTS;
/* [0x18]: REG Trigger UTC tag (LSBs) */
uint32_t TRIG_UTC_L;
/* [0x1c]: REG Trigger UTC tag (MSBs) */
uint32_t TRIG_UTC_H;
/* [0x20]: REG Start UTC tag (LSBs) */
uint32_t START_UTC_L;
/* [0x24]: REG Start UTC tag (MSBs) */
uint32_t START_UTC_H;
/* [0x28]: REG Stop UTC tag (LSBs) */
uint32_t STOP_UTC_L;
/* [0x2c]: REG Stop UTC tag (MSBs) */
uint32_t STOP_UTC_H;
/* [0x30]: REG Sample rate */
uint32_t SR;
/* [0x34]: REG Pre-trigger samples */
uint32_t PRE_SAMPLES;
/* [0x38]: REG Post-trigger samples */
uint32_t POST_SAMPLES;
/* [0x3c]: REG Sample counter */
uint32_t SAMP_CNT;
/* [0x40]: REG Solid state relays control for channel 1 */
uint32_t CH1_SSR;
/* [0x44]: REG Channel 1 current value */
uint32_t CH1_VAL;
/* [0x48]: REG Solid state relays control for channel 2 */
uint32_t CH2_SSR;
/* [0x4c]: REG Channel 2 current value */
uint32_t CH2_VAL;
/* [0x50]: REG Solid state relays control for channel 3 */
uint32_t CH3_SSR;
/* [0x54]: REG Channel 3 current value */
uint32_t CH3_VAL;
/* [0x58]: REG Solid state relays control for channel 4 */
uint32_t CH4_SSR;
/* [0x5c]: REG Channel 4 current value */
uint32_t CH4_VAL;
};
#endif
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment