Commit 5cbe4eab authored by Benoit Rat's avatar Benoit Rat

doc: update for v1.1 release

adding GM mode
parent 3694eff9
......@@ -26,6 +26,9 @@ TEX=$(SRC:.md=.tex)
OPTIONS=-f markdown --toc --number-sections --smart --reference-links
TEMPLATE=pandoc.latex
## Obtain the version
VERSION = $(shell git describe --always --dirty=+ | sed 's;^wr-switch-sw-;;')
DATE = $(shell date +"%d %b. %Y")
ifneq "$(TEMPLATE)" ""
TEMPLATEARG=--template=$(TEMPLATE)
......@@ -45,7 +48,7 @@ DIR_%:
pdf/%.pdf: %.md Makefile $(TEMPLATE) DIR_pdf
pandoc $(OPTIONS) --latex-engine=xelatex --highlight-style=haddock $(TEMPLATEARG) \
-V lang=english -V fontsize=11pt -V documentclass=article -V bg-color=238,245,240 -o $@ $<
-V lang=english -V fontsize=11pt -V documentclass=article -V bg-color=238,245,240 -V date="$(DATE) - $(VERSION)" -o $@ $<
%.tex: %.md Makefile $(TEMPLATE)
@echo "$(dir $@) $< $^ $(TEX)"
......
doc/img/diocore2.png

175 KB | W: | H:

doc/img/diocore2.png

174 KB | W: | H:

doc/img/diocore2.png
doc/img/diocore2.png
doc/img/diocore2.png
doc/img/diocore2.png
  • 2-up
  • Swipe
  • Onion skin
