Description
This project provides interface logic and assembler routines, giving PicoBlaze (TM) embedded soft-uC the ability to access wishbone systems or slave cores as an 8-bit master device. There is no native hardware handshake mechanism at PicoBlaze (TM) ports, so wishbone wait-state recognition is done by software polling. Some standard wishbone slave peripherals like GPIO and UART are included as well.
Features
- Multi HDL language implementation VHDL and Verilog (R)
- Assembler subroutines
- Simulation testbench and command file
- Notepad++ custom syntax highlighter for assembler
- Synthesizable GPIO example
- Synthesizable UART example, using Xilinx (R) UART macros together with a wishbone slave wrapper
- Baud rate calculation script
- Implementation files for low cost AVNET (R) Spartan(R)-3A Evaluation Kit using Xilinx ISE (R) 13.1
Getting Started
- Prerequisites: Xilinx ISE (R) and ModelSim Xilinx Edition III (R)
- Download wb4pb sources and be sure to keep directory structure!
- Download PicoBlaze (TM) from Xilinx (R) (registration required)
- Copy kcpsm3.v and kcpsm3.vhd to rtl directory
- Open picoblaze_wb_gpio_tb.do in a text editor and customize "set wd ..." and "set isVHDL ..." lines
- Start ModelSim (R) and execute DO-File (Menu->Tools->TCL->Execute Macro...)
Synthesis Results
xc3s400a-4ft256 device using Xilinx ISE (R) 13.1 with default settings
| GPIO example VHDL | GPIO example Verilog (R) | UART example VHDL | UART example Verilog (R) |
max. frequency | 97.220MHz | 102.082MHz | 101.647MHz | 100.553MHz |
clock nets | 1 | 1 | 1 | 1 |
LUTs | 202 | 202 | 309 | 310 |
FFs | 147 | 147 | 213 | 213 |
I/Os | 9 | 9 | 5 | 5 |
RAMs | 1 | 1 | 1 | 1 |
slice utilization | 3% | 3% | 5% | 5% |