Coder Social home page Coder Social logo

kastnerrg / pp4fpgas Goto Github PK

View Code? Open in Web Editor NEW
752.0 752.0 140.0 88.92 MB

Parallel Programming for FPGAs -- An open-source high-level synthesis book

Home Page: http://hls.ucsd.edu/

License: Creative Commons Attribution 4.0 International

TeX 72.00% Makefile 0.02% Jupyter Notebook 9.08% C++ 6.19% C 11.46% Tcl 1.26%

pp4fpgas's People

Contributors

anderspitman avatar arkhodamoradi avatar codspalaniappan95 avatar davidmetz avatar jcrisologo avatar jiafulow avatar jmduarte avatar level2fast avatar linnaikae avatar mithro avatar mustafa3296 avatar nn708 avatar omasanori avatar qkgautier avatar rck289 avatar stephenneuendorffer avatar sthornington avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

pp4fpgas's Issues

cordic chapter: rounding requires corrections

I believe there is misleading or even factually incorrect info in "3.5.3 Overflow, Underflow, and Rounding". I think most of that is because in the examples only one bit is dropped and then half of the cases are ties.

In particular: the behaviour of round() and lrint() (for lrint we have to assume FE_TONEAREST mode is set, more info here) are actually rounding to the nearest integer and they only differ in the case of ties.

All the variants are well explained in: https://en.wikipedia.org/wiki/Rounding#Rounding_to_integer

The .tex files

Could you please give us a guide to use .tex files to create latest pdf file ?I have no idea about how to use them. Thank you 

The missing files in the examples folder

Hi Kastner,
Recently, I'm working with the FFT Project using the baseline code in the book ,but I couldn't find the exact "fft_stage_one", "fft_stage_two" and "fft_stage_three" function files mentioned in the "fft_stages.cpp" file in the examples folder.
My partner is working with the CORDIC Project. There is a top file included in the "cordic.c" file called "cordic.h" which is not included in the examples folder also.
Would you please help us with this issue?
Thank you so much.

typo error on Figure 8.8 code?

Is RAW correct
in #pragma HLS DEPENDENCE variable=hist inter RAW distance=2 ?
I think the following is WAR(write after read)
hist[val] = hist[val] + 1;
Could you explain why it is not WAR but RAW?
Is it because of his[val] read at i+1(right-hand side of the equal) after hist[val] write at i(left-hand side of the equal) ?

Index out of range possible in merge program

The merge sort program here:

pp4fpgas/examples/merge_sort.cpp

has the following test statement that can fail:

if((f1 < i2 && in[f1] <= in[f2]) || f2 == i3)

When f2 == i3, the in[f2] test fails for array index out of range. The code appears to work if the in[f2] test is separated and not performed when the values are equal.

Mergesort achieves II=2 for DTYPE=float

Hi there,

I just noticed that the book points out that the restructured code for merge sort can achieve II=1 while the current settings in merge_sort.h which define DTYPE as float limit the achievable II to 2.
It might be better to set the default DTYPE to int, so the code would achieve II=1 without any modifications.

Clean up ZIP files?

This repository contains Vivado_HLS_Tutorial_2019.zip and Vivado_HLS_Tutorial.zip and they seem copies of the UG871 official tutorial. They probably are better to be removed from the repository. Other ZIP files in labs/ may also be removed since some of them are already extracted in the same directory.

You can use BFG Repo-Cleaner to remove files from the entire history of a repository.

.dat files

There is no XXX.gold.8.dat files which will be used in C Simulation !!!

Figure 3.2 notation error

In Figure 3.2, we are rotating vector from 1) to 5) with each step rotation from the previous output.
So

  1. 0°+45°=45°
  2. 45°+26.565°=71.565°
  3. 71.565°-14.036°=57.529°
  4. 57.529°+7.125°=64.654°
  5. 64.64°-3.576°=61.078°

However,
5) didn't start with the previous output from 4) 64.654. But the result 61.078 is calculated from 64.654
So it should change 64.64 to 64.654

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.