Commit 5ff8b951 authored by Theodor-Adrian Stana's avatar Theodor-Adrian Stana

updated docs and changed fwvers

- hdlguide: added info about pulse rejection
- userguide: corrected channel delay when glitch filt enabled (40ns ->
  56 ns)
- changed firmware version in release top-level file
parent 23cf4ac4
......@@ -24,9 +24,9 @@
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="1.979899"
inkscape:cx="260.19536"
inkscape:cy="123.16814"
inkscape:zoom="1.4"
inkscape:cx="351.68479"
inkscape:cy="189.96429"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showgrid="true"
......@@ -401,13 +401,13 @@
sodipodi:linespacing="125%"
id="text15558"
y="171.85033"
x="496.11163"
x="516.43378"
style="font-size:10.340312px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
xml:space="preserve"><tspan
y="171.85033"
x="496.11163"
x="516.43378"
id="tspan15560"
sodipodi:role="line">counter fsm</tspan></text>
sodipodi:role="line">FSM</tspan></text>
<text
sodipodi:linespacing="125%"
id="text16076"
......@@ -489,6 +489,102 @@
id="tspan16104"
x="564.45178"
y="65.551132"
style="text-align:end;text-anchor:end">glitch_filt_en</tspan></text>
style="text-align:end;text-anchor:end">gf_en</tspan></text>
<text
style="font-size:15px"
id="text424"
x="487.20471"
y="308.26767">
<tspan
id="tspan426"
sodipodi:role="line"
y="308.26767"
x="487.20471 492.96472 499.52469 504.98871"
style="font-size:8px;font-variant:normal;font-weight:bold;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:DejaVu Sans Bold;-inkscape-font-specification:DejaVuSans-Bold">SGF1</tspan>
</text>
<text
style="font-size:15px"
id="text428"
x="513.08478"
y="308.26767">
<tspan
id="tspan430"
sodipodi:role="line"
y="308.26767"
x="513.08478 515.97278 518.50879 523.58075 526.72473 531.62079 534.91675 538.06079 540.59674 547.14075 552.21277 557.13275 562.20477 564.74078 569.81274 572.02875 574.23676 577.3808 581.78076 586.85278 589.38873 594.42877 596.64478 599.78076 604.70074 607.99677 610.54077 612.74878 616.91675 619.45276 624.37274 629.44476 634.34875 639.42072 641.62872 646.54871"
style="font-size:8px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:DejaVu Sans;-inkscape-font-specification:DejaVuSans">- Start when glitch filter is enabled</tspan>
</text>
<text
style="font-size:15px"
id="text432"
x="487.20471"
y="299.40939">
<tspan
id="tspan434"
sodipodi:role="line"
y="299.40939"
x="487.20471 492.96472 499.52469 504.98871"
style="font-size:8px;font-variant:normal;font-weight:bold;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:DejaVu Sans Bold;-inkscape-font-specification:DejaVuSans-Bold">SGF0</tspan>
</text>
<text
style="font-size:15px"
id="text436"
x="513.08478"
y="299.40939">
<tspan
id="tspan438"
sodipodi:role="line"
y="299.40939"
x="513.08478 515.97278 518.50879 523.58075 526.72473 531.62079 534.91675 538.06079 540.59674 547.14075 552.21277 557.13275 562.20477 564.74078 569.81274 572.02875 574.23676 577.3808 581.78076 586.85278 589.38873 594.42877 596.64478 599.78076 604.70074 607.99677 610.54077 612.74878 616.91675 619.45276 624.52472 626.74072 630.90076 635.80475 640.87671 643.08478 648.0047"
style="font-size:8px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:DejaVu Sans;-inkscape-font-specification:DejaVuSans">- Start when glitch filter is disabled</tspan>
</text>
<text
style="font-size:15px"
id="text440"
x="487.20471"
y="325.98419">
<tspan
id="tspan442"
sodipodi:role="line"
y="325.98419"
x="487.20471 494.00473 500.5647 506.02872"
style="font-size:8px;font-variant:normal;font-weight:bold;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:DejaVu Sans Bold;-inkscape-font-specification:DejaVuSans-Bold">OGF1</tspan>
</text>
<text
style="font-size:15px"
id="text444"
x="514.12476"
y="325.98419">
<tspan
id="tspan446"
sodipodi:role="line"
y="325.98419"
x="514.12476 517.00476 519.54077 525.83679 530.90875 534.05273 539.12476 544.19678 547.33276 549.87677 556.41278 561.4848 566.40479 571.47675 574.02075 579.09277 581.30078 583.51672 586.65277 591.05273 596.12476 598.66876 603.70874 605.91675 609.06079 613.98077 617.27673 619.81274 622.02875 626.18872 628.73279 633.65271 638.72473 643.62079 648.69275 650.90875 655.82874"
style="font-size:8px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:DejaVu Sans;-inkscape-font-specification:DejaVuSans">- Output when glitch filter is enabled</tspan>
</text>
<text
style="font-size:15px"
id="text448"
x="487.20471"
y="317.12592">
<tspan
id="tspan450"
sodipodi:role="line"
y="317.12592"
x="487.20471 494.00473 500.5647 506.02872"
style="font-size:8px;font-variant:normal;font-weight:bold;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:DejaVu Sans Bold;-inkscape-font-specification:DejaVuSans-Bold">OGF0</tspan>
</text>
<text
style="font-size:15px"
id="text452"
x="514.12476"
y="317.12592">
<tspan
id="tspan454"
sodipodi:role="line"
y="317.12592"
x="514.12476 517.00476 519.54077 525.83679 530.90875 534.05273 539.12476 544.19678 547.33276 549.87677 556.41278 561.4848 566.40479 571.47675 574.02075 579.09277 581.30078 583.51672 586.65277 591.05273 596.12476 598.66876 603.70874 605.91675 609.06079 613.98077 617.27673 619.81274 622.02875 626.18872 628.73279 633.80475 636.01276 640.18073 645.07678 650.14874 652.36475 657.28473"
style="font-size:8px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:DejaVu Sans;-inkscape-font-specification:DejaVuSans">- Output when glitch filter is disabled</tspan>
</text>
</g>
</svg>
......@@ -42,6 +42,7 @@
\hline
04-07-2013 & 0.1 & First draft \\
26-07-2013 & 0.2 & Second draft \\
05-08-2013 & 0.3 & Added pulse rejection to \textit{ctb\_pulse\_gen} \\
\hline
\end{tabular}
}
......@@ -360,7 +361,7 @@ multiplexers are set throughout the logic.
% SEC: Pulse gen
%==============================================================================
\pagebreak
\section{Pulse generators}
\section{Pulse generator}
\label{sec:pulse-gen}
%\begin{table}[h]
......@@ -370,17 +371,16 @@ multiplexers are set throughout the logic.
{
\begin{tabular}{l l l}
\hline
\textbf{Entity} & \textit{ctb\_pulse\_gen} & \\
\textbf{Generics} & \textit{g\_pulse\_width} & Width of the output pulse in \textit{clk\_i} cycles \\
& \textit{g\_glitch\_filt\_len} & Length of glitch filter \\
\textbf{Ports} & \textit{clk\_i} & Clock signal \\
& \textit{rst\_n\_i} & Active-low reset signal \\
& \textit{en\_i} & Pulse generator enable \\
& \textit{glitch\_filt\_en\_n} & Active-low glitch filter enable \\
& \textit{trig\_i} & Pulse trigger \\
& \textit{pulse\_o} & Pulse output \\
\textbf{Usage} & Output pulse & 1.2~${\mu}s$ pulses \\
& Flash pulse LEDs & 96~$ms$ pulses \\
\textbf{Entity} & \textit{ctb\_pulse\_gen} & \\
\textbf{Generics} & \textit{g\_pwidth} & Width of the output pulse in \textit{clk\_i} cycles \\
& \textit{g\_gf\_len} & Length of glitch filter \\
\textbf{Ports} & \textit{clk\_i} & Clock signal \\
& \textit{rst\_n\_i} & Active-low reset signal \\
& \textit{en\_i} & Pulse generator enable \\
& \textit{gf\_en\_n\_i} & Active-low glitch filter enable \\
& \textit{trig\_i} & Pulse trigger \\
& \textit{pulse\_o} & Pulse output \\
\textbf{Usage} & Output pulse & 1.2~$\mu$s pulses with min. period of 6~$\mu$s\\
\hline
\end{tabular}
}
......@@ -388,23 +388,18 @@ multiplexers are set throughout the logic.
\vspace*{11pt}
The \textit{ctb\_pulse\_gen} block generate pulses on the rising edge of the
\textit{trig\_i} input. The pulse width is configurable via the \textit{g\_pulse\_width}
The \textit{ctb\_pulse\_gen} block generates pulses on the rising edge of the
\textit{trig\_i} input. The pulse width is configurable via the \textit{g\_pwidth}
generic. The block also incorporates a glitch filter with a configurable length
(\textit{g\_glitch\_filt\_len}) that can be used to avoid pulses generated because of
(\textit{g\_gf\_len}) that can be used to avoid pulses generated because of
glitches at the \textit{trig\_i} input.
These blocks are twice used in the CONV-TTL-BLO firmware. First, they are used for
generating the output pulses based on the trigger input. In this case, they are configured
for 1.2~${\mu}s$ pulses (\textit{g\_pulse\_width = 150}, considering the 8~$ns$ clock input).
Pulse widths at the output are limited internally to 1/5 duty cycle, to safeguard
the blocking output transformers.
Second, they are used for blinking the front and rear-panel pulse LEDs
when a pulse is generated. In this second case, the pulse generator blocks are
configured to generate 96~$ms$ pulses (\textit{g\_pulse\_width} $= 12*10^6$), enough
to be visible to the human eye.
In both cases, the logic associated to the blocks is multiplied by six, since
there are six replication channels.
Six \textit{ctb\_pulse\_gen} blocks (one per channel) are used for generating blocking and TTL
pulses at the outputs, based on trigger inputs arriving on the channels. The \textit{ctb\_pulse\_gen} blocks
are configured for 1.2~${\mu}s$ pulses (\textit{g\_pwidth = 150}, considering the 8~$ns$ clock input).
%------------------------------------------------------------------------------
% SUBSEC: Implem
......@@ -413,7 +408,7 @@ there are six replication channels.
\label{sec:pulse-gen-implem}
Figure~\ref{fig:pulse-gen} shows the implementation of the \textit{ctb\_pulse\_gen}
block. It employs a counter finite-state machine (FSM) that is used to generate
block. It employs a finite-state machine (FSM) that is used to generate
a fixed-width pulse at the output.
\begin{figure}[h]
......@@ -422,29 +417,34 @@ a fixed-width pulse at the output.
\label{fig:pulse-gen}
\end{figure}
The block contains a glitch filter that can be used to decrease sensitivity to glitches
in noisy environments. The glitch filter length can be enabled via the
\textit{glitch\_filt\_en\_n} input (connected to SW1.1 on the CONV-TTL-BLO). The length
of the filter can be set via the \textit{g\_glitch\_filt\_len} generic.
The glitch filter can be used to decrease sensitivity to glitches in noisy environments.
It can be enabled via the \textit{gf\_en\_n\_i} input (connected to SW1.1 on the CONV-TTL-BLO).
The length of the filter can be set via the \textit{g\_gf\_len} generic.
Enabling the glitch filter will lead to the trigger being sampled using \textit{clk125}
and introduces leading-edge jitter on the \textit{pulse\_o} output. To avoid this
leading-edge pulse jitter, the glitch filter can be disabled.
leading-edge pulse jitter, the glitch filter can be left disabled.
Regardless of whether the glitch filter is enabled or not, the FSM reacts to the
rising edge of one of its two start inputs. A rising edge on an input starts
the internal counter, which counts up to a maximum value of \textit{g\_pulse\_width}.
the internal counter, which counts up to a maximum value of \textit{g\_pwidth}.
The behavior of the outputs are different, depending on the state of the glitch filter.
With the glitch filter disabled, the input pulse enables the
input flip-flop, which starts pulse generation. The pulse signal is then synchronized
in the \textit{clk125} domain and input to the synchronous counter FSM. The rising
edge on \textit{SGF0} triggers the counter, and when the counter reaches the maximum
value it sets the \textit{OGF0} output for one clock cycle, which will reset the
input flip-flop, thus ending the pulse.
in the \textit{clk125} domain and input to the synchronous FSM, which extends the
pulse to \textit{g\_pwidth}. The rising edge on \textit{SGF0} triggers the counter,
and when the counter reaches the value corresponding to the selected pulse width,
it sets the \textit{OGF0} output, which will reset the input flip-flop, thus ending the pulse.
With the glitch filter enabled, the rising edge on \textit{SGF1} sets \textit{OGF1},
and this will be kept high until the counter reaches the maximum value.
and this will be kept high until the counter reaches the value corresponding to the
pulse width.
After the pulse generation period, the FSM goes into a pulse rejection state,
where the pulse reset is kept high. If any pulses arrive on the input while the FSM
is in this rejection state, they are not replicated at the output. The pulse rejection
phase lasts for 4*\textit{g\_pwidth}, yielding a maximum duty cycle of 1/5 for input pulses.
%------------------------------------------------------------------------------
% SUBSEC: Board-level
......@@ -691,7 +691,7 @@ following sections list the memory map of each peripheral.
%------------------------------------------------------------------------------
% APP: CSR
%------------------------------------------------------------------------------
\section{Control and status registers}
\subsection{Control and status registers}
\label{app:memmap-csr}
\indent Base address: 0x000
......@@ -709,7 +709,7 @@ following sections list the memory map of each peripheral.
\noindent Reserved addresses read undefined and should be written as 0x00000000.
%------------------------------------------------------------------------------
\subsection{Board ID register}
\subsubsection{Board ID register}
\begin{tabular}{l l c c l}
\textbf{Bits} & \textbf{Field} & \textbf{Access} & \textbf{Default} & \textbf{Description} \\
......@@ -727,7 +727,7 @@ following sections list the memory map of each peripheral.
}
%------------------------------------------------------------------------------
\subsection{Status register}
\subsubsection{Status register}
\begin{tabular}{l l c c l}
\textbf{Bits} & \textbf{Field} & \textbf{Access} & \textbf{Default} & \textbf{Description} \\
......@@ -742,7 +742,7 @@ following sections list the memory map of each peripheral.
\begin{tabular}{l p{.8\textwidth}}
\textbf{Field} & \textbf{Description} \\
\textit{fwvers} & Firmware version
\textit{fwvers} & Firmware version \newline
-- leftmost byte \textit{hex value} is major release \textit{decimal value} \newline
-- rightmost byte \textit{hex value} is minor release \textit{decimal value} \newline
e.g. \newline
......
......@@ -43,6 +43,7 @@
21-06-2013 & 1.01 & Added termination resistors to Fig.~\ref{fig:ttl-chan},~\ref{fig:invttl-chan} \\
22-07-2013 & 1.02 & New title page and page layout \\
26-07-2013 & 1.03 & Added additional documentation subsection \\
05-08-2013 & 1.04 & Memory map is now appendix \\
\hline
\end{tabular}
}
......@@ -554,7 +555,7 @@ the CONV-TTL-BLO.
}
\end{table}
\noindent Note 1: If glitch filter is enabled, it adds an extra 40~ns delay to $t_{PD}$.
\noindent Note 1: If glitch filter is enabled, it adds an extra 56~ns delay to $t_{PD}$.
%======================================================================================
% SEC: Communicating to the CONV-TTL-BLO
......@@ -566,23 +567,17 @@ the CONV-TTL-BLO.
It is possible to communicate to the CONV-TTL-BLO remotely via the VME P1 I$^2$C interface.
This section describes how to connect to the VME64x crate and communicate to the board.
%--------------------------------------------------------------------------------------
% SUBSEC: ELMA I2C
%--------------------------------------------------------------------------------------
\subsection{The ELMA I$^2$C protocol}
\label{sec:comm-elma-prot}
In order to connect to a CONV-TTL-BLO board in an ELMA VME crate, a higher-level
protocol based on I$^2$C is defined \cite{sysmon-i2c}. The protocol uses the serial
lines on the VME P1 connector (\textit{SERCLK}, \textit{SERDAT}).
By this protocol, 2$^{12}$ (12 address bits) 32-bit registers can be read from or written
to byte by byte. The user accesses the VME crate using Telnet and sends commands
which the ELMA SysMon board translates to I$^2$C transfers to the board.
to byte by byte. A complete memory map for accessible registers can be found in Appendix~\ref{app:memmap}.
Two telnet commands (see Table~\ref{tbl:rwreg}) can be used to transfer data to the board.
As their names suggest, \textit{readreg} reads a board register, whereas \textit{writereg}
writes to a board register.
The user accesses the VME crate using Telnet and sends commands which the ELMA SysMon board
translates to I$^2$C transfers to the board. Two telnet commands (see Table~\ref{tbl:rwreg})
can be used to transfer data to the board. As their names suggest, \textit{readreg} reads a board
register, whereas \textit{writereg} writes to a board register.
\begin{table}[htbp]
\caption{The \textit{readreg} and \textit{writereg} commands}
......@@ -645,33 +640,6 @@ password:**********
%>
\end{verbatim}
%--------------------------------------------------------------------------------------
% SUBSEC: Memory map
%--------------------------------------------------------------------------------------
\subsection{Memory map}
\label{sec:comm-memmap}
The memory map of registers accessible through the ELMA protocol is given in Table~\ref{tbl:memmap}.
\begin{table}[htbp]
\caption{CONV-TTL-BLO memory map}
\label{tbl:memmap}
\centerline
{
\begin{tabular}{l r p{.6\textwidth}}
\hline
\multicolumn{1}{c}{\textbf{Address}} & \multicolumn{1}{c}{\textbf{ELMA reg}}
& \multicolumn{1}{c}{\textbf{Description}} \\
\hline
0x000 & 1 & Board ID register \newline
\textit{access}: R/W \newline
\textit{default}: 0x424C4F32 (ASCII \textbf{BLO2}) \\
\hline
\end{tabular}
}
\end{table}
%======================================================================================
% Appendices
%======================================================================================
......@@ -739,8 +707,8 @@ Blocking pulses arriving on CH1 then get replicated through the daisy chain from
By connecting all outputs of channels 1 through 4 on the rear panel, the desired pulse
conversion system can be obtained.
Each channel will add a 40~ns delay (80~ns with glitch filter), in addition to the 160~ns (240~ns
with glitch filter) of the CH1 and CH4 blocking conversions.
Each channel will add a 40~ns delay (96~ns with glitch filter), in addition to the 160~ns (272~ns
with glitch filters) of the CH1 and CH4 blocking conversions.
\begin{figure}[h]
\centerline{\includegraphics[width=\textwidth]{fig/ex-blo-rep}}
......@@ -768,7 +736,106 @@ The inverter channel will add a 30~ns delay to the input TTL signal.
\label{fig:ex-invert-ttl}
\end{figure}
%------------------------------------------------------------------------------
% APP: Memmap
%------------------------------------------------------------------------------
\section{Memory map}
\label{app:memmap}
Table~\ref{tbl:memmap} shows the complete memory map of the firmware. The
following sections list the memory map of each peripheral.
\begin{table}[h]
\caption{CONV-TTL-BLO memory map}
\label{tbl:memmap}
\centerline
{
\begin{tabular}{l l l p{.4\textwidth}}
\hline
\multicolumn{1}{c}{\textbf{Periph.}} & \multicolumn{2}{c}{\textbf{Address}} & \multicolumn{1}{c}{\textbf{Description}} \\
& \multicolumn{1}{c}{\textbf{Base}} & \multicolumn{1}{c}{\textbf{End}} & \\
\hline
CSR & 0x000 & 0x010 & Control and status register \\
\hline
\end{tabular}
}
\end{table}
%------------------------------------------------------------------------------
% APP: CSR
%------------------------------------------------------------------------------
\subsection{Control and status registers}
\label{app:memmap-csr}
\indent Base address: 0x000
\begin{table}[h]
\begin{tabular}{l c p{.6\textwidth}}
\textbf{Offset} & \textbf{ELMA reg} & \textbf{Description} \\
0x0 & 1 & Board ID register \\
0x4 & 2 & Status register \\
0x8 & 3 & Reserved \\
0xC & 4 & Reserved \\
\end{tabular}
\end{table}
\noindent Reserved addresses read undefined and should be written as 0x00000000.
%------------------------------------------------------------------------------
\subsubsection{Board ID register}
\begin{tabular}{l l c c l}
\textbf{Bits} & \textbf{Field} & \textbf{Access} & \textbf{Default} & \textbf{Description} \\
31..0 & \textit{id} & R/O & 0x424c4f32 & Board ID \\
\end{tabular}
\vspace*{11pt}
\noindent
{
\begin{tabular}{l l}
\textbf{Field} & \textbf{Description} \\
\textit{id} & Board ID (ASCII string \textbf{BLO2}) \\
\end{tabular}
}
%------------------------------------------------------------------------------
\subsubsection{Status register}
\begin{tabular}{l l c c l}
\textbf{Bits} & \textbf{Field} & \textbf{Access} & \textbf{Default} & \textbf{Description} \\
15..0 & \textit{fwvers} & R/O & X & Firmware version \\
23..16 & \textit{switches} & R/O & X & Switch status \\
29..24 & \textit{rtm} & R/O & X & RTM detection lines \\
31..30 & \textit{reserved} & R/O & X & \\
\end{tabular}
\noindent
{
\begin{tabular}{l p{.8\textwidth}}
\textbf{Field} & \textbf{Description} \\
\textit{fwvers} & Firmware version \newline
-- leftmost byte \textit{hex value} is major release \textit{decimal value} \newline
-- rightmost byte \textit{hex value} is minor release \textit{decimal value} \newline
e.g. \newline
0x0101 -- v1.01\newline
0x0107 -- v1.07 \newline
0x0274 -- v2.74 \newline
etc. \\
\textit{switches} & Current switch status \newline
bit 0 -- SW1.1 \newline
bit 1 -- SW1.2 \newline
... \newline
bit 7 -- SW2.4 \newline
\textbf{1} -- switch is \textbf{OFF} \newline
\textbf{0} -- switch is \textbf{ON} \\
\textit{rtm} & RTM detection lines status \newline
\textbf{0} -- line active \newline
\textbf{1} -- line inactive \\
\textit{reserved} & Write as '0'; read undefined \\
\end{tabular}
}
\end{appendices}
......
......@@ -288,6 +288,13 @@ begin
state <= ST_REJ_GF_OFF;
end if;
---------------------------------------------------------------------
-- ST_REJ_GF_OFF
---------------------------------------------------------------------
-- Increment pulse counter to pulse rejection value, while keeping
-- the pulse_rst high. Max pulse rejection value is 5x that of
-- pulse width value, to enable 1/5 duty cycle.
---------------------------------------------------------------------
when ST_REJ_GF_OFF =>
pulse_rst <= '1';
pulse_cnt <= pulse_cnt + 1;
......@@ -310,6 +317,13 @@ begin
state <= ST_REJ_GF_ON;
end if;
---------------------------------------------------------------------
-- ST_REJ_GF_ON
---------------------------------------------------------------------
-- Increment pulse counter to pulse rejection value, while keeping
-- the pulse_rst high. Max pulse rejection value is 5x that of
-- pulse width value, to enable 1/5 duty cycle.
---------------------------------------------------------------------
when ST_REJ_GF_ON =>
pulse_gf_on <= '0';
pulse_rst <= '1';
......
......@@ -120,7 +120,7 @@ architecture behav of conv_ttl_blo_v2 is
-- Constant declarations
--============================================================================
-- Firmware version
constant c_fwvers : std_logic_vector(15 downto 0) := x"0101";
constant c_fwvers : std_logic_vector(15 downto 0) := x"0102";
-- Number of Wishbone masters and slaves, for wb_crossbar
constant c_nr_masters : natural := 1;
constant c_nr_slaves : natural := 1;
......
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