POD Directories

From ArmadeusWiki
Jump to: navigation, search

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