Commit c49479e0 authored by Matthieu Cattin's avatar Matthieu Cattin

doc: Work on firmware guide, re-generate SPEC specific wbgen2 slaves.

parent afed3d3d
...@@ -102,8 +102,8 @@ Reserved ...@@ -102,8 +102,8 @@ Reserved
@end multitable @end multitable
@multitable @columnfractions 0.15 0.85 @multitable @columnfractions 0.15 0.85
@headitem Field @tab Description @headitem Field @tab Description
@item @code{led_green} @tab Front panel green LED control @item @code{led_green} @tab Manual control of the front panel green LED (unused in the fmc-adc application)
@item @code{led_red} @tab Front panel red LED control @item @code{led_red} @tab Manual control of the front panel red LED (unused in the fmc-adc application)
@item @code{dac_clr_n} @tab Active low clear signal for VCXO DACs @item @code{dac_clr_n} @tab Active low clear signal for VCXO DACs
@item @code{reserved} @tab Ignore on read, write with 0's @item @code{reserved} @tab Ignore on read, write with 0's
@end multitable @end multitable
...@@ -157,6 +157,7 @@ Here is the procedure to build the FPGA binary image from the hdl source. ...@@ -157,6 +157,7 @@ Here is the procedure to build the FPGA binary image from the hdl source.
Location of fetched and generated hdl cores and libraries. Location of fetched and generated hdl cores and libraries.
@item hdl/spec/syn/ @item hdl/spec/syn/
Synthesis directory for SPEC carrier. This is where the synthesis top manifest and the ISE project are stored. Synthesis directory for SPEC carrier. This is where the synthesis top manifest and the ISE project are stored.
For each release, the synthesis, place&route and timing reports are also saved here.
@item hdl/spec/sim/ @item hdl/spec/sim/
SPEC carrier related simulation files and testbenches. SPEC carrier related simulation files and testbenches.
@item hdl/spec/chipscope/ @item hdl/spec/chipscope/
...@@ -321,6 +322,10 @@ A first register allows to readout the carrier PCB revision and carrier type. ...@@ -321,6 +322,10 @@ A first register allows to readout the carrier PCB revision and carrier type.
Another register signals the presence of a mezzanine in the FMC slot, gives the status of the local bus and system PLLs and indicates the DDR memory controller calibration state. Another register signals the presence of a mezzanine in the FMC slot, gives the status of the local bus and system PLLs and indicates the DDR memory controller calibration state.
The last register of this block allows to control the carrier's LEDs on the front panel. There is on red and one green LED. The last register of this block allows to control the carrier's LEDs on the front panel. There is on red and one green LED.
@quotation Note
The ``Carrier Type'' field is used only for test purpose. The carrier board identification is done through the PCI Express vendor and device ID.
@end quotation
@c -------------------------------------------------------------------------- @c --------------------------------------------------------------------------
@section Carrier 1-wire Master @section Carrier 1-wire Master
...@@ -773,6 +778,10 @@ This means a unit gain and no offset. ...@@ -773,6 +778,10 @@ This means a unit gain and no offset.
After gain and offset correction, the two LSB of the data words can be different from zero. After gain and offset correction, the two LSB of the data words can be different from zero.
@end quotation @end quotation
@quotation Note
It is usually the driver's task to read the calibration data from the FMC EEPROM and load them to the corresponding registers. This has to be done once at start-up and then every time the input range is changed.
@end quotation
@subsection DAC Calibration @subsection DAC Calibration
The DAC value is only set once before an acquisition. The DAC value is only set once before an acquisition.
...@@ -961,14 +970,13 @@ The number of samples per shot stored in memory is equal to: number of pre-trigg ...@@ -961,14 +970,13 @@ The number of samples per shot stored in memory is equal to: number of pre-trigg
@itemize @textdegree @itemize @textdegree
@c DONE Take data for threshold trigger after offset/gain correction. @c DONE Take data for threshold trigger after offset/gain correction.
@c DONE Solve the internal trigger threshold issue (triggering even if signal < threshold!). @c DONE Solve the internal trigger threshold issue (triggering even if signal < threshold!).
@c Taking the threshold trigger data after offset/gain correction solved the problem. @c -> Taking the threshold trigger data after offset/gain correction solved the problem.
@c DONE Update interface of wbgen2 generated cores (name change). @c DONE Update interface of wbgen2 generated cores (name change).
@c DONE License header in every file -> check @c DONE License header in every file -> check
@item Remove huge files from git repo. @b{!!! This will change all commits sha !!!} @item Remove huge files from git repo. @b{!!! This will change all commits sha !!!}
@c DONE Rename UTC core in time-tagging core or something like that (stricly speaking, it is not UTC). @c DONE Rename UTC core in time-tagging core or something like that (stricly speaking, it is not UTC).
@item Include the git tree in a .tar.gz along with the .bin file (in the files section) for each release. -> modify the Release chapter accordingly. @c DONE check Atos comments.
@item Make the project ucfgen friendly (check what has to be done, perhaps nothing). @item Add a reference section (bibliography).
@c TODO check Atos comments.
@end itemize @end itemize
@c -------------------------------------------------------------------------- @c --------------------------------------------------------------------------
...@@ -977,7 +985,8 @@ The number of samples per shot stored in memory is equal to: number of pre-trigg ...@@ -977,7 +985,8 @@ The number of samples per shot stored in memory is equal to: number of pre-trigg
@itemize @textdegree @itemize @textdegree
@item Remove carrier SPI master from mapping -> shift other slaves base addresses. @item Remove carrier SPI master from mapping -> shift other slaves base addresses.
@item Add WR core; 1)for time-tags, 2)for sampling clock control@* @item Add WR core; 1)for time-tags, 2)for sampling clock control@*
Define behaviour when WR is desconnected. - Define behaviour when WR is desconnected.@*
- Assign signals to SPEC front panel LEDs.
@item Add Etherbone support. @item Add Etherbone support.
@item Remove mutli-irq register from interrupt controller.@* @item Remove mutli-irq register from interrupt controller.@*
Perhaps add a counter per interrupt source instead. Perhaps add a counter per interrupt source instead.
...@@ -999,6 +1008,11 @@ The number of samples per shot stored in memory is equal to: number of pre-trigg ...@@ -999,6 +1008,11 @@ The number of samples per shot stored in memory is equal to: number of pre-trigg
@item Review reset logic. @item Review reset logic.
@item Generate an end of acquisition interrupt after an acquisition stop command? @item Generate an end of acquisition interrupt after an acquisition stop command?
@item Remove meta-info field in time-tags? @item Remove meta-info field in time-tags?
@item Move sdb device descriptions from top to the wishbone_pkg.vhd (general-cores lib).
@item Make the project ucfgen friendly.@*
- Put all mezzanine related cores in a wrapper (fmc adc block).@*
- Add a crossbar inside the fmc adc block -> check impact on sdb.
@item Include the git tree in a .tar.gz along with the .bin file (in the files section) for each release. -> modify the Release chapter accordingly.
@end itemize @end itemize
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
--------------------------------------------------------------------------------------- ---------------------------------------------------------------------------------------
-- File : ../rtl/carrier_csr.vhd -- File : ../rtl/carrier_csr.vhd
-- Author : auto-generated by wbgen2 from carrier_csr.wb -- Author : auto-generated by wbgen2 from carrier_csr.wb
-- Created : Tue Apr 9 18:41:24 2013 -- Created : Tue May 7 14:56:42 2013
-- Standard : VHDL'87 -- Standard : VHDL'87
--------------------------------------------------------------------------------------- ---------------------------------------------------------------------------------------
-- THIS FILE WAS GENERATED BY wbgen2 FROM SOURCE FILE carrier_csr.wb -- THIS FILE WAS GENERATED BY wbgen2 FROM SOURCE FILE carrier_csr.wb
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
--------------------------------------------------------------------------------------- ---------------------------------------------------------------------------------------
-- File : ../rtl/irq_controller_regs.vhd -- File : ../rtl/irq_controller_regs.vhd
-- Author : auto-generated by wbgen2 from irq_controller_regs.wb -- Author : auto-generated by wbgen2 from irq_controller_regs.wb
-- Created : Tue Apr 9 18:41:31 2013 -- Created : Tue May 7 14:57:57 2013
-- Standard : VHDL'87 -- Standard : VHDL'87
--------------------------------------------------------------------------------------- ---------------------------------------------------------------------------------------
-- THIS FILE WAS GENERATED BY wbgen2 FROM SOURCE FILE irq_controller_regs.wb -- THIS FILE WAS GENERATED BY wbgen2 FROM SOURCE FILE irq_controller_regs.wb
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
* File : carrier_csr.h * File : carrier_csr.h
* Author : auto-generated by wbgen2 from carrier_csr.wb * Author : auto-generated by wbgen2 from carrier_csr.wb
* Created : Tue Apr 9 18:41:24 2013 * Created : Tue May 7 14:56:42 2013
* Standard : ANSI C * Standard : ANSI C
THIS FILE WAS GENERATED BY wbgen2 FROM SOURCE FILE carrier_csr.wb THIS FILE WAS GENERATED BY wbgen2 FROM SOURCE FILE carrier_csr.wb
......
@regsection Memory map summary <HTML>
@multitable @columnfractions .10 .15 .15 .55 <HEAD>
@headitem Address @tab Type @tab Prefix @tab Name <TITLE>carrier_csr</TITLE>
@item @code{0x0} @tab <STYLE TYPE="text/css" MEDIA="all">
REG @tab
@code{carrier} @tab <!--
Carrier type and PCB version BODY { background: white; color: black;
@item @code{0x4} @tab font-family: Arial,Helvetica; font-size:12; }
REG @tab h1 { font-family: Trebuchet MS,Arial,Helvetica; font-size:30; color:#404040; }
@code{stat} @tab h2 { font-family: Trebuchet MS,Arial,Helvetica; font-size:22; color:#404040; }
Status h3 { font-family: Trebuchet MS,Arial,Helvetica; font-size:16; color:#404040; }
@item @code{0x8} @tab .td_arrow_left { padding:0px; background: #ffffff; text-align: right; font-size:12;}
REG @tab .td_arrow_right { padding:0px; background: #ffffff; text-align: left; font-size:12;}
@code{ctrl} @tab .td_code { font-family:Courier New,Courier; padding: 3px; }
Control .td_desc { padding: 3px; }
@end multitable .td_sym_center { background: #e0e0f0; padding: 3px; }
@regsection @code{carrier} - Carrier type and PCB version .td_port_name { font-family:Courier New,Courier; background: #e0e0f0; text-align: right; font-weight:bold;padding: 3px; width:200px; }
@multitable @columnfractions .10 .10 .15 .10 .55 .td_pblock_left { font-family:Courier New,Courier; background: #e0e0f0; padding: 0px; text-align: left; }
@headitem Bits @tab Access @tab Prefix @tab Default @tab Name .td_pblock_right { font-family:Courier New,Courier; background: #e0e0f0; padding: 0px; text-align: right; }
@item @code{3...0} .td_bit { background: #ffffff; color:#404040; font-size:10; width: 70px; font-family:Courier New,Courier; padding: 3px; text-align:center; }
@tab R/O @tab .td_field { background: #e0e0f0; padding: 3px; text-align:center; }
@code{PCB_REV} .td_unused { background: #a0a0a0; padding: 3px; text-align:center; }
@tab @code{X} @tab th { font-weight:bold; color:#ffffff; background: #202080; padding:3px; }
PCB revision .tr_even { background: #f0eff0; }
@item @code{15...4} .tr_odd { background: #e0e0f0; }
@tab R/O @tab -->
@code{RESERVED} </STYLE>
@tab @code{X} @tab </HEAD>
Reserved register <BODY>
@item @code{31...16} <h1 class="heading">carrier_csr</h1>
@tab R/O @tab <h3>Carrier control and status registers</h3>
@code{TYPE} <p>Wishbone slave for control and status registers related to the FMC carrier</p>
@tab @code{X} @tab <h3>Contents:</h3>
Carrier type <span style="margin-left: 0px; ">1. <A href="#sect_1_0">Memory map summary</a></span><br/>
@end multitable <span style="margin-left: 0px; ">2. <A href="#sect_2_0">HDL symbol</a></span><br/>
@multitable @columnfractions 0.15 0.85 <span style="margin-left: 0px; ">3. <A href="#sect_3_0">Register description</a></span><br/>
@headitem Field @tab Description <span style="margin-left: 20px; ">3.1. <A href="#sect_3_1">Carrier type and PCB version</a></span><br/>
@item @code{pcb_rev} @tab Binary coded PCB layout revision. <span style="margin-left: 20px; ">3.2. <A href="#sect_3_2">Status</a></span><br/>
@item @code{reserved} @tab Ignore on read, write with 0's. <span style="margin-left: 20px; ">3.3. <A href="#sect_3_3">Control</a></span><br/>
@item @code{type} @tab Carrier type identifier@*1 = SPEC@*2 = SVEC@*3 = VFC@*4 = SPEXI <h3><a name="sect_1_0">1. Memory map summary</a></h3>
@end multitable <table cellpadding=0 cellspacing=0 border=0>
@regsection @code{stat} - Status <tr>
@multitable @columnfractions .10 .10 .15 .10 .55 <th >
@headitem Bits @tab Access @tab Prefix @tab Default @tab Name H/W Address
@item @code{0} </th>
@tab R/O @tab <th >
@code{FMC_PRES} Type
@tab @code{X} @tab </th>
FMC presence <th >
@item @code{1} Name
@tab R/O @tab </th>
@code{P2L_PLL_LCK} <th >
@tab @code{X} @tab VHDL/Verilog prefix
GN4142 core P2L PLL status </th>
@item @code{2} <th >
@tab R/O @tab C prefix
@code{SYS_PLL_LCK} </th>
@tab @code{X} @tab </tr>
System clock PLL status <tr class="tr_odd">
@item @code{3} <td class="td_code">
@tab R/O @tab 0x0
@code{DDR3_CAL_DONE} </td>
@tab @code{X} @tab <td >
DDR3 calibration status REG
@item @code{31...4} </td>
@tab R/O @tab <td >
@code{RESERVED} <A href="#CARRIER">Carrier type and PCB version</a>
@tab @code{X} @tab </td>
Reserved <td class="td_code">
@end multitable carrier_csr_carrier
@multitable @columnfractions 0.15 0.85 </td>
@headitem Field @tab Description <td class="td_code">
@item @code{fmc_pres} @tab 0: FMC slot is populated@*1: FMC slot is not populated. CARRIER
@item @code{p2l_pll_lck} @tab 0: not locked@*1: locked. </td>
@item @code{sys_pll_lck} @tab 0: not locked@*1: locked. </tr>
@item @code{ddr3_cal_done} @tab 0: not done@*1: done. <tr class="tr_even">
@item @code{reserved} @tab Ignore on read, write with 0's. <td class="td_code">
@end multitable 0x1
@regsection @code{ctrl} - Control </td>
@multitable @columnfractions .10 .10 .15 .10 .55 <td >
@headitem Bits @tab Access @tab Prefix @tab Default @tab Name REG
@item @code{0} </td>
@tab R/W @tab <td >
@code{LED_GREEN} <A href="#STAT">Status</a>
@tab @code{X} @tab </td>
Green LED <td class="td_code">
@item @code{1} carrier_csr_stat
@tab R/W @tab </td>
@code{LED_RED} <td class="td_code">
@tab @code{X} @tab STAT
Red LED </td>
@item @code{2} </tr>
@tab R/W @tab <tr class="tr_odd">
@code{DAC_CLR_N} <td class="td_code">
@tab @code{X} @tab 0x2
DAC clear </td>
@item @code{31...3} <td >
@tab R/W @tab REG
@code{RESERVED} </td>
@tab @code{X} @tab <td >
Reserved <A href="#CTRL">Control</a>
@end multitable </td>
@multitable @columnfractions 0.15 0.85 <td class="td_code">
@headitem Field @tab Description carrier_csr_ctrl
@item @code{led_green} @tab Front panel green LED control </td>
@item @code{led_red} @tab Front panel red LED control <td class="td_code">
@item @code{dac_clr_n} @tab Active low clear signal for VCXO DACs CTRL
@item @code{reserved} @tab Ignore on read, write with 0's </td>
@end multitable </tr>
</table>
<h3><a name="sect_2_0">2. HDL symbol</a></h3>
<table cellpadding=0 cellspacing=0 border=0>
<tr>
<td class="td_arrow_left">
&rarr;
</td>
<td class="td_pblock_left">
rst_n_i
</td>
<td class="td_sym_center">
</td>
<td class="td_pblock_right">
<b>Carrier type and PCB version:</b>
</td>
<td class="td_arrow_right">
</td>
</tr>
<tr>
<td class="td_arrow_left">
&rarr;
</td>
<td class="td_pblock_left">
clk_sys_i
</td>
<td class="td_sym_center">
</td>
<td class="td_pblock_right">
carrier_csr_carrier_pcb_rev_i[3:0]
</td>
<td class="td_arrow_right">
&lArr;
</td>
</tr>
<tr>
<td class="td_arrow_left">
&rArr;
</td>
<td class="td_pblock_left">
wb_adr_i[1:0]
</td>
<td class="td_sym_center">
</td>
<td class="td_pblock_right">
carrier_csr_carrier_reserved_i[11:0]
</td>
<td class="td_arrow_right">
&lArr;
</td>
</tr>
<tr>
<td class="td_arrow_left">
&rArr;
</td>
<td class="td_pblock_left">
wb_dat_i[31:0]
</td>
<td class="td_sym_center">
</td>
<td class="td_pblock_right">
carrier_csr_carrier_type_i[15:0]
</td>
<td class="td_arrow_right">
&lArr;
</td>
</tr>
<tr>
<td class="td_arrow_left">
&lArr;
</td>
<td class="td_pblock_left">
wb_dat_o[31:0]
</td>
<td class="td_sym_center">
&nbsp;
</td>
<td class="td_pblock_right">
</td>
<td class="td_arrow_right">
</td>
</tr>
<tr>
<td class="td_arrow_left">
&rarr;
</td>
<td class="td_pblock_left">
wb_cyc_i
</td>
<td class="td_sym_center">
</td>
<td class="td_pblock_right">
<b>Status:</b>
</td>
<td class="td_arrow_right">
</td>
</tr>
<tr>
<td class="td_arrow_left">
&rArr;
</td>
<td class="td_pblock_left">
wb_sel_i[3:0]
</td>
<td class="td_sym_center">
</td>
<td class="td_pblock_right">
carrier_csr_stat_fmc_pres_i
</td>
<td class="td_arrow_right">
&larr;
</td>
</tr>
<tr>
<td class="td_arrow_left">
&rarr;
</td>
<td class="td_pblock_left">
wb_stb_i
</td>
<td class="td_sym_center">
</td>
<td class="td_pblock_right">
carrier_csr_stat_p2l_pll_lck_i
</td>
<td class="td_arrow_right">
&larr;
</td>
</tr>
<tr>
<td class="td_arrow_left">
&rarr;
</td>
<td class="td_pblock_left">
wb_we_i
</td>
<td class="td_sym_center">
</td>
<td class="td_pblock_right">
carrier_csr_stat_sys_pll_lck_i
</td>
<td class="td_arrow_right">
&larr;
</td>
</tr>
<tr>
<td class="td_arrow_left">
&larr;
</td>
<td class="td_pblock_left">
wb_ack_o
</td>
<td class="td_sym_center">
</td>
<td class="td_pblock_right">
carrier_csr_stat_ddr3_cal_done_i
</td>
<td class="td_arrow_right">
&larr;
</td>
</tr>
<tr>
<td class="td_arrow_left">
&larr;
</td>
<td class="td_pblock_left">
wb_stall_o
</td>
<td class="td_sym_center">
</td>
<td class="td_pblock_right">
carrier_csr_stat_reserved_i[27:0]
</td>
<td class="td_arrow_right">
&lArr;
</td>
</tr>
<tr>
<td class="td_arrow_left">
</td>
<td class="td_pblock_left">
</td>
<td class="td_sym_center">
&nbsp;
</td>
<td class="td_pblock_right">
</td>
<td class="td_arrow_right">
</td>
</tr>
<tr>
<td class="td_arrow_left">
</td>
<td class="td_pblock_left">
</td>
<td class="td_sym_center">
</td>
<td class="td_pblock_right">
<b>Control:</b>
</td>
<td class="td_arrow_right">
</td>
</tr>
<tr>
<td class="td_arrow_left">
</td>
<td class="td_pblock_left">
</td>
<td class="td_sym_center">
</td>
<td class="td_pblock_right">
carrier_csr_ctrl_led_green_o
</td>
<td class="td_arrow_right">
&rarr;
</td>
</tr>
<tr>
<td class="td_arrow_left">
</td>
<td class="td_pblock_left">
</td>
<td class="td_sym_center">
</td>
<td class="td_pblock_right">
carrier_csr_ctrl_led_red_o
</td>
<td class="td_arrow_right">
&rarr;
</td>
</tr>
<tr>
<td class="td_arrow_left">
</td>
<td class="td_pblock_left">
</td>
<td class="td_sym_center">
</td>
<td class="td_pblock_right">
carrier_csr_ctrl_dac_clr_n_o
</td>
<td class="td_arrow_right">
&rarr;
</td>
</tr>
<tr>
<td class="td_arrow_left">
</td>
<td class="td_pblock_left">
</td>
<td class="td_sym_center">
</td>
<td class="td_pblock_right">
carrier_csr_ctrl_reserved_o[28:0]
</td>
<td class="td_arrow_right">
&rArr;
</td>
</tr>
</table>
<h3><a name="sect_3_0">3. Register description</a></h3>
<a name="CARRIER"></a>
<h3><a name="sect_3_1">3.1. Carrier type and PCB version</a></h3>
<table cellpadding=0 cellspacing=0 border=0>
<tr>
<td >
<b>HW prefix: </b>
</td>
<td class="td_code">
carrier_csr_carrier
</td>
</tr>
<tr>
<td >
<b>HW address: </b>
</td>
<td class="td_code">
0x0
</td>
</tr>
<tr>
<td >
<b>C prefix: </b>
</td>
<td class="td_code">
CARRIER
</td>
</tr>
<tr>
<td >
<b>C offset: </b>
</td>
<td class="td_code">
0x0
</td>
</tr>
</table>
<table cellpadding=0 cellspacing=0 border=0>
<tr>
<td class="td_bit">
31
</td>
<td class="td_bit">
30
</td>
<td class="td_bit">
29
</td>
<td class="td_bit">
28
</td>
<td class="td_bit">
27
</td>
<td class="td_bit">
26
</td>
<td class="td_bit">
25
</td>
<td class="td_bit">
24
</td>
</tr>
<tr>
<td style="border: solid 1px black;" colspan=8 class="td_field">
TYPE[15:8]
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
</tr>
</table>
<table cellpadding=0 cellspacing=0 border=0>
<tr>
<td class="td_bit">
23
</td>
<td class="td_bit">
22
</td>
<td class="td_bit">
21
</td>
<td class="td_bit">
20
</td>
<td class="td_bit">
19
</td>
<td class="td_bit">
18
</td>
<td class="td_bit">
17
</td>
<td class="td_bit">
16
</td>
</tr>
<tr>
<td style="border: solid 1px black;" colspan=8 class="td_field">
TYPE[7:0]
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
</tr>
</table>
<table cellpadding=0 cellspacing=0 border=0>
<tr>
<td class="td_bit">
15
</td>
<td class="td_bit">
14
</td>
<td class="td_bit">
13
</td>
<td class="td_bit">
12
</td>
<td class="td_bit">
11
</td>
<td class="td_bit">
10
</td>
<td class="td_bit">
9
</td>
<td class="td_bit">
8
</td>
</tr>
<tr>
<td style="border: solid 1px black;" colspan=8 class="td_field">
RESERVED[11:4]
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
</tr>
</table>
<table cellpadding=0 cellspacing=0 border=0>
<tr>
<td class="td_bit">
7
</td>
<td class="td_bit">
6
</td>
<td class="td_bit">
5
</td>
<td class="td_bit">
4
</td>
<td class="td_bit">
3
</td>
<td class="td_bit">
2
</td>
<td class="td_bit">
1
</td>
<td class="td_bit">
0
</td>
</tr>
<tr>
<td style="border: solid 1px black;" colspan=4 class="td_field">
RESERVED[3:0]
</td>
<td style="border: solid 1px black;" colspan=4 class="td_field">
PCB_REV[3:0]
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
</tr>
</table>
<ul>
<li><b>
PCB_REV
</b>[<i>read-only</i>]: PCB revision
<br>Binary coded PCB layout revision.
<li><b>
RESERVED
</b>[<i>read-only</i>]: Reserved register
<br>Ignore on read, write with 0's.
<li><b>
TYPE
</b>[<i>read-only</i>]: Carrier type
<br>Carrier type identifier<br>1 = SPEC<br>2 = SVEC<br>3 = VFC<br>4 = SPEXI
</ul>
<a name="STAT"></a>
<h3><a name="sect_3_2">3.2. Status</a></h3>
<table cellpadding=0 cellspacing=0 border=0>
<tr>
<td >
<b>HW prefix: </b>
</td>
<td class="td_code">
carrier_csr_stat
</td>
</tr>
<tr>
<td >
<b>HW address: </b>
</td>
<td class="td_code">
0x1
</td>
</tr>
<tr>
<td >
<b>C prefix: </b>
</td>
<td class="td_code">
STAT
</td>
</tr>
<tr>
<td >
<b>C offset: </b>
</td>
<td class="td_code">
0x4
</td>
</tr>
</table>
<table cellpadding=0 cellspacing=0 border=0>
<tr>
<td class="td_bit">
31
</td>
<td class="td_bit">
30
</td>
<td class="td_bit">
29
</td>
<td class="td_bit">
28
</td>
<td class="td_bit">
27
</td>
<td class="td_bit">
26
</td>
<td class="td_bit">
25
</td>
<td class="td_bit">
24
</td>
</tr>
<tr>
<td style="border: solid 1px black;" colspan=8 class="td_field">
RESERVED[27:20]
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
</tr>
</table>
<table cellpadding=0 cellspacing=0 border=0>
<tr>
<td class="td_bit">
23
</td>
<td class="td_bit">
22
</td>
<td class="td_bit">
21
</td>
<td class="td_bit">
20
</td>
<td class="td_bit">
19
</td>
<td class="td_bit">
18
</td>
<td class="td_bit">
17
</td>
<td class="td_bit">
16
</td>
</tr>
<tr>
<td style="border: solid 1px black;" colspan=8 class="td_field">
RESERVED[19:12]
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
</tr>
</table>
<table cellpadding=0 cellspacing=0 border=0>
<tr>
<td class="td_bit">
15
</td>
<td class="td_bit">
14
</td>
<td class="td_bit">
13
</td>
<td class="td_bit">
12
</td>
<td class="td_bit">
11
</td>
<td class="td_bit">
10
</td>
<td class="td_bit">
9
</td>
<td class="td_bit">
8
</td>
</tr>
<tr>
<td style="border: solid 1px black;" colspan=8 class="td_field">
RESERVED[11:4]
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
</tr>
</table>
<table cellpadding=0 cellspacing=0 border=0>
<tr>
<td class="td_bit">
7
</td>
<td class="td_bit">
6
</td>
<td class="td_bit">
5
</td>
<td class="td_bit">
4
</td>
<td class="td_bit">
3
</td>
<td class="td_bit">
2
</td>
<td class="td_bit">
1
</td>
<td class="td_bit">
0
</td>
</tr>
<tr>
<td style="border: solid 1px black;" colspan=4 class="td_field">
RESERVED[3:0]
</td>
<td style="border: solid 1px black;" colspan=1 class="td_field">
DDR3_CAL_DONE
</td>
<td style="border: solid 1px black;" colspan=1 class="td_field">
SYS_PLL_LCK
</td>
<td style="border: solid 1px black;" colspan=1 class="td_field">
P2L_PLL_LCK
</td>
<td style="border: solid 1px black;" colspan=1 class="td_field">
FMC_PRES
</td>
<td >
</td>
<td >
</td>
<td >
</td>
</tr>
</table>
<ul>
<li><b>
FMC_PRES
</b>[<i>read-only</i>]: FMC presence
<br>0: FMC slot is populated<br>1: FMC slot is not populated.
<li><b>
P2L_PLL_LCK
</b>[<i>read-only</i>]: GN4142 core P2L PLL status
<br>0: not locked<br>1: locked.
<li><b>
SYS_PLL_LCK
</b>[<i>read-only</i>]: System clock PLL status
<br>0: not locked<br>1: locked.
<li><b>
DDR3_CAL_DONE
</b>[<i>read-only</i>]: DDR3 calibration status
<br>0: not done<br>1: done.
<li><b>
RESERVED
</b>[<i>read-only</i>]: Reserved
<br>Ignore on read, write with 0's.
</ul>
<a name="CTRL"></a>
<h3><a name="sect_3_3">3.3. Control</a></h3>
<table cellpadding=0 cellspacing=0 border=0>
<tr>
<td >
<b>HW prefix: </b>
</td>
<td class="td_code">
carrier_csr_ctrl
</td>
</tr>
<tr>
<td >
<b>HW address: </b>
</td>
<td class="td_code">
0x2
</td>
</tr>
<tr>
<td >
<b>C prefix: </b>
</td>
<td class="td_code">
CTRL
</td>
</tr>
<tr>
<td >
<b>C offset: </b>
</td>
<td class="td_code">
0x8
</td>
</tr>
</table>
<table cellpadding=0 cellspacing=0 border=0>
<tr>
<td class="td_bit">
31
</td>
<td class="td_bit">
30
</td>
<td class="td_bit">
29
</td>
<td class="td_bit">
28
</td>
<td class="td_bit">
27
</td>
<td class="td_bit">
26
</td>
<td class="td_bit">
25
</td>
<td class="td_bit">
24
</td>
</tr>
<tr>
<td style="border: solid 1px black;" colspan=8 class="td_field">
RESERVED[28:21]
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
</tr>
</table>
<table cellpadding=0 cellspacing=0 border=0>
<tr>
<td class="td_bit">
23
</td>
<td class="td_bit">
22
</td>
<td class="td_bit">
21
</td>
<td class="td_bit">
20
</td>
<td class="td_bit">
19
</td>
<td class="td_bit">
18
</td>
<td class="td_bit">
17
</td>
<td class="td_bit">
16
</td>
</tr>
<tr>
<td style="border: solid 1px black;" colspan=8 class="td_field">
RESERVED[20:13]
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
</tr>
</table>
<table cellpadding=0 cellspacing=0 border=0>
<tr>
<td class="td_bit">
15
</td>
<td class="td_bit">
14
</td>
<td class="td_bit">
13
</td>
<td class="td_bit">
12
</td>
<td class="td_bit">
11
</td>
<td class="td_bit">
10
</td>
<td class="td_bit">
9
</td>
<td class="td_bit">
8
</td>
</tr>
<tr>
<td style="border: solid 1px black;" colspan=8 class="td_field">
RESERVED[12:5]
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
</tr>
</table>
<table cellpadding=0 cellspacing=0 border=0>
<tr>
<td class="td_bit">
7
</td>
<td class="td_bit">
6
</td>
<td class="td_bit">
5
</td>
<td class="td_bit">
4
</td>
<td class="td_bit">
3
</td>
<td class="td_bit">
2
</td>
<td class="td_bit">
1
</td>
<td class="td_bit">
0
</td>
</tr>
<tr>
<td style="border: solid 1px black;" colspan=5 class="td_field">
RESERVED[4:0]
</td>
<td style="border: solid 1px black;" colspan=1 class="td_field">
DAC_CLR_N
</td>
<td style="border: solid 1px black;" colspan=1 class="td_field">
LED_RED
</td>
<td style="border: solid 1px black;" colspan=1 class="td_field">
LED_GREEN
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
</tr>
</table>
<ul>
<li><b>
LED_GREEN
</b>[<i>read/write</i>]: Green LED
<br>Manual control of the front panel green LED (unused in the fmc-adc application)
<li><b>
LED_RED
</b>[<i>read/write</i>]: Red LED
<br>Manual control of the front panel red LED (unused in the fmc-adc application)
<li><b>
DAC_CLR_N
</b>[<i>read/write</i>]: DAC clear
<br>Active low clear signal for VCXO DACs
<li><b>
RESERVED
</b>[<i>read/write</i>]: Reserved
<br>Ignore on read, write with 0's
</ul>
</BODY>
</HTML>
...@@ -97,7 +97,7 @@ peripheral { ...@@ -97,7 +97,7 @@ peripheral {
field { field {
name = "Green LED"; name = "Green LED";
description = "Front panel green LED control"; description = "Manual control of the front panel green LED (unused in the fmc-adc application)";
prefix = "led_green"; prefix = "led_green";
type = BIT; type = BIT;
access_bus = READ_WRITE; access_bus = READ_WRITE;
...@@ -106,7 +106,7 @@ peripheral { ...@@ -106,7 +106,7 @@ peripheral {
field { field {
name = "Red LED"; name = "Red LED";
description = "Front panel red LED control"; description = "Manual control of the front panel red LED (unused in the fmc-adc application)";
prefix = "led_red"; prefix = "led_red";
type = BIT; type = BIT;
access_bus = READ_WRITE; access_bus = READ_WRITE;
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
* File : irq_controller_regs.h * File : irq_controller_regs.h
* Author : auto-generated by wbgen2 from irq_controller_regs.wb * Author : auto-generated by wbgen2 from irq_controller_regs.wb
* Created : Tue Apr 9 18:41:31 2013 * Created : Tue May 7 14:57:57 2013
* Standard : ANSI C * Standard : ANSI C
THIS FILE WAS GENERATED BY wbgen2 FROM SOURCE FILE irq_controller_regs.wb THIS FILE WAS GENERATED BY wbgen2 FROM SOURCE FILE irq_controller_regs.wb
......
@regsection Memory map summary <HTML>
@multitable @columnfractions .10 .15 .15 .55 <HEAD>
@headitem Address @tab Type @tab Prefix @tab Name <TITLE>irq_controller_regs</TITLE>
@item @code{0x0} @tab <STYLE TYPE="text/css" MEDIA="all">
REG @tab
@code{multi_irq} @tab <!--
Multiple interrupt register BODY { background: white; color: black;
@item @code{0x4} @tab font-family: Arial,Helvetica; font-size:12; }
REG @tab h1 { font-family: Trebuchet MS,Arial,Helvetica; font-size:30; color:#404040; }
@code{src} @tab h2 { font-family: Trebuchet MS,Arial,Helvetica; font-size:22; color:#404040; }
Interrupt sources register h3 { font-family: Trebuchet MS,Arial,Helvetica; font-size:16; color:#404040; }
@item @code{0x8} @tab .td_arrow_left { padding:0px; background: #ffffff; text-align: right; font-size:12;}
REG @tab .td_arrow_right { padding:0px; background: #ffffff; text-align: left; font-size:12;}
@code{en_mask} @tab .td_code { font-family:Courier New,Courier; padding: 3px; }
Interrupt enable mask register .td_desc { padding: 3px; }
@end multitable .td_sym_center { background: #e0e0f0; padding: 3px; }
@regsection @code{multi_irq} - Multiple interrupt register .td_port_name { font-family:Courier New,Courier; background: #e0e0f0; text-align: right; font-weight:bold;padding: 3px; width:200px; }
Multiple interrupts occurs before irq source is read. .td_pblock_left { font-family:Courier New,Courier; background: #e0e0f0; padding: 0px; text-align: left; }
Write '1' to clear a bit. .td_pblock_right { font-family:Courier New,Courier; background: #e0e0f0; padding: 0px; text-align: right; }
.td_bit { background: #ffffff; color:#404040; font-size:10; width: 70px; font-family:Courier New,Courier; padding: 3px; text-align:center; }
Bit 0: DMA done. .td_field { background: #e0e0f0; padding: 3px; text-align:center; }
Bit 1: DMA error. .td_unused { background: #a0a0a0; padding: 3px; text-align:center; }
Bit 2: Trigger. th { font-weight:bold; color:#ffffff; background: #202080; padding:3px; }
Bit 3: Acquisition end. .tr_even { background: #f0eff0; }
@multitable @columnfractions .10 .10 .15 .10 .55 .tr_odd { background: #e0e0f0; }
@headitem Bits @tab Access @tab Prefix @tab Default @tab Name -->
@item @code{31...0} </STYLE>
@tab R/W @tab </HEAD>
@code{MULTI_IRQ} <BODY>
@tab @code{X} @tab <h1 class="heading">irq_controller_regs</h1>
Multiple interrupt <h3>IRQ controller registers</h3>
@end multitable <p>Wishbone slave for registers related to IRQ controller</p>
@multitable @columnfractions 0.15 0.85 <h3>Contents:</h3>
@headitem Field @tab Description <span style="margin-left: 0px; ">1. <A href="#sect_1_0">Memory map summary</a></span><br/>
@end multitable <span style="margin-left: 0px; ">2. <A href="#sect_2_0">HDL symbol</a></span><br/>
@regsection @code{src} - Interrupt sources register <span style="margin-left: 0px; ">3. <A href="#sect_3_0">Register description</a></span><br/>
Indicates the interrupt source. <span style="margin-left: 20px; ">3.1. <A href="#sect_3_1">Multiple interrupt register</a></span><br/>
Write '1' to clear a bit. <span style="margin-left: 20px; ">3.2. <A href="#sect_3_2">Interrupt sources register </a></span><br/>
<span style="margin-left: 20px; ">3.3. <A href="#sect_3_3">Interrupt enable mask register</a></span><br/>
Bit 0: DMA done. <h3><a name="sect_1_0">1. Memory map summary</a></h3>
Bit 1: DMA error. <table cellpadding=0 cellspacing=0 border=0>
Bit 2: Trigger. <tr>
Bit 3: Acquisition end. <th >
@multitable @columnfractions .10 .10 .15 .10 .55 H/W Address
@headitem Bits @tab Access @tab Prefix @tab Default @tab Name </th>
@item @code{31...0} <th >
@tab R/W @tab Type
@code{SRC} </th>
@tab @code{X} @tab <th >
Interrupt sources Name
@end multitable </th>
@multitable @columnfractions 0.15 0.85 <th >
@headitem Field @tab Description VHDL/Verilog prefix
@end multitable </th>
@regsection @code{en_mask} - Interrupt enable mask register <th >
Bit mask to independently enable interrupt sources. C prefix
</th>
Bit 0: DMA done. </tr>
Bit 1: DMA error. <tr class="tr_odd">
Bit 2: Trigger. <td class="td_code">
Bit 3: Acquisition end. 0x0
@multitable @columnfractions .10 .10 .15 .10 .55 </td>
@headitem Bits @tab Access @tab Prefix @tab Default @tab Name <td >
@item @code{31...0} REG
@tab R/W @tab </td>
@code{EN_MASK} <td >
@tab @code{X} @tab <A href="#MULTI_IRQ">Multiple interrupt register</a>
Interrupt enable mask </td>
@end multitable <td class="td_code">
@multitable @columnfractions 0.15 0.85 irq_ctrl_multi_irq
@headitem Field @tab Description </td>
@end multitable <td class="td_code">
MULTI_IRQ
</td>
</tr>
<tr class="tr_even">
<td class="td_code">
0x1
</td>
<td >
REG
</td>
<td >
<A href="#SRC">Interrupt sources register </a>
</td>
<td class="td_code">
irq_ctrl_src
</td>
<td class="td_code">
SRC
</td>
</tr>
<tr class="tr_odd">
<td class="td_code">
0x2
</td>
<td >
REG
</td>
<td >
<A href="#EN_MASK">Interrupt enable mask register</a>
</td>
<td class="td_code">
irq_ctrl_en_mask
</td>
<td class="td_code">
EN_MASK
</td>
</tr>
</table>
<h3><a name="sect_2_0">2. HDL symbol</a></h3>
<table cellpadding=0 cellspacing=0 border=0>
<tr>
<td class="td_arrow_left">
&rarr;
</td>
<td class="td_pblock_left">
rst_n_i
</td>
<td class="td_sym_center">
</td>
<td class="td_pblock_right">
<b>Multiple interrupt register:</b>
</td>
<td class="td_arrow_right">
</td>
</tr>
<tr>
<td class="td_arrow_left">
&rarr;
</td>
<td class="td_pblock_left">
clk_sys_i
</td>
<td class="td_sym_center">
</td>
<td class="td_pblock_right">
irq_ctrl_multi_irq_o[31:0]
</td>
<td class="td_arrow_right">
&rArr;
</td>
</tr>
<tr>
<td class="td_arrow_left">
&rArr;
</td>
<td class="td_pblock_left">
wb_adr_i[1:0]
</td>
<td class="td_sym_center">
</td>
<td class="td_pblock_right">
irq_ctrl_multi_irq_i[31:0]
</td>
<td class="td_arrow_right">
&lArr;
</td>
</tr>
<tr>
<td class="td_arrow_left">
&rArr;
</td>
<td class="td_pblock_left">
wb_dat_i[31:0]
</td>
<td class="td_sym_center">
</td>
<td class="td_pblock_right">
irq_ctrl_multi_irq_load_o
</td>
<td class="td_arrow_right">
&rarr;
</td>
</tr>
<tr>
<td class="td_arrow_left">
&lArr;
</td>
<td class="td_pblock_left">
wb_dat_o[31:0]
</td>
<td class="td_sym_center">
&nbsp;
</td>
<td class="td_pblock_right">
</td>
<td class="td_arrow_right">
</td>
</tr>
<tr>
<td class="td_arrow_left">
&rarr;
</td>
<td class="td_pblock_left">
wb_cyc_i
</td>
<td class="td_sym_center">
</td>
<td class="td_pblock_right">
<b>Interrupt sources register :</b>
</td>
<td class="td_arrow_right">
</td>
</tr>
<tr>
<td class="td_arrow_left">
&rArr;
</td>
<td class="td_pblock_left">
wb_sel_i[3:0]
</td>
<td class="td_sym_center">
</td>
<td class="td_pblock_right">
irq_ctrl_src_o[31:0]
</td>
<td class="td_arrow_right">
&rArr;
</td>
</tr>
<tr>
<td class="td_arrow_left">
&rarr;
</td>
<td class="td_pblock_left">
wb_stb_i
</td>
<td class="td_sym_center">
</td>
<td class="td_pblock_right">
irq_ctrl_src_i[31:0]
</td>
<td class="td_arrow_right">
&lArr;
</td>
</tr>
<tr>
<td class="td_arrow_left">
&rarr;
</td>
<td class="td_pblock_left">
wb_we_i
</td>
<td class="td_sym_center">
</td>
<td class="td_pblock_right">
irq_ctrl_src_load_o
</td>
<td class="td_arrow_right">
&rarr;
</td>
</tr>
<tr>
<td class="td_arrow_left">
&larr;
</td>
<td class="td_pblock_left">
wb_ack_o
</td>
<td class="td_sym_center">
&nbsp;
</td>
<td class="td_pblock_right">
</td>
<td class="td_arrow_right">
</td>
</tr>
<tr>
<td class="td_arrow_left">
&larr;
</td>
<td class="td_pblock_left">
wb_stall_o
</td>
<td class="td_sym_center">
</td>
<td class="td_pblock_right">
<b>Interrupt enable mask register:</b>
</td>
<td class="td_arrow_right">
</td>
</tr>
<tr>
<td class="td_arrow_left">
</td>
<td class="td_pblock_left">
</td>
<td class="td_sym_center">
</td>
<td class="td_pblock_right">
irq_ctrl_en_mask_o[31:0]
</td>
<td class="td_arrow_right">
&rArr;
</td>
</tr>
</table>
<h3><a name="sect_3_0">3. Register description</a></h3>
<a name="MULTI_IRQ"></a>
<h3><a name="sect_3_1">3.1. Multiple interrupt register</a></h3>
<table cellpadding=0 cellspacing=0 border=0>
<tr>
<td >
<b>HW prefix: </b>
</td>
<td class="td_code">
irq_ctrl_multi_irq
</td>
</tr>
<tr>
<td >
<b>HW address: </b>
</td>
<td class="td_code">
0x0
</td>
</tr>
<tr>
<td >
<b>C prefix: </b>
</td>
<td class="td_code">
MULTI_IRQ
</td>
</tr>
<tr>
<td >
<b>C offset: </b>
</td>
<td class="td_code">
0x0
</td>
</tr>
</table>
<p>
Multiple interrupts occurs before irq source is read.<br>Write '1' to clear a bit.<br><br>Bit 0: DMA done.<br>Bit 1: DMA error.<br>Bit 2: Trigger.<br>Bit 3: Acquisition end.
</p>
<table cellpadding=0 cellspacing=0 border=0>
<tr>
<td class="td_bit">
31
</td>
<td class="td_bit">
30
</td>
<td class="td_bit">
29
</td>
<td class="td_bit">
28
</td>
<td class="td_bit">
27
</td>
<td class="td_bit">
26
</td>
<td class="td_bit">
25
</td>
<td class="td_bit">
24
</td>
</tr>
<tr>
<td style="border: solid 1px black;" colspan=8 class="td_field">
MULTI_IRQ[31:24]
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
</tr>
</table>
<table cellpadding=0 cellspacing=0 border=0>
<tr>
<td class="td_bit">
23
</td>
<td class="td_bit">
22
</td>
<td class="td_bit">
21
</td>
<td class="td_bit">
20
</td>
<td class="td_bit">
19
</td>
<td class="td_bit">
18
</td>
<td class="td_bit">
17
</td>
<td class="td_bit">
16
</td>
</tr>
<tr>
<td style="border: solid 1px black;" colspan=8 class="td_field">
MULTI_IRQ[23:16]
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
</tr>
</table>
<table cellpadding=0 cellspacing=0 border=0>
<tr>
<td class="td_bit">
15
</td>
<td class="td_bit">
14
</td>
<td class="td_bit">
13
</td>
<td class="td_bit">
12
</td>
<td class="td_bit">
11
</td>
<td class="td_bit">
10
</td>
<td class="td_bit">
9
</td>
<td class="td_bit">
8
</td>
</tr>
<tr>
<td style="border: solid 1px black;" colspan=8 class="td_field">
MULTI_IRQ[15:8]
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
</tr>
</table>
<table cellpadding=0 cellspacing=0 border=0>
<tr>
<td class="td_bit">
7
</td>
<td class="td_bit">
6
</td>
<td class="td_bit">
5
</td>
<td class="td_bit">
4
</td>
<td class="td_bit">
3
</td>
<td class="td_bit">
2
</td>
<td class="td_bit">
1
</td>
<td class="td_bit">
0
</td>
</tr>
<tr>
<td style="border: solid 1px black;" colspan=8 class="td_field">
MULTI_IRQ[7:0]
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
</tr>
</table>
<ul>
<li><b>
MULTI_IRQ
</b>[<i>read/write</i>]: Multiple interrupt
</ul>
<a name="SRC"></a>
<h3><a name="sect_3_2">3.2. Interrupt sources register </a></h3>
<table cellpadding=0 cellspacing=0 border=0>
<tr>
<td >
<b>HW prefix: </b>
</td>
<td class="td_code">
irq_ctrl_src
</td>
</tr>
<tr>
<td >
<b>HW address: </b>
</td>
<td class="td_code">
0x1
</td>
</tr>
<tr>
<td >
<b>C prefix: </b>
</td>
<td class="td_code">
SRC
</td>
</tr>
<tr>
<td >
<b>C offset: </b>
</td>
<td class="td_code">
0x4
</td>
</tr>
</table>
<p>
Indicates the interrupt source.<br>Write '1' to clear a bit.<br><br>Bit 0: DMA done.<br>Bit 1: DMA error.<br>Bit 2: Trigger.<br>Bit 3: Acquisition end.
</p>
<table cellpadding=0 cellspacing=0 border=0>
<tr>
<td class="td_bit">
31
</td>
<td class="td_bit">
30
</td>
<td class="td_bit">
29
</td>
<td class="td_bit">
28
</td>
<td class="td_bit">
27
</td>
<td class="td_bit">
26
</td>
<td class="td_bit">
25
</td>
<td class="td_bit">
24
</td>
</tr>
<tr>
<td style="border: solid 1px black;" colspan=8 class="td_field">
SRC[31:24]
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
</tr>
</table>
<table cellpadding=0 cellspacing=0 border=0>
<tr>
<td class="td_bit">
23
</td>
<td class="td_bit">
22
</td>
<td class="td_bit">
21
</td>
<td class="td_bit">
20
</td>
<td class="td_bit">
19
</td>
<td class="td_bit">
18
</td>
<td class="td_bit">
17
</td>
<td class="td_bit">
16
</td>
</tr>
<tr>
<td style="border: solid 1px black;" colspan=8 class="td_field">
SRC[23:16]
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
</tr>
</table>
<table cellpadding=0 cellspacing=0 border=0>
<tr>
<td class="td_bit">
15
</td>
<td class="td_bit">
14
</td>
<td class="td_bit">
13
</td>
<td class="td_bit">
12
</td>
<td class="td_bit">
11
</td>
<td class="td_bit">
10
</td>
<td class="td_bit">
9
</td>
<td class="td_bit">
8
</td>
</tr>
<tr>
<td style="border: solid 1px black;" colspan=8 class="td_field">
SRC[15:8]
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
</tr>
</table>
<table cellpadding=0 cellspacing=0 border=0>
<tr>
<td class="td_bit">
7
</td>
<td class="td_bit">
6
</td>
<td class="td_bit">
5
</td>
<td class="td_bit">
4
</td>
<td class="td_bit">
3
</td>
<td class="td_bit">
2
</td>
<td class="td_bit">
1
</td>
<td class="td_bit">
0
</td>
</tr>
<tr>
<td style="border: solid 1px black;" colspan=8 class="td_field">
SRC[7:0]
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
</tr>
</table>
<ul>
<li><b>
SRC
</b>[<i>read/write</i>]: Interrupt sources
</ul>
<a name="EN_MASK"></a>
<h3><a name="sect_3_3">3.3. Interrupt enable mask register</a></h3>
<table cellpadding=0 cellspacing=0 border=0>
<tr>
<td >
<b>HW prefix: </b>
</td>
<td class="td_code">
irq_ctrl_en_mask
</td>
</tr>
<tr>
<td >
<b>HW address: </b>
</td>
<td class="td_code">
0x2
</td>
</tr>
<tr>
<td >
<b>C prefix: </b>
</td>
<td class="td_code">
EN_MASK
</td>
</tr>
<tr>
<td >
<b>C offset: </b>
</td>
<td class="td_code">
0x8
</td>
</tr>
</table>
<p>
Bit mask to independently enable interrupt sources.<br><br>Bit 0: DMA done.<br>Bit 1: DMA error.<br>Bit 2: Trigger.<br>Bit 3: Acquisition end.
</p>
<table cellpadding=0 cellspacing=0 border=0>
<tr>
<td class="td_bit">
31
</td>
<td class="td_bit">
30
</td>
<td class="td_bit">
29
</td>
<td class="td_bit">
28
</td>
<td class="td_bit">
27
</td>
<td class="td_bit">
26
</td>
<td class="td_bit">
25
</td>
<td class="td_bit">
24
</td>
</tr>
<tr>
<td style="border: solid 1px black;" colspan=8 class="td_field">
EN_MASK[31:24]
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
</tr>
</table>
<table cellpadding=0 cellspacing=0 border=0>
<tr>
<td class="td_bit">
23
</td>
<td class="td_bit">
22
</td>
<td class="td_bit">
21
</td>
<td class="td_bit">
20
</td>
<td class="td_bit">
19
</td>
<td class="td_bit">
18
</td>
<td class="td_bit">
17
</td>
<td class="td_bit">
16
</td>
</tr>
<tr>
<td style="border: solid 1px black;" colspan=8 class="td_field">
EN_MASK[23:16]
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
</tr>
</table>
<table cellpadding=0 cellspacing=0 border=0>
<tr>
<td class="td_bit">
15
</td>
<td class="td_bit">
14
</td>
<td class="td_bit">
13
</td>
<td class="td_bit">
12
</td>
<td class="td_bit">
11
</td>
<td class="td_bit">
10
</td>
<td class="td_bit">
9
</td>
<td class="td_bit">
8
</td>
</tr>
<tr>
<td style="border: solid 1px black;" colspan=8 class="td_field">
EN_MASK[15:8]
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
</tr>
</table>
<table cellpadding=0 cellspacing=0 border=0>
<tr>
<td class="td_bit">
7
</td>
<td class="td_bit">
6
</td>
<td class="td_bit">
5
</td>
<td class="td_bit">
4
</td>
<td class="td_bit">
3
</td>
<td class="td_bit">
2
</td>
<td class="td_bit">
1
</td>
<td class="td_bit">
0
</td>
</tr>
<tr>
<td style="border: solid 1px black;" colspan=8 class="td_field">
EN_MASK[7:0]
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
</tr>
</table>
<ul>
<li><b>
EN_MASK
</b>[<i>read/write</i>]: Interrupt enable mask
</ul>
</BODY>
</HTML>
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