-
Notifications
You must be signed in to change notification settings - Fork 12
Integration
- Adding the Library and it's Dependencies as git submodules
- Configuring PoC on a Local System
- Creating PoC's my_config and my_project Files
- Compiling shipped Xilinx IPCores 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.
The PicoBlaze-Library is meant to be integrated into HDL projects. Therefore it's recommended to create a library folder and add the PicoBlaze-Library as a git submodule. After the repository linking is done, some short configuration steps are required to setup paths and tool chains.
- Step 1: Link the PoC-Library as a git submodule to a project repo.
- Step 2: Run PoC's configuration routine to setup paths and tool chains.
- Step 3: Create a my_config and a my_project file from template.
- Step 4: Run netlist generation for pre-configured IP cores (optional).
The following command line instructions will create a library folder lib\
and
clone all depenencies as git submodules into subfolders.
function gitsubmodule([string]$dir, [string]$url, [string]$name) {
$p = pwd
mkdir lib -ErrorAction SilentlyContinue; cd lib
git submodule add $url $dir
cd $dir
git remote rename origin github
cd $p
git add .gitmodules "lib\$dir"
git commit -m "Added new git submodule $dir in 'lib\$dir' ($name)."
}
cd <ProjectRoot>
gitsubmodule "PoC" "git@github.com:VLSI-EDA/PoC.git" "PoC-Library"
gitsubmodule "L_PicoBlaze" "git@github.com:Paebbels/PicoBlaze-Library.git" "PicoBalze-Library"
gitsubmodule "opbasm" "git@github.com:Paebbels/opbasm.git" "Open PicoBlaze Assembler"
To run PoC's automated testbenches or use the netlist compilaltion scripts of PoC, it's required to configure a synthesis and simulation tool chain.
cd <ProjectRoot>
cd lib\PoC\
.\poc.ps1 --configure
The PicoBlaze-Library and the PoC-Library are shipped with some pre-configured IPCores from Xilinx. These IPCores 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].
Compiling needed IPCores 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
}
Compiling needed IP cores from L_PicoBlaze for a KC705 board:
cd ....
cd lib\L_PicoBlaze\netlist\<DeviceString>\
# TODO: write a script to regenerate all IP Cores
- The PicoBlaze-Library
- Download
- Dependencies
- Requirements
- Integration
- Change Log
- License (Apache 2.0)
- VHDL Packages:
- Devices:
- Wrappers:
- Miscellaneous:
- ChipScope integration
- PicoBlaze Tracer
- UART ILA
Links: