Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Upgrade from Vivado HLS to Vitis HLS v2024.2 #41

Open
wants to merge 2 commits into
base: master
Choose a base branch
from

Conversation

mpettigr
Copy link

  • To run the tests:
    cd examples
    make clean
    make test
    rgrep -i error *.log
    — to check if there are any errors ( there are false positives in some of the log files that simply report calc errors from floating point computations but we're looking for actual system errors of which there shouldn't be any).

  • To run Vitis HLS (csynth) on all HLS components:
    cd examples
    make clean
    make hls
    find -wholename "*.proj/solution/solution.log" -exec grep -i 'error:' {} +
    -- This scans for "ERROR:" lines in all of the csynth compiled HLS components. This should return with no output.
    p.s. To just get the warm fuzzy that this command works change 'error:' with 'warning:' and rerun.

git commit comments on pull request

Make all csim testbenches self-checking.

fix: fix Makefile HLS compiler flows

Update Makefile to automate HLS project
generation and error handling
improvements

  • Add USE_VITIS variable to select vitis (USE_VITIS=1 default) or vivado_hls
    (USE_VITIS=0)
  • add spdlog support for debug
  • auto-generate Tcl script flow using python (provide %.tcl rule fails numerous
    hls components)
  • must enumerate C and CXX hls target files for Tcl support auto-gen flow and only
    a subset of files are actually hls
    components
  • fix LD_LIBRARY_PATH and add to compile command ( missing /usr/lib/x86_64-linux-gnu
  • allow Makefile to process all targets despite failing hls compile
  • add clean target
  • add .PRECIOUS: %.bin to allow debug of .bin flow

fix: update .gitignore

Update .gitignore to exclude build artifacts,
virtual environments, and auto-generated
files for cleaner repositories

feat: add semantic-release support

feat: add generate HLS csynth script

  • include default HLS configuration
  • add pytest
  • note: this is used by examples/Makefile

fix: remove examples/tcl script auto-gen'ed now

fix: rename gen_hls_csynth_script.py

Rename gen_vivado_hls_csynth_script.py to gen_hls_csynth_script.py

fix: fix missing call to fir

The firI1/I2/Q1/Q2 filter functions are missing fir implementation.

fix: add M-1 stage butterflies in FFT calc

fft_streaming function missing M-1 butterflies. Only had 1 butterfly.

fix: correct delay line init with in vals for block FIR

fix: incorrect NUM_TAPS - should be 16

fix: remove spurious ap_int.h include

hls compiler fails with ap_int.h include

fix: broken delay line input var access

input var was accessed as scaler not array.

fix: missing include histogram.h

fix: missing variables i and j declaration

fix: missing hls_stream.h inc & var defines

fix: incorrect include file name

fix: incorrect S define and LB & UB declares

LB & UB are not scalers but arrays.

fix: incorrect S definition

fix: incorrect var / wrong pragma defines

pragmas were referencing non-existent vars

fix: incorrect window var access for printf

feat: add hls component csynth log extract script

To track warnings, errors, performance results of hls book examples add python script to parse hls compiler csynth log files (for both vivado and vitis hls). The output is a yaml file that reports and plots can be generated.

fix: gitignore auto-gen'ed .dat and .bmp files

feat: add gen_template_report.py

Add script to generate a summary report of all hls component status. Generate an asciidoc report and use docToolchain to generate a PDF of the report if desired.

fix: resolve semantic-release changelog config

fix: rename .commitlintrc.js to .commitlint.config.js

fix: remove leading dot from commitlint.config.js

fix: use more generic rule with broader application

chore(release): 1.0.0 [skip ci]

  • add M-1 stage butterflies in FFT calc (c372981)

  • broken delay line input var access (ae66946)

  • correct delay line init with in vals for block FIR (a20fa8a)

  • fix Makefile HLS compiler flows (790d01b)

  • fix missing call to fir (cce6a75)

  • gitignore auto-gen'ed .dat and .bmp files (38a11a8)

  • incorrect include file name (4ba2adc)

  • incorrect NUM_TAPS - should be 16 (5771214)

  • incorrect S define and LB & UB declares (3791562)

  • incorrect S definition (0b8cbdd)

  • incorrect var / wrong pragma defines (2c017e4)

  • incorrect window var access for printf (67fb24e)

  • missing hls_stream.h inc & var defines (79b7e6d)

  • missing include histogram.h (ef3335e)

  • missing variables i and j declaration (0362328)

  • remove examples/tcl script auto-gen'ed now (a96623a)

  • remove leading dot from commitlint.config.js (11a4071)

  • remove spurious ap_int.h include (a183982)

  • rename .commitlintrc.js to .commitlint.config.js (8890542)

  • rename gen_hls_csynth_script.py (d55fc63)

  • resolve semantic-release changelog config (d040b9c)

  • update .gitignore (a67dc13)

  • use more generic rule with broader application (fe1656e)

  • add gen_template_report.py (5c7ba32)

  • add generate HLS csynth script (e08baf6)

  • add hls component csynth log extract script (5657582)

  • add semantic-release support (e91efca)

fix: disable body-max-line-length during release

Don't throw error when release message line
length too long.

chore(release): 1.0.1 [skip ci]

  • disable body-max-line-length during release (3f31e15)

fix: remove spurious commitlint cfg file

Use commitlint.config.js instead

fix: incorrect factor value

Unlike vitis_hls, vivado_hls with an
ARRAY_PARTION factor value set to a value
larger than the array size will throw an error.
vitis_hls, I think, will simply set the factor to the array size.

fix: same named variables - vivado_hls

In vivado_hls, it is illegal (bug) if there are 2
same named loop variables in the same
function even if the local scope is exclusive.
This is not a problem in vitis_hls.

chore(release): 1.0.2 [skip ci]

  • incorrect factor value (410e644)
  • remove spurious commitlint cfg file (451ca97)
  • same named variables - vivado_hls (876016a)

fix: add python requirements.txt for venv setup

To setup python venv on xsjapps (without sudo), run:

python -m venv .venv --without-pip
source .venv/bin/activate
pip install -r requirements.txt

fix: update venv requirements.txt

fix: add more robust support for pdflatex

pdflatex (converts Tex to PDF) is
part of Texlive distribution.

include URL ref to distro and
docker image

chore: remove vestigial comments

style: remove commented out code

Much of the code in this codebase get included
into the HLS book doc itself.

chore(release): 1.0.3 [skip ci]

  • add more robust support for pdflatex (cc42632)
  • add python requirements.txt for venv setup (db839ba)
  • update venv requirements.txt (7346e7a)

fix: add semantic-release support to Makefile

At top Makefile, run

make manual-release

to auto-update CHANGELOG.md and
create new semantic version tag based
on commit message (conventional
commit format).

docs: remove environ specific notes

feat: replace term Vivado with Vitis

See main.tex vivado and VHLS newcommands.

chore(release): 1.1.0 [skip ci]

  • add semantic-release support to Makefile (c32880a)

  • replace term Vivado with Vitis (4817cf6)

fix: add synth/impl freq support / rename yml file

Rename hls_log_csynth_data_extract.yml to
hls_log_data_extract.yml

fix: add complex_fir-top.cpp test / use fir() with fir.h

Use fir.c instead of fir11_initial.c
Add fir.h and update fir-top.c to use fir() signature in include file.

fix: initialize variables / remove spurious loop

block_fir output is not all value -1452 just the last one. Modify and only test last output as pass/fail check.

fix: initialize y variable

Should this be a requirement in the testbench instead. spm2_restructured.cpp also initializes and this is an issue when testing on a host platform if default is nonzero.

fix: fix vitis path detection / set CC=gcc / support mixed C/C++ compile

complex_fir-top.cpp test requires mixed C and C++
compilation

fix: uninitialized out[0] and spurious A variable

fix: add fir11_initial.c testbench

update hls_config.ini to include fir11_initial-top.c

fix: add block_mm-top.cpp

This is a merge of blockmatmul_test_init.cpp and
blockmatmul_test.cpp files. These are both partially complete testbenches but ought not be changed because they are used in the HLS book itself.

fix: increase to ap_fixed<16,2> to increase CORDIC accuracy

With data type of CORDIC at ap_fixed<12,2> the worst case error is over 41%. With 16 bits, it drops to around 3.1% with cordic.cpp and even lower with
cordic_fixed.cpp

fix: make cordic testbenches self-checking

add self-checking support to cordic-top.cpp and cordic_fixed-top.cpp testbenches

chore(release): 1.1.1 [skip ci]

  • add block_mm-top.cpp (98085ee)
  • add complex_fir-top.cpp test / use fir() with fir.h (7cdc9dc)
  • add fir11_initial.c testbench (f4518a0)
  • add synth/impl freq support / rename yml file (7477364)
  • fix vitis path detection / set CC=gcc / support mixed C/C++ compile (5dc07fb)
  • increase to ap_fixed<16,2> to increase CORDIC accuracy (c1b434f)
  • initialize variables / remove spurious loop (9879f92)
  • initialize y variable (34c3d2b)
  • make cordic testbenches self-checking (4d9f0c8)
  • uninitialized out[0] and spurious A variable (64b134f)

fix: add self-checking support on prefixsum testbenches

fix: add self-checking support to video_2dfilter-top.c

fix: add support file to generate reference test image

Add C++ programs to support video_2dfilter-top.c
testbench.

The support files, video_2dfilter_opencv.cpp and
compare_images_opencv.cpp, use OpenCV API to
generate an independent golden reference file,
test_20x20_filtered_opencv.bmp

fix: add self-check bench for boundary condition 2d filter

fix: add borderType support to video_2dfilter_opencv.cpp

Add option to specify the cv::borderType when
running video_2dfilter_opencv.cpp so you can
set the way the border gets processed when
running cv::filter2D

chore(release): 1.1.2 [skip ci]

  • add borderType support to video_2dfilter_opencv.cpp (16a2f5f)
  • add self-check bench for boundary condition 2d filter (d58e41e)
  • add self-checking support on prefixsum testbenches (b61ea8e)
  • add self-checking support to video_2dfilter-top.c (c67a939)
  • add support file to generate reference test image (a9b9828)

fix: add self-check on video linebuffer variant tbs

fix: clean up semantic-release support

chore(release): 1.1.3 [skip ci]

  • add self-check on video linebuffer variant tbs (5443703)
  • clean up semantic-release support (57eb3c6)

fix: clean up Makefile

remove use of test_20x20_border_replicate.bmp file since it's same as test_20x20_filtered_opencv.bmp

chore(release): 1.1.4 [skip ci]

fix: fix author name and keywords in package.json

chore(release): 1.1.5 [skip ci]

  • fix author name and keywords in package.json (7f63f66)

fix: remove unnecessary .npmrc

chore(release): 1.1.6 [skip ci]

  • remove unnecessary .npmrc (35b91d7)

fix: VHLS path to use Vitis HLS v2024.2

Vitis v2024.2 moves the Vitis HLS include path from the Vitis_HLS area to Vitis proper. Update VHLS env var to correct search path.

fix: clean up makefile and add release branch

chore(release): 1.1.7 [skip ci]

  • clean up makefile and add release branch (1e4d691)
  • VHLS path to use Vitis HLS v2024.2 (714d652)

fix: remove npm semantic-release support

fix: add hls tcl runner script

Auto-generate

fix: test with versal @ 500MHz

Make all csim testbenches self-checking.

fix: fix Makefile HLS compiler flows

Update Makefile to automate HLS project
generation and error handling
improvements

- Add USE_VITIS variable to select vitis
(USE_VITIS=1 default) or vivado_hls
(USE_VITIS=0)
- add spdlog support for debug
- auto-generate Tcl script flow using
python (provide %.tcl rule fails numerous
hls components)
- must enumerate C and CXX hls target
files for Tcl support auto-gen flow and only
a subset of files are actually hls
components
- fix LD_LIBRARY_PATH and add to compile
command ( missing /usr/lib/x86_64-linux-gnu
- allow Makefile to process all targets
despite failing hls compile
- add clean target
- add .PRECIOUS: %.bin to allow debug of
.bin flow

fix: update .gitignore

Update .gitignore to exclude build artifacts,
virtual environments, and auto-generated
files for cleaner repositories

feat: add semantic-release support

feat: add generate HLS csynth script

- include default HLS configuration
- add pytest
- note: this is used by examples/Makefile

fix: remove examples/tcl script auto-gen'ed now

fix: rename gen_hls_csynth_script.py

Rename gen_vivado_hls_csynth_script.py to gen_hls_csynth_script.py

fix: fix missing call to fir

The firI1/I2/Q1/Q2 filter functions are missing fir implementation.

fix: add M-1 stage butterflies in FFT calc

fft_streaming function missing M-1 butterflies.  Only had 1 butterfly.

fix: correct delay line init with in vals for block FIR

fix: incorrect NUM_TAPS - should be 16

fix: remove spurious ap_int.h include

hls compiler fails with ap_int.h include

fix: broken delay line input var access

input var was accessed as scaler not array.

fix: missing include histogram.h

fix: missing variables i and j declaration

fix: missing hls_stream.h inc & var defines

fix: incorrect include file name

fix: incorrect S define and LB & UB declares

LB & UB are not scalers but arrays.

fix: incorrect S definition

fix: incorrect var / wrong pragma defines

pragmas were referencing non-existent vars

fix: incorrect window var access for printf

feat: add hls component csynth log extract script

To track warnings, errors, performance results of hls book
examples add python script to parse hls compiler csynth
log files (for both vivado and vitis hls).  The output is a
yaml file that reports and plots can be generated.

fix: gitignore auto-gen'ed .dat and .bmp files

feat: add gen_template_report.py

Add script to generate a summary report of all hls
component status.  Generate an asciidoc report and
use docToolchain to generate a PDF of the report if
desired.

fix: resolve semantic-release changelog config

fix: rename .commitlintrc.js to .commitlint.config.js

fix: remove leading dot from commitlint.config.js

fix: use more generic rule with broader application

chore(release): 1.0.0 [skip ci]

* add M-1 stage butterflies in FFT calc ([c372981](https://gitenterprise.xilinx.com/mpettigr/pp4fpgas/commit/c372981da21b96bf0cfc17f203846f26767775ac))
* broken delay line input var access ([ae66946](https://gitenterprise.xilinx.com/mpettigr/pp4fpgas/commit/ae66946e007550ab8af36274debc298d9b3c5edb))
* correct delay line init with in vals for block FIR ([a20fa8a](https://gitenterprise.xilinx.com/mpettigr/pp4fpgas/commit/a20fa8a9ca439be37bec06c75f6c9935085e0755))
* fix Makefile HLS compiler flows ([790d01b](https://gitenterprise.xilinx.com/mpettigr/pp4fpgas/commit/790d01b842b2a6bcf1d164ae40be6c125521186a))
* fix missing call to fir ([cce6a75](https://gitenterprise.xilinx.com/mpettigr/pp4fpgas/commit/cce6a75b303cde96a9c26bc5645055e7ea602edc))
* gitignore auto-gen'ed .dat and .bmp files ([38a11a8](https://gitenterprise.xilinx.com/mpettigr/pp4fpgas/commit/38a11a88141434efd4d9dff2ffc1c1f8cbc995a4))
* incorrect include file name ([4ba2adc](https://gitenterprise.xilinx.com/mpettigr/pp4fpgas/commit/4ba2adc488338b345d54124b9e91f9167290151d))
* incorrect NUM_TAPS - should be 16 ([5771214](https://gitenterprise.xilinx.com/mpettigr/pp4fpgas/commit/5771214b9ef93fa24757a66cfe10fc393e08c399))
* incorrect S define and LB & UB declares ([3791562](https://gitenterprise.xilinx.com/mpettigr/pp4fpgas/commit/3791562e0b6dda8664ed52cd970b54ae760f4a46))
* incorrect S definition ([0b8cbdd](https://gitenterprise.xilinx.com/mpettigr/pp4fpgas/commit/0b8cbdd3eaa30a95b09baad33da0d9173eb761c9))
* incorrect var / wrong pragma defines ([2c017e4](https://gitenterprise.xilinx.com/mpettigr/pp4fpgas/commit/2c017e48bd24a15b2b97eb4e3c228aec4505a670))
* incorrect window var access for printf ([67fb24e](https://gitenterprise.xilinx.com/mpettigr/pp4fpgas/commit/67fb24e3b9bab719dce0f0b9d6a2e0d1db24d024))
* missing hls_stream.h inc & var defines ([79b7e6d](https://gitenterprise.xilinx.com/mpettigr/pp4fpgas/commit/79b7e6d83f7578de1944fd15e761d87720c3dbae))
* missing include histogram.h ([ef3335e](https://gitenterprise.xilinx.com/mpettigr/pp4fpgas/commit/ef3335e96452b1caf5d83fffd5c35407ba549e55))
* missing variables i and j declaration ([0362328](https://gitenterprise.xilinx.com/mpettigr/pp4fpgas/commit/036232889663dd6dd23e7bb39331d3018dba3d93))
* remove examples/tcl script auto-gen'ed now ([a96623a](https://gitenterprise.xilinx.com/mpettigr/pp4fpgas/commit/a96623aa4adfc3bba50bd8765cbde4fcf198cff3))
* remove leading dot from commitlint.config.js ([11a4071](https://gitenterprise.xilinx.com/mpettigr/pp4fpgas/commit/11a4071ca44a9d600b14d387043d258d8e0893cd))
* remove spurious ap_int.h include ([a183982](https://gitenterprise.xilinx.com/mpettigr/pp4fpgas/commit/a183982ebaa1477557d55166268af4b98922dda9))
* rename .commitlintrc.js to .commitlint.config.js ([8890542](https://gitenterprise.xilinx.com/mpettigr/pp4fpgas/commit/88905424e0be06842df0f8d48977ed8802ed754e))
* rename gen_hls_csynth_script.py ([d55fc63](https://gitenterprise.xilinx.com/mpettigr/pp4fpgas/commit/d55fc63b2ce88f860cfdc955ad8dbf4510208ea3))
* resolve semantic-release changelog config ([d040b9c](https://gitenterprise.xilinx.com/mpettigr/pp4fpgas/commit/d040b9c200e8cafbb0c3b3850978799e34a2e687))
* update .gitignore ([a67dc13](https://gitenterprise.xilinx.com/mpettigr/pp4fpgas/commit/a67dc132a08b96bcd76b39d82d1f2a9568915f2a))
* use more generic rule with broader application ([fe1656e](https://gitenterprise.xilinx.com/mpettigr/pp4fpgas/commit/fe1656e4ed74469741b1af872cce7d41fd24b8bb))

* add gen_template_report.py ([5c7ba32](https://gitenterprise.xilinx.com/mpettigr/pp4fpgas/commit/5c7ba321fdc50288e5b0b86982e35a22f3acf4f3))
* add generate HLS csynth script ([e08baf6](https://gitenterprise.xilinx.com/mpettigr/pp4fpgas/commit/e08baf615ab4d0901563cece5f2425a6e0e8ff87))
* add hls component csynth log extract script ([5657582](https://gitenterprise.xilinx.com/mpettigr/pp4fpgas/commit/5657582ed3d2f4dd2c7a2756fd3d2d332f0d0022))
* add semantic-release support ([e91efca](https://gitenterprise.xilinx.com/mpettigr/pp4fpgas/commit/e91efca86caeb18718713012dec2e6df718caa90))

fix: disable body-max-line-length during release

Don't throw error when release message line
length too long.

chore(release): 1.0.1 [skip ci]

* disable body-max-line-length during release ([3f31e15](https://gitenterprise.xilinx.com/mpettigr/pp4fpgas/commit/3f31e1591fae85f747db10d368b473de5e4d1185))

fix: remove spurious commitlint cfg file

Use commitlint.config.js instead

fix: incorrect factor value

Unlike vitis_hls, vivado_hls with an
ARRAY_PARTION factor value set to a value
larger than the array size will throw an error.
vitis_hls, I think, will simply set the factor to the
array size.

fix: same named variables - vivado_hls

In vivado_hls, it is illegal (bug) if there are 2
same named loop variables in the same
function even if the local scope is exclusive.
This is not a problem in vitis_hls.

chore(release): 1.0.2 [skip ci]

* incorrect factor value ([410e644](https://gitenterprise.xilinx.com/mpettigr/pp4fpgas/commit/410e64406de1b4398d8f2effc4653d962979388b))
* remove spurious commitlint cfg file ([451ca97](https://gitenterprise.xilinx.com/mpettigr/pp4fpgas/commit/451ca971628a8fe7ede4a65ee09b39f721bc5b31))
* same named variables - vivado_hls ([876016a](https://gitenterprise.xilinx.com/mpettigr/pp4fpgas/commit/876016aebc15d4589192cb06fc66b53d1c113498))

fix: add python requirements.txt for venv setup

To setup python venv on xsjapps (without sudo), run:

python -m venv .venv --without-pip
source .venv/bin/activate
pip install -r requirements.txt

fix: update venv requirements.txt

fix: add more robust support for pdflatex

pdflatex (converts Tex to PDF) is
part of Texlive distribution.

include URL ref to distro and
docker image

chore: remove vestigial comments

style: remove commented out code

Much of the code in this codebase get included
into the HLS book doc itself.

chore(release): 1.0.3 [skip ci]

* add more robust support for pdflatex ([cc42632](https://gitenterprise.xilinx.com/mpettigr/pp4fpgas/commit/cc426329d0d4cba3ba3b052e9c6d99901c4fbf26))
* add python requirements.txt for venv setup ([db839ba](https://gitenterprise.xilinx.com/mpettigr/pp4fpgas/commit/db839ba3ebcade2a2b0bab48f821cd96db8d1b04))
* update venv requirements.txt ([7346e7a](https://gitenterprise.xilinx.com/mpettigr/pp4fpgas/commit/7346e7a35e608b94c401de1943197bb84a962e29))

fix: add semantic-release support to Makefile

At top Makefile, run

make manual-release

to auto-update CHANGELOG.md and
create new semantic version tag based
on commit message (conventional
commit format).

docs: remove environ specific notes

feat: replace term Vivado with Vitis

See main.tex vivado and VHLS newcommands.

chore(release): 1.1.0 [skip ci]

* add semantic-release support to Makefile ([c32880a](https://gitenterprise.xilinx.com/mpettigr/pp4fpgas/commit/c32880a912ba1824a1fd53ef1cd14699e987abc3))

* replace term Vivado with Vitis ([4817cf6](https://gitenterprise.xilinx.com/mpettigr/pp4fpgas/commit/4817cf6a23f959730abb297b7a0ed38b0c57375e))

fix: add synth/impl freq support / rename yml file

Rename __hls_log_csynth_data_extract__.yml to
__hls_log_data_extract__.yml

fix: add complex_fir-top.cpp test / use fir() with fir.h

Use fir.c instead of fir11_initial.c
Add fir.h and update fir-top.c to use fir() signature in
include file.

fix: initialize variables / remove spurious loop

block_fir output is not all value -1452 just the last one.
Modify and only test last output as pass/fail check.

fix: initialize y variable

Should this be a requirement in the testbench instead.
spm2_restructured.cpp also initializes and this is an issue when testing on a host platform if default is nonzero.

fix: fix vitis path detection / set CC=gcc / support mixed C/C++ compile

complex_fir-top.cpp test requires mixed C and C++
compilation

fix: uninitialized out[0] and spurious A variable

fix: add fir11_initial.c testbench

update __hls_config__.ini to include fir11_initial-top.c

fix: add block_mm-top.cpp

This is a merge of blockmatmul_test_init.cpp and
blockmatmul_test.cpp files.  These are both partially
complete testbenches but ought not be changed because they are used in the HLS book itself.

fix: increase to ap_fixed<16,2> to increase CORDIC accuracy

With data type of CORDIC at ap_fixed<12,2> the worst
case error is over 41%.  With 16 bits, it drops to around
3.1% with cordic.cpp and even lower with
cordic_fixed.cpp

fix: make cordic testbenches self-checking

add self-checking support to cordic-top.cpp and cordic_fixed-top.cpp testbenches

chore(release): 1.1.1 [skip ci]

* add block_mm-top.cpp ([98085ee](https://gitenterprise.xilinx.com/mpettigr/pp4fpgas/commit/98085ee903cf6d14f9ce53994f05bc5e9efe88fe))
* add complex_fir-top.cpp test / use fir() with fir.h ([7cdc9dc](https://gitenterprise.xilinx.com/mpettigr/pp4fpgas/commit/7cdc9dc0e038df2d69701927a1845e038d24ecd4))
* add fir11_initial.c testbench ([f4518a0](https://gitenterprise.xilinx.com/mpettigr/pp4fpgas/commit/f4518a073097c45bf62079f857b35991770bef19))
* add synth/impl freq support / rename yml file ([7477364](https://gitenterprise.xilinx.com/mpettigr/pp4fpgas/commit/74773644811a9de79383f25889bdee42064bcac1))
* fix vitis path detection / set CC=gcc / support mixed C/C++ compile ([5dc07fb](https://gitenterprise.xilinx.com/mpettigr/pp4fpgas/commit/5dc07fb80b4b890dd47cbb18de3d96910b9c0be0))
* increase to ap_fixed<16,2> to increase CORDIC accuracy ([c1b434f](https://gitenterprise.xilinx.com/mpettigr/pp4fpgas/commit/c1b434f8b130bc9333c1d374298f9c4d4d06f160))
* initialize variables / remove spurious loop ([9879f92](https://gitenterprise.xilinx.com/mpettigr/pp4fpgas/commit/9879f92ce430237e17b1b88d1dab75a100aa6f9d))
* initialize y variable ([34c3d2b](https://gitenterprise.xilinx.com/mpettigr/pp4fpgas/commit/34c3d2b8246c9404a918321b33f743a236266edc))
* make cordic testbenches self-checking ([4d9f0c8](https://gitenterprise.xilinx.com/mpettigr/pp4fpgas/commit/4d9f0c8f689ef5d2791ceb075c2705d8a9ef8c4d))
* uninitialized out[0] and spurious A variable ([64b134f](https://gitenterprise.xilinx.com/mpettigr/pp4fpgas/commit/64b134f28591659ebff47ad33ee85515fe751ae2))

fix: add self-checking support on prefixsum testbenches

fix: add self-checking support to video_2dfilter-top.c

fix: add support file to generate reference test image

Add C++ programs to support video_2dfilter-top.c
testbench.

The support files, video_2dfilter_opencv.cpp and
compare_images_opencv.cpp, use OpenCV API to
generate an independent golden reference file,
test_20x20_filtered_opencv.bmp

fix: add self-check bench for boundary condition 2d filter

fix: add borderType support to video_2dfilter_opencv.cpp

Add option to specify the cv::borderType when
running video_2dfilter_opencv.cpp so you can
set the way the border gets processed when
running cv::filter2D

chore(release): 1.1.2 [skip ci]

* add borderType support to video_2dfilter_opencv.cpp ([16a2f5f](https://gitenterprise.xilinx.com/mpettigr/pp4fpgas/commit/16a2f5fc9239f52fa5ff81dee9f08aaef01ea96e))
* add self-check bench for boundary condition 2d filter ([d58e41e](https://gitenterprise.xilinx.com/mpettigr/pp4fpgas/commit/d58e41e0d096aa43032ec88f9de4140511416941))
* add self-checking support on prefixsum testbenches ([b61ea8e](https://gitenterprise.xilinx.com/mpettigr/pp4fpgas/commit/b61ea8e59b14ece12c3c47607971a8f6e32fdd87))
* add self-checking support to video_2dfilter-top.c ([c67a939](https://gitenterprise.xilinx.com/mpettigr/pp4fpgas/commit/c67a9396c72ea17f8064d6e3ebf0d51e183861e5))
* add support file to generate reference test image ([a9b9828](https://gitenterprise.xilinx.com/mpettigr/pp4fpgas/commit/a9b9828518906ad38dfa4ff41efea526e1c6b6f1))

fix: add self-check on video linebuffer variant tbs

fix: clean up semantic-release support

chore(release): 1.1.3 [skip ci]

* add self-check on video linebuffer variant tbs ([5443703](https://gitenterprise.xilinx.com/mpettigr/pp4fpgas/commit/54437032011a6b4953d1554878240b11de1cf72c))
* clean up semantic-release support ([57eb3c6](https://gitenterprise.xilinx.com/mpettigr/pp4fpgas/commit/57eb3c6ac19d2a206eab9dde85c7aeb901a63f4e))

fix: clean up Makefile

remove use of test_20x20_border_replicate.bmp file since it's
same as test_20x20_filtered_opencv.bmp

chore(release): 1.1.4 [skip ci]

* clean up Makefile ([f5efc3c](https://gitenterprise.xilinx.com/mpettigr/pp4fpgas/commit/f5efc3c2c7a102c29790343f93f7466d6fc6ed24))

fix: fix author name and keywords in package.json

chore(release): 1.1.5 [skip ci]

* fix author name and keywords in package.json ([7f63f66](https://gitenterprise.xilinx.com/mpettigr/pp4fpgas/commit/7f63f665da7120002dd491a3b988f2f0ccbebb1f))

fix: remove unnecessary .npmrc

chore(release): 1.1.6 [skip ci]

* remove unnecessary .npmrc ([35b91d7](https://gitenterprise.xilinx.com/mpettigr/pp4fpgas/commit/35b91d74abc769f0b5437e19f9bf4309d2873700))

fix: VHLS path to use Vitis HLS v2024.2

Vitis v2024.2 moves the Vitis HLS include path from the Vitis_HLS area to Vitis proper.  Update VHLS env var to correct search path.

fix: clean up makefile and add release branch

chore(release): 1.1.7 [skip ci]

* clean up makefile and add release branch ([1e4d691](1e4d691))
* VHLS path to use Vitis HLS v2024.2 ([714d652](714d652))

fix: remove npm semantic-release support

fix: add hls tcl runner script

Auto-generate

fix: test with versal @ 500MHz
@mpettigr mpettigr force-pushed the amd_vivado2vitis-hls branch from 7c9524d to 1fc270f Compare November 22, 2024 20:09
@mpettigr
Copy link
Author

NOTE: I just rebased the mods to fft.tex on master into this pull request (from 2 weeks ago).

c93483d
3abf8e8
0d7d0ae

@mpettigr
Copy link
Author

Commit 95e32fb reflects mods to the Tcl script flow for use with Vitis Unified IDE and uses open_component (new flow) instead of open_project/open_solution (deprecated since it's part of the old Vivado HLS model). See Chapter 32 of UG1399 v24.2 for additional details.

Create HLS components from the auto-generated Tcl script
instead of just open_project/open_solution flow.  Without
the use of open_project -ide vitis or open_component, you
create "see" the corresponding HLS component in the Vitis
Unified IDE (and therefore can't use the set of support
tools within Vitis IDE).
@mpettigr mpettigr force-pushed the amd_vivado2vitis-hls branch from 95e32fb to 662cc58 Compare November 25, 2024 16:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant