195 lines
4.2 KiB
Plaintext
195 lines
4.2 KiB
Plaintext
TITLE
|
|
PWM Generator (axi_pwm_gen)
|
|
axi_pwm_gen
|
|
ENDTITLE
|
|
|
|
############################################################################################
|
|
############################################################################################
|
|
|
|
REG
|
|
0x0000
|
|
REG_VERSION
|
|
Version and Scratch Registers
|
|
ENDREG
|
|
|
|
FIELD
|
|
[31:0] 0x00020101
|
|
VERSION[31:0]
|
|
RO
|
|
Version number. Unique to all cores.
|
|
ENDFIELD
|
|
|
|
############################################################################################
|
|
############################################################################################
|
|
|
|
REG
|
|
0x0001
|
|
REG_ID
|
|
Core ID
|
|
ENDREG
|
|
|
|
FIELD
|
|
[31:0] 0x00000000
|
|
ID[31:0]
|
|
RO
|
|
Instance identifier number.
|
|
ENDFIELD
|
|
|
|
############################################################################################
|
|
############################################################################################
|
|
|
|
REG
|
|
0x0002
|
|
REG_SCRATCH
|
|
Version and Scratch Registers
|
|
ENDREG
|
|
|
|
FIELD
|
|
[31:0] 0x00000000
|
|
SCRATCH[31:0]
|
|
RW
|
|
Scratch register.
|
|
ENDFIELD
|
|
|
|
############################################################################################
|
|
############################################################################################
|
|
|
|
REG
|
|
0x0003
|
|
REG_CORE_MAGIC
|
|
Identification number
|
|
ENDREG
|
|
|
|
FIELD
|
|
[31:0] 0x504C5347
|
|
CORE_MAGIC[31:0]
|
|
RW
|
|
Identification number.
|
|
ENDFIELD
|
|
|
|
############################################################################################
|
|
############################################################################################
|
|
|
|
REG
|
|
0x0004
|
|
REG_RSTN
|
|
Reset and load values
|
|
ENDREG
|
|
|
|
FIELD
|
|
[1] 0x0
|
|
LOAD_CONFIG
|
|
WO
|
|
Loads the new values written in the config registers.
|
|
ENDFIELD
|
|
|
|
FIELD
|
|
[0] 0x0
|
|
RESET
|
|
RW
|
|
Reset, default is (0x0).
|
|
ENDFIELD
|
|
|
|
############################################################################################
|
|
############################################################################################
|
|
|
|
REG
|
|
0x0006
|
|
REG_CONFIG
|
|
Features enable register
|
|
ENDREG
|
|
|
|
FIELD
|
|
[2] 0x0
|
|
EXT_SYNC_ALIGN
|
|
RW
|
|
If active the ext_sync will trigger a phase align at each neg-edge.
|
|
Otherwise the phase align will be armed by a load config toggle.
|
|
ENDFIELD
|
|
|
|
FIELD
|
|
[1] 0x0
|
|
FORCE_ALIGN
|
|
RW
|
|
If active the current active pulses are immediately stopped and realigned.
|
|
Otherwise, the synchronized pulses will start only after all running pulse periods end.
|
|
ENDFIELD
|
|
|
|
FIELD
|
|
[0] 0x1
|
|
START_AT_SYNC
|
|
RW
|
|
If active, the pulses will start after the trigger event.
|
|
Otherwise each pulse will start after a period equal to the one for which it is set.
|
|
Default valew can be overwritten at build time through parameters.
|
|
ENDFIELD
|
|
|
|
############################################################################################
|
|
############################################################################################
|
|
|
|
|
|
REG
|
|
0x0005
|
|
REG_NB_PULSES
|
|
Number of pulses
|
|
ENDREG
|
|
|
|
FIELD
|
|
[31:0] 0x0000
|
|
NB_PULSES
|
|
RO
|
|
Number of configurable pulses.
|
|
ENDFIELD
|
|
|
|
############################################################################################
|
|
############################################################################################
|
|
|
|
REG
|
|
0x0010
|
|
REG_PULSE_X_PERIOD
|
|
Pulse x period
|
|
ENDREG
|
|
|
|
FIELD
|
|
[31:0] 0x0000
|
|
PULSE_X_PERIOD[31:0] - base + 'h4 for each channel -> e.g. CH3 period - 'h4C
|
|
RW
|
|
Pulse x duration, defined in number of clock cycles.
|
|
ENDFIELD
|
|
|
|
############################################################################################
|
|
############################################################################################
|
|
|
|
REG
|
|
0x0020
|
|
REG_PULSE_X_WIDTH
|
|
Pulse x width
|
|
ENDREG
|
|
|
|
FIELD
|
|
[31:0] 0x0000
|
|
PULSE_X_WIDTH[31:0] - base + 'h4 for each channel -> e.g. CH3 width - 'h8C
|
|
RW
|
|
Pulse x width (high time), defined in number of clock cycles.
|
|
ENDFIELD
|
|
|
|
############################################################################################
|
|
############################################################################################
|
|
|
|
REG
|
|
0x0030
|
|
REG_PULSE_X_OFFSET
|
|
Pulse x offset
|
|
ENDREG
|
|
|
|
FIELD
|
|
[31:0] 0x0000
|
|
PULSE_X_OFFSET[31:0] - base + 'h4 for each channel -> e.g. CH3 offset - 'hCC
|
|
RW
|
|
Pulse x offset, defined in number of clock cycles.
|
|
ENDFIELD
|
|
|
|
############################################################################################
|
|
############################################################################################
|
|
|