-
Notifications
You must be signed in to change notification settings - Fork 149
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
mpettigr
wants to merge
2
commits into
KastnerRG:master
Choose a base branch
from
mpettigr:amd_vivado2vitis-hls
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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
force-pushed
the
amd_vivado2vitis-hls
branch
from
November 22, 2024 20:09
7c9524d
to
1fc270f
Compare
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
force-pushed
the
amd_vivado2vitis-hls
branch
from
November 25, 2024 16:43
95e32fb
to
662cc58
Compare
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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
(USE_VITIS=0)
hls components)
a subset of files are actually hls
components
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
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]
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]
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]
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]
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]
fix: add self-check on video linebuffer variant tbs
fix: clean up semantic-release support
chore(release): 1.1.3 [skip ci]
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: remove unnecessary .npmrc
chore(release): 1.1.6 [skip ci]
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]
fix: remove npm semantic-release support
fix: add hls tcl runner script
Auto-generate
fix: test with versal @ 500MHz