Code Base Organization and Use
The code base has been organized primarily into two folders:
|-- lib `-- projects
The lib directory is used for storing IP cores that are dressed up and organized as Xilinx EDK pcores, ready to be composed in an EDK project. In EDK, these pcores can have associated software (i.e. its "driver") which is kept in the sw/ directory, separated from the hardware for that pcore in the hw/ directory. "std" is the name of the standard IP library for the NetFPGA-10G platform. Users thus have the ability to create a separate library for their own IP if so desired. In the example below, we can see how EDK stores the hardware and software files for the MDIO pcore.
|-- lib | |-- hw | | `-- std | | `-- pcores | | `-- nf10_mdio_v1_00_a | `-- sw | `-- std | `-- drivers | `-- nf10_mdio_v1_00_a
The projects directory houses individual projects. Although users are free here to organize their project's directory however they want, using whatever tools they want, EDK projects generally separate hardware and software at the root level into hw/ and sw/ subdirectories. The example projects below were made using EDK, and so exhibit this characteristic.
`-- projects |-- loopback_test | |-- hw | `-- sw |-- loopback_test_1g | |-- hw | `-- sw |-- production_test | |-- doc | |-- hw | `-- sw