Home

Awesome

flipSyrup

Cycle-Accurate Hardware Simulation Framework on Abstract FPGA Platforms

Copyright (C) 2013, Shinya Takamaeda-Yamazaki

E-mail: shinya_at_is.naist.jp

License

Apache License 2.0 (http://www.apache.org/licenses/LICENSE-2.0)

Publication

If you use flipSyrup in your research, please cite our paper.

@INPROCEEDINGS{Takamaeda:2014:ReConFig:flipSyrup,
author={Takamaeda-Yamazaki, Shinya and Kise, Kenji}, 
booktitle={ReConFigurable Computing and FPGAs (ReConFig), 2014 International Conference on}, 
title={A framework for efficient rapid prototyping by virtually enlarging FPGA resources}, 
year={2014}, 
month={Dec}, 
pages={1-8}, 
doi={10.1109/ReConFig.2014.7032488},
}
@INPROCEEDINGS{Takamaeda:2014:FPL:flipSyrup,
author={Takamaeda-Yamazaki, Shinya and Kise, Kenji}, 
booktitle={Field Programmable Logic and Applications (FPL), 2014 24th International Conference on}, 
title={flipSyrup: Cycle-accurate hardware simulation framework on abstract FPGA platforms}, 
year={2014}, 
month={Sept}, 
pages={1-4},
doi={10.1109/FPL.2014.6927436},}

What's flipSyrup?

flipSyrup is an FPGA-based prototyping framework on modern FPGA platforms.

flipSyrup genrates an AXI4 IP-core package from your prototyping target RTL design implemented under the resource abstraction of FPGA platform given by flipSyrup. The generated IP-core can be used as a standard IP-core with other common IP-cores together.

flipSyrup supports both single FPGA platform and multi-FPGA platform. You can implement a cycle-accurate prototyping system on both situations.

flipSyrup employs two resources abstractions that an FPGA platform has.

Installation

Requirements

Python3 is recommended.

Install on your platform. For exmple, on Ubuntu:

sudo apt-get install iverilog

Install on your python environment by using pip:

pip install jinja2

Install from pip (or download and install from GitHub):

pip install pyverilog

Install

Install Veriloggen:

python setup.py install

Getting Started

You can use the flipSyrup command from your console.

flipsyrup

You can find some examples in 'flipSyrup/tests'.

Let's begin flipSyrup by an example in 'tests/singleport'. You will find two source files.

Then type 'make' and 'make run' to simulate sample system.

make build
make sim

Or type commands as below directly.

python flipsyrup config/sample.config -t userlogic -I include/ --usertest=tests/singleport/testbench.v tests/singleport/userlogic.v 
iverilog -I syrup_userlogic_v1_00_a/hdl/verilog/ syrup_userlogic_v1_00_a/test/testbench_userlogic.v 
./a.out

flipSyrup compiler generates a directory for IP-core (syrup_userlogic_v1_00_a, in this example).

'syrup_userlogic_v1_00_a.v' includes

A bit-stream can be synthesized by using Xilinx Platform Studio. Please copy the generated IP-core into 'pcores' directory of XPS project.

flipSyrup Command Options

Command

flipsyrup [config] [-t topmodule] [-I includepath]+ [--memimg=filename] [--usertest=filename] [file]+

Description

Related Project

Pyverilog