SP VISION: Difference between revisions

From ArmadeusWiki
No edit summary
 
(14 intermediate revisions by 3 users not shown)
Line 1: Line 1:
{{Under_Construction}}
= Introduction =
 
The SP_Vision board is an extension of [[APF27Dev]] and [[APF51Dev]] with a Spartan6 and two DDR. It is designed for real-time video processing.
 
= Configure the sp_vision fpga =
 
SP_Vision FPGA configuration is done through APF* FPGA, then to configure the SP_Vision FPGA you will need a configuration virtual component called ''sp_vision_configure'' under the APF*'s onboard FPGA.
This virtual component is available in [http://periphondemand.git.sourceforge.net/git/gitweb.cgi?p=periphondemand/periphondemand;a=tree;f=src/library/components/sp_vision_configure;h=babdb0b05178267c1a8d077b0a1c5737820dea0e;hb=HEAD POD library], but if you don't want to make special design just for configuration, a standard design is provided in armadeus tree.


== Introduction ==
== On the APF*_Dev ==


The SP_Vision board is an extension of [[APF27Dev]] and [[APF51Dev]] with a Spartan6 and two DDR. It is designed for real-time video processing.
* First select the driver for sp_vision_configuraton under linux-menuconfig :


== Configure the Spartan6 with apf27-Dev==
<pre class="host">
[ ]$ make linux-menuconfig
</pre>


Spartan6 selectmap configuration port is plugged on generic IO of [[APF27]] Spartan3 FPGA. Then, to configure Spartan6, a specific virtual component is required under Spartan3.
<pre class="config">
This virtual component is available under POD components library and is named ''spartan_selectmap''. This component must be added to your Spartan3 design to enable SP_vision Spartan6 configuration.
Device Drivers  --->     
    Armadeus specific drivers  --->
        FPGA Drivers  --->
            [...]
            [*]   virtual components
            [...]
            [*]  Board designs
            [...]
            <M>    board driver for sp_vision fpga loader
</pre>


A simple Spartan3 design is available under ARMadeus project tree ''firmware/sp_vision_config/'' to simplify sp_vision config. The design can be synthetized with ISE using the TCL script ''firmware/sp_vision_config/synthesis/testconfig.tcl''.
then
The already synthetized bitstream is also available under ''firmware/sp_vision_config/bitstream/''.
<pre class="host">
[ ]$ make linux
[...]
[ ]$ make
[...]
</pre>


Then to configure Spartan6 :
The configuration bitstream can be found under the directory ''firmware/pod_scripts/'' and it's named '''apf27_spvision_loader.bit''' for APF27 and '''apf51_spvision_loader.bin''' for APF51. To configure the second (sp_vision) FPGA, first FPGA on APF* must be configured with this bitstream.
* first configure [[APF27]]'s Spartan3:
* Configure the first fpga (if you transfer files by nfs):
<pre class="apf">
# modprobe fpgaloader
</pre>
On APF27:
<pre class="apf">
# load_fpga apf27_spvision_loader.bit
</pre>
On APF51:
<pre class="apf">
<pre class="apf">
BIOS> tftpboot ${loadaddr} top_testconfig.bit
# load_fpga apf51_spvision_loader.bin
BIOS> fpga load 0 ${loadaddr} 2486f
</pre>
</pre>
* then configure the second FPGA using ''loadsecond'' operator:
 
* Once the first FPGA configured, just do :
<pre class="apf">
<pre class="apf">
BIOS> tftpboot ${loadaddr} spartan6_example_top.bit
# modprobe sploader
BIOS> fpga loadsecond 1 ${loadaddr} 16a674 D6000000 1
# modprobe sploader_prober
# dd if=your_sp_vision_bitstream.bit of=/dev/sp_loader
</pre>
</pre>
= Communicate with sp_vision =
{{Under_Construction}}

Latest revision as of 18:18, 4 September 2013

Introduction

The SP_Vision board is an extension of APF27Dev and APF51Dev with a Spartan6 and two DDR. It is designed for real-time video processing.

Configure the sp_vision fpga

SP_Vision FPGA configuration is done through APF* FPGA, then to configure the SP_Vision FPGA you will need a configuration virtual component called sp_vision_configure under the APF*'s onboard FPGA. This virtual component is available in POD library, but if you don't want to make special design just for configuration, a standard design is provided in armadeus tree.

On the APF*_Dev

  • First select the driver for sp_vision_configuraton under linux-menuconfig :
[ ]$ make linux-menuconfig
Device Drivers  --->       
    Armadeus specific drivers  --->
        FPGA Drivers   --->
            [...]
            [*]   virtual components
            [...]
            [*]   Board designs
            [...]
            <M>     board driver for sp_vision fpga loader

then

[ ]$ make linux
[...]
[ ]$ make
[...]

The configuration bitstream can be found under the directory firmware/pod_scripts/ and it's named apf27_spvision_loader.bit for APF27 and apf51_spvision_loader.bin for APF51. To configure the second (sp_vision) FPGA, first FPGA on APF* must be configured with this bitstream.

  • Configure the first fpga (if you transfer files by nfs):
 # modprobe fpgaloader

On APF27:

 # load_fpga apf27_spvision_loader.bit

On APF51:

 # load_fpga apf51_spvision_loader.bin
  • Once the first FPGA configured, just do :
 # modprobe sploader
 # modprobe sploader_prober
 # dd if=your_sp_vision_bitstream.bit of=/dev/sp_loader

Communicate with sp_vision

Page under construction... Construction.png Informations on this page are not guaranteed !!