Skip to content
Patrick Lehmann edited this page Sep 8, 2015 · 5 revisions

Table of Content:

  1. Heading 1
  2. Configuring PoC on a Local System
  3. Creating PoC's my_project File
  4. Compiling shipped Xilinx IP cores (*.xco files) to Netlists

All Windows command line instructions are intended for Windows PowerShell, if not marked otherwise. So executing the following instructions in Windows Command Prompt (cmd.exe) won't function or result in errors! See the Requirements wiki page on where to download or update PowerShell.

1. Heading 1

2. Configuring PoC on a Local System

To explore PoC's full potential, it's required to configure some paths and synthesis or simulation tool chains. See Configuration for more details.

cd <ProjectRoot>
cd lib\PoC
.\poc.ps1 --configure

3. Creating PoC's my_project File

The PoC-Library needs two VHDL files for it's configuration. These files are used to determine the most suitable implementation depending on the provided platform information. A set of my_config files is provided within the collection, but a per host my_project.vhdl needs to be created.

The my_project file can be created from a template provided by PoC in <PoCRoot>\src\common\my_project.vhdl.template.

The file should to be copyed into a projects source directory and rename into my_project.vhdl. This file must not be included into version control systems - it's private to a host computer. my_project.vhdl defines two global constants, which need to be adjusted:

constant MY_PROJECT_DIR       : string  := "CHANGE THIS";   -- e.g. "d:/vhdl/myproject/", "/home/me/projects/myproject/"
constant MY_OPERATING_SYSTEM  : string  := "CHANGE THIS";   -- e.g. "WINDOWS", "LINUX"
Example 1: A Windows System:
constant MY_PROJECT_DIR       : string  := "D:/git/GitHub/PoC/";
constant MY_OPERATING_SYSTEM  : string  := "WINDOWS";
Example 2: A Debian System:
constant MY_PROJECT_DIR       : string  := "/home/lehmann/git/GitHub/PoC/";
constant MY_OPERATING_SYSTEM  : string  := "LINUX";

4. Compiling shipped Xilinx IP cores (*.xco files) to Netlists

The PoC-Library are shipped with some pre-configured IP cores from Xilinx. These IP cores are shipped as *.xco files and need to be compiled to netlists (*.ngc files) and there auxillary files (*.ncf files; *.vhdl files; ...). This can be done by invoking PoC's Netlist.py through one of the provided wrapper scripts: netlist.[sh|ps1].

Is PoC already configured on the system? If not, run the following configuration step, to tell PoC which tool chains are installed and where. Follow the instructions on the screen. See the Configuration wiki page for more details.

cd <PoCRoot>
.\poc.ps1 --configure

Compiling needed IP cores from PoC for a KC705 board:

cd <ProjectRoot>
cd lib\PoC\netlist
foreach ($i in 1..15) {
  .\netlist.ps1 --coregen PoC.xil.ChipScopeICON_$i --board KC705
}