Difference between revisions of "POD Directories"

From ArmadeusWiki
Jump to: navigation, search
m ("components" directory)
 
(3 intermediate revisions by 2 users not shown)
Line 1: Line 1:
[[PODintro | <<intro]]
 
 
= Directory structure =
 
= Directory structure =
  
Line 62: Line 61:
 
  |-- doc/
 
  |-- doc/
 
  |  |-- TODO
 
  |  |-- TODO
|  |-- ChangeLog
 
 
  |  `-- README
 
  |  `-- README
 +
|-- testbench/
 
  |-- hdl/
 
  |-- hdl/
 
  |  `-- led.vhd
 
  |  `-- led.vhd
Line 73: Line 72:
 
* '''drivers''': driver files required for the compilation of the driver.  
 
* '''drivers''': driver files required for the compilation of the driver.  
 
* '''doc''': component documentation.  
 
* '''doc''': component documentation.  
 +
** ''TODO'' : list of stuff to be done
 +
** ''README'' : documentation of the ip, must be wrote using [http://daringfireball.net/projects/markdown/ markdown] syntax.
 
* '''hdl''': contains the hdl files for the synthesis.
 
* '''hdl''': contains the hdl files for the synthesis.
 +
* '''testbench''' : contain all code used to test the component
  
 
=== "platforms" directory ===
 
=== "platforms" directory ===
Line 112: Line 114:
 
* '''binaries''': contains the FPGA bitstream.  
 
* '''binaries''': contains the FPGA bitstream.  
 
* '''components''': contains one directory for each instance in project.
 
* '''components''': contains one directory for each instance in project.
* '''obj''': contains the files generated by the third party tools (like ise
+
* '''obj''': contains the files generated by the third party tools (like ise files).  
* files).  
+
 
* '''simulation''': testbench for the project.  
 
* '''simulation''': testbench for the project.  
 
* '''synthesis''' : contains the synthesis files.
 
* '''synthesis''' : contains the synthesis files.

Latest revision as of 10:39, 11 June 2009

Directory structure

All filenames must be written in lower case, the only one authorized special character is "_" and can be used as separator.

POD Software directory

 pod/
 |-- bin/
 |   |-- core/
 |   |-- utils/
 |   |-- code/
 |   |	 `-- vhdl/
 |   |-- commandline/
 |   `-- toolchain/
 |-- busses/
 |   `-- wishbone16.xml
 |-- library/
 |   |-- wrapper/
 |   |   `-- imx27_wrapper/
 |   |-- others/
 |   |-- syscon/
 |   |   `-- wb_syscon/ 
 |   `-- components/
 |       |-- wb_led/
 |       |-- i2c/
 |       `-- wb_button/
 |-- platforms/
 |   |-- Ariane6/
 |   |-- apf27/
 |   `-- apf9328/
 |-- templates/
 |   `-- headerVHDL.tpl
 `-- toolchains/
     |-- driver/
     |-- synthesis/
     `-- simulation/


Directory description:

  • bin : binary files for POD.
  • busses : contains the bus descriptions.
  • library: contains the available components.
  • platforms: contains the platform descriptions.
  • templates: code templates used by POD.
  • toolchains: contains the toolchain descriptions.

"components" directory

Each component in the library has a dedicated directory with one or more xml file descriptions and subdirectories.

 wb_led/
 |-- drivers_templates/
 |   `-- linux/
 |       |-- Kconfig
 |       |-- Makefile
 |       |-- led.c
 |       `-- led.h
 |-- doc/
 |   |-- TODO
 |   `-- README
 |-- testbench/
 |-- hdl/
 |   `-- led.vhd
 |-- ledwb16.xml
 `-- ledwb8.xml

Subdirectories can be of type:

  • drivers: driver files required for the compilation of the driver.
  • doc: component documentation.
    • TODO : list of stuff to be done
    • README : documentation of the ip, must be wrote using markdown syntax.
  • hdl: contains the hdl files for the synthesis.
  • testbench : contain all code used to test the component

"platforms" directory

A platform directory contains one xml file and some subdirectories :

  • simulation : this directory contains the simulation files for this architecture.
  • doc : documentation for the given platform.
 apf9228/
 |-- apf9328.xml
 |-- doc/
 `-- simulation/


Project directory

The root directory name is the project name.

 project1/
 |-- binaries/
 |   |-- project1.bin
 |   `-- project1.bit
 |-- components/
 |   |-- button01/
 |   `-- led01/
 |-- objs/
 |-- project1.xml
 |-- drivers/
 |-- synthesis/
 `-- simulation/
     `--projecttest.vhd

A XML file describes the project and the directories :

  • binaries: contains the FPGA bitstream.
  • components: contains one directory for each instance in project.
  • obj: contains the files generated by the third party tools (like ise files).
  • simulation: testbench for the project.
  • synthesis : contains the synthesis files.
  • drivers : contains the drivers for each Virtual Peripheral in a project.


 fpga/
 |-- wb_led/
 |     `-- led.vhd
 ...
 |-- wb_syscon/
 |     `-- syscon.vhd
 |-- top_project.vhd
 ...
 |-- project.ucf
 `-- project.tcl