......@@ -15,7 +15,7 @@
id="svg3120"
version="1.1"
inkscape:version="0.48.3.1 r9886"
sodipodi:docname="diocore2.png"
sodipodi:docname="dio_core2.svg"
inkscape:export-filename="/home/seven/Escritorio/wr_nic recursos/dio_core.png"
inkscape:export-xdpi="90"
inkscape:export-ydpi="90">
......@@ -827,6 +827,62 @@
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
transform="scale(-0.6,-0.6)" />
</marker>
<marker
inkscape:stockid="Arrow2Mstart"
orient="auto"
refY="0"
refX="0"
id="Arrow2Mstart-0-0"
style="overflow:visible">
<path
inkscape:connector-curvature="0"
id="path4128-68-8"
style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
transform="scale(0.6,0.6)" />
</marker>
<marker
inkscape:stockid="Arrow1Mend"
orient="auto"
refY="0"
refX="0"
id="Arrow1Mend-0"
style="overflow:visible">
<path
inkscape:connector-curvature="0"
id="path4425-5"
d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
transform="matrix(-0.4,0,0,-0.4,-4,0)" />
</marker>
<marker
inkscape:stockid="Arrow2Mstart"
orient="auto"
refY="0"
refX="0"
id="Arrow2Mstart-0-1"
style="overflow:visible">
<path
inkscape:connector-curvature="0"
id="path4128-68-4"
style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
transform="scale(0.6,0.6)" />
</marker>
<marker
inkscape:stockid="Arrow1Mend"
orient="auto"
refY="0"
refX="0"
id="Arrow1Mend-9"
style="overflow:visible">
<path
inkscape:connector-curvature="0"
id="path4425-2"
d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
transform="matrix(-0.4,0,0,-0.4,-4,0)" />
</marker>
</defs>
<sodipodi:namedview
id="base"
......@@ -836,13 +892,13 @@
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="1.0403844"
inkscape:cx="450.7119"
inkscape:cx="575.41601"
inkscape:cy="352.85217"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showgrid="false"
inkscape:window-width="1215"
inkscape:window-height="1000"
inkscape:window-width="1375"
inkscape:window-height="876"
inkscape:window-x="65"
inkscape:window-y="24"
inkscape:window-maximized="1"
......@@ -874,7 +930,7 @@
id="rect3517"
width="1040.0002"
height="577.14325"
x="-69.288223"
x="-67.36586"
y="410.93839" />
<image
y="455.16794"
......@@ -970,12 +1026,6 @@
x="669.74969"
y="876.01318"
id="tspan5367-9">GPIO </tspan></text>
<path
style="fill:none;stroke:#000000;stroke-width:2.19023776;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-start:none;marker-end:url(#Arrow2Mend)"
d="m 679.64521,834.3656 -261.59584,-0.22081 -0.0597,-66.41364 -43.19824,0.42672"
id="path5371-09"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cccc" />
<rect
style="opacity:0.98000004;fill:#ffffd1;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
id="rect2985-8-2-2"
......@@ -1043,15 +1093,9 @@
x="586.63159"
y="720.9079"
id="tspan9709-8">generation register</tspan></text>
<path
style="fill:none;stroke:#000000;stroke-width:2.18492699;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-start:none;marker-end:url(#Arrow2Mend)"
d="m 678.6949,845.74498 -277.39107,-1.25001 0.17211,-63.06428 -26.65106,0.0829"
id="path5371-0-1"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cccc" />
<path
style="fill:none;stroke:#000000;stroke-width:2.44854689;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-start:url(#Arrow2Mstart);marker-mid:none"
d="m 377.43761,724.43021 77.69314,-0.39431"
d="m 377.51061,724.43021 80.50368,-0.39431"
id="path3331-9-7"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cc" />
......@@ -1294,7 +1338,7 @@
sodipodi:cy="634.4516"
sodipodi:rx="2.5"
sodipodi:ry="2.5"
d="m 511.42856,634.4516 a 2.5,2.5 0 1 1 -5,0 2.5,2.5 0 1 1 5,0 z"
d="m 511.42856,634.4516 c 0,1.38071 -1.11929,2.5 -2.5,2.5 -1.38071,0 -2.5,-1.11929 -2.5,-2.5 0,-1.38071 1.11929,-2.5 2.5,-2.5 1.38071,0 2.5,1.11929 2.5,2.5 z"
transform="translate(13.55246,90.467827)" />
<path
transform="translate(90.655249,78.245249)"
......@@ -1357,10 +1401,22 @@
inkscape:connector-curvature="0"
transform="translate(0,308.2677)" />
<path
style="fill:none;stroke:#000000;stroke-width:1.96551263;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-start:none;marker-end:url(#Arrow2Mend)"
d="m 678.75071,824.04953 -183.994,-0.0284 -17.03049,0.0913 0.26787,-78.73923"
style="fill:none;stroke:#000000;stroke-width:2.0999999;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-start:url(#Arrow2Mstart-0);marker-end:url(#Arrow1Mend)"
d="m 678.82901,835.50775 -168.43558,-0.0324 -15.5904,0.10426 0.24522,-89.90946"
id="path5371-0-1-3"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cccc" />
<path
style="fill:none;stroke:#000000;stroke-width:2.09999989999999981;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-start:none;marker-end:url(#Arrow1Mend)"
d="m 461.85495,742.29682 -0.0317,62.08626 0.10213,5.74671 -88.02603,-0.0904"
id="path5371-0-1-3-6"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cccc" />
<path
style="fill:none;stroke:#000000;stroke-width:2.0999999;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow1Mend)"
d="m 470.92704,743.11448 -0.0359,80.85295 0.11577,7.48374 -99.7877,-0.11772"
id="path5371-0-1-3-6-5"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cccc" />
</g>
</svg>
% White-Rabbit NIC Gateware
% Javier Díaz Univ. of Granada, Rafael Rodriguez Seven Solutions
% Javier Díaz Univ. of Granada, Rafael Rodriguez & Benoit Rat Seven Solutions
% 14 Dec. 2012
Introduction
......@@ -70,7 +70,7 @@ The `DIO Core` block is the HDL block that access to the fmc-dio-5chls mezzanine
The different submodules description are:
* `GPIO:` It allows to enable/disable the output drivers and the termination resistors.
* `GPIO:` Set the state (0/1) of the I/O when in GPIO out mode
* `I2C:` It allows to set the threshold of the ADCMP604 fast LVDS comparator and to access to write/read data to the EEPROM memory (24AA64). Please note that already commented, current release do not allow to access I2C signals of the FMC-DIO card from this HDL block. This is assigned to WRPC and therefore it should be handled inside its memory maps (concretely, inside WRPC `Syscon` device). This could change for future releases.
......@@ -87,6 +87,7 @@ The different submodules description are:
2. FIFOs to store the timestamps of input signals
3. Interrupt control registers that allow to configure the interrupts generated when there are data in the FIFOs.
4. Monostable register, which generates a single clock cycle-long
5. Update the mode of the drivers: the termination resistors and if it is connected to GPIO, DIO core or WRPC.
DIO Configuration & Control
==========================
......@@ -104,7 +105,20 @@ Note that dio channels time base work wth 8 ns accuracy for inputs time-tagging.
In order to use input/output channels as previously described, the following actions are required:
* Standard GPIO output generation is selected by default. In order to use monostable output (time-programmed or immediate), each channel should be properly configured to the `dio_out_mode register`. A value of 1 indicates that channel will be used for programmable output, otherwise (0 by default), channel will use the values assigned by the GPIO logic block.
* The I/O mode of each channel controlled by the `dio_iomode` register:
* [0-1]: The two first bit correspond to which signal its connected: 0 (00) GPIO, 1 (01) DIO core, 2 (10) WRPC core, 3 Undefined
* [2]: Output Enable Negative (Input enable)
* [3]: 50 Ohm termination enable.
By default the register is set with:
#. 0x0 (GPIO out without termination),
#. 0x0 (...)
#. 0x2 (WRPC out a.k.a direct PPS without termination)
#. 0xC (Input with termination for PPS signal)
#. 0xE: Clock[^clkinput] input with termination.
[^clkinput]: The Clock input is similar the DIO input excepting that no interrupt will be generated to the PCIe core. It is used in GranMaster mode.
* Time-programmable pulse generation: Generate a programmed input at any time at channel X (X between 0 and 4 identifies the requested channel). For this purpose you need to perform the following actions:
* Set the required time. This means to provide the 40 bits for the time value and the number of cycles (28 bits). This requires to write the registers `dio_trigX_seconds, dio_trighX_seconds` (high part of the time value) and `dio_cyc0_cyc`.
......@@ -122,6 +136,7 @@ A detailed information about the memory maps and related registers names are ava
Interrupt handling
------------------
The VIC module block is in charge of handling the different interrupts and provide proper registers to inform of the source of each interruption. The main interrupt signal is communicated to the PC using the gn4124 chip and gn4124 and GPIO-8. A proper core in the FPGA uses the irq_req_p1_i signal to activate this external GPIO pin which needs to be assigned at the low-level hardware.
The base address, as shown on the memory map figure is 0x00060000. It handles the following interrupts sources:
......@@ -173,12 +188,11 @@ the wrpc-sw (`wrc.ram` file) embeded inside.
## Checkout the code
git clone git://ohwr.org/white-rabbit/wr-nic.git
cd wr-nic
##git checkout -b wr-nic-v1.0 wr-nic-v1.0
git checkout -b wr-nic-v1.1 wr-nic-v1.1
## Create and update the submodules
git submodule init
git submodule update
patch -p0 < 0001-Comment_ECA_for_Xilinx.patch
## Go to the main directory
cd wr-nic/syn/spec/
......@@ -206,7 +220,7 @@ export CROSS_COMPILE="<your_path_to_lm32>/lm32/bin/lm32-elf-";
#Clone the repository
$ git clone git://ohwr.org/hdl-core-lib/wr-cores/wrpc-sw.git
$ cd wrpc-sw
$ git checkout -b wr-nic-v1.0 wr-nic-v1.0
$ git checkout -b wr-nic-v1.1 wr-nic-v1.1
~~~~~~~~~~
And finally configure & compile it
......@@ -261,7 +275,7 @@ There are some considerations about the gateware properties that need to be well
* Timestamping granularity of inputs DIO channel is limited to 8ns so there is not any error if further accuracy is not obtained. Nevertheless, note White-Rabbit will still synchronize the system clock with subnanosecond accuracy.
* Currently virtual UART is not running but it is expected to be solved very soon.
* We have used Physical UART instead of running Virtual UART.
Further information will be provided in future releases.
......
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